From b43ea0d295f9335cfacc0468cc9308f90bbb4ec9 Mon Sep 17 00:00:00 2001 From: Bryan Keiren Date: Mon, 28 Oct 2013 15:26:26 +0100 Subject: [PATCH] Added surpress token-refresh notifications option --- EasyImgur/Form1.Designer.cs | 14 ++++++++ EasyImgur/Form1.cs | 41 +++++++++++----------- EasyImgur/ImgurAPI.cs | 11 +++++- EasyImgur/Properties/Settings.Designer.cs | 12 +++++++ EasyImgur/Properties/Settings.settings | 3 ++ EasyImgur/app.config | 3 ++ dist/Debug/EasyImgur.exe | Bin 64000 -> 65024 bytes dist/Release/EasyImgur.exe | Bin 61952 -> 62976 bytes 8 files changed, 63 insertions(+), 21 deletions(-) diff --git a/EasyImgur/Form1.Designer.cs b/EasyImgur/Form1.Designer.cs index 7618d47..bb2e15c 100644 --- a/EasyImgur/Form1.Designer.cs +++ b/EasyImgur/Form1.Designer.cs @@ -81,6 +81,7 @@ private void InitializeComponent() this.label12 = new System.Windows.Forms.Label(); this.button1 = new System.Windows.Forms.Button(); this.button2 = new System.Windows.Forms.Button(); + this.checkBoxShowTokenRefreshNotification = new System.Windows.Forms.CheckBox(); this.trayMenu.SuspendLayout(); this.tabControl1.SuspendLayout(); this.tabPage1.SuspendLayout(); @@ -207,6 +208,7 @@ private void InitializeComponent() // // tabPage1 // + this.tabPage1.Controls.Add(this.checkBoxShowTokenRefreshNotification); this.tabPage1.Controls.Add(this.label4); this.tabPage1.Controls.Add(this.checkBoxLaunchAtBoot); this.tabPage1.Controls.Add(this.buttonFormatHelp); @@ -602,6 +604,17 @@ private void InitializeComponent() this.button2.Text = "Authorize this app..."; this.button2.UseVisualStyleBackColor = true; // + // checkBoxShowTokenRefreshNotification + // + this.checkBoxShowTokenRefreshNotification.AutoSize = true; + this.checkBoxShowTokenRefreshNotification.Location = new System.Drawing.Point(19, 186); + this.checkBoxShowTokenRefreshNotification.Name = "checkBoxShowTokenRefreshNotification"; + this.checkBoxShowTokenRefreshNotification.RightToLeft = System.Windows.Forms.RightToLeft.Yes; + this.checkBoxShowTokenRefreshNotification.Size = new System.Drawing.Size(244, 21); + this.checkBoxShowTokenRefreshNotification.TabIndex = 16; + this.checkBoxShowTokenRefreshNotification.Text = "Show notification on token refresh"; + this.checkBoxShowTokenRefreshNotification.UseVisualStyleBackColor = true; + // // Form1 // this.AcceptButton = this.buttonApplyGeneral; @@ -683,6 +696,7 @@ private void InitializeComponent() private System.Windows.Forms.Button buttonForgetTokens; private System.Windows.Forms.CheckBox checkBoxLaunchAtBoot; private System.Windows.Forms.Label label4; + private System.Windows.Forms.CheckBox checkBoxShowTokenRefreshNotification; } } diff --git a/EasyImgur/Form1.cs b/EasyImgur/Form1.cs index 84e2ba2..013c4b1 100644 --- a/EasyImgur/Form1.cs +++ b/EasyImgur/Form1.cs @@ -26,13 +26,11 @@ public Form1() notifyIcon1.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.NotifyIcon1_MouseDoubleClick); tabControl1.SelectedIndexChanged += new System.EventHandler(this.tabControl1_SelectedIndexChanged); - ImgurAPI.obtainedAuthorization += new ImgurAPI.AuthorizationEventHandler(this.ObtainedOrRefreshedAPIAuthorization); ImgurAPI.obtainedAuthorization += new ImgurAPI.AuthorizationEventHandler(this.ObtainedAPIAuthorization); - ImgurAPI.refreshedAuthorization += new ImgurAPI.AuthorizationEventHandler(this.ObtainedOrRefreshedAPIAuthorization); ImgurAPI.refreshedAuthorization += new ImgurAPI.AuthorizationEventHandler(this.RefreshedAPIAuthorization); ImgurAPI.lostAuthorization += new ImgurAPI.AuthorizationEventHandler(this.LostAPIAuthorization); - notifyIcon1.ShowBalloonTip(2000, "EasyImgur", "Right-click EasyImgur's icon in the tray to use it!", ToolTipIcon.Info); + notifyIcon1.ShowBalloonTip(2000, "EasyImgur is ready for use!", "Right-click EasyImgur's icon in the tray to use it!", ToolTipIcon.Info); ImgurAPI.AttemptRefreshTokensFromDisk(); } @@ -42,34 +40,34 @@ private void ApplicationExit( object sender, EventArgs e ) ImgurAPI.OnMainThreadExit(); } - private void ObtainedOrRefreshedAPIAuthorization() - { - uploadClipboardToolStripMenuItem.Enabled = true; - uploadFromFileToolStripMenuItem.Enabled = true; - label13.Text = "Authorized"; - label13.ForeColor = System.Drawing.Color.Green; - buttonForceTokenRefresh.Enabled = true; - buttonForgetTokens.Enabled = true; - } - private void ObtainedAPIAuthorization() { + SetAuthorizationStatusUI(true); notifyIcon1.ShowBalloonTip(2000, "EasyImgur", "EasyImgur has received authorization to use your Imgur account!", ToolTipIcon.Info); } private void RefreshedAPIAuthorization() { - notifyIcon1.ShowBalloonTip(2000, "EasyImgur", "EasyImgur has successfully refreshed authorization tokens!", ToolTipIcon.Info); + SetAuthorizationStatusUI(true); + if (Properties.Settings.Default.showNotificationOnTokenRefresh) + { + notifyIcon1.ShowBalloonTip(2000, "EasyImgur", "EasyImgur has successfully refreshed authorization tokens!", ToolTipIcon.Info); + } + } + + private void SetAuthorizationStatusUI( bool _IsAuthorized ) + { + uploadClipboardToolStripMenuItem.Enabled = _IsAuthorized; + uploadFromFileToolStripMenuItem.Enabled = _IsAuthorized; + label13.Text = _IsAuthorized ? "Authorized" : "Not authorized"; + label13.ForeColor = _IsAuthorized ? System.Drawing.Color.Green : System.Drawing.Color.DarkBlue; + buttonForceTokenRefresh.Enabled = _IsAuthorized; + buttonForgetTokens.Enabled = _IsAuthorized; } private void LostAPIAuthorization() { - uploadClipboardToolStripMenuItem.Enabled = false; - uploadFromFileToolStripMenuItem.Enabled = false; - label13.Text = "Not authorized"; - label13.ForeColor = System.Drawing.Color.DarkBlue; - buttonForceTokenRefresh.Enabled = false; - buttonForgetTokens.Enabled = false; + SetAuthorizationStatusUI(false); notifyIcon1.ShowBalloonTip(2000, "EasyImgur", "EasyImgur no longer has authorization to use your Imgur account!", ToolTipIcon.Info); } @@ -258,6 +256,7 @@ private void Form1_VisibleChanged(object sender, EventArgs e) textBoxTitleFormat.Text = Properties.Settings.Default.titleFormat; textBoxDescriptionFormat.Text = Properties.Settings.Default.descriptionFormat; comboBoxImageFormat.SelectedIndex = Properties.Settings.Default.imageFormat; + checkBoxShowTokenRefreshNotification.Checked = Properties.Settings.Default.showNotificationOnTokenRefresh; // Check the registry for a key describing whether EasyImgur should be started on boot. @@ -293,6 +292,7 @@ private void SaveSettings() Properties.Settings.Default.titleFormat = textBoxTitleFormat.Text; Properties.Settings.Default.descriptionFormat = textBoxDescriptionFormat.Text; Properties.Settings.Default.imageFormat = comboBoxImageFormat.SelectedIndex; + Properties.Settings.Default.showNotificationOnTokenRefresh = checkBoxShowTokenRefreshNotification.Checked; Microsoft.Win32.RegistryKey registryKey = Microsoft.Win32.Registry.CurrentUser.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true); if (checkBoxLaunchAtBoot.Checked) @@ -401,6 +401,7 @@ private void buttonRemoveFromImgur_Click(object sender, EventArgs e) private void buttonForceTokenRefresh_Click(object sender, EventArgs e) { + SetAuthorizationStatusUI(false); ImgurAPI.ForceRefreshTokens(); } diff --git a/EasyImgur/ImgurAPI.cs b/EasyImgur/ImgurAPI.cs index 1b886fb..fb0c691 100644 --- a/EasyImgur/ImgurAPI.cs +++ b/EasyImgur/ImgurAPI.cs @@ -375,7 +375,16 @@ static private bool RefreshTokens() return false; } - APIResponses.TokenResponse resp = Newtonsoft.Json.JsonConvert.DeserializeObject(responseString, new Newtonsoft.Json.JsonSerializerSettings { PreserveReferencesHandling = Newtonsoft.Json.PreserveReferencesHandling.Objects }); + APIResponses.TokenResponse resp = null; + try + { + resp = Newtonsoft.Json.JsonConvert.DeserializeObject(responseString, new Newtonsoft.Json.JsonSerializerSettings { PreserveReferencesHandling = Newtonsoft.Json.PreserveReferencesHandling.Objects }); + } + catch (Newtonsoft.Json.JsonReaderException ex) + { + Log.Error("Newtonsoft.Json.JsonReaderException occurred while trying to deserialize the following string:\n" + responseString + " (Line: " + ex.LineNumber + ", Position: " + ex.LinePosition + ", Message: " + ex.Message + ")"); + resp = null; + } if (resp != null && resp.access_token != null && resp.refresh_token != null) { StoreNewTokens(resp.expires_in, resp.access_token, resp.refresh_token); diff --git a/EasyImgur/Properties/Settings.Designer.cs b/EasyImgur/Properties/Settings.Designer.cs index 1e59227..f551a88 100644 --- a/EasyImgur/Properties/Settings.Designer.cs +++ b/EasyImgur/Properties/Settings.Designer.cs @@ -118,5 +118,17 @@ public string refreshToken { this["refreshToken"] = value; } } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("False")] + public bool showNotificationOnTokenRefresh { + get { + return ((bool)(this["showNotificationOnTokenRefresh"])); + } + set { + this["showNotificationOnTokenRefresh"] = value; + } + } } } diff --git a/EasyImgur/Properties/Settings.settings b/EasyImgur/Properties/Settings.settings index 13fe89c..949f401 100644 --- a/EasyImgur/Properties/Settings.settings +++ b/EasyImgur/Properties/Settings.settings @@ -26,5 +26,8 @@ + + False + \ No newline at end of file diff --git a/EasyImgur/app.config b/EasyImgur/app.config index 6094bd9..ff1537f 100644 --- a/EasyImgur/app.config +++ b/EasyImgur/app.config @@ -31,6 +31,9 @@ + + False + \ No newline at end of file diff --git a/dist/Debug/EasyImgur.exe b/dist/Debug/EasyImgur.exe index 7156aa5cbea18d85bac3ab78ca65b3d21990b5a6..9c045fe3663e416d39b1162ca8944bd814b35de4 100644 GIT binary patch delta 22458 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 ZzkAho|9k%qs1F^#J@Capl&(RZ{{=KhrmFw| delta 21241 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 delta 20847 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