r3339 - in trunk/src/target/OM-2007.2/applications/openmoko-appmanager2: . src
thomas at sita.openmoko.org
thomas at sita.openmoko.org
Fri Nov 2 17:34:02 CET 2007
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 <thomas at openedhand.com>
+ * 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 <thomas at openedhand.com>
+
* 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 (songcw at fic-sh.com.cn)
- */
-#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 (songcw at fic-sh.com.cn)
- */
-#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 <info at openedhand.com>
+ */
+
+#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. <info at openedhand.com>
+ */
+
+#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 */
+
More information about the commitlog
mailing list