Changeset 1491


Ignore:
Timestamp:
03/22/07 22:43:23 (6 years ago)
Author:
zecke
Message:

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

Location:
trunk/src/target/OM-2007/applications/openmoko-rssreader
Files:
2 added
8 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/target/OM-2007/applications/openmoko-rssreader/Makefile.am

    r1461 r1491  
    1 SUBDIRS = src data 
     1SUBDIRS = src data po 
    22 
  • trunk/src/target/OM-2007/applications/openmoko-rssreader/autogen.sh

    r1461 r1491  
    1 #! /bin/sh 
    2 autoreconf -v --install || exit 1 
    3 glib-gettextize --force --copy || exit 1 
    4 ./configure --enable-maintainer-mode "$@" 
     1#!/bin/sh 
     2# Run this to generate all the initial makefiles, etc. 
     3 
     4srcdir=`dirname $0` 
     5test -z "$srcdir" && srcdir=. 
     6REQUIRED_AUTOMAKE_VERSION=1.8 
     7PKG_NAME=openmoko-rssreader 
     8 
     9(test -f $srcdir/configure.ac \ 
     10  && test -f $srcdir/src/main.c) || { 
     11    echo -n "**Error**: Directory "\`$srcdir\'" does not look like the" 
     12    echo " top-level $PKG_NAME directory" 
     13    exit 1 
     14} 
     15 
     16 
     17which gnome-autogen.sh || { 
     18    echo "You need to install gnome-common from the GNOME CVS" 
     19    exit 1 
     20} 
     21USE_GNOME2_MACROS=1 . gnome-autogen.sh 
     22 
  • trunk/src/target/OM-2007/applications/openmoko-rssreader/configure.ac

    r1461 r1491  
    88AC_STDC_HEADERS 
    99AC_PROG_LIBTOOL 
     10 
     11#i18n 
     12GETTEXT_PACKAGE=openmoko-rssreader 
     13AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE", [Gettext package]) 
     14AC_SUBST(GETTEXT_PACKAGE) 
     15AM_GLIB_GNU_GETTEXT 
     16 
    1017 
    1118# base deps 
     
    1926src/Makefile 
    2027data/Makefile 
     28po/Makefile.in 
    2129]) 
  • trunk/src/target/OM-2007/applications/openmoko-rssreader/src/Makefile.am

    r1461 r1491  
    11AM_CPPFLAGS = -DDATADIR=\"$(datadir)\" \ 
    2               -DPKGDATADIR=\"$(pkgdatadir)\" 
     2              -DPKGDATADIR=\"$(pkgdatadir)\" \ 
     3              -DRSSREADER_LOCALE_DIR=\""$(prefix)/$(DATADIRNAME)/locale"\" 
    34 
    4 AM_CFLAGS = -Wall -Werror -pedantic -std=c99 @OPENMOKO_CFLAGS@ @MRSS_CFLAGS@ 
     5 
     6AM_CFLAGS  = -Wall -Werror -pedantic -std=c99 @OPENMOKO_CFLAGS@ @MRSS_CFLAGS@ 
    57 
    68bin_PROGRAMS = openmoko-rssreader 
  • trunk/src/target/OM-2007/applications/openmoko-rssreader/src/application-data.h

    r1461 r1491  
    4343    MokoToolBox       *box; 
    4444    MokoMenuBox       *menubox; 
     45 
     46 
    4547    MokoTreeView      *treeView; 
    4648    GtkListStore      *feed_data; 
     49    GtkTreeModelFilter *filter_model; 
     50    GtkTreeModelSort  *sort_model; 
     51 
     52 
    4753    GtkTextTagTable   *tagTable; 
    4854    GtkTextBuffer     *textBuffer; 
     
    6369    RSS_READER_COLUMN_SUBJECT, 
    6470    RSS_READER_COLUMN_DATE, 
     71    RSS_READER_COLUMN_DATE_GDATE,/* The date as GDate representation used for sorting     */ 
    6572    RSS_READER_COLUMN_LINK,     /* Is this something like spiegel.de and only has a link */ 
    6673    RSS_READER_COLUMN_TEXT,     /* Either link is NULL, or this contains the article     */ 
  • trunk/src/target/OM-2007/applications/openmoko-rssreader/src/callbacks.c

    r1461 r1491  
    2525 */ 
    2626 
     27#include "config.h" 
     28#include <glib/gi18n.h> 
     29 
    2730#include "callbacks.h" 
    2831 
    2932#include <mrss.h> 
    3033#include <string.h> 
    31  
    32 #define _(x) (x) 
    3334 
    3435struct FeedEntry { 
     
    3738}; 
    3839 
    39 static const int NUMBER_OF_FEEDS = 2; 
    4040static struct FeedEntry s_feeds[] = { 
    41     { "OpenMoko", "http://planet.openmoko.org/rss20.xml" }, 
    42     { "GNOME"   , "http://planet.gnome.org/atom.xml"     }, 
     41    { "OpenMoko",   "http://planet.openmoko.org/atom.xml"  }, 
     42    { "GNOME"   ,   "http://planet.gnome.org/atom.xml"     }, 
     43    { "KDE",        "http://planet.kde.org/rss20.xml"      }, 
     44    { "Linux Togo", "http://planet.linuxtogo.org/atom.xml" }, 
     45    { "zecke"   , "http://zecke.blogspot.com/atom.xml"     }, 
    4346}; 
     47static const int NUMBER_OF_FEEDS = sizeof(s_feeds)/sizeof(s_feeds[0]); 
    4448 
    4549static void remove_container_item( GtkWidget *item, GtkWidget *container ) { 
  • trunk/src/target/OM-2007/applications/openmoko-rssreader/src/callbacks.h

    r1461 r1491  
    5353gboolean cb_treeview_keypress_event( GtkWidget *entry, GdkEventKey *key, struct RSSReaderData *d ); 
    5454void cb_search_entry_changed      ( GtkWidget *entry, struct RSSReaderData *d ); 
     55void cb_treeview_filter_function  ( GtkTreeModel *model, GtkTreeIter *iter, struct RSSReaderData* ); 
    5556 
    5657 
  • trunk/src/target/OM-2007/applications/openmoko-rssreader/src/main.c

    r1472 r1491  
    2424 *  Current Version: $Rev$ ($Date$) [$Author$] 
    2525 */ 
     26#include "config.h" 
     27#include <glib/gi18n.h> 
    2628 
    2729#include "application-data.h" 
    2830#include "callbacks.h" 
     31 
     32#include <libmokoui/moko-details-window.h> 
     33 
    2934#include <assert.h> 
    3035 
    31 #include <libmokoui/moko-details-window.h> 
    32  
    33 /* 
    34  * use gettext... 
    35  */ 
    36 #define _(x) (x) 
    3736#define ASSERT_X(x, error) assert(x) 
    3837 
     
    7170                                          G_TYPE_STRING /* Author    */, 
    7271                                          G_TYPE_STRING /* Subject   */, 
    73                                           G_TYPE_STRING /* Date      */, 
     72                                          G_TYPE_STRING /* The actual string */, 
     73                                          G_TYPE_DATE   /* Date GDate*/, 
    7474                                          G_TYPE_STRING /* Link      */, 
    7575                                          G_TYPE_STRING /* Text      */, 
     
    7777                                          G_TYPE_STRING /* Category  */, 
    7878                                          G_TYPE_STRING /* Source    */ ); 
     79 
     80    /* 
     81     * allow to filter for a search string 
     82     */ 
     83    data->filter_model = GTK_TREE_MODEL_FILTER(gtk_tree_model_filter_new(GTK_TREE_MODEL(data->feed_data),NULL)); 
     84 
     85    /* 
     86     * Allow sorting of the base model 
     87     */ 
     88    data->sort_model = GTK_TREE_MODEL_SORT(gtk_tree_model_sort_new_with_model( GTK_TREE_MODEL(data->filter_model) )); 
     89    gtk_tree_sortable_set_sort_column_id( GTK_TREE_SORTABLE(data->sort_model), RSS_READER_COLUMN_SUBJECT, GTK_SORT_ASCENDING ); 
     90    gtk_tree_sortable_set_sort_column_id( GTK_TREE_SORTABLE(data->sort_model), RSS_READER_COLUMN_DATE,    GTK_SORT_ASCENDING ); 
     91 
    7992    data->treeView = MOKO_TREE_VIEW(moko_tree_view_new_with_model(GTK_TREE_MODEL(data->feed_data))); 
    8093    moko_paned_window_set_upper_pane( MOKO_PANED_WINDOW(data->window), GTK_WIDGET(moko_tree_view_put_into_scrolled_window(data->treeView)) ); 
     
    89102    gtk_tree_view_column_set_expand( column, TRUE ); 
    90103    gtk_tree_view_column_set_sizing( column, GTK_TREE_VIEW_COLUMN_FIXED ); 
     104    gtk_tree_view_column_set_sort_column_id( column, RSS_READER_COLUMN_SUBJECT ); 
    91105    moko_tree_view_append_column( MOKO_TREE_VIEW(data->treeView), column ); 
    92106 
     
    95109    gtk_tree_view_column_set_expand( column, TRUE ); 
    96110    gtk_tree_view_column_set_sizing( column, GTK_TREE_VIEW_COLUMN_FIXED ); 
     111    gtk_tree_view_column_set_sort_column_id( column, RSS_READER_COLUMN_DATE ); 
    97112    moko_tree_view_append_column( MOKO_TREE_VIEW(data->treeView), column ); 
    98113 
     
    166181    g_debug( "openmoko-rssreader starting up" ); 
    167182 
     183    /* i18n boiler plate */ 
     184    bindtextdomain ( GETTEXT_PACKAGE, RSSREADER_LOCALE_DIR ); 
     185    bind_textdomain_codeset ( GETTEXT_PACKAGE, "UTF-8" ); 
     186    textdomain ( GETTEXT_PACKAGE ); 
     187 
     188 
    168189    /* 
    169190     * initialize threads for fetching the RSS in the background 
Note: See TracChangeset for help on using the changeset viewer.