Changeset 2637
- Timestamp:
- 08/04/07 23:18:11 (6 years ago)
- Location:
- trunk/src/target/OM-2007.2/applications/openmoko-feedreader2
- Files:
-
- 1 added
- 7 edited
-
ChangeLog (modified) (1 diff)
-
src/Makefile.am (modified) (1 diff)
-
src/feed-data.c (modified) (6 diffs)
-
src/feed-item-view.c (modified) (3 diffs)
-
src/feed-item-view.h (modified) (1 diff)
-
src/feed-selection-view.c (added)
-
src/feed-selection-view.h (modified) (1 diff)
-
src/main.c (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/target/OM-2007.2/applications/openmoko-feedreader2/ChangeLog
r2635 r2637 1 2007-08-04 Holger Hans Peter Freyther <zecke@selfish.org> 2 3 First version that can fetch feeds again and display some part of the 4 message to the user. 5 6 Some how scrolling with MokoFingerScrollView and WebKitGtkPage does not 7 work. 8 9 The application is still very raw, beginning with missing icons, to missing 10 configuration possibilities to missing features. 11 12 * src/Makefile.am: 13 * src/feed-data.c: 14 (feed_sort_init): 15 (feed_data_load_from_cache): 16 (feed_filter_new): 17 (feed_sort_new): 18 * src/feed-item-view.c: 19 (do_highlight): 20 (search_entry_changed_closure): 21 (feed_item_view_init): 22 (feed_item_view_highlight): 23 * src/feed-item-view.h: 24 * src/feed-selection-view.c: Added. 25 (treeview_selection_changed): 26 (treeview_keypress_event): 27 (refresh_feeds_closure): 28 (feed_selection_view_init): 29 (feed_selection_view_class_init): 30 (feed_selection_view_new): 31 (feed_selection_view_add_column): 32 (feed_selection_view_get_search_string): 33 * src/feed-selection-view.h: 34 * src/main.c: 35 (feed_selection_changed): 36 (create_feed_view): 37 (create_configuration_ui): 38 (create_ui): 39 1 40 2007-08-04 Holger Hans Peter Freyther <zecke@selfish.org> 2 41 -
trunk/src/target/OM-2007.2/applications/openmoko-feedreader2/src/Makefile.am
r2627 r2637 10 10 EXTRA_DIST = rfcdate.h moko_cache.h feed-configuration.h feed-data.h feed-item-view.h feed-selection-view.h application-data.h 11 11 12 openmoko_feedreader2_SOURCES = feed-configuration.c feed-item-view.c feed- data.c rfcdate.c moko_cache.c main.c12 openmoko_feedreader2_SOURCES = feed-configuration.c feed-item-view.c feed-selection-view.c feed-data.c rfcdate.c moko_cache.c main.c 13 13 openmoko_feedreader2_LDADD = @OPENMOKO_LIBS@ @MRSS_LIBS@ @GTHREAD_LIBS@ @WEBKITGTK_LIBS@ 14 14 -
trunk/src/target/OM-2007.2/applications/openmoko-feedreader2/src/feed-data.c
r2635 r2637 301 301 feed_sort_init (FeedSort* sort) 302 302 { 303 gtk_tree_sortable_set_sort_column_id (GTK_TREE_SORTABLE (sort), RSS_READER_COLUMN_DATE, GTK_SORT_DESCENDING);304 gtk_tree_sortable_set_sort_func (GTK_TREE_SORTABLE (sort), RSS_READER_COLUMN_DATE, rss_sort_dates, NULL, NULL);305 303 } 306 304 … … 356 354 GtkTreeIter iter; 357 355 358 gboolean valid = gtk_tree_model_get_iter_first ( GTK_TREE_MODEL (data), &iter); 356 GtkTreeModel *store = GTK_TREE_MODEL (feed_configuration_get_configuration ()); 357 gboolean valid = gtk_tree_model_get_iter_first ( GTK_TREE_MODEL (store), &iter); 359 358 360 359 while (valid) { … … 363 362 gchar *category; 364 363 365 gtk_tree_model_get ( GTK_TREE_MODEL ( data), &iter, FEED_URL, &url, FEED_NAME, &category, -1);364 gtk_tree_model_get ( GTK_TREE_MODEL (store), &iter, FEED_URL, &url, FEED_NAME, &category, -1); 366 365 g_debug ("Reading cached object '%s'\n", url); 367 366 gchar *content = moko_cache_read_object (data->cache, url, &size); … … 390 389 g_free (url); 391 390 g_free (category); 392 valid = gtk_tree_model_iter_next ( GTK_TREE_MODEL ( data), &iter);391 valid = gtk_tree_model_iter_next ( GTK_TREE_MODEL (store), &iter); 393 392 } 394 393 … … 402 401 GObject* obj = g_object_new(RSS_TYPE_FEED_FILTER, 403 402 "child-model", data, 404 " root", NULL,403 "virtual-root", NULL, 405 404 NULL); 406 405 … … 430 429 NULL); 431 430 431 gtk_tree_sortable_set_sort_column_id (GTK_TREE_SORTABLE (obj), RSS_READER_COLUMN_DATE, GTK_SORT_DESCENDING); 432 gtk_tree_sortable_set_sort_func (GTK_TREE_SORTABLE (obj), RSS_READER_COLUMN_DATE, rss_sort_dates, NULL, NULL); 433 432 434 return obj; 433 435 } -
trunk/src/target/OM-2007.2/applications/openmoko-feedreader2/src/feed-item-view.c
r2627 r2637 57 57 } 58 58 59 static void 60 do_highlight (FeedItemView* view, const gchar* search_string) 61 { 62 /* webkit_gtk_page_search (view->page, search_string); */ 63 } 64 65 static void 66 search_entry_changed_closure (GtkEntry* entry, FeedItemView* view) 67 { 68 do_highlight (view, gtk_entry_get_text (entry)); 69 } 70 59 71 60 72 G_DEFINE_TYPE(FeedItemView, feed_item_view, GTK_TYPE_VBOX) … … 69 81 gtk_box_pack_start (GTK_BOX(view), toolbar, FALSE, FALSE, 0); 70 82 71 view->back = gtk_tool_button_new_from_stock (GTK_STOCK_ MEDIA_PREVIOUS);83 view->back = gtk_tool_button_new_from_stock (GTK_STOCK_GO_FORWARD); 72 84 gtk_tool_item_set_expand (GTK_TOOL_ITEM(view->back), TRUE); 73 85 gtk_toolbar_insert (GTK_TOOLBAR(toolbar), view->back, 0); 74 86 g_signal_connect (view->back, "clicked", G_CALLBACK(prev_clicked), view); 87 88 gtk_toolbar_insert (GTK_TOOLBAR (toolbar), gtk_separator_tool_item_new (), 1); 75 89 76 90 view->mail = gtk_tool_button_new_from_stock (MOKO_STOCK_MAIL_SEND); 77 91 gtk_tool_item_set_expand (GTK_TOOL_ITEM(view->mail), TRUE); 78 gtk_toolbar_insert (GTK_TOOLBAR(toolbar), view->mail, 1);92 gtk_toolbar_insert (GTK_TOOLBAR(toolbar), view->mail, 2); 79 93 g_signal_connect (view->mail, "clicked", G_CALLBACK(mail_clicked), view); 80 94 81 view->forward = gtk_tool_button_new_from_stock (GTK_STOCK_MEDIA_NEXT); 95 gtk_toolbar_insert (GTK_TOOLBAR (toolbar), gtk_separator_tool_item_new (), 3); 96 97 view->forward = gtk_tool_button_new_from_stock (GTK_STOCK_GO_FORWARD); 82 98 gtk_tool_item_set_expand (GTK_TOOL_ITEM(view->forward), TRUE); 83 gtk_toolbar_insert (GTK_TOOLBAR(toolbar), view->forward, 2);99 gtk_toolbar_insert (GTK_TOOLBAR(toolbar), view->forward, 4); 84 100 g_signal_connect (view->forward, "clicked", G_CALLBACK(next_clicked), view); 85 101 102 /* 103 * Search Entry 104 */ 105 GtkWidget *hbox = gtk_hbox_new (FALSE, 0); 106 gtk_box_pack_start (GTK_BOX (view), hbox, FALSE, FALSE, 0); 107 108 view->search_button = gtk_button_new (); 109 gtk_widget_set_name (GTK_WIDGET (view->search_button), "mokosearchbutton"); 110 gtk_button_set_image (GTK_BUTTON (view->search_button), gtk_image_new_from_stock (GTK_STOCK_FIND, GTK_ICON_SIZE_SMALL_TOOLBAR)); 111 gtk_box_pack_start (GTK_BOX (hbox), view->search_button, FALSE, FALSE, 0); 112 113 view->search_entry = GTK_ENTRY (gtk_entry_new ()); 114 gtk_widget_set_name (GTK_WIDGET (view->search_entry), "mokosearchentry"); 115 g_signal_connect (G_OBJECT (view->search_entry), "changed", G_CALLBACK (search_entry_changed_closure), view); 116 gtk_box_pack_start (GTK_BOX (hbox), GTK_WIDGET (view->search_entry), TRUE, TRUE, 0); 117 118 /* 119 * Details 'pane' 120 */ 86 121 GtkWidget* scrolled = moko_finger_scroll_new (); 87 122 gtk_box_pack_start (GTK_BOX(view), scrolled, TRUE, TRUE, 0); … … 158 193 feed_item_view_highlight (FeedItemView* view, const gchar* search_string) 159 194 { 160 /* webkit_gtk_page_search (view->page, search_string); */195 do_highlight (view, search_string); 161 196 } -
trunk/src/target/OM-2007.2/applications/openmoko-feedreader2/src/feed-item-view.h
r2627 r2637 62 62 GtkToolItem *mail; 63 63 64 gchar *current_highlight; 64 65 GtkEntry *search_entry; 66 GtkWidget *search_button; 65 67 }; 66 68 -
trunk/src/target/OM-2007.2/applications/openmoko-feedreader2/src/feed-selection-view.h
r2623 r2637 48 48 49 49 struct _FeedSelectionView { 50 GtkTreeView parent; 50 GtkVBox parent; 51 52 FeedFilter *filter; 53 FeedSort *sort; 54 GtkTreeView *view; 51 55 }; 52 56 53 57 struct _FeedSelectionViewClass { 54 Gtk TreeViewClass parent;58 GtkVBoxClass parent; 55 59 }; 56 60 57 GType feed_selection_view_get_type(void);58 G Object* feed_selection_new_new (const FeedData*);59 void feed_selection_set_first_column (const FeedData*, int);60 void feed_selection_set_second_column (const FeedData*, int);61 GType feed_selection_view_get_type (void); 62 GtkWidget* feed_selection_view_new (void); 63 void feed_selection_view_add_column (const FeedSelectionView*, int column_type, const gchar* txt); 64 gchar* feed_selection_view_get_search_string (const FeedSelectionView*); 61 65 62 66 G_END_DECLS -
trunk/src/target/OM-2007.2/applications/openmoko-feedreader2/src/main.c
r2627 r2637 36 36 #include "feed-data.h" 37 37 #include "feed-configuration.h" 38 #include "feed-selection-view.h" 38 39 #include "config.h" 39 40 … … 44 45 } 45 46 47 static void 48 feed_selection_changed (FeedSelectionView* view, const gchar* text, struct ApplicationData* data) 49 { 50 feed_item_view_display (data->view, text ? text : _("Failed to read the text.")); 51 if (feed_selection_view_get_search_string (view)) 52 feed_item_view_highlight (data->view, feed_selection_view_get_search_string (view)); 53 } 54 55 /* 56 * Feed View 57 */ 58 static void 59 create_feed_view (struct ApplicationData* data) 60 { 61 GtkWidget *box = feed_selection_view_new (); 62 gtk_notebook_prepend_page (data->notebook, box, gtk_image_new_from_stock (GTK_STOCK_MISSING_IMAGE, GTK_ICON_SIZE_LARGE_TOOLBAR)); 63 gtk_container_child_set (GTK_CONTAINER(data->notebook), box, "tab-expand", TRUE, "tab-fill", TRUE, NULL); 64 65 feed_selection_view_add_column (RSS_FEED_SELECTION_VIEW (box), RSS_READER_COLUMN_SUBJECT, _("Subject")); 66 feed_selection_view_add_column (RSS_FEED_SELECTION_VIEW (box), RSS_READER_COLUMN_DATE, _("Date")); 67 68 g_signal_connect (G_OBJECT(box), "item-changed", G_CALLBACK(feed_selection_changed), data); 69 } 46 70 47 71 /* … … 77 101 */ 78 102 GtkWidget* box = gtk_vbox_new (FALSE, 0); 79 gtk_notebook_append_page (data->notebook, box, gtk_image_new_from_stock (GTK_STOCK_ MISSING_IMAGE, GTK_ICON_SIZE_LARGE_TOOLBAR));103 gtk_notebook_append_page (data->notebook, box, gtk_image_new_from_stock (GTK_STOCK_PREFERENCES, GTK_ICON_SIZE_LARGE_TOOLBAR)); 80 104 gtk_container_child_set (GTK_CONTAINER(data->notebook), box, "tab-expand", TRUE, "tab-fill", TRUE, NULL); 81 105 … … 149 173 150 174 /* 175 * 1. The default feed view 176 */ 177 create_feed_view (data); 178 179 /* 151 180 * 2. Text View 152 * (initialized before 1. so it can be used by them)153 181 */ 154 182 create_text_view (data);
Note: See TracChangeset
for help on using the changeset viewer.
