Add Google Blogger configuration wizard panel
Adds a new radio button to specify a Google Blogger blog and a follow up panel to prompt users to open the Google Blogger OAuth flow.
This commit is contained in:
parent
bd34aecf68
commit
ad482780be
|
@ -168,6 +168,13 @@ namespace OpenLiveWriter.BlogClient
|
||||||
}
|
}
|
||||||
private const string IS_SHAREPOINT_BLOG = "IsSharePointBlog";
|
private const string IS_SHAREPOINT_BLOG = "IsSharePointBlog";
|
||||||
|
|
||||||
|
public bool IsGoogleBloggerBlog
|
||||||
|
{
|
||||||
|
get { return Settings.GetBoolean(IS_GOOGLE_BLOGGER_BLOG, false); }
|
||||||
|
set { Settings.SetBoolean(IS_GOOGLE_BLOGGER_BLOG, value); }
|
||||||
|
}
|
||||||
|
private const string IS_GOOGLE_BLOGGER_BLOG = "IsGoogleBloggerBlog";
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Id of the weblog on the host service
|
/// Id of the weblog on the host service
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
|
@ -20,12 +20,16 @@ using OpenLiveWriter.BlogClient.Providers;
|
||||||
using OpenLiveWriter.HtmlParser.Parser;
|
using OpenLiveWriter.HtmlParser.Parser;
|
||||||
using OpenLiveWriter.HtmlParser.Parser.FormAgent;
|
using OpenLiveWriter.HtmlParser.Parser.FormAgent;
|
||||||
using OpenLiveWriter.Localization;
|
using OpenLiveWriter.Localization;
|
||||||
|
using Google.Apis.Blogger.v3;
|
||||||
|
|
||||||
namespace OpenLiveWriter.BlogClient.Clients
|
namespace OpenLiveWriter.BlogClient.Clients
|
||||||
{
|
{
|
||||||
[BlogClient("BloggerAtom", "Atom")]
|
[BlogClient("BloggerAtom", "Atom")]
|
||||||
public class BloggerAtomClient : AtomClient
|
public class BloggerAtomClient : AtomClient
|
||||||
{
|
{
|
||||||
|
public static string PicasaServiceScope = "https://picasaweb.google.com/data";
|
||||||
|
public static string BloggerServiceScope = BloggerService.Scope.Blogger;
|
||||||
|
|
||||||
public BloggerAtomClient(Uri postApiUrl, IBlogCredentialsAccessor credentials)
|
public BloggerAtomClient(Uri postApiUrl, IBlogCredentialsAccessor credentials)
|
||||||
: base(AtomProtocolVersion.V10DraftBlogger, postApiUrl, credentials)
|
: base(AtomProtocolVersion.V10DraftBlogger, postApiUrl, credentials)
|
||||||
{
|
{
|
||||||
|
|
|
@ -457,6 +457,11 @@
|
||||||
Identifier="BloggerError"
|
Identifier="BloggerError"
|
||||||
Text="Blogger returned the following error:

{0}"
|
Text="Blogger returned the following error:

{0}"
|
||||||
comment:Text="{0} - an error message" />
|
comment:Text="{0} - an error message" />
|
||||||
|
<Message
|
||||||
|
Identifier="GoogleBloggerLoginRequired"
|
||||||
|
Type="Warning"
|
||||||
|
Title="Open Live Writer"
|
||||||
|
Text="Sign in to Google Blogger to continue." />
|
||||||
<Message
|
<Message
|
||||||
Identifier="UnexpectedErrorLogin"
|
Identifier="UnexpectedErrorLogin"
|
||||||
Text="An unexpected error has occurred while attempting to log in:

{0}"
|
Text="An unexpected error has occurred while attempting to log in:

{0}"
|
||||||
|
@ -524,7 +529,7 @@
|
||||||
Identifier="VideoLoginRequired"
|
Identifier="VideoLoginRequired"
|
||||||
Type="Warning"
|
Type="Warning"
|
||||||
Title="Open Live Writer"
|
Title="Open Live Writer"
|
||||||
Text="Sign in and select a video to continue." />
|
Text="Sign in and select a video to continue." />
|
||||||
<Message
|
<Message
|
||||||
Identifier="WordpressHomepageWrong"
|
Identifier="WordpressHomepageWrong"
|
||||||
Type="Warning"
|
Type="Warning"
|
||||||
|
|
|
@ -34,6 +34,7 @@ namespace OpenLiveWriter.Localization
|
||||||
FtpServerUnavailable,
|
FtpServerUnavailable,
|
||||||
FtpSettingsRequired,
|
FtpSettingsRequired,
|
||||||
GoogleAuthTokenNotFound,
|
GoogleAuthTokenNotFound,
|
||||||
|
GoogleBloggerLoginRequired,
|
||||||
GuestNotSupported,
|
GuestNotSupported,
|
||||||
HomepageUrlInvalid,
|
HomepageUrlInvalid,
|
||||||
HomepageUrlRequired,
|
HomepageUrlRequired,
|
||||||
|
|
|
@ -2796,6 +2796,12 @@ Check the file name and try again.</value>
|
||||||
<data name="DisplayMessage.GoogleAuthTokenNotFound.Text" xml:space="preserve">
|
<data name="DisplayMessage.GoogleAuthTokenNotFound.Text" xml:space="preserve">
|
||||||
<value>The server did not respond with the expected authorization token.</value>
|
<value>The server did not respond with the expected authorization token.</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="DisplayMessage.GoogleBloggerLoginRequired.Text" xml:space="preserve">
|
||||||
|
<value>Sign in to Google Blogger to continue.</value>
|
||||||
|
</data>
|
||||||
|
<data name="DisplayMessage.GoogleBloggerLoginRequired.Title" xml:space="preserve">
|
||||||
|
<value>Open Live Writer</value>
|
||||||
|
</data>
|
||||||
<data name="DisplayMessage.GuestNotSupported.Text" xml:space="preserve">
|
<data name="DisplayMessage.GuestNotSupported.Text" xml:space="preserve">
|
||||||
<value>Using Open Live Writer from the guest account is not supported.</value>
|
<value>Using Open Live Writer from the guest account is not supported.</value>
|
||||||
</data>
|
</data>
|
||||||
|
|
|
@ -360,6 +360,9 @@
|
||||||
<data name="DisplayMessage.InvalidWebImage.Type" xml:space="preserve">
|
<data name="DisplayMessage.InvalidWebImage.Type" xml:space="preserve">
|
||||||
<value>Asterisk</value>
|
<value>Asterisk</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="DisplayMessage.GoogleBloggerLoginRequired.Type" xml:space="preserve">
|
||||||
|
<value>Warning</value>
|
||||||
|
</data>
|
||||||
<data name="DisplayMessage.LocalDeleteConfirmation.Buttons" xml:space="preserve">
|
<data name="DisplayMessage.LocalDeleteConfirmation.Buttons" xml:space="preserve">
|
||||||
<value>YesNo</value>
|
<value>YesNo</value>
|
||||||
</data>
|
</data>
|
||||||
|
|
|
@ -395,7 +395,7 @@ namespace OpenLiveWriter.Localization
|
||||||
/// </summary>
|
/// </summary>
|
||||||
BlogPluginsDescription,
|
BlogPluginsDescription,
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Blogger, TypePad, and more
|
/// TypePad and more
|
||||||
/// </summary>
|
/// </summary>
|
||||||
BlogServiceNames,
|
BlogServiceNames,
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -1103,6 +1103,14 @@ namespace OpenLiveWriter.Localization
|
||||||
/// </summary>
|
/// </summary>
|
||||||
CWSharePointUseSystemLogin,
|
CWSharePointUseSystemLogin,
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
/// Provide Google Blogger Login
|
||||||
|
/// </summary>
|
||||||
|
CWGoogleBloggerTitle,
|
||||||
|
/// <summary>
|
||||||
|
/// To configure Google Blogger please sign in.
|
||||||
|
/// </summary>
|
||||||
|
CWGoogleBloggerDescription,
|
||||||
|
/// <summary>
|
||||||
/// &Microsoft Account:
|
/// &Microsoft Account:
|
||||||
/// </summary>
|
/// </summary>
|
||||||
CWSpacesUsername,
|
CWSpacesUsername,
|
||||||
|
@ -5203,6 +5211,10 @@ namespace OpenLiveWriter.Localization
|
||||||
/// </summary>
|
/// </summary>
|
||||||
WizardBlogTypeConfigureTo,
|
WizardBlogTypeConfigureTo,
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
/// &Google Blogger
|
||||||
|
/// </summary>
|
||||||
|
WizardBlogTypeGoogleBlogger,
|
||||||
|
/// <summary>
|
||||||
/// &Other services
|
/// &Other services
|
||||||
/// </summary>
|
/// </summary>
|
||||||
WizardBlogTypeOther,
|
WizardBlogTypeOther,
|
||||||
|
|
|
@ -59,6 +59,7 @@ WizardBlogTypeWelcome,"Many popular blog services work with {0}.","{0} - Long pr
|
||||||
WizardBlogTypeWhatBlogType,What blog service do you use?,
|
WizardBlogTypeWhatBlogType,What blog service do you use?,
|
||||||
WizardBlogTypeConfigureTo,Configure {0} to publish to:,"{0} - Long product name, i.e. ""Open Live Writer""; followed by a choice of two options: ""SharePoint blog"" or ""Another blog service"""
|
WizardBlogTypeConfigureTo,Configure {0} to publish to:,"{0} - Long product name, i.e. ""Open Live Writer""; followed by a choice of two options: ""SharePoint blog"" or ""Another blog service"""
|
||||||
WizardBlogTypeSharePoint,&SharePoint,
|
WizardBlogTypeSharePoint,&SharePoint,
|
||||||
|
WizardBlogTypeGoogleBlogger,&Google Blogger,
|
||||||
WizardBlogTypeOther,&Other services,
|
WizardBlogTypeOther,&Other services,
|
||||||
Options,Options,
|
Options,Options,
|
||||||
AllowAutoUpdate,"Automatically &update account information (categories, links, capabilities, and provider extensions)",
|
AllowAutoUpdate,"Automatically &update account information (categories, links, capabilities, and provider extensions)",
|
||||||
|
@ -365,6 +366,8 @@ CWSharePointTitle,Configure {0} for a SharePoint blog,{0} - Writer
|
||||||
CWSharePointTitle2,Provide SharePoint Blog Login,
|
CWSharePointTitle2,Provide SharePoint Blog Login,
|
||||||
CWSharePointText2,Enter the login required to publish to your SharePoint blog.,
|
CWSharePointText2,Enter the login required to publish to your SharePoint blog.,
|
||||||
CWSharePointUseSystemLogin,Use my &Windows user name and password,
|
CWSharePointUseSystemLogin,Use my &Windows user name and password,
|
||||||
|
CWGoogleBloggerTitle,Provide Google Blogger Login,
|
||||||
|
CWGoogleBloggerDescription,To configure Google Blogger please sign in.,
|
||||||
CWTitle,Add Blog Wizard,Caption of the Add Blog Wizard window.
|
CWTitle,Add Blog Wizard,Caption of the Add Blog Wizard window.
|
||||||
CWProgressHeader,Setting up your blog account,
|
CWProgressHeader,Setting up your blog account,
|
||||||
ProgressDownloadingEditingTemplate,Downloading editing template...,
|
ProgressDownloadingEditingTemplate,Downloading editing template...,
|
||||||
|
@ -1329,7 +1332,7 @@ PostPageFilter,Filter {0}, {0} - Posts or Pages
|
||||||
LiveIDPrivacy,Privacy policy,
|
LiveIDPrivacy,Privacy policy,
|
||||||
ForgotMyPassword,Forgot my password,
|
ForgotMyPassword,Forgot my password,
|
||||||
BrowseForFile,Browse for file,Tooltip over the button in the insert video from file dialog that opens an Open File Dialog when clicked,
|
BrowseForFile,Browse for file,Tooltip over the button in the insert video from file dialog that opens an Open File Dialog when clicked,
|
||||||
BlogServiceNames,"Blogger, TypePad, and more",
|
BlogServiceNames,"TypePad and more",
|
||||||
FindCategory,Find category,
|
FindCategory,Find category,
|
||||||
Alignment,Alignment,Tooltip for image alignment dropdown,
|
Alignment,Alignment,Tooltip for image alignment dropdown,
|
||||||
CropPane,Image crop pane,
|
CropPane,Image crop pane,
|
||||||
|
|
Can't render this file because it has a wrong number of fields in line 52.
|
|
@ -460,7 +460,7 @@
|
||||||
<comment>From the Weblog | Edit Weblog Settings | Plugins preferences panel</comment>
|
<comment>From the Weblog | Edit Weblog Settings | Plugins preferences panel</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="BlogServiceNames" xml:space="preserve">
|
<data name="BlogServiceNames" xml:space="preserve">
|
||||||
<value>Blogger, TypePad, and more</value>
|
<value>TypePad and more</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="BrightnessAdjust" xml:space="preserve">
|
<data name="BrightnessAdjust" xml:space="preserve">
|
||||||
<value>Contrast</value>
|
<value>Contrast</value>
|
||||||
|
@ -1066,6 +1066,12 @@
|
||||||
<data name="CWSharePointUseSystemLogin" xml:space="preserve">
|
<data name="CWSharePointUseSystemLogin" xml:space="preserve">
|
||||||
<value>Use my &Windows user name and password</value>
|
<value>Use my &Windows user name and password</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="CWGoogleBloggerTitle" xml:space="preserve">
|
||||||
|
<value>Provide Google Blogger Login</value>
|
||||||
|
</data>
|
||||||
|
<data name="CWGoogleBloggerDescription" xml:space="preserve">
|
||||||
|
<value>To configure Google Blogger please sign in.</value>
|
||||||
|
</data>
|
||||||
<data name="CWSpacesUsername" xml:space="preserve">
|
<data name="CWSpacesUsername" xml:space="preserve">
|
||||||
<value>&Microsoft Account ID:</value>
|
<value>&Microsoft Account ID:</value>
|
||||||
</data>
|
</data>
|
||||||
|
@ -4497,6 +4503,9 @@ This might take a while.</value>
|
||||||
<value>Configure {0} to publish to:</value>
|
<value>Configure {0} to publish to:</value>
|
||||||
<comment>{0} - Long product name, i.e. "Open Live Writer"; followed by a choice of two options: "SharePoint blog" or "Another blog service"</comment>
|
<comment>{0} - Long product name, i.e. "Open Live Writer"; followed by a choice of two options: "SharePoint blog" or "Another blog service"</comment>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="WizardBlogTypeGoogleBlogger" xml:space="preserve">
|
||||||
|
<value>&Google Blogger</value>
|
||||||
|
</data>
|
||||||
<data name="WizardBlogTypeOther" xml:space="preserve">
|
<data name="WizardBlogTypeOther" xml:space="preserve">
|
||||||
<value>&Other services</value>
|
<value>&Other services</value>
|
||||||
</data>
|
</data>
|
||||||
|
|
|
@ -35,6 +35,7 @@ namespace OpenLiveWriter.PostEditor.Configuration
|
||||||
tempSettings.IsNewWeblog = false;
|
tempSettings.IsNewWeblog = false;
|
||||||
tempSettings.IsSpacesBlog = blogSettings.IsSpacesBlog;
|
tempSettings.IsSpacesBlog = blogSettings.IsSpacesBlog;
|
||||||
tempSettings.IsSharePointBlog = blogSettings.IsSharePointBlog;
|
tempSettings.IsSharePointBlog = blogSettings.IsSharePointBlog;
|
||||||
|
tempSettings.IsGoogleBloggerBlog = blogSettings.IsGoogleBloggerBlog;
|
||||||
tempSettings.HostBlogId = blogSettings.HostBlogId;
|
tempSettings.HostBlogId = blogSettings.HostBlogId;
|
||||||
tempSettings.BlogName = blogSettings.BlogName;
|
tempSettings.BlogName = blogSettings.BlogName;
|
||||||
tempSettings.HomepageUrl = blogSettings.HomepageUrl;
|
tempSettings.HomepageUrl = blogSettings.HomepageUrl;
|
||||||
|
@ -83,6 +84,7 @@ namespace OpenLiveWriter.PostEditor.Configuration
|
||||||
settings.HostBlogId = this.HostBlogId;
|
settings.HostBlogId = this.HostBlogId;
|
||||||
settings.IsSpacesBlog = this.IsSpacesBlog;
|
settings.IsSpacesBlog = this.IsSpacesBlog;
|
||||||
settings.IsSharePointBlog = this.IsSharePointBlog;
|
settings.IsSharePointBlog = this.IsSharePointBlog;
|
||||||
|
settings.IsGoogleBloggerBlog = this.IsGoogleBloggerBlog;
|
||||||
settings.BlogName = this.BlogName;
|
settings.BlogName = this.BlogName;
|
||||||
settings.HomepageUrl = this.HomepageUrl;
|
settings.HomepageUrl = this.HomepageUrl;
|
||||||
settings.ForceManualConfig = this.ForceManualConfig;
|
settings.ForceManualConfig = this.ForceManualConfig;
|
||||||
|
@ -254,6 +256,18 @@ namespace OpenLiveWriter.PostEditor.Configuration
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public bool IsGoogleBloggerBlog
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return _isGoogleBloggerBlog;
|
||||||
|
}
|
||||||
|
set
|
||||||
|
{
|
||||||
|
_isGoogleBloggerBlog = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public string HostBlogId
|
public string HostBlogId
|
||||||
{
|
{
|
||||||
get
|
get
|
||||||
|
@ -605,6 +619,7 @@ namespace OpenLiveWriter.PostEditor.Configuration
|
||||||
private bool? _savePassword;
|
private bool? _savePassword;
|
||||||
private bool _isSpacesBlog = false;
|
private bool _isSpacesBlog = false;
|
||||||
private bool _isSharePointBlog = false;
|
private bool _isSharePointBlog = false;
|
||||||
|
private bool _isGoogleBloggerBlog = false;
|
||||||
private string _hostBlogId = String.Empty;
|
private string _hostBlogId = String.Empty;
|
||||||
private string _blogName = String.Empty;
|
private string _blogName = String.Empty;
|
||||||
private string _homePageUrl = String.Empty;
|
private string _homePageUrl = String.Empty;
|
||||||
|
@ -665,6 +680,7 @@ namespace OpenLiveWriter.PostEditor.Configuration
|
||||||
_savePassword = sourceSettings._savePassword;
|
_savePassword = sourceSettings._savePassword;
|
||||||
_isSpacesBlog = sourceSettings._isSpacesBlog;
|
_isSpacesBlog = sourceSettings._isSpacesBlog;
|
||||||
_isSharePointBlog = sourceSettings._isSharePointBlog;
|
_isSharePointBlog = sourceSettings._isSharePointBlog;
|
||||||
|
_isGoogleBloggerBlog = sourceSettings._isGoogleBloggerBlog;
|
||||||
_hostBlogId = sourceSettings._hostBlogId;
|
_hostBlogId = sourceSettings._hostBlogId;
|
||||||
_blogName = sourceSettings._blogName;
|
_blogName = sourceSettings._blogName;
|
||||||
_homePageUrl = sourceSettings._homePageUrl;
|
_homePageUrl = sourceSettings._homePageUrl;
|
||||||
|
|
|
@ -227,6 +227,18 @@ namespace OpenLiveWriter.PostEditor.Configuration.Wizard
|
||||||
_authenticationRequired = showAuthenticationStep;
|
_authenticationRequired = showAuthenticationStep;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void AddGoogleBloggerOAuthSubStep()
|
||||||
|
{
|
||||||
|
addWizardSubStep(
|
||||||
|
new WizardSubStep(new WeblogConfigurationWizardPanelGoogleBloggerAuthentication(),
|
||||||
|
null,
|
||||||
|
new DisplayCallback(OnBasicInfoDisplayed),
|
||||||
|
new VerifyStepCallback(OnValidatePanel),
|
||||||
|
new NextCallback(OnGoogleBloggerOAuthCompleted),
|
||||||
|
null,
|
||||||
|
new BackCallback(OnGoogleBloggerOAuthBack)));
|
||||||
|
}
|
||||||
|
|
||||||
private void AddConfirmationStep()
|
private void AddConfirmationStep()
|
||||||
{
|
{
|
||||||
addWizardStep(
|
addWizardStep(
|
||||||
|
@ -324,6 +336,7 @@ namespace OpenLiveWriter.PostEditor.Configuration.Wizard
|
||||||
|
|
||||||
// set the user's choice
|
// set the user's choice
|
||||||
_temporarySettings.IsSharePointBlog = panelBlogType.IsSharePointBlog;
|
_temporarySettings.IsSharePointBlog = panelBlogType.IsSharePointBlog;
|
||||||
|
_temporarySettings.IsGoogleBloggerBlog = panelBlogType.IsGoogleBloggerBlog;
|
||||||
|
|
||||||
// did this bootstrap a custom account wizard?
|
// did this bootstrap a custom account wizard?
|
||||||
_providerAccountWizard = panelBlogType.ProviderAccountWizard;
|
_providerAccountWizard = panelBlogType.ProviderAccountWizard;
|
||||||
|
@ -333,6 +346,10 @@ namespace OpenLiveWriter.PostEditor.Configuration.Wizard
|
||||||
{
|
{
|
||||||
AddSharePointBasicInfoSubStep(false);
|
AddSharePointBasicInfoSubStep(false);
|
||||||
}
|
}
|
||||||
|
else if (_temporarySettings.IsGoogleBloggerBlog)
|
||||||
|
{
|
||||||
|
AddGoogleBloggerOAuthSubStep();
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
AddBasicInfoSubStep();
|
AddBasicInfoSubStep();
|
||||||
|
@ -514,6 +531,17 @@ namespace OpenLiveWriter.PostEditor.Configuration.Wizard
|
||||||
_authenticationStepAdded = false;
|
_authenticationStepAdded = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void OnGoogleBloggerOAuthCompleted(Object stepControl)
|
||||||
|
{
|
||||||
|
OnBasicInfoAndAuthenticationCompleted((IAccountBasicInfoProvider)stepControl, new PerformBlogAutoDetection(PerformWeblogAndSettingsAutoDetectionSubStep));
|
||||||
|
}
|
||||||
|
|
||||||
|
private void OnGoogleBloggerOAuthBack(Object stepControl)
|
||||||
|
{
|
||||||
|
var panel = (WeblogConfigurationWizardPanelGoogleBloggerAuthentication)stepControl;
|
||||||
|
panel.CancelAuthorization();
|
||||||
|
}
|
||||||
|
|
||||||
private void OnWeblogAndSettingsAutoDetectionCompleted(Object stepControl)
|
private void OnWeblogAndSettingsAutoDetectionCompleted(Object stepControl)
|
||||||
{
|
{
|
||||||
// if we weren't able to identify a specific weblog
|
// if we weren't able to identify a specific weblog
|
||||||
|
|
|
@ -30,6 +30,7 @@ namespace OpenLiveWriter.PostEditor.Configuration.Wizard
|
||||||
OtherBasicInfo = 33,
|
OtherBasicInfo = 33,
|
||||||
SelectProvider = 40,
|
SelectProvider = 40,
|
||||||
SharePointAuth = 41,
|
SharePointAuth = 41,
|
||||||
|
GoogleBloggerAuth = 42,
|
||||||
SelectBlog = 50,
|
SelectBlog = 50,
|
||||||
SelectImageEndPoint = 60,
|
SelectImageEndPoint = 60,
|
||||||
Confirm = 80,
|
Confirm = 80,
|
||||||
|
|
|
@ -25,6 +25,7 @@ namespace OpenLiveWriter.PostEditor.Configuration.Wizard
|
||||||
private System.Windows.Forms.Label labelWelcomeText;
|
private System.Windows.Forms.Label labelWelcomeText;
|
||||||
private System.Windows.Forms.Panel panelRadioButtons;
|
private System.Windows.Forms.Panel panelRadioButtons;
|
||||||
private System.Windows.Forms.RadioButton radioButtonSharePoint;
|
private System.Windows.Forms.RadioButton radioButtonSharePoint;
|
||||||
|
private System.Windows.Forms.RadioButton radioButtonBlogger;
|
||||||
private System.Windows.Forms.RadioButton radioButtonOther;
|
private System.Windows.Forms.RadioButton radioButtonOther;
|
||||||
private System.Windows.Forms.Label labelOtherDesc;
|
private System.Windows.Forms.Label labelOtherDesc;
|
||||||
private System.Windows.Forms.RadioButton radioButtonWordpress;
|
private System.Windows.Forms.RadioButton radioButtonWordpress;
|
||||||
|
@ -47,6 +48,7 @@ namespace OpenLiveWriter.PostEditor.Configuration.Wizard
|
||||||
labelHeader.Text = Res.Get(StringId.WizardBlogTypeWhatBlogType);
|
labelHeader.Text = Res.Get(StringId.WizardBlogTypeWhatBlogType);
|
||||||
labelWelcomeText.Text = Res.Get(StringId.WizardBlogTypeWelcome);
|
labelWelcomeText.Text = Res.Get(StringId.WizardBlogTypeWelcome);
|
||||||
radioButtonSharePoint.Text = Res.Get(StringId.WizardBlogTypeSharePoint);
|
radioButtonSharePoint.Text = Res.Get(StringId.WizardBlogTypeSharePoint);
|
||||||
|
radioButtonBlogger.Text = Res.Get(StringId.WizardBlogTypeGoogleBlogger);
|
||||||
radioButtonOther.Text = Res.Get(StringId.WizardBlogTypeOther);
|
radioButtonOther.Text = Res.Get(StringId.WizardBlogTypeOther);
|
||||||
radioButtonWordpress.Text = Res.Get(StringId.CWWelcomeWP);
|
radioButtonWordpress.Text = Res.Get(StringId.CWWelcomeWP);
|
||||||
|
|
||||||
|
@ -78,6 +80,8 @@ namespace OpenLiveWriter.PostEditor.Configuration.Wizard
|
||||||
comboBoxSelectWeblogType.Items.Add(new WeblogType(serviceName));
|
comboBoxSelectWeblogType.Items.Add(new WeblogType(serviceName));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
comboBoxSelectWeblogType.Items.Add(new WeblogType(radioButtonBlogger));
|
||||||
|
|
||||||
// add "another weblog type" entry
|
// add "another weblog type" entry
|
||||||
comboBoxSelectWeblogType.Items.Add(new WeblogType(radioButtonOther));
|
comboBoxSelectWeblogType.Items.Add(new WeblogType(radioButtonOther));
|
||||||
|
|
||||||
|
@ -99,8 +103,8 @@ namespace OpenLiveWriter.PostEditor.Configuration.Wizard
|
||||||
comboBoxSelectWeblogType.SelectedIndexChanged += new EventHandler(UserChangedSelectionHandler);
|
comboBoxSelectWeblogType.SelectedIndexChanged += new EventHandler(UserChangedSelectionHandler);
|
||||||
radioButtonWordpress.CheckedChanged += new EventHandler(UserChangedSelectionHandler);
|
radioButtonWordpress.CheckedChanged += new EventHandler(UserChangedSelectionHandler);
|
||||||
radioButtonSharePoint.CheckedChanged += new EventHandler(UserChangedSelectionHandler);
|
radioButtonSharePoint.CheckedChanged += new EventHandler(UserChangedSelectionHandler);
|
||||||
|
radioButtonBlogger.CheckedChanged += new EventHandler(UserChangedSelectionHandler);
|
||||||
radioButtonOther.CheckedChanged += new EventHandler(UserChangedSelectionHandler);
|
radioButtonOther.CheckedChanged += new EventHandler(UserChangedSelectionHandler);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void NaturalizeLayout()
|
public override void NaturalizeLayout()
|
||||||
|
@ -117,12 +121,13 @@ namespace OpenLiveWriter.PostEditor.Configuration.Wizard
|
||||||
|
|
||||||
MaximizeWidth(radioButtonWordpress);
|
MaximizeWidth(radioButtonWordpress);
|
||||||
MaximizeWidth(radioButtonSharePoint);
|
MaximizeWidth(radioButtonSharePoint);
|
||||||
|
MaximizeWidth(radioButtonBlogger);
|
||||||
MaximizeWidth(radioButtonOther);
|
MaximizeWidth(radioButtonOther);
|
||||||
MaximizeWidth(labelOtherDesc);
|
MaximizeWidth(labelOtherDesc);
|
||||||
|
|
||||||
using (new AutoGrow(panelRadioButtons, AnchorStyles.Bottom, true))
|
using (new AutoGrow(panelRadioButtons, AnchorStyles.Bottom, true))
|
||||||
{
|
{
|
||||||
LayoutHelper.NaturalizeHeightAndDistribute(3, radioButtonWordpress, radioButtonSharePoint, radioButtonOther);
|
LayoutHelper.NaturalizeHeightAndDistribute(3, radioButtonWordpress, radioButtonSharePoint, radioButtonBlogger, radioButtonOther);
|
||||||
labelOtherDesc.Top = radioButtonOther.Bottom;
|
labelOtherDesc.Top = radioButtonOther.Bottom;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -162,6 +167,21 @@ namespace OpenLiveWriter.PostEditor.Configuration.Wizard
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public bool IsGoogleBloggerBlog
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
if (panelRadioButtons.Visible)
|
||||||
|
{
|
||||||
|
return radioButtonBlogger.Checked;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return SelectedWeblog.RadioButton == radioButtonBlogger;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public IBlogProviderAccountWizardDescription ProviderAccountWizard
|
public IBlogProviderAccountWizardDescription ProviderAccountWizard
|
||||||
{
|
{
|
||||||
get
|
get
|
||||||
|
@ -293,6 +313,7 @@ namespace OpenLiveWriter.PostEditor.Configuration.Wizard
|
||||||
this.panelRadioButtons = new System.Windows.Forms.Panel();
|
this.panelRadioButtons = new System.Windows.Forms.Panel();
|
||||||
this.radioButtonWordpress = new System.Windows.Forms.RadioButton();
|
this.radioButtonWordpress = new System.Windows.Forms.RadioButton();
|
||||||
this.radioButtonSharePoint = new System.Windows.Forms.RadioButton();
|
this.radioButtonSharePoint = new System.Windows.Forms.RadioButton();
|
||||||
|
this.radioButtonBlogger = new System.Windows.Forms.RadioButton();
|
||||||
this.radioButtonOther = new System.Windows.Forms.RadioButton();
|
this.radioButtonOther = new System.Windows.Forms.RadioButton();
|
||||||
this.labelOtherDesc = new System.Windows.Forms.Label();
|
this.labelOtherDesc = new System.Windows.Forms.Label();
|
||||||
this.panelComboBox = new System.Windows.Forms.Panel();
|
this.panelComboBox = new System.Windows.Forms.Panel();
|
||||||
|
@ -326,6 +347,7 @@ namespace OpenLiveWriter.PostEditor.Configuration.Wizard
|
||||||
| System.Windows.Forms.AnchorStyles.Right)));
|
| System.Windows.Forms.AnchorStyles.Right)));
|
||||||
this.panelRadioButtons.Controls.Add(this.radioButtonWordpress);
|
this.panelRadioButtons.Controls.Add(this.radioButtonWordpress);
|
||||||
this.panelRadioButtons.Controls.Add(this.radioButtonSharePoint);
|
this.panelRadioButtons.Controls.Add(this.radioButtonSharePoint);
|
||||||
|
this.panelRadioButtons.Controls.Add(this.radioButtonBlogger);
|
||||||
this.panelRadioButtons.Controls.Add(this.radioButtonOther);
|
this.panelRadioButtons.Controls.Add(this.radioButtonOther);
|
||||||
this.panelRadioButtons.Controls.Add(this.labelOtherDesc);
|
this.panelRadioButtons.Controls.Add(this.labelOtherDesc);
|
||||||
this.panelRadioButtons.Location = new System.Drawing.Point(20, 88);
|
this.panelRadioButtons.Location = new System.Drawing.Point(20, 88);
|
||||||
|
@ -349,7 +371,15 @@ namespace OpenLiveWriter.PostEditor.Configuration.Wizard
|
||||||
this.radioButtonSharePoint.Size = new System.Drawing.Size(104, 24);
|
this.radioButtonSharePoint.Size = new System.Drawing.Size(104, 24);
|
||||||
this.radioButtonSharePoint.TabIndex = 2;
|
this.radioButtonSharePoint.TabIndex = 2;
|
||||||
this.radioButtonSharePoint.Text = "Share&Point weblog";
|
this.radioButtonSharePoint.Text = "Share&Point weblog";
|
||||||
//
|
//
|
||||||
|
// radioButtonBlogger
|
||||||
|
//
|
||||||
|
this.radioButtonBlogger.Location = new System.Drawing.Point(0, 72);
|
||||||
|
this.radioButtonBlogger.Name = "radioButtonBlogger";
|
||||||
|
this.radioButtonBlogger.Size = new System.Drawing.Size(104, 24);
|
||||||
|
this.radioButtonBlogger.TabIndex = 3;
|
||||||
|
this.radioButtonBlogger.Text = "&Google Blogger";
|
||||||
|
//
|
||||||
// radioButtonOther
|
// radioButtonOther
|
||||||
//
|
//
|
||||||
this.radioButtonOther.Location = new System.Drawing.Point(0, 48);
|
this.radioButtonOther.Location = new System.Drawing.Point(0, 48);
|
||||||
|
@ -366,8 +396,8 @@ namespace OpenLiveWriter.PostEditor.Configuration.Wizard
|
||||||
this.labelOtherDesc.Name = "labelOtherDesc";
|
this.labelOtherDesc.Name = "labelOtherDesc";
|
||||||
this.labelOtherDesc.Size = new System.Drawing.Size(332, 40);
|
this.labelOtherDesc.Size = new System.Drawing.Size(332, 40);
|
||||||
this.labelOtherDesc.TabIndex = 5;
|
this.labelOtherDesc.TabIndex = 5;
|
||||||
this.labelOtherDesc.Text = "Blogger, WordPress, TypePad, all others";
|
this.labelOtherDesc.Text = "TypePad and others";
|
||||||
//
|
//
|
||||||
// panelComboBox
|
// panelComboBox
|
||||||
//
|
//
|
||||||
this.panelComboBox.Controls.Add(this.comboBoxSelectWeblogType);
|
this.panelComboBox.Controls.Add(this.comboBoxSelectWeblogType);
|
||||||
|
|
|
@ -0,0 +1,243 @@
|
||||||
|
// Copyright (c) .NET Foundation. All rights reserved.
|
||||||
|
// Licensed under the MIT license. See LICENSE file in the project root for details.
|
||||||
|
|
||||||
|
using System;
|
||||||
|
using System.Windows.Forms;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using OpenLiveWriter.BlogClient;
|
||||||
|
using OpenLiveWriter.BlogClient.Clients;
|
||||||
|
using OpenLiveWriter.CoreServices;
|
||||||
|
using OpenLiveWriter.CoreServices.Layout;
|
||||||
|
using OpenLiveWriter.Extensibility.BlogClient;
|
||||||
|
using OpenLiveWriter.Localization;
|
||||||
|
using Google.Apis.Auth.OAuth2;
|
||||||
|
using Google.Apis.Blogger.v3;
|
||||||
|
using Google.Apis.Blogger.v3.Data;
|
||||||
|
using Google.Apis.Services;
|
||||||
|
using System.Threading;
|
||||||
|
using OpenLiveWriter.BlogClient.Detection;
|
||||||
|
|
||||||
|
namespace OpenLiveWriter.PostEditor.Configuration.Wizard
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Summary description for WeblogConfigurationWizardPanelAuthentication.
|
||||||
|
/// </summary>
|
||||||
|
internal class WeblogConfigurationWizardPanelGoogleBloggerAuthentication : WeblogConfigurationWizardPanel, IAccountBasicInfoProvider
|
||||||
|
{
|
||||||
|
private System.Windows.Forms.Label labelDescription;
|
||||||
|
private System.Windows.Forms.Button buttonLogin;
|
||||||
|
/// <summary>
|
||||||
|
/// Required designer variable.
|
||||||
|
/// </summary>
|
||||||
|
private System.ComponentModel.Container components = null;
|
||||||
|
|
||||||
|
private UserCredential _userCredentials;
|
||||||
|
private BlogList _blogList;
|
||||||
|
private CancellationTokenSource _cancellationTokenSource;
|
||||||
|
|
||||||
|
public WeblogConfigurationWizardPanelGoogleBloggerAuthentication()
|
||||||
|
{
|
||||||
|
// This call is required by the Windows.Forms Form Designer.
|
||||||
|
InitializeComponent();
|
||||||
|
|
||||||
|
labelHeader.Text = Res.Get(StringId.CWGoogleBloggerTitle);
|
||||||
|
labelDescription.Text = Res.Get(StringId.CWGoogleBloggerDescription);
|
||||||
|
buttonLogin.Text = Res.Get(StringId.Login);
|
||||||
|
}
|
||||||
|
|
||||||
|
private async void buttonLogin_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
buttonLogin.Enabled = false;
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
_cancellationTokenSource = new CancellationTokenSource();
|
||||||
|
_userCredentials = await GoogleWebAuthorizationBroker.AuthorizeAsync(
|
||||||
|
new ClientSecrets()
|
||||||
|
{
|
||||||
|
ClientId = "clientId",
|
||||||
|
ClientSecret = "clientSecret"
|
||||||
|
},
|
||||||
|
new List<string>() { BloggerAtomClient.BloggerServiceScope, BloggerAtomClient.PicasaServiceScope },
|
||||||
|
"user",
|
||||||
|
_cancellationTokenSource.Token);
|
||||||
|
_cancellationTokenSource = null;
|
||||||
|
}
|
||||||
|
finally
|
||||||
|
{
|
||||||
|
buttonLogin.Enabled = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private async Task ListUserBlogs()
|
||||||
|
{
|
||||||
|
BloggerService service = new BloggerService(new BaseClientService.Initializer()
|
||||||
|
{
|
||||||
|
HttpClientInitializer = _userCredentials
|
||||||
|
});
|
||||||
|
|
||||||
|
_blogList = await service.Blogs.ListByUser("self").ExecuteAsync();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void CancelAuthorization()
|
||||||
|
{
|
||||||
|
if (_cancellationTokenSource != null)
|
||||||
|
{
|
||||||
|
_cancellationTokenSource.Cancel();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void NaturalizeLayout()
|
||||||
|
{
|
||||||
|
if (!DesignMode)
|
||||||
|
{
|
||||||
|
MaximizeWidth(labelDescription);
|
||||||
|
|
||||||
|
LayoutHelper.NaturalizeHeight(labelDescription);
|
||||||
|
LayoutHelper.DistributeVertically(10, false, labelDescription, buttonLogin);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public override ConfigPanelId? PanelId
|
||||||
|
{
|
||||||
|
get { return ConfigPanelId.GoogleBloggerAuth; }
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Clean up any resources being used.
|
||||||
|
/// </summary>
|
||||||
|
protected override void Dispose(bool disposing)
|
||||||
|
{
|
||||||
|
if (disposing)
|
||||||
|
{
|
||||||
|
if (components != null)
|
||||||
|
{
|
||||||
|
components.Dispose();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
base.Dispose(disposing);
|
||||||
|
}
|
||||||
|
|
||||||
|
#region Component Designer generated code
|
||||||
|
/// <summary>
|
||||||
|
/// Required method for Designer support - do not modify
|
||||||
|
/// the contents of this method with the code editor.
|
||||||
|
/// </summary>
|
||||||
|
private void InitializeComponent()
|
||||||
|
{
|
||||||
|
this.buttonLogin = new System.Windows.Forms.Button();
|
||||||
|
this.labelDescription = new System.Windows.Forms.Label();
|
||||||
|
this.panelMain.SuspendLayout();
|
||||||
|
this.SuspendLayout();
|
||||||
|
//
|
||||||
|
// panelMain
|
||||||
|
//
|
||||||
|
this.panelMain.Controls.Add(this.buttonLogin);
|
||||||
|
this.panelMain.Controls.Add(this.labelDescription);
|
||||||
|
//
|
||||||
|
// buttonLogin
|
||||||
|
//
|
||||||
|
this.buttonLogin.AutoSize = true;
|
||||||
|
this.buttonLogin.Location = new System.Drawing.Point(20, 0);
|
||||||
|
this.buttonLogin.FlatStyle = FlatStyle.System;
|
||||||
|
this.buttonLogin.Name = "buttonLogin";
|
||||||
|
this.buttonLogin.Size = new System.Drawing.Size(168, 13);
|
||||||
|
this.buttonLogin.TabIndex = 0;
|
||||||
|
this.buttonLogin.Text = "Sign in";
|
||||||
|
this.buttonLogin.Click += buttonLogin_Click;
|
||||||
|
//
|
||||||
|
// labelDescription
|
||||||
|
//
|
||||||
|
this.labelDescription.FlatStyle = FlatStyle.System;
|
||||||
|
this.labelDescription.Location = new System.Drawing.Point(20, 0);
|
||||||
|
this.labelDescription.Name = "labelDescription";
|
||||||
|
this.labelDescription.Size = new System.Drawing.Size(360, 24);
|
||||||
|
this.labelDescription.TabIndex = 1;
|
||||||
|
this.labelDescription.Text = "To configure Google Blogger please sign in.";
|
||||||
|
//
|
||||||
|
// WeblogConfigurationWizardPanelGoogleBloggerAuthentication
|
||||||
|
//
|
||||||
|
this.Name = "WeblogConfigurationWizardPanelGoogleBloggerAuthentication";
|
||||||
|
this.panelMain.ResumeLayout(false);
|
||||||
|
this.ResumeLayout(false);
|
||||||
|
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
public override bool ValidatePanel()
|
||||||
|
{
|
||||||
|
if (_userCredentials == null || _userCredentials.Token == null)
|
||||||
|
{
|
||||||
|
ShowValidationError(buttonLogin, MessageId.GoogleBloggerLoginRequired);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public bool IsDirty(TemporaryBlogSettings settings)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
|
||||||
|
// TODO:OLW
|
||||||
|
// return Credentials.OAuthCredentials != settings.Credentials.OAuthCredentials;
|
||||||
|
}
|
||||||
|
|
||||||
|
public IBlogProviderAccountWizardDescription ProviderAccountWizard
|
||||||
|
{
|
||||||
|
set { }
|
||||||
|
}
|
||||||
|
|
||||||
|
public string AccountId
|
||||||
|
{
|
||||||
|
set { }
|
||||||
|
}
|
||||||
|
|
||||||
|
public string HomepageUrl
|
||||||
|
{
|
||||||
|
get { return string.Empty; }
|
||||||
|
set { }
|
||||||
|
}
|
||||||
|
|
||||||
|
public bool SavePassword
|
||||||
|
{
|
||||||
|
get { return true; }
|
||||||
|
set { }
|
||||||
|
}
|
||||||
|
|
||||||
|
public bool ForceManualConfiguration
|
||||||
|
{
|
||||||
|
get { return false; }
|
||||||
|
set { }
|
||||||
|
}
|
||||||
|
|
||||||
|
public IBlogCredentials Credentials
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
TemporaryBlogCredentials credentials = new TemporaryBlogCredentials();
|
||||||
|
credentials.Username = "user";
|
||||||
|
if (_userCredentials != null)
|
||||||
|
{
|
||||||
|
// TODO:OLW
|
||||||
|
//credentials.GoogleBloggerToken = _userCredentials;
|
||||||
|
credentials.Password = _userCredentials.Token.AccessToken;
|
||||||
|
credentials.SetCustomValue("RefreshToken", _userCredentials.Token.RefreshToken);
|
||||||
|
credentials.SetCustomValue("Scope", _userCredentials.Token.Scope);
|
||||||
|
credentials.SetCustomValue("Issued", _userCredentials.Token.Issued.ToBinary().ToString());
|
||||||
|
}
|
||||||
|
return credentials;
|
||||||
|
}
|
||||||
|
set
|
||||||
|
{
|
||||||
|
// TODO:OLW
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public BlogInfo BlogAccount
|
||||||
|
{
|
||||||
|
get { return null; }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,238 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<root>
|
||||||
|
<!--
|
||||||
|
Microsoft ResX Schema
|
||||||
|
|
||||||
|
Version 1.3
|
||||||
|
|
||||||
|
The primary goals of this format is to allow a simple XML format
|
||||||
|
that is mostly human readable. The generation and parsing of the
|
||||||
|
various data types are done through the TypeConverter classes
|
||||||
|
associated with the data types.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
... ado.net/XML headers & schema ...
|
||||||
|
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||||
|
<resheader name="version">1.3</resheader>
|
||||||
|
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||||
|
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||||
|
<data name="Name1">this is my long string</data>
|
||||||
|
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||||
|
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||||
|
[base64 mime encoded serialized .NET Framework object]
|
||||||
|
</data>
|
||||||
|
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
|
[base64 mime encoded string representing a byte array form of the .NET Framework object]
|
||||||
|
</data>
|
||||||
|
|
||||||
|
There are any number of "resheader" rows that contain simple
|
||||||
|
name/value pairs.
|
||||||
|
|
||||||
|
Each data row contains a name, and value. The row also contains a
|
||||||
|
type or mimetype. Type corresponds to a .NET class that support
|
||||||
|
text/value conversion through the TypeConverter architecture.
|
||||||
|
Classes that don't support this are serialized and stored with the
|
||||||
|
mimetype set.
|
||||||
|
|
||||||
|
The mimetype is used forserialized objects, and tells the
|
||||||
|
ResXResourceReader how to depersist the object. This is currently not
|
||||||
|
extensible. For a given mimetype the value must be set accordingly:
|
||||||
|
|
||||||
|
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||||
|
that the ResXResourceWriter will generate, however the reader can
|
||||||
|
read any of the formats listed below.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.binary.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Serialization.Formatters.Binary.BinaryFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.soap.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||||
|
value : The object must be serialized into a byte array
|
||||||
|
: using a System.ComponentModel.TypeConverter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
-->
|
||||||
|
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||||
|
<xsd:element name="root" msdata:IsDataSet="true">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:choice maxOccurs="unbounded">
|
||||||
|
<xsd:element name="data">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="resheader">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:choice>
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:schema>
|
||||||
|
<resheader name="resmimetype">
|
||||||
|
<value>text/microsoft-resx</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="version">
|
||||||
|
<value>1.3</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="reader">
|
||||||
|
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="writer">
|
||||||
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<data name="panelMain.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<value>False</value>
|
||||||
|
</data>
|
||||||
|
<data name="panelMain.SnapToGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<value>True</value>
|
||||||
|
</data>
|
||||||
|
<data name="panelMain.DrawGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<value>True</value>
|
||||||
|
</data>
|
||||||
|
<data name="panelMain.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<value>Private</value>
|
||||||
|
</data>
|
||||||
|
<data name="panelMain.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<value>Family</value>
|
||||||
|
</data>
|
||||||
|
<data name="panelMain.GridSize" type="System.Drawing.Size, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||||
|
<value>8, 8</value>
|
||||||
|
</data>
|
||||||
|
<data name="labelPassword.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<value>False</value>
|
||||||
|
</data>
|
||||||
|
<data name="labelPassword.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<value>Private</value>
|
||||||
|
</data>
|
||||||
|
<data name="labelPassword.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<value>Private</value>
|
||||||
|
</data>
|
||||||
|
<data name="textBoxPassword.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<value>Private</value>
|
||||||
|
</data>
|
||||||
|
<data name="textBoxPassword.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<value>False</value>
|
||||||
|
</data>
|
||||||
|
<data name="textBoxPassword.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<value>Private</value>
|
||||||
|
</data>
|
||||||
|
<data name="textBoxUsername.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<value>Private</value>
|
||||||
|
</data>
|
||||||
|
<data name="textBoxUsername.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<value>False</value>
|
||||||
|
</data>
|
||||||
|
<data name="textBoxUsername.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<value>Private</value>
|
||||||
|
</data>
|
||||||
|
<data name="labelUsername.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<value>False</value>
|
||||||
|
</data>
|
||||||
|
<data name="labelUsername.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<value>Private</value>
|
||||||
|
</data>
|
||||||
|
<data name="labelUsername.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<value>Private</value>
|
||||||
|
</data>
|
||||||
|
<data name="labelTitle.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<value>False</value>
|
||||||
|
</data>
|
||||||
|
<data name="labelTitle.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<value>Private</value>
|
||||||
|
</data>
|
||||||
|
<data name="labelTitle.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<value>Private</value>
|
||||||
|
</data>
|
||||||
|
<data name="labelText.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<value>False</value>
|
||||||
|
</data>
|
||||||
|
<data name="labelText.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<value>Private</value>
|
||||||
|
</data>
|
||||||
|
<data name="labelText.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<value>Private</value>
|
||||||
|
</data>
|
||||||
|
<data name="cbUseSystemLogin.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<value>False</value>
|
||||||
|
</data>
|
||||||
|
<data name="cbUseSystemLogin.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<value>Private</value>
|
||||||
|
</data>
|
||||||
|
<data name="cbUseSystemLogin.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<value>Private</value>
|
||||||
|
</data>
|
||||||
|
<data name="panelCustomLogin.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<value>False</value>
|
||||||
|
</data>
|
||||||
|
<data name="panelCustomLogin.SnapToGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<value>True</value>
|
||||||
|
</data>
|
||||||
|
<data name="panelCustomLogin.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<value>Private</value>
|
||||||
|
</data>
|
||||||
|
<data name="panelCustomLogin.GridSize" type="System.Drawing.Size, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||||
|
<value>8, 8</value>
|
||||||
|
</data>
|
||||||
|
<data name="panelCustomLogin.DrawGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<value>True</value>
|
||||||
|
</data>
|
||||||
|
<data name="panelCustomLogin.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<value>Private</value>
|
||||||
|
</data>
|
||||||
|
<data name="checkBoxSavePassword.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<value>False</value>
|
||||||
|
</data>
|
||||||
|
<data name="checkBoxSavePassword.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<value>Private</value>
|
||||||
|
</data>
|
||||||
|
<data name="checkBoxSavePassword.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<value>Private</value>
|
||||||
|
</data>
|
||||||
|
<data name="$this.TrayLargeIcon" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<value>False</value>
|
||||||
|
</data>
|
||||||
|
<data name="$this.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<value>False</value>
|
||||||
|
</data>
|
||||||
|
<data name="$this.SnapToGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<value>True</value>
|
||||||
|
</data>
|
||||||
|
<data name="$this.DrawGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<value>True</value>
|
||||||
|
</data>
|
||||||
|
<data name="$this.TrayHeight" type="System.Int32, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<value>80</value>
|
||||||
|
</data>
|
||||||
|
<data name="$this.Language" type="System.Globalization.CultureInfo, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<value>(Default)</value>
|
||||||
|
</data>
|
||||||
|
<data name="$this.Localizable" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<value>False</value>
|
||||||
|
</data>
|
||||||
|
<data name="$this.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<value>Private</value>
|
||||||
|
</data>
|
||||||
|
<data name="$this.Name">
|
||||||
|
<value>WeblogConfigurationWizardPanelSharePointAuthentication</value>
|
||||||
|
</data>
|
||||||
|
<data name="$this.GridSize" type="System.Drawing.Size, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||||
|
<value>8, 8</value>
|
||||||
|
</data>
|
||||||
|
</root>
|
|
@ -7,6 +7,8 @@
|
||||||
<RootNamespace>OpenLiveWriter.PostEditor</RootNamespace>
|
<RootNamespace>OpenLiveWriter.PostEditor</RootNamespace>
|
||||||
<ProjectGuid>{D6C9A393-E0B8-4548-B84B-F8B6FE2A5645}</ProjectGuid>
|
<ProjectGuid>{D6C9A393-E0B8-4548-B84B-F8B6FE2A5645}</ProjectGuid>
|
||||||
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
||||||
|
<NuGetPackageImportStamp>
|
||||||
|
</NuGetPackageImportStamp>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Reference Include="Accessibility" />
|
<Reference Include="Accessibility" />
|
||||||
|
@ -22,10 +24,50 @@
|
||||||
<HintPath>..\packages\DeltaCompressionDotNet.1.0.0\lib\net45\DeltaCompressionDotNet.PatchApi.dll</HintPath>
|
<HintPath>..\packages\DeltaCompressionDotNet.1.0.0\lib\net45\DeltaCompressionDotNet.PatchApi.dll</HintPath>
|
||||||
<Private>True</Private>
|
<Private>True</Private>
|
||||||
</Reference>
|
</Reference>
|
||||||
|
<Reference Include="Google.Apis, Version=1.9.2.27817, Culture=neutral, PublicKeyToken=4b01fa6e34db77ab, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\Google.Apis.1.9.2\lib\net40\Google.Apis.dll</HintPath>
|
||||||
|
<Private>True</Private>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Google.Apis.Auth, Version=1.9.2.27817, Culture=neutral, PublicKeyToken=4b01fa6e34db77ab, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\Google.Apis.Auth.1.9.2\lib\net40\Google.Apis.Auth.dll</HintPath>
|
||||||
|
<Private>True</Private>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Google.Apis.Auth.PlatformServices, Version=1.9.2.27820, Culture=neutral, PublicKeyToken=4b01fa6e34db77ab, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\Google.Apis.Auth.1.9.2\lib\net40\Google.Apis.Auth.PlatformServices.dll</HintPath>
|
||||||
|
<Private>True</Private>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Google.Apis.Blogger.v3, Version=1.9.2.48, Culture=neutral, PublicKeyToken=4b01fa6e34db77ab, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\Google.Apis.Blogger.v3.1.9.2.480\lib\portable-net40+sl50+win+wpa81+wp80\Google.Apis.Blogger.v3.dll</HintPath>
|
||||||
|
<Private>True</Private>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Google.Apis.Core, Version=1.9.2.27816, Culture=neutral, PublicKeyToken=4b01fa6e34db77ab, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\Google.Apis.Core.1.9.2\lib\portable-net40+sl50+win+wpa81+wp80\Google.Apis.Core.dll</HintPath>
|
||||||
|
<Private>True</Private>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Google.Apis.PlatformServices, Version=1.9.2.27818, Culture=neutral, PublicKeyToken=4b01fa6e34db77ab, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\Google.Apis.1.9.2\lib\net40\Google.Apis.PlatformServices.dll</HintPath>
|
||||||
|
<Private>True</Private>
|
||||||
|
</Reference>
|
||||||
<Reference Include="ICSharpCode.SharpZipLib, Version=0.86.0.518, Culture=neutral, processorArchitecture=MSIL">
|
<Reference Include="ICSharpCode.SharpZipLib, Version=0.86.0.518, Culture=neutral, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\squirrel.windows.1.2.1\lib\Net45\ICSharpCode.SharpZipLib.dll</HintPath>
|
<HintPath>..\packages\squirrel.windows.1.2.1\lib\Net45\ICSharpCode.SharpZipLib.dll</HintPath>
|
||||||
<Private>True</Private>
|
<Private>True</Private>
|
||||||
</Reference>
|
</Reference>
|
||||||
|
<Reference Include="log4net, Version=1.2.13.0, Culture=neutral, PublicKeyToken=669e0ddf0bb1aa2a, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\log4net.2.0.3\lib\net40-full\log4net.dll</HintPath>
|
||||||
|
<Private>True</Private>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Microsoft.Threading.Tasks, Version=1.0.12.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\Microsoft.Bcl.Async.1.0.168\lib\net40\Microsoft.Threading.Tasks.dll</HintPath>
|
||||||
|
<Private>True</Private>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Microsoft.Threading.Tasks.Extensions, Version=1.0.12.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\Microsoft.Bcl.Async.1.0.168\lib\net40\Microsoft.Threading.Tasks.Extensions.dll</HintPath>
|
||||||
|
<Private>True</Private>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Microsoft.Threading.Tasks.Extensions.Desktop, Version=1.0.168.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\Microsoft.Bcl.Async.1.0.168\lib\net40\Microsoft.Threading.Tasks.Extensions.Desktop.dll</HintPath>
|
||||||
|
<Private>True</Private>
|
||||||
|
</Reference>
|
||||||
<Reference Include="Mono.Cecil, Version=0.9.6.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756, processorArchitecture=MSIL">
|
<Reference Include="Mono.Cecil, Version=0.9.6.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\Mono.Cecil.0.9.6.1\lib\net45\Mono.Cecil.dll</HintPath>
|
<HintPath>..\packages\Mono.Cecil.0.9.6.1\lib\net45\Mono.Cecil.dll</HintPath>
|
||||||
<Private>True</Private>
|
<Private>True</Private>
|
||||||
|
@ -42,6 +84,10 @@
|
||||||
<HintPath>..\packages\Mono.Cecil.0.9.6.1\lib\net45\Mono.Cecil.Rocks.dll</HintPath>
|
<HintPath>..\packages\Mono.Cecil.0.9.6.1\lib\net45\Mono.Cecil.Rocks.dll</HintPath>
|
||||||
<Private>True</Private>
|
<Private>True</Private>
|
||||||
</Reference>
|
</Reference>
|
||||||
|
<Reference Include="Newtonsoft.Json, Version=7.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\Newtonsoft.Json.7.0.1\lib\net45\Newtonsoft.Json.dll</HintPath>
|
||||||
|
<Private>True</Private>
|
||||||
|
</Reference>
|
||||||
<Reference Include="NuGet.Squirrel, Version=3.0.0.0, Culture=neutral, processorArchitecture=MSIL">
|
<Reference Include="NuGet.Squirrel, Version=3.0.0.0, Culture=neutral, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\squirrel.windows.1.2.1\lib\Net45\NuGet.Squirrel.dll</HintPath>
|
<HintPath>..\packages\squirrel.windows.1.2.1\lib\Net45\NuGet.Squirrel.dll</HintPath>
|
||||||
<Private>True</Private>
|
<Private>True</Private>
|
||||||
|
@ -58,6 +104,17 @@
|
||||||
<Reference Include="System.Data" />
|
<Reference Include="System.Data" />
|
||||||
<Reference Include="System.Design" />
|
<Reference Include="System.Design" />
|
||||||
<Reference Include="System.Drawing" />
|
<Reference Include="System.Drawing" />
|
||||||
|
<Reference Include="System.Net" />
|
||||||
|
<Reference Include="System.Net.Http" />
|
||||||
|
<Reference Include="System.Net.Http.Extensions, Version=2.2.29.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\Microsoft.Net.Http.2.2.29\lib\net45\System.Net.Http.Extensions.dll</HintPath>
|
||||||
|
<Private>True</Private>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.Net.Http.Primitives, Version=4.2.29.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\Microsoft.Net.Http.2.2.29\lib\net45\System.Net.Http.Primitives.dll</HintPath>
|
||||||
|
<Private>True</Private>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.Net.Http.WebRequest" />
|
||||||
<Reference Include="System.Web" />
|
<Reference Include="System.Web" />
|
||||||
<Reference Include="System.Web.Services" />
|
<Reference Include="System.Web.Services" />
|
||||||
<Reference Include="System.Windows.Forms" />
|
<Reference Include="System.Windows.Forms" />
|
||||||
|
@ -141,6 +198,10 @@
|
||||||
<Project>{699FB638-CE02-48D7-8078-30A7939C5BCB}</Project>
|
<Project>{699FB638-CE02-48D7-8078-30A7939C5BCB}</Project>
|
||||||
<Package>{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</Package>
|
<Package>{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</Package>
|
||||||
</ProjectReference>
|
</ProjectReference>
|
||||||
|
<Reference Include="Zlib.Portable, Version=1.11.0.0, Culture=neutral, PublicKeyToken=431cba815f6a8b5b, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\Zlib.Portable.Signed.1.11.0\lib\portable-net4+sl5+wp8+win8+wpa81+MonoTouch+MonoAndroid\Zlib.Portable.dll</HintPath>
|
||||||
|
<Private>True</Private>
|
||||||
|
</Reference>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Compile Include="..\GlobalAssemblyInfo.cs" />
|
<Compile Include="..\GlobalAssemblyInfo.cs" />
|
||||||
|
@ -270,6 +331,9 @@
|
||||||
<Compile Include="Configuration\Wizard\WeblogConfigurationWizardPanelSelectProvider.cs">
|
<Compile Include="Configuration\Wizard\WeblogConfigurationWizardPanelSelectProvider.cs">
|
||||||
<SubType>UserControl</SubType>
|
<SubType>UserControl</SubType>
|
||||||
</Compile>
|
</Compile>
|
||||||
|
<Compile Include="Configuration\Wizard\WeblogConfigurationWizardPanelGoogleBloggerAuthentication.cs">
|
||||||
|
<SubType>UserControl</SubType>
|
||||||
|
</Compile>
|
||||||
<Compile Include="Configuration\Wizard\WeblogConfigurationWizardPanelSharePointAuthentication.cs">
|
<Compile Include="Configuration\Wizard\WeblogConfigurationWizardPanelSharePointAuthentication.cs">
|
||||||
<SubType>UserControl</SubType>
|
<SubType>UserControl</SubType>
|
||||||
</Compile>
|
</Compile>
|
||||||
|
@ -989,6 +1053,10 @@
|
||||||
<DependentUpon>WeblogConfigurationWizardPanelSelectProvider.cs</DependentUpon>
|
<DependentUpon>WeblogConfigurationWizardPanelSelectProvider.cs</DependentUpon>
|
||||||
<SubType>Designer</SubType>
|
<SubType>Designer</SubType>
|
||||||
</EmbeddedResource>
|
</EmbeddedResource>
|
||||||
|
<EmbeddedResource Include="Configuration\Wizard\WeblogConfigurationWizardPanelGoogleBloggerAuthentication.resx">
|
||||||
|
<DependentUpon>WeblogConfigurationWizardPanelGoogleBloggerAuthentication.cs</DependentUpon>
|
||||||
|
<SubType>Designer</SubType>
|
||||||
|
</EmbeddedResource>
|
||||||
<EmbeddedResource Include="Configuration\Wizard\WeblogConfigurationWizardPanelSharePointAuthentication.resx">
|
<EmbeddedResource Include="Configuration\Wizard\WeblogConfigurationWizardPanelSharePointAuthentication.resx">
|
||||||
<DependentUpon>WeblogConfigurationWizardPanelSharePointAuthentication.cs</DependentUpon>
|
<DependentUpon>WeblogConfigurationWizardPanelSharePointAuthentication.cs</DependentUpon>
|
||||||
<SubType>Designer</SubType>
|
<SubType>Designer</SubType>
|
||||||
|
@ -1612,4 +1680,11 @@
|
||||||
<None Include="app.config" />
|
<None Include="app.config" />
|
||||||
<None Include="packages.config" />
|
<None Include="packages.config" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
<Import Project="..\packages\Microsoft.Bcl.Build.1.0.21\build\Microsoft.Bcl.Build.targets" Condition="Exists('..\packages\Microsoft.Bcl.Build.1.0.21\build\Microsoft.Bcl.Build.targets')" />
|
||||||
|
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
|
||||||
|
<PropertyGroup>
|
||||||
|
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
|
||||||
|
</PropertyGroup>
|
||||||
|
<Error Condition="!Exists('..\packages\Microsoft.Bcl.Build.1.0.21\build\Microsoft.Bcl.Build.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.Bcl.Build.1.0.21\build\Microsoft.Bcl.Build.targets'))" />
|
||||||
|
</Target>
|
||||||
</Project>
|
</Project>
|
|
@ -1,7 +1,18 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<packages>
|
<packages>
|
||||||
<package id="DeltaCompressionDotNet" version="1.0.0" targetFramework="net452" />
|
<package id="DeltaCompressionDotNet" version="1.0.0" targetFramework="net452" />
|
||||||
|
<package id="Google.Apis" version="1.9.2" targetFramework="net452" />
|
||||||
|
<package id="Google.Apis.Auth" version="1.9.2" targetFramework="net452" />
|
||||||
|
<package id="Google.Apis.Blogger.v3" version="1.9.2.480" targetFramework="net452" />
|
||||||
|
<package id="Google.Apis.Core" version="1.9.2" targetFramework="net452" />
|
||||||
|
<package id="log4net" version="2.0.3" targetFramework="net452" />
|
||||||
|
<package id="Microsoft.Bcl" version="1.1.10" targetFramework="net452" />
|
||||||
|
<package id="Microsoft.Bcl.Async" version="1.0.168" targetFramework="net452" />
|
||||||
|
<package id="Microsoft.Bcl.Build" version="1.0.21" targetFramework="net452" />
|
||||||
|
<package id="Microsoft.Net.Http" version="2.2.29" targetFramework="net452" />
|
||||||
<package id="Mono.Cecil" version="0.9.6.1" targetFramework="net452" />
|
<package id="Mono.Cecil" version="0.9.6.1" targetFramework="net452" />
|
||||||
|
<package id="Newtonsoft.Json" version="7.0.1" targetFramework="net452" />
|
||||||
<package id="Splat" version="1.6.2" targetFramework="net452" />
|
<package id="Splat" version="1.6.2" targetFramework="net452" />
|
||||||
<package id="squirrel.windows" version="1.2.1" targetFramework="net452" />
|
<package id="squirrel.windows" version="1.2.1" targetFramework="net452" />
|
||||||
|
<package id="Zlib.Portable.Signed" version="1.11.0" targetFramework="net452" />
|
||||||
</packages>
|
</packages>
|
Loading…
Reference in New Issue