g_settings_get_string(settings, "password"));
model = gtk_tree_view_get_model(GTK_TREE_VIEW(w_treeview));
- gtk_list_store_clear(GTK_LIST_STORE(model));
- for (feeds = ttrss_get_feeds(); *feeds; feeds++) {
+ gtk_list_store_clear(GTK_LIST_STORE(model));
+ feeds = ttrss_get_feeds();
+ while(feeds && *feeds) {
if ((*feeds)->unread)
title = g_strdup_printf("<b>%s (%d)</b>",
(*feeds)->title,
1, (*feeds),
-1);
free(title);
+ feeds++;
}
printf("refresh done\n");
}
+void refresh_clicked_cbk(GtkWidget *btn, gpointer data)
+{
+ printf("refresh_clicked_cbk\n");
+ update();
+}
+
void settings_activate_cbk(GtkWidget *menu_item, gpointer data)
{
GtkDialog *diag;
GtkBuilder *builder;
- GtkEntry *e;
+ GtkEntry *login, *url, *pwd;
printf("settings_activate_cbk\n");
diag = GTK_DIALOG(gtk_builder_get_object(builder, "settings_dialog"));
- e = GTK_ENTRY(gtk_builder_get_object(builder, "url_entry"));
- gtk_entry_set_text(e, g_settings_get_string(settings, "url"));
+ url = GTK_ENTRY(gtk_builder_get_object(builder, "url_entry"));
+ gtk_entry_set_text(url, g_settings_get_string(settings, "url"));
+
+ login = GTK_ENTRY(gtk_builder_get_object(builder, "login_entry"));
+ gtk_entry_set_text(login, g_settings_get_string(settings, "user"));
- e = GTK_ENTRY(gtk_builder_get_object(builder, "login_entry"));
- gtk_entry_set_text(e, g_settings_get_string(settings, "user"));
+ pwd = GTK_ENTRY(gtk_builder_get_object(builder, "password_entry"));
+ gtk_entry_set_text(pwd, g_settings_get_string(settings, "password"));
- e = GTK_ENTRY(gtk_builder_get_object(builder, "password_entry"));
- gtk_entry_set_text(e, g_settings_get_string(settings, "password"));
+ if (gtk_dialog_run(diag)) {
+ g_settings_set_string(settings,
+ "password",
+ gtk_entry_get_text(pwd));
+ g_settings_set_string(settings,
+ "url",
+ gtk_entry_get_text(url));
+ g_settings_set_string(settings,
+ "user",
+ gtk_entry_get_text(login));
- printf("%d\n", gtk_dialog_run(diag));
+ update();
+ }
gtk_widget_destroy(GTK_WIDGET(diag));
headline_model = gtk_tree_view_get_model(w_headlineview);
headline_store = GTK_LIST_STORE(headline_model);
gtk_list_store_clear(headline_store);
- for (headlines = feed->headlines; *headlines; headlines++) {
+
+ headlines = ttrss_get_headlines(feed);
+ while (headlines && *headlines) {
gtk_list_store_append(headline_store, &iter);
if ((*headlines)->unread)
-1);
free(title);
+
+ headlines++;
}
gtk_tree_path_free(path);
int headline_cursor_changed_cbk(GtkTreeView *treeview, gpointer data)
{
- printf("headline_cursor_changed_cbk\n");
-
GtkTreePath *path;
GtkTreeViewColumn *cols;
GtkTreeIter iter;
GtkTreeModel *model;
struct headline *headline;
+ const char *str;
+
+ printf("headline_cursor_changed_cbk\n");
gtk_tree_view_get_cursor(treeview, &path, &cols);
gtk_tree_model_get_iter(model, &iter, path);
gtk_tree_model_get(model, &iter, 1, &headline, -1);
- web_load(((struct headline *)headline)->content);
+ str = ttrss_get_headline_content((struct headline *)headline);
+
+ if (str)
+ web_load(str);
+ else
+ web_load("");
gtk_tree_path_free(path);
}
gtk_widget_show_all(window);
- update();
-
gtk_main();
exit(EXIT_SUCCESS);