r3431 - in trunk/src/target/OM-2007.2/applications/openmoko-appmanager2: . src
thomas at sita.openmoko.org
thomas at sita.openmoko.org
Fri Nov 16 14:23:03 CET 2007
Author: thomas
Date: 2007-11-16 14:23:01 +0100 (Fri, 16 Nov 2007)
New Revision: 3431
Modified:
trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/ChangeLog
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/navigation-area.c
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
Log:
* src/appmanager-data.h:
* src/appmanager-window.c: (main):
* src/navigation-area.c: (model_filter_func):
* src/search-bar.c: (text_changed_cb), (combo_changed_cb),
(slist_insert), (search_bar_new):
* src/search-bar.h:
Implement Installed/Not Installed filtering
Modified: trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/ChangeLog
===================================================================
--- trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/ChangeLog 2007-11-16 08:55:01 UTC (rev 3430)
+++ trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/ChangeLog 2007-11-16 13:23:01 UTC (rev 3431)
@@ -1,3 +1,14 @@
+2007-11-16 Thomas Wood <thomas at openedhand.com>
+
+ * src/appmanager-data.h:
+ * src/appmanager-window.c: (main):
+ * src/navigation-area.c: (model_filter_func):
+ * src/search-bar.c: (text_changed_cb), (combo_changed_cb),
+ (slist_insert), (search_bar_new):
+ * src/search-bar.h:
+
+ Implement Installed/Not Installed filtering
+
2007-11-14 Thomas Wood <thomas at openedhand.com>
* src/search-bar.c: (text_changed_cb): Remove the model from the
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-16 08:55:01 UTC (rev 3430)
+++ trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/src/appmanager-data.h 2007-11-16 13:23:01 UTC (rev 3431)
@@ -76,7 +76,7 @@
GtkWidget *searchbar;
/* these are used to optimise the filter function */
- gboolean searchbar_name_search;
+ gint searchbar_search_type;
const gchar *searchbar_needle;
} ApplicationManagerData;
@@ -87,6 +87,12 @@
GObjectClass parent_class; /* The parent class */
} ApplicationManagerDataClass;
+enum {
+ SEARCH_ON_SECTION,
+ SEARCH_ON_STATUS,
+ SEARCH_ON_NAME
+};
+
GType application_manager_data_get_type (void);
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-16 08:55:01 UTC (rev 3430)
+++ trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/src/appmanager-window.c 2007-11-16 13:23:01 UTC (rev 3431)
@@ -73,6 +73,7 @@
pkg_list = package_store_new ();
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
+ gtk_widget_set_size_request (window, 400, 600);
g_signal_connect (G_OBJECT (window), "delete_event",
G_CALLBACK (gtk_main_quit), NULL);
application_manager_data_set_main_window (appdata, GTK_WINDOW (window));
Modified: trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/src/navigation-area.c
===================================================================
--- trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/src/navigation-area.c 2007-11-16 08:55:01 UTC (rev 3430)
+++ trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/src/navigation-area.c 2007-11-16 13:23:01 UTC (rev 3431)
@@ -84,16 +84,21 @@
return FALSE;
- if (data->searchbar_name_search)
+ if (data->searchbar_search_type == SEARCH_ON_SECTION)
{
return (strstr (pkg->name, data->searchbar_needle) != NULL);
}
- else
+ else if (data->searchbar_search_type == SEARCH_ON_NAME)
{
return (!strcmp (pkg->section, data->searchbar_needle));
}
-
+ else if (data->searchbar_search_type == SEARCH_ON_STATUS)
+ {
+ return (pkg->state_status == GPOINTER_TO_INT (data->searchbar_needle));
+ }
+ return FALSE;
+
}
/*
Modified: 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-16 08:55:01 UTC (rev 3430)
+++ trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/src/search-bar.c 2007-11-16 13:23:01 UTC (rev 3431)
@@ -41,7 +41,7 @@
entry = moko_search_bar_get_entry (MOKO_SEARCH_BAR (data->searchbar));
needle = gtk_entry_get_text (entry);
- data->searchbar_name_search = TRUE;
+ data->searchbar_search_type = SEARCH_ON_NAME;
data->searchbar_needle = needle;
filter = gtk_tree_view_get_model (GTK_TREE_VIEW (data->tvpkglist));
@@ -59,20 +59,37 @@
const gchar *needle;
GtkTreeIter cb_iter;
GtkTreeModel *cb_model;
+ gint active;
if (!combo)
combo = moko_search_bar_get_combo_box (MOKO_SEARCH_BAR (data->searchbar));
- if (!gtk_combo_box_get_active_iter (combo, &cb_iter))
+ active = gtk_combo_box_get_active (combo);
+
+ if (active < 0)
return;
-
- cb_model = gtk_combo_box_get_model (combo);
- gtk_tree_model_get (cb_model, &cb_iter, 0, &needle, -1);
- data->searchbar_name_search = FALSE;
- data->searchbar_needle = needle;
+ if (active <= 1)
+ {
+ data->searchbar_search_type = SEARCH_ON_STATUS;
+ if (active == FILTER_INSTALLED)
+ data->searchbar_needle = GINT_TO_POINTER (SS_INSTALLED);
+ else
+ data->searchbar_needle = GINT_TO_POINTER (SS_NOT_INSTALLED);
+ }
+ else
+ {
+
+ if (!gtk_combo_box_get_active_iter (combo, &cb_iter))
+ return;
-
+ cb_model = gtk_combo_box_get_model (combo);
+ gtk_tree_model_get (cb_model, &cb_iter, 0, &needle, -1);
+
+ data->searchbar_search_type = SEARCH_ON_SECTION;
+ data->searchbar_needle = needle;
+ }
+
filter = gtk_tree_view_get_model (GTK_TREE_VIEW (data->tvpkglist));
gtk_tree_model_filter_refilter (GTK_TREE_MODEL_FILTER (filter));
}
@@ -144,7 +161,7 @@
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_NOT_INSTALLED, 0, "Not Installed", -1);
gtk_list_store_insert_with_values (filter, NULL, 3, 0, NULL, -1);
/* profile these two methods to see which is quicker */
Modified: 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-16 08:55:01 UTC (rev 3430)
+++ trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/src/search-bar.h 2007-11-16 13:23:01 UTC (rev 3431)
@@ -25,7 +25,7 @@
typedef enum
{
FILTER_INSTALLED,
- FILTER_UPGRADEABLE,
+ FILTER_NOT_INSTALLED,
FILTER_SELECTED
} SearchBarFilter;
More information about the commitlog
mailing list