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