r1491 - in trunk/src/target/OM-2007/applications/openmoko-rssreader: . po src
zecke at sita.openmoko.org
zecke at sita.openmoko.org
Thu Mar 22 22:43:25 CET 2007
Author: zecke
Date: 2007-03-22 22:43:23 +0100 (Thu, 22 Mar 2007)
New Revision: 1491
Added:
trunk/src/target/OM-2007/applications/openmoko-rssreader/po/
trunk/src/target/OM-2007/applications/openmoko-rssreader/po/POTFILES.in
Modified:
trunk/src/target/OM-2007/applications/openmoko-rssreader/Makefile.am
trunk/src/target/OM-2007/applications/openmoko-rssreader/autogen.sh
trunk/src/target/OM-2007/applications/openmoko-rssreader/configure.ac
trunk/src/target/OM-2007/applications/openmoko-rssreader/src/Makefile.am
trunk/src/target/OM-2007/applications/openmoko-rssreader/src/application-data.h
trunk/src/target/OM-2007/applications/openmoko-rssreader/src/callbacks.c
trunk/src/target/OM-2007/applications/openmoko-rssreader/src/callbacks.h
trunk/src/target/OM-2007/applications/openmoko-rssreader/src/main.c
Log:
openmoko-rssreader: Prepare i18n/gettext, prepare sorting, prepare filtering
Sorting works, but the date is sorted lexically. Parsing the RSS2.0
pubDate requires a RFC822 compliant parser and on top of that a small
fix to libmrss. COLUMN_DATE_GDATE will store the GDate value to allow
better and faster sorting. We create a filter model but do not filter yet.
Update autogen.sh to the stock GNOME file to call intltool for us
Modified: trunk/src/target/OM-2007/applications/openmoko-rssreader/Makefile.am
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-rssreader/Makefile.am 2007-03-22 19:41:20 UTC (rev 1490)
+++ trunk/src/target/OM-2007/applications/openmoko-rssreader/Makefile.am 2007-03-22 21:43:23 UTC (rev 1491)
@@ -1,2 +1,2 @@
-SUBDIRS = src data
+SUBDIRS = src data po
Modified: trunk/src/target/OM-2007/applications/openmoko-rssreader/autogen.sh
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-rssreader/autogen.sh 2007-03-22 19:41:20 UTC (rev 1490)
+++ trunk/src/target/OM-2007/applications/openmoko-rssreader/autogen.sh 2007-03-22 21:43:23 UTC (rev 1491)
@@ -1,4 +1,22 @@
-#! /bin/sh
-autoreconf -v --install || exit 1
-glib-gettextize --force --copy || exit 1
-./configure --enable-maintainer-mode "$@"
+#!/bin/sh
+# Run this to generate all the initial makefiles, etc.
+
+srcdir=`dirname $0`
+test -z "$srcdir" && srcdir=.
+REQUIRED_AUTOMAKE_VERSION=1.8
+PKG_NAME=openmoko-rssreader
+
+(test -f $srcdir/configure.ac \
+ && test -f $srcdir/src/main.c) || {
+ echo -n "**Error**: Directory "\`$srcdir\'" does not look like the"
+ echo " top-level $PKG_NAME directory"
+ exit 1
+}
+
+
+which gnome-autogen.sh || {
+ echo "You need to install gnome-common from the GNOME CVS"
+ exit 1
+}
+USE_GNOME2_MACROS=1 . gnome-autogen.sh
+
Modified: trunk/src/target/OM-2007/applications/openmoko-rssreader/configure.ac
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-rssreader/configure.ac 2007-03-22 19:41:20 UTC (rev 1490)
+++ trunk/src/target/OM-2007/applications/openmoko-rssreader/configure.ac 2007-03-22 21:43:23 UTC (rev 1491)
@@ -8,6 +8,13 @@
AC_STDC_HEADERS
AC_PROG_LIBTOOL
+#i18n
+GETTEXT_PACKAGE=openmoko-rssreader
+AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE", [Gettext package])
+AC_SUBST(GETTEXT_PACKAGE)
+AM_GLIB_GNU_GETTEXT
+
+
# base deps
PKG_CHECK_MODULES(OPENMOKO, openmoko-libs >= 0.0.1)
PKG_CHECK_MODULES(MRSS, mrss >= 0.17 )
@@ -18,4 +25,5 @@
Makefile
src/Makefile
data/Makefile
+po/Makefile.in
])
Added: trunk/src/target/OM-2007/applications/openmoko-rssreader/po/POTFILES.in
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-rssreader/po/POTFILES.in 2007-03-22 19:41:20 UTC (rev 1490)
+++ trunk/src/target/OM-2007/applications/openmoko-rssreader/po/POTFILES.in 2007-03-22 21:43:23 UTC (rev 1491)
@@ -0,0 +1,2 @@
+src/callbacks.c
+src/main.c
Modified: trunk/src/target/OM-2007/applications/openmoko-rssreader/src/Makefile.am
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-rssreader/src/Makefile.am 2007-03-22 19:41:20 UTC (rev 1490)
+++ trunk/src/target/OM-2007/applications/openmoko-rssreader/src/Makefile.am 2007-03-22 21:43:23 UTC (rev 1491)
@@ -1,8 +1,10 @@
AM_CPPFLAGS = -DDATADIR=\"$(datadir)\" \
- -DPKGDATADIR=\"$(pkgdatadir)\"
+ -DPKGDATADIR=\"$(pkgdatadir)\" \
+ -DRSSREADER_LOCALE_DIR=\""$(prefix)/$(DATADIRNAME)/locale"\"
-AM_CFLAGS = -Wall -Werror -pedantic -std=c99 @OPENMOKO_CFLAGS@ @MRSS_CFLAGS@
+AM_CFLAGS = -Wall -Werror -pedantic -std=c99 @OPENMOKO_CFLAGS@ @MRSS_CFLAGS@
+
bin_PROGRAMS = openmoko-rssreader
EXTRA_DIST = application-data.h callbacks.h
Modified: trunk/src/target/OM-2007/applications/openmoko-rssreader/src/application-data.h
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-rssreader/src/application-data.h 2007-03-22 19:41:20 UTC (rev 1490)
+++ trunk/src/target/OM-2007/applications/openmoko-rssreader/src/application-data.h 2007-03-22 21:43:23 UTC (rev 1491)
@@ -42,8 +42,14 @@
MokoPanedWindow *window;
MokoToolBox *box;
MokoMenuBox *menubox;
+
+
MokoTreeView *treeView;
GtkListStore *feed_data;
+ GtkTreeModelFilter *filter_model;
+ GtkTreeModelSort *sort_model;
+
+
GtkTextTagTable *tagTable;
GtkTextBuffer *textBuffer;
GtkTextView *textView;
@@ -62,6 +68,7 @@
RSS_READER_COLUMN_AUTHOR,
RSS_READER_COLUMN_SUBJECT,
RSS_READER_COLUMN_DATE,
+ RSS_READER_COLUMN_DATE_GDATE,/* The date as GDate representation used for sorting */
RSS_READER_COLUMN_LINK, /* Is this something like spiegel.de and only has a link */
RSS_READER_COLUMN_TEXT, /* Either link is NULL, or this contains the article */
RSS_READER_COLUMN_TEXT_TYPE,/* The Text Type of Atom feeds HTML, plain... */
Modified: trunk/src/target/OM-2007/applications/openmoko-rssreader/src/callbacks.c
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-rssreader/src/callbacks.c 2007-03-22 19:41:20 UTC (rev 1490)
+++ trunk/src/target/OM-2007/applications/openmoko-rssreader/src/callbacks.c 2007-03-22 21:43:23 UTC (rev 1491)
@@ -24,23 +24,27 @@
* Current Version: $Rev$ ($Date$) [$Author$]
*/
+#include "config.h"
+#include <glib/gi18n.h>
+
#include "callbacks.h"
#include <mrss.h>
#include <string.h>
-#define _(x) (x)
-
struct FeedEntry {
gchar *category;
gchar *url;
};
-static const int NUMBER_OF_FEEDS = 2;
static struct FeedEntry s_feeds[] = {
- { "OpenMoko", "http://planet.openmoko.org/rss20.xml" },
- { "GNOME" , "http://planet.gnome.org/atom.xml" },
+ { "OpenMoko", "http://planet.openmoko.org/atom.xml" },
+ { "GNOME" , "http://planet.gnome.org/atom.xml" },
+ { "KDE", "http://planet.kde.org/rss20.xml" },
+ { "Linux Togo", "http://planet.linuxtogo.org/atom.xml" },
+ { "zecke" , "http://zecke.blogspot.com/atom.xml" },
};
+static const int NUMBER_OF_FEEDS = sizeof(s_feeds)/sizeof(s_feeds[0]);
static void remove_container_item( GtkWidget *item, GtkWidget *container ) {
gtk_container_remove(GTK_CONTAINER(container), item);
Modified: trunk/src/target/OM-2007/applications/openmoko-rssreader/src/callbacks.h
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-rssreader/src/callbacks.h 2007-03-22 19:41:20 UTC (rev 1490)
+++ trunk/src/target/OM-2007/applications/openmoko-rssreader/src/callbacks.h 2007-03-22 21:43:23 UTC (rev 1491)
@@ -52,6 +52,7 @@
void cb_treeview_selection_changed( GtkTreeSelection *selection, struct RSSReaderData *d );
gboolean cb_treeview_keypress_event( GtkWidget *entry, GdkEventKey *key, struct RSSReaderData *d );
void cb_search_entry_changed ( GtkWidget *entry, struct RSSReaderData *d );
+void cb_treeview_filter_function ( GtkTreeModel *model, GtkTreeIter *iter, struct RSSReaderData* );
#endif
Modified: trunk/src/target/OM-2007/applications/openmoko-rssreader/src/main.c
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-rssreader/src/main.c 2007-03-22 19:41:20 UTC (rev 1490)
+++ trunk/src/target/OM-2007/applications/openmoko-rssreader/src/main.c 2007-03-22 21:43:23 UTC (rev 1491)
@@ -23,17 +23,16 @@
*
* Current Version: $Rev$ ($Date$) [$Author$]
*/
+#include "config.h"
+#include <glib/gi18n.h>
#include "application-data.h"
#include "callbacks.h"
-#include <assert.h>
#include <libmokoui/moko-details-window.h>
-/*
- * use gettext...
- */
-#define _(x) (x)
+#include <assert.h>
+
#define ASSERT_X(x, error) assert(x)
/*
@@ -70,12 +69,26 @@
data->feed_data = gtk_list_store_new( RSS_READER_NUM_COLS,
G_TYPE_STRING /* Author */,
G_TYPE_STRING /* Subject */,
- G_TYPE_STRING /* Date */,
+ G_TYPE_STRING /* The actual string */,
+ G_TYPE_DATE /* Date GDate*/,
G_TYPE_STRING /* Link */,
G_TYPE_STRING /* Text */,
G_TYPE_INT /* Text_Type */,
G_TYPE_STRING /* Category */,
G_TYPE_STRING /* Source */ );
+
+ /*
+ * allow to filter for a search string
+ */
+ data->filter_model = GTK_TREE_MODEL_FILTER(gtk_tree_model_filter_new(GTK_TREE_MODEL(data->feed_data),NULL));
+
+ /*
+ * Allow sorting of the base model
+ */
+ data->sort_model = GTK_TREE_MODEL_SORT(gtk_tree_model_sort_new_with_model( GTK_TREE_MODEL(data->filter_model) ));
+ gtk_tree_sortable_set_sort_column_id( GTK_TREE_SORTABLE(data->sort_model), RSS_READER_COLUMN_SUBJECT, GTK_SORT_ASCENDING );
+ gtk_tree_sortable_set_sort_column_id( GTK_TREE_SORTABLE(data->sort_model), RSS_READER_COLUMN_DATE, GTK_SORT_ASCENDING );
+
data->treeView = MOKO_TREE_VIEW(moko_tree_view_new_with_model(GTK_TREE_MODEL(data->feed_data)));
moko_paned_window_set_upper_pane( MOKO_PANED_WINDOW(data->window), GTK_WIDGET(moko_tree_view_put_into_scrolled_window(data->treeView)) );
@@ -88,12 +101,14 @@
column = GTK_TREE_VIEW_COLUMN(gtk_tree_view_column_new_with_attributes( _("Subject"), ren, "text", RSS_READER_COLUMN_SUBJECT, NULL));
gtk_tree_view_column_set_expand( column, TRUE );
gtk_tree_view_column_set_sizing( column, GTK_TREE_VIEW_COLUMN_FIXED );
+ gtk_tree_view_column_set_sort_column_id( column, RSS_READER_COLUMN_SUBJECT );
moko_tree_view_append_column( MOKO_TREE_VIEW(data->treeView), column );
ren = GTK_CELL_RENDERER(gtk_cell_renderer_text_new());
column = GTK_TREE_VIEW_COLUMN(gtk_tree_view_column_new_with_attributes( _("Date"), ren, "text", RSS_READER_COLUMN_DATE, NULL));
gtk_tree_view_column_set_expand( column, TRUE );
gtk_tree_view_column_set_sizing( column, GTK_TREE_VIEW_COLUMN_FIXED );
+ gtk_tree_view_column_set_sort_column_id( column, RSS_READER_COLUMN_DATE );
moko_tree_view_append_column( MOKO_TREE_VIEW(data->treeView), column );
/*
@@ -165,6 +180,12 @@
*/
g_debug( "openmoko-rssreader starting up" );
+ /* i18n boiler plate */
+ bindtextdomain ( GETTEXT_PACKAGE, RSSREADER_LOCALE_DIR );
+ bind_textdomain_codeset ( GETTEXT_PACKAGE, "UTF-8" );
+ textdomain ( GETTEXT_PACKAGE );
+
+
/*
* initialize threads for fetching the RSS in the background
*/
More information about the commitlog
mailing list