Added "credits left" for Imgur to the form, this might give us a better idea of why the upload sometimes takes so long.

git-svn-id: http://svn.code.sf.net/p/greenshot/code/trunk@2006 7dccd23d-a4a3-4e1f-8c07-b4c1b4018ab4
This commit is contained in:
RKrom 2012-09-06 15:48:44 +00:00
commit 480b32f586
4 changed files with 27 additions and 2 deletions

View file

@ -155,7 +155,7 @@ namespace GreenshotImgurPlugin
this.Controls.Add(this.pictureBox1); this.Controls.Add(this.pictureBox1);
this.Controls.Add(this.listview_imgur_uploads); this.Controls.Add(this.listview_imgur_uploads);
this.Name = "ImgurHistory"; this.Name = "ImgurHistory";
this.Text = "ImgurHistory"; this.LanguageKey = "imgur.history";
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.ImgurHistoryFormClosing); this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.ImgurHistoryFormClosing);
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
this.ResumeLayout(false); this.ResumeLayout(false);

View file

@ -31,7 +31,7 @@ namespace GreenshotImgurPlugin {
/// <summary> /// <summary>
/// Description of ImgurHistory. /// Description of ImgurHistory.
/// </summary> /// </summary>
public partial class ImgurHistory : Form { public partial class ImgurHistory : ImgurForm {
private static readonly log4net.ILog LOG = log4net.LogManager.GetLogger(typeof(ImgurHistory)); private static readonly log4net.ILog LOG = log4net.LogManager.GetLogger(typeof(ImgurHistory));
private GreenshotColumnSorter columnSorter; private GreenshotColumnSorter columnSorter;
private static ImgurConfiguration config = IniConfig.GetIniSection<ImgurConfiguration>(); private static ImgurConfiguration config = IniConfig.GetIniSection<ImgurConfiguration>();
@ -48,6 +48,7 @@ namespace GreenshotImgurPlugin {
} }
private ImgurHistory() { private ImgurHistory() {
this.ManualLanguageApply = true;
// //
// The InitializeComponent() call is required for Windows Forms designer support. // The InitializeComponent() call is required for Windows Forms designer support.
// //
@ -63,6 +64,10 @@ namespace GreenshotImgurPlugin {
if (listview_imgur_uploads.Items.Count > 0) { if (listview_imgur_uploads.Items.Count > 0) {
listview_imgur_uploads.Items[0].Selected = true; listview_imgur_uploads.Items[0].Selected = true;
} }
ApplyLanguage();
if (config.Credits > 0) {
this.Text = this.Text + " (" + config.Credits + " credits)";
}
} }
private void redraw() { private void redraw() {

View file

@ -49,6 +49,10 @@ namespace GreenshotImgurPlugin {
// Not stored, only run-time! // Not stored, only run-time!
public Dictionary<string, ImgurInfo> runtimeImgurHistory = new Dictionary<string, ImgurInfo>(); public Dictionary<string, ImgurInfo> runtimeImgurHistory = new Dictionary<string, ImgurInfo>();
public int Credits {
get;
set;
}
/// <summary> /// <summary>
/// Supply values we can't put as defaults /// Supply values we can't put as defaults

View file

@ -160,6 +160,7 @@ namespace GreenshotImgurPlugin {
} }
string responseString; string responseString;
using (WebResponse response = webRequest.GetResponse()) { using (WebResponse response = webRequest.GetResponse()) {
LogCredits(response);
Stream responseStream = response.GetResponseStream(); Stream responseStream = response.GetResponseStream();
StreamReader responseReader = new StreamReader(responseStream); StreamReader responseReader = new StreamReader(responseStream);
responseString = responseReader.ReadToEnd(); responseString = responseReader.ReadToEnd();
@ -181,6 +182,7 @@ namespace GreenshotImgurPlugin {
webRequest.ServicePoint.Expect100Continue = false; webRequest.ServicePoint.Expect100Continue = false;
using (WebResponse response = webRequest.GetResponse()) { using (WebResponse response = webRequest.GetResponse()) {
LogCredits(response);
Stream responseStream = response.GetResponseStream(); Stream responseStream = response.GetResponseStream();
imgurInfo.Image = Image.FromStream(responseStream); imgurInfo.Image = Image.FromStream(responseStream);
} }
@ -196,6 +198,7 @@ namespace GreenshotImgurPlugin {
string responseString; string responseString;
try { try {
using (WebResponse response = webRequest.GetResponse()) { using (WebResponse response = webRequest.GetResponse()) {
LogCredits(response);
Stream responseStream = response.GetResponseStream(); Stream responseStream = response.GetResponseStream();
StreamReader responseReader = new StreamReader(responseStream); StreamReader responseReader = new StreamReader(responseStream);
responseString = responseReader.ReadToEnd(); responseString = responseReader.ReadToEnd();
@ -227,6 +230,7 @@ namespace GreenshotImgurPlugin {
string responseString; string responseString;
using (WebResponse response = webRequest.GetResponse()) { using (WebResponse response = webRequest.GetResponse()) {
LogCredits(response);
Stream responseStream = response.GetResponseStream(); Stream responseStream = response.GetResponseStream();
StreamReader responseReader = new StreamReader(responseStream); StreamReader responseReader = new StreamReader(responseStream);
responseString = responseReader.ReadToEnd(); responseString = responseReader.ReadToEnd();
@ -245,5 +249,17 @@ namespace GreenshotImgurPlugin {
config.ImgurUploadHistory.Remove(imgurInfo.Hash); config.ImgurUploadHistory.Remove(imgurInfo.Hash);
imgurInfo.Image = null; imgurInfo.Image = null;
} }
private static void LogCredits(WebResponse response) {
try {
int credits = 0;
if (int.TryParse(response.Headers["X-RateLimit-Remaining"], out credits)) {
config.Credits = credits;
}
LOG.InfoFormat("X-RateLimit-Limit={0}", response.Headers["X-RateLimit-Limit"]);
LOG.InfoFormat("X-RateLimit-Remaining={0}", response.Headers["X-RateLimit-Remaining"]);
} catch {}
}
} }
} }