(no commit message)
[prss.git] / src / main.c
index 79b94f7..861309d 100644 (file)
@@ -152,6 +152,8 @@ void settings_activate_cbk(GtkWidget *menu_item, gpointer data)
                g_settings_set_string(settings,
                                      "user", 
                                      gtk_entry_get_text(login));
+
+               update();
        }
 
        gtk_widget_destroy(GTK_WIDGET(diag));
@@ -241,6 +243,37 @@ int headline_cursor_changed_cbk(GtkTreeView *treeview, gpointer data)
        return TRUE;
 }
 
+void headline_row_activated_cbk(GtkWidget *widget, gpointer data)
+{
+       GdkScreen *screen;
+       GError *error;
+       GtkTreeSelection *selection;
+       GtkTreeModel *model;
+       GtkTreeIter iter;
+       struct feed *feed;
+       const char *url;
+
+       printf("headline_row_activated_cbk\n");
+
+       selection = gtk_tree_view_get_selection(w_headlineview);
+       model = gtk_tree_view_get_model(w_headlineview);
+
+       if (gtk_tree_selection_get_selected(selection, &model, &iter)) {
+               gtk_tree_model_get(model, &iter, 1, &feed, -1);
+               url = feed->url;
+
+               if (gtk_widget_has_screen (widget))
+                       screen = gtk_widget_get_screen(widget);
+               else
+                       screen = gdk_screen_get_default();
+               
+               printf("%s\n", url);
+
+               error = NULL;
+               gtk_show_uri(screen, url, gtk_get_current_event_time(), &error);
+       }
+}
+
 gboolean
 window_delete_event_cbk(GtkWidget *widget, GdkEvent *event, gpointer data)
 {