summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Alan Fitton <ajf@eth0.org.uk>2011-09-14 11:08:34 +0000
committerGravatar Alan Fitton <ajf@eth0.org.uk>2011-09-14 11:08:34 +0000
commit8a020ef0e9acb803d48aca357879166269de6fa1 (patch)
tree37dd4c67f13aaddc89a65e01a4d7954705bea02f
parentedfa8191b63504e93815955273d1645a84eea873 (diff)
need to clear the free space and speed indicators if there's a disconnect due to error.
-rw-r--r--src/trg-main-window.c10
-rw-r--r--src/trg-status-bar.c11
-rw-r--r--src/trg-status-bar.h1
-rw-r--r--src/util.c2
-rw-r--r--src/util.h2
5 files changed, 15 insertions, 11 deletions
diff --git a/src/trg-main-window.c b/src/trg-main-window.c
index 4f7b6df..61e5c45 100644
--- a/src/trg-main-window.c
+++ b/src/trg-main-window.c
@@ -883,14 +883,11 @@ static void on_torrent_get(JsonObject * response, int mode, int status,
trg_main_window_conn_changed(TRG_MAIN_WINDOW(data), FALSE);
trg_dialog_error_handler(TRG_MAIN_WINDOW(data), response, status);
} else {
- const gchar *msg;
- gchar *statusBarMsg;
-
- msg = make_error_message(response, status);
- statusBarMsg = g_strdup_printf(_("Request %d/%d failed: %s"),
+ gchar *msg = make_error_message(response, status);
+ gchar *statusBarMsg = g_strdup_printf(_("Request %d/%d failed: %s"),
trg_client_get_failcount(client), TRG_MAX_RETRIES, msg);
trg_status_bar_push_connection_msg(priv->statusBar, statusBarMsg);
- g_free((gpointer) msg);
+ g_free(msg);
g_free(statusBarMsg);
g_timeout_add_seconds(interval, trg_update_torrents_timerfunc, data);
}
@@ -1059,6 +1056,7 @@ static gboolean trg_dialog_error_handler(TrgMainWindow * win,
const gchar *msg;
msg = make_error_message(response, status);
+ trg_status_bar_clear_indicators(priv->statusBar);
trg_status_bar_push_connection_msg(priv->statusBar, msg);
dialog = gtk_message_dialog_new(GTK_WINDOW(win), GTK_DIALOG_MODAL,
GTK_MESSAGE_ERROR, GTK_BUTTONS_OK, "%s", msg);
diff --git a/src/trg-status-bar.c b/src/trg-status-bar.c
index 7df8069..594ef16 100644
--- a/src/trg-status-bar.c
+++ b/src/trg-status-bar.c
@@ -42,15 +42,20 @@ static void trg_status_bar_class_init(TrgStatusBarClass * klass)
g_type_class_add_private(klass, sizeof(TrgStatusBarPrivate));
}
-void trg_status_bar_reset(TrgStatusBar *sb)
+void trg_status_bar_clear_indicators(TrgStatusBar *sb)
{
TrgStatusBarPrivate *priv = TRG_STATUS_BAR_GET_PRIVATE(sb);
-
- gtk_label_set_text(GTK_LABEL(priv->info_lbl), _("Disconnected"));
gtk_label_set_text(GTK_LABEL(priv->free_lbl), "");
gtk_label_set_text(GTK_LABEL(priv->speed_lbl), "");
}
+void trg_status_bar_reset(TrgStatusBar *sb)
+{
+ TrgStatusBarPrivate *priv = TRG_STATUS_BAR_GET_PRIVATE(sb);
+ trg_status_bar_clear_indicators(sb);
+ gtk_label_set_text(GTK_LABEL(priv->info_lbl), _("Disconnected"));
+}
+
static void trg_status_bar_init(TrgStatusBar * self)
{
TrgStatusBarPrivate *priv = TRG_STATUS_BAR_GET_PRIVATE(self);
diff --git a/src/trg-status-bar.h b/src/trg-status-bar.h
index 1be850a..b7e515e 100644
--- a/src/trg-status-bar.h
+++ b/src/trg-status-bar.h
@@ -58,5 +58,6 @@ void trg_status_bar_connect(TrgStatusBar * sb, JsonObject * session);
void trg_status_bar_push_connection_msg(TrgStatusBar * sb,
const gchar * msg);
void trg_status_bar_reset(TrgStatusBar *sb);
+void trg_status_bar_clear_indicators(TrgStatusBar *sb);
#endif /* TRG_STATUS_BAR_H_ */
diff --git a/src/util.c b/src/util.c
index 932ef25..85b3ee5 100644
--- a/src/util.c
+++ b/src/util.c
@@ -85,7 +85,7 @@ void trg_error_dialog(GtkWindow * parent, int status,
g_free((gpointer) msg);
}
-const gchar *make_error_message(JsonObject * response, int status)
+gchar *make_error_message(JsonObject * response, int status)
{
if (status == FAIL_JSON_DECODE) {
return g_strdup(_("JSON decoding error."));
diff --git a/src/util.h b/src/util.h
index 046075f..a859bd0 100644
--- a/src/util.h
+++ b/src/util.h
@@ -44,7 +44,7 @@ void g_str_slist_free(GSList * list);
GRegex *trg_uri_host_regex_new(void);
gchar *trg_gregex_get_first(GRegex * rx, const gchar * uri);
void response_unref(JsonObject * response);
-const gchar *make_error_message(JsonObject * response, int status);
+gchar *make_error_message(JsonObject * response, int status);
void trg_error_dialog(GtkWindow * parent, int status,
JsonObject * response);