summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar Alan F <ajf@eth0.org.uk>2014-02-25 09:50:50 +0000
committerGravatar Alan F <ajf@eth0.org.uk>2014-02-25 09:50:50 +0000
commit361cde21cdc9fff703c63e393e48a2a3409d162a (patch)
treeaffcee7bea40fb3cecd42d54c219a280ce845efc /src
parent907636d97b1893e9df4ef28489c92d32118c6fa2 (diff)
put rss tree view in a scroll window, display HTTP error codes on error (only use curl_strerror for communications error, != CURLE_OK)
Diffstat (limited to 'src')
-rw-r--r--src/trg-client.c2
-rw-r--r--src/trg-rss-window.c23
2 files changed, 15 insertions, 10 deletions
diff --git a/src/trg-client.c b/src/trg-client.c
index 25a78dd..7e1a784 100644
--- a/src/trg-client.c
+++ b/src/trg-client.c
@@ -532,7 +532,7 @@ static CURL* get_curl(TrgClient *tc, guint http_class)
curl_easy_setopt(curl, CURLOPT_USERAGENT, PACKAGE_NAME);
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION,
&http_receive_callback);
- //curl_easy_setopt(curl, CURLOPT_VERBOSE, 1);
+ curl_easy_setopt(curl, CURLOPT_VERBOSE, 1);
if (http_class == HTTP_CLASS_TRANSMISSION) {
curl_easy_setopt(curl, CURLOPT_WRITEHEADER, (void *) tc);
diff --git a/src/trg-rss-window.c b/src/trg-rss-window.c
index 5caedf0..224cbb7 100644
--- a/src/trg-rss-window.c
+++ b/src/trg-rss-window.c
@@ -145,9 +145,14 @@ rss_item_activated(GtkTreeView * treeview,
g_free(link);
}
-static void *trg_rss_on_get_error(TrgRssModel *model, rss_get_error *error, gpointer data) {
+static void trg_rss_on_get_error(TrgRssModel *model, rss_get_error *error, gpointer data) {
GtkWindow *win = GTK_WINDOW(data);
- gchar *msg = g_strdup_printf(_("Error while fetching RSS feed \"%s\": %s"), error->feed_id, curl_easy_strerror(error->error_code));
+ gchar *msg;
+ if (error->error_code <= -100) {
+ msg = g_strdup_printf(_("Request failed with HTTP code %d"), -(error->error_code + 100));
+ } else {
+ msg = g_strdup(curl_easy_strerror(error->error_code));
+ }
GtkWidget *dialog = gtk_message_dialog_new(win,
GTK_DIALOG_MODAL,
GTK_MESSAGE_ERROR,
@@ -159,7 +164,7 @@ static void *trg_rss_on_get_error(TrgRssModel *model, rss_get_error *error, gpoi
gtk_widget_destroy(dialog);
}
-static void *trg_rss_on_parse_error(TrgRssModel *model, rss_parse_error *error, gpointer data) {
+static void trg_rss_on_parse_error(TrgRssModel *model, rss_parse_error *error, gpointer data) {
GtkWindow *win = GTK_WINDOW(data);
gchar *msg = g_strdup_printf(_("Error parsing RSS feed \"%s\": %s"), error->feed_id, error->error->message);
GtkWidget *dialog = gtk_message_dialog_new(win,
@@ -183,7 +188,7 @@ static GObject *trg_rss_window_constructor(GType type,
TrgRssWindowPrivate *priv;
TrgRssModel *model;
GtkTreeView *view;
- GtkWidget *vbox, *toolbar;
+ GtkWidget *vbox;
GtkToolItem *item;
object = G_OBJECT_CLASS
@@ -213,18 +218,18 @@ static GObject *trg_rss_window_constructor(GType type,
gtk_window_set_title(GTK_WINDOW(object), _("RSS Feeds"));
- toolbar = gtk_toolbar_new();
+ /*toolbar = gtk_toolbar_new();
item = gtk_tool_button_new_from_stock(GTK_STOCK_PREFERENCES);
gtk_widget_set_sensitive(GTK_WIDGET(item), TRUE);
gtk_tool_item_set_tooltip_text(item, "Configure");
- gtk_toolbar_insert(GTK_TOOLBAR(toolbar), item, 0);
+ gtk_toolbar_insert(GTK_TOOLBAR(toolbar), item, 0);*/
vbox = trg_vbox_new(FALSE, 0);
- gtk_box_pack_start(GTK_BOX(vbox), GTK_WIDGET(toolbar),
- FALSE, FALSE, 0);
- gtk_box_pack_start(GTK_BOX(vbox), GTK_WIDGET(view),
+ /*gtk_box_pack_start(GTK_BOX(vbox), GTK_WIDGET(toolbar),
+ FALSE, FALSE, 0);*/
+ gtk_box_pack_start(GTK_BOX(vbox), my_scrolledwin_new(GTK_WIDGET(view)),
TRUE, TRUE, 0);
gtk_container_add(GTK_CONTAINER(object), vbox);