Send commitlog mailing list submissions to
        [email protected]

To subscribe or unsubscribe via the World Wide Web, visit
        http://lists.openmoko.org/mailman/listinfo/commitlog
or, via email, send a message with subject or body 'help' to
        [EMAIL PROTECTED]

You can reach the person managing the list at
        [EMAIL PROTECTED]

When replying, please edit your Subject line so it is more specific
than "Re: Contents of commitlog digest..."
Today's Topics:

   1. r3334 - in
      trunk/src/target/OM-2007.2/applications/openmoko-worldclock2: .
      src ([EMAIL PROTECTED])
   2. r3335 - in
      trunk/src/target/OM-2007.2/applications/openmoko-worldclock2: .
      src ([EMAIL PROTECTED])
   3. r3336 - in
      trunk/src/target/OM-2007.2/applications/openmoko-today2: .        src
      ([EMAIL PROTECTED])
   4. r3337 -
      trunk/src/target/OM-2007.2/applications/openmoko-today2
      ([EMAIL PROTECTED])
   5. r3338 -
      trunk/src/target/OM-2007.2/applications/openmoko-today2
      ([EMAIL PROTECTED])
   6. r3339 - in
      trunk/src/target/OM-2007.2/applications/openmoko-appmanager2: .
      src ([EMAIL PROTECTED])
--- Begin Message ---
Author: chris
Date: 2007-11-02 13:01:06 +0100 (Fri, 02 Nov 2007)
New Revision: 3334

Modified:
   trunk/src/target/OM-2007.2/applications/openmoko-worldclock2/ChangeLog
   
trunk/src/target/OM-2007.2/applications/openmoko-worldclock2/src/worldclock-main.c
Log:
        * src/worldclock-main.c: (hadjust_changed_cb),
        (vadjust_changed_cb), (zoom_map), (main):
        Zoom into the centre of the map rather than the top-left


Modified: trunk/src/target/OM-2007.2/applications/openmoko-worldclock2/ChangeLog
===================================================================
--- trunk/src/target/OM-2007.2/applications/openmoko-worldclock2/ChangeLog      
2007-11-02 10:59:47 UTC (rev 3333)
+++ trunk/src/target/OM-2007.2/applications/openmoko-worldclock2/ChangeLog      
2007-11-02 12:01:06 UTC (rev 3334)
@@ -1,3 +1,9 @@
+2007-11-02  Chris Lord  <[EMAIL PROTECTED]>
+
+       * src/worldclock-main.c: (hadjust_changed_cb),
+       (vadjust_changed_cb), (zoom_map), (main):
+       Zoom into the centre of the map rather than the top-left
+
 2007-11-01  Chris Lord  <[EMAIL PROTECTED]>
 
        * src/worldclock-main.c: (set_time), (close_clicked_cb),

Modified: 
trunk/src/target/OM-2007.2/applications/openmoko-worldclock2/src/worldclock-main.c
===================================================================
--- 
trunk/src/target/OM-2007.2/applications/openmoko-worldclock2/src/worldclock-main.c
  2007-11-02 10:59:47 UTC (rev 3333)
+++ 
trunk/src/target/OM-2007.2/applications/openmoko-worldclock2/src/worldclock-main.c
  2007-11-02 12:01:06 UTC (rev 3334)
@@ -34,6 +34,7 @@
        GtkWidget *window;
        GtkWidget *map;
        GtkWidget *map_aspect;
+       GtkWidget *map_viewport;
        GtkWidget *load_window;
        GtkWidget *load_bar;
        
@@ -42,6 +43,8 @@
        
        gchar *location;
        gdouble zoom_level;
+       gdouble xpos;
+       gdouble ypos;
        
        gboolean map_entered;
 } WorldClockData;
@@ -55,16 +58,52 @@
 }
 
 static void
+hadjust_changed_cb (GtkAdjustment *hadjust, WorldClockData *data)
+{
+       g_signal_handlers_disconnect_by_func (
+               hadjust, hadjust_changed_cb, data);
+       gtk_adjustment_set_value (hadjust,
+               (hadjust->upper * data->xpos) -
+               (data->map_viewport->allocation.width/2));
+}
+
+static void
+vadjust_changed_cb (GtkAdjustment *vadjust, WorldClockData *data)
+{
+       g_signal_handlers_disconnect_by_func (
+               vadjust, vadjust_changed_cb, data);
+       gtk_adjustment_set_value (vadjust,
+               (vadjust->upper * data->ypos) -
+               (data->map_viewport->allocation.height/2));
+}
+
+static void
 zoom_map (WorldClockData *data)
 {
        if (data->zoom_level <= 0.95) {
                data->zoom_level = 1;
                gtk_widget_set_size_request (data->map_aspect, -1, -1);
        } else {
+               GtkAdjustment *hadjust, *vadjust;
                gint width, height;
-               gtk_window_get_size (GTK_WINDOW (data->window),
-                       &width, &height);
+               
+               hadjust = gtk_viewport_get_hadjustment (
+                       GTK_VIEWPORT (data->map_viewport));
+               vadjust = gtk_viewport_get_vadjustment (
+                       GTK_VIEWPORT (data->map_viewport));
+               data->xpos = (hadjust->value + (data->map_viewport->
+                       allocation.width/2.0)) / hadjust->upper;
+               data->ypos = (vadjust->value + (data->map_viewport->
+                       allocation.height/2.0)) / vadjust->upper;
+               
+               width = data->map_viewport->allocation.width;
+               height = data->map_viewport->allocation.height;
                width *= data->zoom_level;
+               g_signal_connect (hadjust, "changed",
+                       G_CALLBACK (hadjust_changed_cb), data);
+               g_signal_connect (vadjust, "changed",
+                       G_CALLBACK (vadjust_changed_cb), data);
+                       
                gtk_widget_set_size_request (data->map_aspect,
                        width, (height > (width/2)) ? -1 : width / 2);
        }
@@ -559,9 +598,13 @@
                data.map_aspect), GTK_SHADOW_NONE);
        gtk_container_add (GTK_CONTAINER (data.map_aspect), data.map);
        
+       data.map_viewport = gtk_viewport_new (NULL, NULL);
+       gtk_viewport_set_shadow_type (GTK_VIEWPORT (
+               data.map_viewport), GTK_SHADOW_NONE);
+       gtk_container_add (GTK_CONTAINER (data.map_viewport), data.map_aspect);
+       
        scroll = moko_finger_scroll_new ();
-       moko_finger_scroll_add_with_viewport (MOKO_FINGER_SCROLL (scroll),
-               data.map_aspect);
+       gtk_container_add (GTK_CONTAINER (scroll), data.map_viewport);
        g_object_set (G_OBJECT (scroll), "mode", MOKO_FINGER_SCROLL_MODE_PUSH,
                NULL);
        gtk_widget_show_all (scroll);




--- End Message ---
--- Begin Message ---
Author: chris
Date: 2007-11-02 15:33:14 +0100 (Fri, 02 Nov 2007)
New Revision: 3335

Modified:
   trunk/src/target/OM-2007.2/applications/openmoko-worldclock2/ChangeLog
   
trunk/src/target/OM-2007.2/applications/openmoko-worldclock2/src/worldclock-main.c
Log:
        * src/worldclock-main.c: (map_clicked_cb), (main):
        Use new JanaGtkWorldMap "clicked" signal


Modified: trunk/src/target/OM-2007.2/applications/openmoko-worldclock2/ChangeLog
===================================================================
--- trunk/src/target/OM-2007.2/applications/openmoko-worldclock2/ChangeLog      
2007-11-02 12:01:06 UTC (rev 3334)
+++ trunk/src/target/OM-2007.2/applications/openmoko-worldclock2/ChangeLog      
2007-11-02 14:33:14 UTC (rev 3335)
@@ -1,5 +1,10 @@
 2007-11-02  Chris Lord  <[EMAIL PROTECTED]>
 
+       * src/worldclock-main.c: (map_clicked_cb), (main):
+       Use new JanaGtkWorldMap "clicked" signal
+
+2007-11-02  Chris Lord  <[EMAIL PROTECTED]>
+
        * src/worldclock-main.c: (hadjust_changed_cb),
        (vadjust_changed_cb), (zoom_map), (main):
        Zoom into the centre of the map rather than the top-left

Modified: 
trunk/src/target/OM-2007.2/applications/openmoko-worldclock2/src/worldclock-main.c
===================================================================
--- 
trunk/src/target/OM-2007.2/applications/openmoko-worldclock2/src/worldclock-main.c
  2007-11-02 12:01:06 UTC (rev 3334)
+++ 
trunk/src/target/OM-2007.2/applications/openmoko-worldclock2/src/worldclock-main.c
  2007-11-02 14:33:14 UTC (rev 3335)
@@ -45,8 +45,6 @@
        gdouble zoom_level;
        gdouble xpos;
        gdouble ypos;
-       
-       gboolean map_entered;
 } WorldClockData;
 
 static inline GtkToolItem *
@@ -340,32 +338,14 @@
        g_source_remove_by_user_data (clock);
 }
 
-static gboolean
-map_enter_notify_cb (GtkWidget *widget, GdkEventCrossing *event,
-                    WorldClockData *data)
+static void
+map_clicked_cb (JanaGtkWorldMap *map, GdkEventButton *event,
+               WorldClockData *data)
 {
-       data->map_entered = TRUE;
-       return FALSE;
-}
-
-static gboolean
-map_leave_notify_cb (GtkWidget *widget, GdkEventCrossing *event,
-                    WorldClockData *data)
-{
-       data->map_entered = FALSE;
-       return FALSE;
-}
-
-static gboolean
-map_button_release_event_cb (JanaGtkWorldMap *map, GdkEventButton *event,
-                          WorldClockData *data)
-{
        GList *markers, *m;
        gdouble lat, lon, old_distance;
        JanaGtkWorldMapMarker *marker;
        
-       if (!data->map_entered) return FALSE;
-       
        jana_gtk_world_map_get_latlon (map, event->x, event->y, &lat, &lon);
        markers = jana_gtk_world_map_get_markers (map);
        
@@ -532,8 +512,6 @@
        }
        
        g_list_free (markers);
-       
-       return FALSE;
 }
 
 int
@@ -584,14 +562,8 @@
        jana_gtk_world_map_set_height (JANA_GTK_WORLD_MAP (data.map), 1024);
        jana_gtk_world_map_set_static (JANA_GTK_WORLD_MAP (data.map), TRUE);
        add_marks (&data);
-       gtk_widget_add_events (GTK_WIDGET (data.map),
-               GDK_BUTTON_RELEASE_MASK);
-       g_signal_connect (data.map, "enter-notify-event",
-               G_CALLBACK (map_enter_notify_cb), &data);
-       g_signal_connect (data.map, "leave-notify-event",
-               G_CALLBACK (map_leave_notify_cb), &data);
-       g_signal_connect (data.map, "button-release-event",
-               G_CALLBACK (map_button_release_event_cb), &data);
+       g_signal_connect (data.map, "clicked",
+               G_CALLBACK (map_clicked_cb), &data);
        
        data.map_aspect = gtk_aspect_frame_new (NULL, 0.5, 0.5, 2.0, FALSE);
        gtk_frame_set_shadow_type (GTK_FRAME (




--- End Message ---
--- Begin Message ---
Author: chris
Date: 2007-11-02 15:40:59 +0100 (Fri, 02 Nov 2007)
New Revision: 3336

Modified:
   trunk/src/target/OM-2007.2/applications/openmoko-today2/ChangeLog
   trunk/src/target/OM-2007.2/applications/openmoko-today2/src/today-main.c
Log:
        * src/today-main.c: (clock_clicked_cb), (today_create_home_page):
        Launch openmoko-worldclock when clicking on clock


Modified: trunk/src/target/OM-2007.2/applications/openmoko-today2/ChangeLog
===================================================================
--- trunk/src/target/OM-2007.2/applications/openmoko-today2/ChangeLog   
2007-11-02 14:33:14 UTC (rev 3335)
+++ trunk/src/target/OM-2007.2/applications/openmoko-today2/ChangeLog   
2007-11-02 14:40:59 UTC (rev 3336)
@@ -1,3 +1,8 @@
+2007-11-02  Chris Lord  <[EMAIL PROTECTED]>
+
+       * src/today-main.c: (clock_clicked_cb), (today_create_home_page):
+        Launch openmoko-worldclock when clicking on clock
+
 2007-11-01  Ross Burton  <[EMAIL PROTECTED]>
 
        * .:

Modified: 
trunk/src/target/OM-2007.2/applications/openmoko-today2/src/today-main.c
===================================================================
--- trunk/src/target/OM-2007.2/applications/openmoko-today2/src/today-main.c    
2007-11-02 14:33:14 UTC (rev 3335)
+++ trunk/src/target/OM-2007.2/applications/openmoko-today2/src/today-main.c    
2007-11-02 14:40:59 UTC (rev 3336)
@@ -166,6 +166,13 @@
        return FALSE;
 }
 
+static void
+clock_clicked_cb (JanaGtkClock *clock, GdkEventButton *event, TodayData *data)
+{
+       launcher_start (data->window, today_get_launcher ((const gchar *[])
+               { "openmoko-worldclock", NULL }, TRUE, TRUE));
+}
+
 static GtkWidget *
 today_create_home_page (TodayData *data)
 {
@@ -224,6 +231,8 @@
        data->clock = jana_gtk_clock_new ();
        jana_gtk_clock_set_draw_shadow (JANA_GTK_CLOCK (data->clock), TRUE);
        gtk_widget_show (data->clock);
+       g_signal_connect (data->clock, "clicked",
+               G_CALLBACK (clock_clicked_cb), data);
 
        /* Pack widgets */
        align = gtk_alignment_new (0.5, 0, 1, 0);




--- End Message ---
--- Begin Message ---
Author: chris
Date: 2007-11-02 15:54:12 +0100 (Fri, 02 Nov 2007)
New Revision: 3337

Modified:
   trunk/src/target/OM-2007.2/applications/openmoko-today2/
Log:
Update externals to r1777 of matchbox-desktop-2



Property changes on: trunk/src/target/OM-2007.2/applications/openmoko-today2
___________________________________________________________________
Name: svn:externals
   - libkoto -r346 http://svn.o-hand.com/repos/tasks/trunk/libkoto
libtaku -r1765 
http://svn.o-hand.com/repos/matchbox/trunk/matchbox-desktop-2/libtaku

   + libkoto -r346 http://svn.o-hand.com/repos/tasks/trunk/libkoto\
libtaku -r1777 
http://svn.o-hand.com/repos/matchbox/trunk/matchbox-desktop-2/libtaku





--- End Message ---
--- Begin Message ---
Author: chris
Date: 2007-11-02 15:56:43 +0100 (Fri, 02 Nov 2007)
New Revision: 3338

Modified:
   trunk/src/target/OM-2007.2/applications/openmoko-today2/
Log:
Set externals correctly



Property changes on: trunk/src/target/OM-2007.2/applications/openmoko-today2
___________________________________________________________________
Name: svn:externals
   - libkoto -r346 http://svn.o-hand.com/repos/tasks/trunk/libkoto\
libtaku -r1777 
http://svn.o-hand.com/repos/matchbox/trunk/matchbox-desktop-2/libtaku

   + libkoto -r346 http://svn.o-hand.com/repos/tasks/trunk/libkoto
libtaku -r1777 
http://svn.o-hand.com/repos/matchbox/trunk/matchbox-desktop-2/libtaku





--- End Message ---
--- Begin Message ---
Author: thomas
Date: 2007-11-02 17:33:59 +0100 (Fri, 02 Nov 2007)
New Revision: 3339

Added:
   trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/src/search-bar.c
   trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/src/search-bar.h
Removed:
   
trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/src/filter-menu.c
   
trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/src/filter-menu.h
Modified:
   trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/ChangeLog
   trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/src/Makefile.am
   
trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/src/appmanager-data.c
   
trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/src/appmanager-data.h
   
trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/src/appmanager-window.c
   
trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/src/package-list.c
Log:
* src/Makefile.am:
* src/appmanager-data.c: (application_manager_data_init),
(application_manager_data_set_main_window):
* src/appmanager-data.h:
* src/appmanager-window.c: (main):
* src/filter-menu.c:
* src/filter-menu.h:
* src/package-list.c: (package_list_add_section_to_filter_menu):
* src/search-bar.c:
* src/search-bar.h:

Replace filter menu with search bar combobox


Modified: trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/ChangeLog
===================================================================
--- trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/ChangeLog      
2007-11-02 14:56:43 UTC (rev 3338)
+++ trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/ChangeLog      
2007-11-02 16:33:59 UTC (rev 3339)
@@ -1,5 +1,20 @@
 2007-11-02  Thomas Wood  <[EMAIL PROTECTED]>
 
+       * src/Makefile.am:
+       * src/appmanager-data.c: (application_manager_data_init),
+       (application_manager_data_set_main_window):
+       * src/appmanager-data.h:
+       * src/appmanager-window.c: (main):
+       * src/filter-menu.c:
+       * src/filter-menu.h:
+       * src/package-list.c: (package_list_add_section_to_filter_menu):
+       * src/search-bar.c:
+       * src/search-bar.h:
+
+       Replace filter menu with search bar combobox
+
+2007-11-02  Thomas Wood  <[EMAIL PROTECTED]>
+
        * src/detail-area.c: (detail_area_new):
        * src/navigation-area.c: (navigation_area_new):
 

Modified: 
trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/src/Makefile.am
===================================================================
--- 
trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/src/Makefile.am    
    2007-11-02 14:56:43 UTC (rev 3338)
+++ 
trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/src/Makefile.am    
    2007-11-02 16:33:59 UTC (rev 3339)
@@ -14,6 +14,7 @@
                               pixbuf-list.c\
                               select-menu.c\
                               apply-dialog.c\
-                              install-dialog.c
+                              install-dialog.c \
+                              search-bar.c
 
 openmoko_appmanager_LDADD = @OPENMOKO_LIBS@

Modified: 
trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/src/appmanager-data.c
===================================================================
--- 
trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/src/appmanager-data.c
  2007-11-02 14:56:43 UTC (rev 3338)
+++ 
trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/src/appmanager-data.c
  2007-11-02 16:33:59 UTC (rev 3339)
@@ -36,7 +36,6 @@
   gint  i;
 
   data->mwindow = NULL;
-  data->filtermenu = NULL;
   data->menubox = NULL;
   data->selectmenu = NULL;
   data->searchentry = NULL;
@@ -85,20 +84,7 @@
   appdata->mwindow = GTK_WIDGET (window);
 }
 
-/*
- * @brief Set the filter menu to the application manager data
- * @param appdata The application manager data struct
- * @param filtermenu The filter menu
- */
-void 
-application_manager_data_set_filter_menu (ApplicationManagerData *appdata,
-                                          GtkMenu *filtermenu)
-{
-  g_return_if_fail (MOKO_IS_APPLICATION_MANAGER_DATA (appdata));
 
-  appdata->filtermenu = filtermenu;
-}
-
 /*
  * @brief Set the menubox to the application manager data
  * @param appdata The application manager data struct
@@ -387,19 +373,7 @@
   return appdata->mwindow;
 }
 
-/*
- * @brief Get the filter menu from the application manager data
- * @param appdata The application manager data
- * @return The filter menu
- */
-GtkMenu *
-application_manager_get_filter_menu (ApplicationManagerData *appdata)
-{
-  g_return_val_if_fail (MOKO_IS_APPLICATION_MANAGER_DATA (appdata), NULL);
 
-  return appdata->filtermenu;
-}
-
 /*
  * @brief Get the menubox from the application manager data
  * @param appdata The application manager data

Modified: 
trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/src/appmanager-data.h
===================================================================
--- 
trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/src/appmanager-data.h
  2007-11-02 14:56:43 UTC (rev 3338)
+++ 
trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/src/appmanager-data.h
  2007-11-02 16:33:59 UTC (rev 3339)
@@ -54,7 +54,6 @@
   GObject          parent;             /* The parent of the struct */
 
   GtkWidget        *mwindow;           /* The main window */
-  GtkMenu          *filtermenu;        /* The filter menu */
   GtkWidget        *menubox;           /* The menubox */
   GtkMenu          *selectmenu;        /* The select menu */
   GtkEntry         *searchentry;       /* The search entry */
@@ -70,6 +69,8 @@
   GdkPixbuf        *statuspix[N_COUNT_PKG_STATUS];    /* The all pixbufs that 
need by the package list store */
   gchar            *searchhistory;     /* The search history */
   GtkWidget        *installdialog;     /* The install dialog */
+  
+  GtkTreeModel     *filter_store;      /* GtkListStore for filter menu */
 } ApplicationManagerData;
 
 /*

Modified: 
trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/src/appmanager-window.c
===================================================================
--- 
trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/src/appmanager-window.c
        2007-11-02 14:56:43 UTC (rev 3338)
+++ 
trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/src/appmanager-window.c
        2007-11-02 16:33:59 UTC (rev 3339)
@@ -22,7 +22,6 @@
 
 #include "appmanager-window.h"
 #include "application-menu.h"
-#include "filter-menu.h"
 #include "navigation-area.h"
 #include "tool-box.h"
 #include "detail-area.h"
@@ -30,6 +29,7 @@
 #include "errorcode.h"
 #include "package-list.h"
 #include "select-menu.h"
+#include "search-bar.h"
 
 /*
  * @brief The start function.
@@ -42,14 +42,12 @@
   GtkWidget       *menubox;
   GtkWidget       *menuitem;
   GtkWidget       *appmenu;
-  GtkWidget       *filtermenu;
   GtkWidget       *selectmenu;
   GtkWidget       *navigation;
   GtkWidget       *toolbox;
   GtkWidget       *detail;
   GtkWidget       *notebook;
-
-  //GtkWidget       *menubox;
+  GtkWidget *searchbar;
   GtkWidget *vbox;
 
   gint             ret;
@@ -84,9 +82,6 @@
 
   appmenu = application_menu_new (appdata);
 
-  filtermenu = filter_menu_new (appdata);
-  application_manager_data_set_filter_menu (appdata, GTK_MENU (filtermenu));
-
   selectmenu = moko_select_menu_new (appdata);
   application_manager_data_set_select_menu (appdata, GTK_MENU (selectmenu));
 
@@ -102,16 +97,15 @@
   gtk_menu_item_set_submenu (GTK_MENU_ITEM (menuitem), appmenu);
   gtk_menu_shell_append (GTK_MENU_SHELL (menubox), menuitem);
 
-  menuitem = gtk_menu_item_new_with_label ("Filter");
-  gtk_menu_item_set_submenu (GTK_MENU_ITEM (menuitem), filtermenu);
-  gtk_menu_shell_append (GTK_MENU_SHELL (menubox), menuitem);
-
   menuitem = gtk_menu_item_new_with_label ("Select");
   gtk_menu_item_set_submenu (GTK_MENU_ITEM (menuitem), selectmenu);
   gtk_menu_shell_append (GTK_MENU_SHELL (menubox), menuitem);
 
   toolbox = tool_box_new (appdata);
   gtk_box_pack_start (GTK_BOX (vbox), toolbox, FALSE, FALSE, 0);
+  
+  searchbar = search_bar_new (appdata);
+  gtk_box_pack_start (GTK_BOX (vbox), searchbar, FALSE, FALSE, 0);
 
   notebook = gtk_notebook_new ();
   gtk_notebook_set_tab_pos (GTK_NOTEBOOK (notebook), GTK_POS_BOTTOM);
@@ -143,13 +137,12 @@
 
   /* Add section list to the filter menu */
   package_list_add_section_to_filter_menu (appdata);
+  search_bar_set_active_filter (searchbar, FILTER_INSTALLED);
 
-  /* Show the installed package list at initialization */
-  filter_menu_show_install_list (appdata);
-
   gtk_widget_show_all (GTK_WIDGET (window));
   g_debug ("application manager enter main loop");
   gtk_main ();
+  g_debug ("application finished");
 
   return 0;
 }

Deleted: 
trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/src/filter-menu.c
===================================================================
--- 
trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/src/filter-menu.c  
    2007-11-02 14:56:43 UTC (rev 3338)
+++ 
trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/src/filter-menu.c  
    2007-11-02 16:33:59 UTC (rev 3339)
@@ -1,231 +0,0 @@
-/*
- *  @file filter-menu.c
- *  @brief The filter menu item
- *
- *  Copyright (C) 2006-2007 OpenMoko Inc.
- *
- *  This program is free software; you can redistribute it and/or modify
- *  it under the terms of the GNU Public License as published by
- *  the Free Software Foundation; version 2 of the license.
- *
- *  This program is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU Public License for more details.
- *
- *  Current Version: $Rev$ ($Date$) [$Author$]
- *
- *  @author Chaowei Song ([EMAIL PROTECTED])
- */
-#include <string.h>
-
-#include "filter-menu.h"
-#include "appmanager-window.h"
-#include "navigation-area.h"
-#include "package-list.h"
-
-/*
- * @brief The callback function of the search result menuitem.
- */
-static void 
-on_search_result_activate (GtkMenuItem *menuitem, gpointer userdata)
-{
-  g_debug ("Clicked the search result menuitem");
-}
-
-/*
- * @brief The callback function of the installed menuitem.
- */
-static void 
-on_installed_activate (GtkMenuItem *menuitem, gpointer userdata)
-{
-  gpointer     pkglist;
-
-  g_return_if_fail (MOKO_IS_APPLICATION_MANAGER_DATA (userdata));
-  g_debug ("Clicked the installed menuitem");
-
-  pkglist = application_manager_data_get_installedlist (
-                    MOKO_APPLICATION_MANAGER_DATA (userdata));
-
-  navigation_area_refresh_with_package_list (
-          MOKO_APPLICATION_MANAGER_DATA (userdata),
-          pkglist);
-}
-
-/*
- * @brief The callback function of the upgradeable menuitem.
- */
-static void 
-on_upgradeable_activate (GtkMenuItem *menuitem, gpointer userdata)
-{
-  gpointer     pkglist;
-
-  g_return_if_fail (MOKO_IS_APPLICATION_MANAGER_DATA (userdata));
-  g_debug ("Clicked the upgradeable menuitem");
-
-  pkglist = application_manager_data_get_upgradelist (
-                    MOKO_APPLICATION_MANAGER_DATA (userdata));
-
-  navigation_area_refresh_with_package_list (
-          MOKO_APPLICATION_MANAGER_DATA (userdata),
-          pkglist);
-}
-
-/*
- * @brief The callback function of the selected menuitem.
- */
-static void 
-on_selected_activate (GtkMenuItem *menuitem, gpointer userdata)
-{
-  gpointer     pkglist;
-
-  g_return_if_fail (MOKO_IS_APPLICATION_MANAGER_DATA (userdata));
-  g_debug ("Click the selected menuitem");
-
-  pkglist = application_manager_data_get_selectedlist (
-                    MOKO_APPLICATION_MANAGER_DATA (userdata));
-
-  navigation_area_refresh_with_package_list (
-          MOKO_APPLICATION_MANAGER_DATA (userdata),
-          pkglist);
-}
-
-/*
- * @brief The callback function of the dynamic menuitem.
- */
-void 
-on_dynamic_menu_item_activate (GtkMenuItem *menuitem, gpointer userdata)
-{
-  const gchar  *secname;
-  GtkWidget    *label;
-  gint         ret;
-  gpointer     pkglist;
-
-  g_debug ("Click the dynamic menuitem");
-  g_return_if_fail (MOKO_IS_APPLICATION_MANAGER_DATA (userdata));
-  label = gtk_bin_get_child (GTK_BIN (menuitem));
-  g_return_if_fail (GTK_IS_LABEL (label));
-
-  secname = gtk_label_get_text (GTK_LABEL (label));
-  g_debug ("Chose the menuitem:%s", secname);
-  ret = strcmp (secname, PACKAGE_LIST_NO_SECTION_STRING);
-  if (ret == 0)
-    {
-      pkglist = application_manager_data_get_nosecpkglist (
-                      MOKO_APPLICATION_MANAGER_DATA (userdata));
-      navigation_area_refresh_with_package_list (
-                      MOKO_APPLICATION_MANAGER_DATA (userdata), 
-                      pkglist);
-      return;
-    }
-
-  pkglist = package_list_get_with_name (
-          MOKO_APPLICATION_MANAGER_DATA (userdata),
-          secname);
-  if (pkglist == NULL)
-    {
-      g_debug ("Can not find the section that named:%s", secname);
-      return;
-    }
-  navigation_area_refresh_with_package_list (
-          MOKO_APPLICATION_MANAGER_DATA (userdata),
-          pkglist);
-}
-
-/*
- * @brief Create a new filter menu for the application manager
- * 
- * At this function, it only can create the static menu items.
- * It must add the dynamic menu items late.
- * @param appdata The application manager data
- * @return The filter menu.
- */
-GtkWidget *
-filter_menu_new (ApplicationManagerData *appdata)
-{
-  GtkWidget *filtermenu;
-  GtkWidget *searchresult;
-  GtkWidget *installed;
-  GtkWidget *upgradeable;
-  GtkWidget *selected;
-
-  g_debug ("Init the filter filtermenu");
-  g_return_val_if_fail (MOKO_IS_APPLICATION_MANAGER_DATA (appdata), NULL);
-
-  filtermenu = gtk_menu_new ();
-
-  searchresult = gtk_menu_item_new_with_label (_("Search Results"));
-  gtk_widget_show (searchresult);
-  gtk_container_add (GTK_CONTAINER (filtermenu), searchresult);
-  g_signal_connect ((gpointer) searchresult, "activate",
-                    G_CALLBACK (on_search_result_activate), appdata);
-
-  installed = gtk_menu_item_new_with_label (_("Installed"));
-  gtk_widget_show (installed);
-  gtk_container_add (GTK_CONTAINER (filtermenu), installed);
-  g_signal_connect ((gpointer) installed, "activate",
-                    G_CALLBACK (on_installed_activate), appdata);
-
-  upgradeable = gtk_menu_item_new_with_label (_("Upgradeable"));
-  gtk_widget_show (upgradeable);
-  gtk_container_add (GTK_CONTAINER (filtermenu), upgradeable);
-  g_signal_connect ((gpointer) upgradeable, "activate",
-                    G_CALLBACK (on_upgradeable_activate), appdata);
-
-  selected = gtk_menu_item_new_with_label (_("Selected"));
-  gtk_widget_show (selected);
-  gtk_container_add (GTK_CONTAINER (filtermenu), selected);
-  g_signal_connect ((gpointer) selected, "activate",
-                    G_CALLBACK (on_selected_activate), appdata);
-
-  return filtermenu;
-}
-
-/*
- * @brief Add a menu item to the filter menu
- * 
- * @param filtermenu The filter menu
- * @param name The label name of the menu item
- */
-void 
-filter_menu_add_item (GtkMenu                *filtermenu, 
-                      const gchar            *name, 
-                      ApplicationManagerData *appdata)
-{
-  GtkWidget *dymenuitem;
-
-  g_return_if_fail (GTK_IS_MENU (filtermenu));
-  g_debug ("Insert filter menu:%s", name);
-
-  dymenuitem = gtk_menu_item_new_with_label (name);
-  gtk_widget_show (dymenuitem);
-  gtk_container_add (GTK_CONTAINER (filtermenu), dymenuitem);
-  g_signal_connect ((gpointer) dymenuitem, "activate",
-                    G_CALLBACK (on_dynamic_menu_item_activate), appdata);
-
-}
-
-/*
- * @brief Show the installed packages list after initialization or 
reinitialization
- * @param appdata The application manager data
- */
-void
-filter_menu_show_install_list (ApplicationManagerData *appdata)
-{
-  gpointer     pkglist;
-  GtkWidget   *menubox;
-
-  g_return_if_fail (MOKO_IS_APPLICATION_MANAGER_DATA (appdata));
-
-  pkglist = application_manager_data_get_installedlist (
-                    MOKO_APPLICATION_MANAGER_DATA (appdata));
-
-  navigation_area_refresh_with_package_list (
-          MOKO_APPLICATION_MANAGER_DATA (appdata),
-          pkglist);
-
-  menubox = application_manager_get_menubox (appdata);
-
-  //g_return_if_fail (IS_MOKO_MENU_BOX (menubox));
-  //moko_menu_box_set_active_filter (menubox, _("Installed"));
-}

Deleted: 
trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/src/filter-menu.h
===================================================================
--- 
trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/src/filter-menu.h  
    2007-11-02 14:56:43 UTC (rev 3338)
+++ 
trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/src/filter-menu.h  
    2007-11-02 16:33:59 UTC (rev 3339)
@@ -1,36 +0,0 @@
-/*
- *  @file filter-menu.h
- *  @brief The filter menu item
- *
- *  Copyright (C) 2006-2007 OpenMoko Inc.
- *
- *  This program is free software; you can redistribute it and/or modify
- *  it under the terms of the GNU Public License as published by
- *  the Free Software Foundation; version 2.1 of the license.
- *
- *  This program is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU Public License for more details.
- *
- *  Current Version: $Rev$ ($Date$) [$Author$]
- *
- *  @author Chaowei Song ([EMAIL PROTECTED])
- */
-#ifndef _FIC_FILTER_MENU_H
-#define _FIC_FILTER_MENU_H
-
-#include <gtk/gtk.h>
-
-#include "appmanager-data.h"
-
-GtkWidget *filter_menu_new (ApplicationManagerData *appdata);
-
-void filter_menu_add_item (GtkMenu *filtermenu, const gchar *name,
-                           ApplicationManagerData *appdata);
-
-void
-filter_menu_show_install_list (ApplicationManagerData *appdata);
-
-#endif
-

Modified: 
trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/src/package-list.c
===================================================================
--- 
trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/src/package-list.c 
    2007-11-02 14:56:43 UTC (rev 3338)
+++ 
trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/src/package-list.c 
    2007-11-02 16:33:59 UTC (rev 3339)
@@ -22,7 +22,7 @@
 #include "appmanager-data.h"
 #include "package-list.h"
 #include "ipkgapi.h"
-#include "filter-menu.h"
+#include "search-bar.h"
 #include "errorcode.h"
 #include "navigation-area.h"
 #include "install-dialog.h"
@@ -767,7 +767,6 @@
 {
   SectionList  *seclist;
   SectionList  *tmpsec;
-  GtkMenu      *filtermenu;
   PackageList  *tmppkg;
 
   seclist = application_manager_data_get_sectionlist (appdata);
@@ -777,18 +776,11 @@
       return;
     }
 
-  filtermenu = application_manager_get_filter_menu (appdata);
-  if (filtermenu == NULL)
-    {
-      g_debug ("Filter menu not init correctly");
-      return;
-    }
-
   tmpsec = seclist->next;
 
   while (tmpsec != NULL)
     {
-      filter_menu_add_item (filtermenu, tmpsec->name, appdata);
+      search_bar_add_filter_item (appdata, tmpsec->name);
       tmpsec = tmpsec->next;
     }
 
@@ -800,7 +792,7 @@
 
   if (tmppkg->next != tmppkg)
     {
-      filter_menu_add_item (filtermenu, PACKAGE_LIST_NO_SECTION_STRING, 
appdata);
+      search_bar_add_filter_item (appdata, PACKAGE_LIST_NO_SECTION_STRING);
     }
 }
 

Added: 
trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/src/search-bar.c
===================================================================
--- 
trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/src/search-bar.c   
    2007-11-02 14:56:43 UTC (rev 3338)
+++ 
trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/src/search-bar.c   
    2007-11-02 16:33:59 UTC (rev 3339)
@@ -0,0 +1,147 @@
+/*
+ *  Copyright (C) 2006-2007 OpenMoko Inc.
+ *
+ *  This program is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU Public License as published by
+ *  the Free Software Foundation; version 2 of the license.
+ *
+ *  This program is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Public License for more details.
+ *
+ *  Author: OpenedHand Ltd <[EMAIL PROTECTED]>
+ */
+
+#include <string.h>
+
+#include "search-bar.h"
+
+#include "appmanager-data.h"
+#include "navigation-area.h"
+#include "package-list.h"
+
+
+
+static gboolean
+combo_seperator_func (GtkTreeModel *model, GtkTreeIter *iter, gpointer data)
+{
+  gchar *s;
+  gtk_tree_model_get (model, iter, 0, &s, -1);
+  return !s;
+}
+
+static void
+text_changed_cb (MokoSearchBar *searchbar, GtkEditable *editable, 
ApplicationManagerData *data)
+{
+}
+
+static void
+combo_changed_cb (MokoSearchBar *searchbar, GtkComboBox *combo, 
ApplicationManagerData *data)
+{
+  int ret;
+  gchar *secname;
+  GtkTreeIter iter;
+  gpointer pkglist;
+  
+  if ((ret = gtk_combo_box_get_active (combo)) < 5)
+  {
+    switch (ret)
+    {
+      case 0:
+        /* installed */
+        g_debug ("Clicked the installed menuitem");
+        pkglist = application_manager_data_get_installedlist (data);
+        navigation_area_refresh_with_package_list (data, pkglist);
+        return;
+      case 1:  
+        /* upgradeable */
+        g_debug ("Clicked the upgradeable menuitem");
+        pkglist = application_manager_data_get_upgradelist (data);
+        navigation_area_refresh_with_package_list (data, pkglist);
+        return;
+      case 2:
+        /* selected */
+        g_debug ("Click the selected menuitem");
+        pkglist = application_manager_data_get_selectedlist (data);
+        navigation_area_refresh_with_package_list (data, pkglist);
+        return;
+    }
+  }
+
+  gtk_combo_box_get_active_iter (combo, &iter);
+  gtk_tree_model_get (data->filter_store, &iter, 0, &secname, -1);
+  
+  ret = strcmp (secname, PACKAGE_LIST_NO_SECTION_STRING);
+  if (ret == 0)
+  {
+    pkglist = application_manager_data_get_nosecpkglist (
+                    MOKO_APPLICATION_MANAGER_DATA (data));
+    navigation_area_refresh_with_package_list (
+                    MOKO_APPLICATION_MANAGER_DATA (data), 
+                    pkglist);
+    return;
+  }
+
+  pkglist = package_list_get_with_name (
+          MOKO_APPLICATION_MANAGER_DATA (data),
+          secname);
+  if (pkglist == NULL)
+  {
+    g_debug ("Can not find the section that named:%s", secname);
+    return;
+  }
+  navigation_area_refresh_with_package_list (
+          MOKO_APPLICATION_MANAGER_DATA (data),
+          pkglist);
+}
+
+static void
+searchbar_toggled_cb (MokoSearchBar *searchbar, gboolean search, 
ApplicationManagerData *data)
+{
+}
+
+GtkWidget *
+search_bar_new (ApplicationManagerData *appdata)
+{
+  GtkWidget *combo;
+  GtkWidget *searchbar;
+  GtkListStore *filter;
+  GtkCellRenderer *renderer;
+
+  filter = gtk_list_store_new (1, G_TYPE_STRING);
+  appdata->filter_store = GTK_TREE_MODEL (filter);
+
+  gtk_list_store_insert_with_values (filter, NULL, FILTER_INSTALLED, 0, 
"Installed", -1);
+  gtk_list_store_insert_with_values (filter, NULL, FILTER_UPGRADEABLE, 0, 
"Upgradeable", -1);
+  gtk_list_store_insert_with_values (filter, NULL, FILTER_SELECTED, 0, 
"Selected", -1);
+  gtk_list_store_insert_with_values (filter, NULL, 3, 0, NULL, -1);
+  
+  renderer = gtk_cell_renderer_text_new ();
+  
+  combo = gtk_combo_box_new_with_model (GTK_TREE_MODEL (filter));
+  gtk_combo_box_set_row_separator_func (GTK_COMBO_BOX (combo), 
combo_seperator_func, NULL, NULL);
+  gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (combo), renderer, TRUE);
+  gtk_cell_layout_add_attribute (GTK_CELL_LAYOUT (combo), renderer, "text", 0);
+  
+  searchbar = moko_search_bar_new_with_combo (GTK_COMBO_BOX (combo));
+  g_signal_connect (searchbar, "combo-changed", G_CALLBACK (combo_changed_cb), 
appdata);
+  
+  return searchbar;
+}
+
+
+void
+search_bar_add_filter_item (ApplicationManagerData *appdata, gchar *item)
+{
+  gtk_list_store_insert_with_values (GTK_LIST_STORE (appdata->filter_store), 
NULL, -1, 0, item, -1);
+}
+
+void
+search_bar_set_active_filter (MokoSearchBar *bar, SearchBarFilter filter)
+{
+  GtkComboBox *combo;
+  
+  combo = moko_search_bar_get_combo_box (bar);
+  gtk_combo_box_set_active (combo, filter);
+}

Added: 
trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/src/search-bar.h
===================================================================
--- 
trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/src/search-bar.h   
    2007-11-02 14:56:43 UTC (rev 3338)
+++ 
trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/src/search-bar.h   
    2007-11-02 16:33:59 UTC (rev 3339)
@@ -0,0 +1,38 @@
+/*
+ *  Copyright (C) 2006-2007 OpenMoko Inc.
+ *
+ *  This program is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU Public License as published by
+ *  the Free Software Foundation; version 2.1 of the license.
+ *
+ *  This program is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Public License for more details.
+ *
+ *  Author: OpenedHand Ltd. <[EMAIL PROTECTED]>
+ */
+
+#ifndef SEARCH_BAR_H
+#define SEARCH_BAR_H
+
+#include <gtk/gtk.h>
+#include <moko-search-bar.h>
+
+#include "appmanager-data.h"
+
+
+typedef enum
+{
+  FILTER_INSTALLED,
+  FILTER_UPGRADEABLE,
+  FILTER_SELECTED
+} SearchBarFilter;
+
+GtkWidget* search_bar_new (ApplicationManagerData *appdata);
+void search_bar_add_filter_item (ApplicationManagerData *appdata, gchar *item);
+void search_bar_set_active_filter (MokoSearchBar *bar, SearchBarFilter filter);
+
+
+#endif /* SEARCH_BAR_H */
+




--- End Message ---
_______________________________________________
commitlog mailing list
[email protected]
http://lists.openmoko.org/mailman/listinfo/commitlog

Reply via email to