r4423 - in trunk/src/target/OM-2007.2/applications/openmoko-appmanager2: . src
thomas at docs.openmoko.org
thomas at docs.openmoko.org
Fri May 9 18:13:50 CEST 2008
Author: thomas
Date: 2008-05-09 18:13:50 +0200 (Fri, 09 May 2008)
New Revision: 4423
Modified:
trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/ChangeLog
trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/configure.ac
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/detail-area.c
trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/src/detail-area.h
trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/src/navigation-area.c
trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/src/package-store.c
trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/src/package-store.h
trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/src/search-bar.c
trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/src/tool-box.c
Log:
2008-05-09 Thomas Wood <thomas at openedhand.com>
* configure.ac:
* src/Makefile.am:
* src/appmanager-data.c: (application_manager_data_init):
* src/appmanager-data.h:
* src/appmanager-window.c: (main):
* src/detail-area.c: (detail_area_new), (format_depends_list),
(detail_area_update_info):
* src/detail-area.h:
* src/navigation-area.c: (on_selection_changed),
(model_filter_func):
* src/package-store.c:
* src/package-store.h:
* src/search-bar.c: (combo_changed_cb), (searchbar_toggled_cb),
(search_bar_new):
* src/tool-box.c: (on_upgrade_clicked), (on_install_clicked),
(on_remove_clicked):
Convert to libopkg API
Modified: trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/ChangeLog
===================================================================
--- trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/ChangeLog 2008-05-09 15:20:46 UTC (rev 4422)
+++ trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/ChangeLog 2008-05-09 16:13:50 UTC (rev 4423)
@@ -1,3 +1,24 @@
+2008-05-09 Thomas Wood <thomas at openedhand.com>
+
+ * configure.ac:
+ * src/Makefile.am:
+ * src/appmanager-data.c: (application_manager_data_init):
+ * src/appmanager-data.h:
+ * src/appmanager-window.c: (main):
+ * src/detail-area.c: (detail_area_new), (format_depends_list),
+ (detail_area_update_info):
+ * src/detail-area.h:
+ * src/navigation-area.c: (on_selection_changed),
+ (model_filter_func):
+ * src/package-store.c:
+ * src/package-store.h:
+ * src/search-bar.c: (combo_changed_cb), (searchbar_toggled_cb),
+ (search_bar_new):
+ * src/tool-box.c: (on_upgrade_clicked), (on_install_clicked),
+ (on_remove_clicked):
+
+ Convert to libopkg API
+
2007-11-19 Thomas Wood <thomas at openedhand.com>
* src/ipkg-utils.c: (check_for_upgrade), (get_upgrade_list):
Modified: trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/configure.ac
===================================================================
--- trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/configure.ac 2008-05-09 15:20:46 UTC (rev 4422)
+++ trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/configure.ac 2008-05-09 16:13:50 UTC (rev 4423)
@@ -13,12 +13,10 @@
# base deps
PKG_CHECK_MODULES(OPENMOKO, libmokoui2,,
AC_MSG_ERROR([*** Required OpenMoko Libraries not installed ***]))
-PKG_CHECK_MODULES(LIBIPKG, libipkg,,
- exit)
-PKG_CHECK_MODULES(GTHREAD, gthread-2.0,,
- exit)
-LIBS="$LIBS $GTK_LIBS $LIBIPKG_LIBS $GTHREAD_LIBS"
-CFLAGS="$CFLAGS $OPENMOKO_CFLAGS $LIBIPKG_CFLAGS -DIPKG_LIB"
+PKG_CHECK_MODULES(LIBOPKG, libopkg = 0.1.3)
+PKG_CHECK_MODULES(GTHREAD, gthread-2.0)
+LIBS="$LIBS $GTK_LIBS $LIBOPKG_LIBS $GTHREAD_LIBS"
+CFLAGS="$CFLAGS $OPENMOKO_CFLAGS $LIBOPKG_CFLAGS -DOPKG_LIB"
# output stuff
AC_OUTPUT([
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 2008-05-09 15:20:46 UTC (rev 4422)
+++ trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/src/Makefile.am 2008-05-09 16:13:50 UTC (rev 4423)
@@ -3,7 +3,6 @@
bin_PROGRAMS = openmoko-appmanager
openmoko_appmanager_SOURCES = appmanager-window.c\
- ipkgapi.c\
navigation-area.c\
tool-box.c\
detail-area.c\
@@ -11,7 +10,6 @@
pixbuf-list.c\
install-dialog.c \
search-bar.c \
- ipkg-utils.c \
am-progress-dialog.c \
package-store.c
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 2008-05-09 15:20:46 UTC (rev 4422)
+++ trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/src/appmanager-data.c 2008-05-09 16:13:50 UTC (rev 4423)
@@ -59,6 +59,11 @@
}
data->searchhistory = NULL;
+ data->opkg = opkg_new ();
+#if 0
+ opkg_set_option (data->opkg, "offline_root", "/tmp");
+ opkg_re_read_config_files (data->opkg);
+#endif
}
/*
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 2008-05-09 15:20:46 UTC (rev 4422)
+++ trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/src/appmanager-data.h 2008-05-09 16:13:50 UTC (rev 4423)
@@ -21,6 +21,7 @@
#define _FIC_APPMANAGER_DATA_H
#include <gtk/gtk.h>
+#include <libopkg/opkg.h>
#include "pixbuf-list.h"
@@ -53,6 +54,8 @@
typedef struct _ApplicationManagerData {
GObject parent; /* The parent of the struct */
+ opkg_t *opkg;
+
GtkWidget *mwindow; /* The main window */
GtkWidget *menubox; /* The menubox */
GtkEntry *searchentry; /* The search entry */
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 2008-05-09 15:20:46 UTC (rev 4422)
+++ trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/src/appmanager-window.c 2008-05-09 16:13:50 UTC (rev 4423)
@@ -70,7 +70,7 @@
init_pixbuf_list (appdata);
/* create the package list store */
- pkg_list = package_store_new ();
+ pkg_list = package_store_new (appdata->opkg);
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_widget_set_size_request (window, 400, 600);
Modified: trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/src/detail-area.c
===================================================================
--- trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/src/detail-area.c 2008-05-09 15:20:46 UTC (rev 4422)
+++ trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/src/detail-area.c 2008-05-09 16:13:50 UTC (rev 4423)
@@ -20,12 +20,11 @@
#include <string.h>
#include <moko-finger-scroll.h>
+#include <libopkg/opkg.h>
#include "detail-area.h"
#include "navigation-area.h"
-#include "ipkgapi.h"
-
/*
* @brief Create a detail area to the application manager data
* @param appdata The application manager data
@@ -55,6 +54,7 @@
return GTK_WIDGET (detail);
}
+#if 0
/*
* @brief Format the depends list of package.
* @param depends The depends list
@@ -83,7 +83,7 @@
}
dest[i] = 0;
}
-
+#endif
/*
* @brief Update the detail area infomation base on the package that selected
* @param appdata The application manager data
@@ -91,7 +91,7 @@
*/
void
detail_area_update_info (ApplicationManagerData *appdata,
- IPK_PACKAGE *pkg)
+ opkg_package_t *pkg)
{
GtkWidget *textview;
GtkTextBuffer *buffer;
@@ -99,7 +99,7 @@
GdkPixbuf *pix;
GtkTextTagTable *tagtable;
gint pstart, pend;
- char *depends;
+ /* char *depends; */
g_debug ("Update the info in the detail area");
@@ -181,6 +181,7 @@
gtk_text_buffer_apply_tag_by_name (buffer, "bold", &start, &end);
/* Set the depends */
+ /* XXX: doeso the user really care about depends?
depends = pkg->depends;
if (depends != NULL)
{
@@ -206,6 +207,7 @@
g_free (dep);
}
+ */
if (pix)
g_object_unref (pix);
}
Modified: trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/src/detail-area.h
===================================================================
--- trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/src/detail-area.h 2008-05-09 15:20:46 UTC (rev 4422)
+++ trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/src/detail-area.h 2008-05-09 16:13:50 UTC (rev 4423)
@@ -21,14 +21,14 @@
#define _FIC_DETAIL_AREA_H
#include <gtk/gtk.h>
+#include <libopkg/opkg.h>
#include "appmanager-data.h"
-#include "ipkgapi.h"
GtkWidget *detail_area_new (ApplicationManagerData *appdata);
void detail_area_update_info (ApplicationManagerData *appdata,
- IPK_PACKAGE *pkg);
+ opkg_package_t *pkg);
#endif
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 2008-05-09 15:20:46 UTC (rev 4422)
+++ trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/src/navigation-area.c 2008-05-09 16:13:50 UTC (rev 4423)
@@ -27,8 +27,8 @@
#include "detail-area.h"
#include "package-store.h"
#include "select-menu.h"
+#include <libopkg/opkg.h>
-#include "ipkgapi.h"
/*
* @brief The callback function of the signal "cursor-changed"
@@ -39,7 +39,7 @@
{
GtkTreeModel *model;
GtkTreeIter iter;
- IPK_PACKAGE *pkg;
+ opkg_package_t *pkg;
g_debug ("Call the on_treeview_cursor_changed");
@@ -48,7 +48,7 @@
gtk_tree_model_get (model, &iter, COL_POINTER, &pkg, -1);
detail_area_update_info (data, pkg);
- if (pkg->state_status == SS_INSTALLED)
+ if (pkg->installed)
{
gtk_widget_set_sensitive (GTK_WIDGET (data->install_btn), FALSE);
gtk_widget_set_sensitive (GTK_WIDGET (data->remove_btn), TRUE);
@@ -73,7 +73,7 @@
gboolean
model_filter_func (GtkTreeModel *model, GtkTreeIter *iter, ApplicationManagerData *data)
{
- IPK_PACKAGE *pkg;
+ opkg_package_t *pkg;
if (!data->searchbar_needle)
return TRUE;
@@ -86,7 +86,8 @@
if (data->searchbar_search_type == SEARCH_ON_SECTION)
{
- return (g_str_equal (pkg->section, data->searchbar_needle));
+ /* return (g_str_equal (pkg->section, data->searchbar_needle)); */
+ /* FIXME: search on group tag? */
}
else if (data->searchbar_search_type == SEARCH_ON_NAME)
{
@@ -98,7 +99,7 @@
}
else if (data->searchbar_search_type == SEARCH_ON_STATUS)
{
- return (pkg->state_status == GPOINTER_TO_INT (data->searchbar_needle));
+ return (pkg->installed == GPOINTER_TO_INT (data->searchbar_needle));
}
return FALSE;
Modified: trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/src/package-store.c
===================================================================
--- trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/src/package-store.c 2008-05-09 15:20:46 UTC (rev 4422)
+++ trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/src/package-store.c 2008-05-09 16:13:50 UTC (rev 4423)
@@ -18,43 +18,31 @@
*/
#include "package-store.h"
-#include "ipkgapi.h"
+#include <libopkg/opkg.h>
#include <glib.h>
+void
+opkg_package_callback (opkg_t *opkg, opkg_package_t *pkg, void *user_data)
+{
+ GtkListStore *store = GTK_LIST_STORE (user_data);
+
+ gtk_list_store_insert_with_values (store, NULL, -1,
+ COL_STATUS, pkg->installed,
+ COL_NAME, pkg->name,
+ COL_POINTER, pkg,
+ -1);
+}
+
GtkTreeModel *
-package_store_new ()
+package_store_new (opkg_t *opkg)
{
GtkListStore *store;
- IPK_PACKAGE *pkg;
- PKG_LIST_HEAD list;
- int ret;
- GRegex *regex;
- ipkg_initialize (0);
-
/* status, name, size, pkg */
store = gtk_list_store_new (NUM_COL, G_TYPE_INT,
G_TYPE_STRING, G_TYPE_POINTER);
- ret = ipkg_list_available_cmd (&list);
- g_return_val_if_fail (ret >= 0, NULL);
-
- pkg = list.pkg_list;
-
- regex = g_regex_new ("(-doc$|-dev$|-dbg$|-locale)", G_REGEX_OPTIMIZE, 0, NULL);
-
- while (pkg)
- {
- if (!g_regex_match (regex, pkg->name, 0, NULL))
- gtk_list_store_insert_with_values (store, NULL, -1,
- COL_STATUS, pkg->state_status,
- COL_NAME, pkg->name,
- COL_POINTER, pkg,
- -1);
- pkg = pkg->next;
- }
-
- g_regex_unref (regex);
+ opkg_list_packages (opkg, opkg_package_callback, store);
return GTK_TREE_MODEL (store);
}
Modified: trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/src/package-store.h
===================================================================
--- trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/src/package-store.h 2008-05-09 15:20:46 UTC (rev 4422)
+++ trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/src/package-store.h 2008-05-09 16:13:50 UTC (rev 4423)
@@ -21,6 +21,7 @@
#define PACKAGE_STORE_H
#include <gtk/gtk.h>
+#include <libopkg/opkg.h>
enum {
COL_STATUS = 0,
@@ -30,6 +31,6 @@
};
-GtkTreeModel * package_store_new ();
+GtkTreeModel * package_store_new (opkg_t *opkg);
#endif /* PACKAGE_STORE_H */
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 2008-05-09 15:20:46 UTC (rev 4422)
+++ trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/src/search-bar.c 2008-05-09 16:13:50 UTC (rev 4423)
@@ -21,7 +21,7 @@
#include "navigation-area.h"
#include "package-store.h"
-#include "ipkgapi.h"
+#include <libopkg/opkg.h>
static gboolean
combo_seperator_func (GtkTreeModel *model, GtkTreeIter *iter, gpointer data)
@@ -91,9 +91,9 @@
{
data->searchbar_search_type = SEARCH_ON_STATUS;
if (active == FILTER_INSTALLED)
- data->searchbar_needle = GINT_TO_POINTER (SS_INSTALLED);
+ data->searchbar_needle = GINT_TO_POINTER (1);
else
- data->searchbar_needle = GINT_TO_POINTER (SS_NOT_INSTALLED);
+ data->searchbar_needle = GINT_TO_POINTER (0);
}
else
{
@@ -124,11 +124,11 @@
else
combo_changed_cb (searchbar, NULL, data);
}
-
+/*
gboolean
section_search_hash (GtkTreeModel *model, GtkTreePath *path, GtkTreeIter *iter, GHashTable *hash)
{
- IPK_PACKAGE *pkg;
+ opkg_package_t *pkg;
gtk_tree_model_get (model, iter, COL_POINTER, &pkg, -1);
@@ -150,7 +150,7 @@
gboolean
section_search_slist (GtkTreeModel *model, GtkTreePath *path, GtkTreeIter *iter, GSList **head)
{
- IPK_PACKAGE *pkg;
+ opkg_package_t *pkg;
gtk_tree_model_get (model, iter, COL_POINTER, &pkg, -1);
@@ -162,7 +162,7 @@
return FALSE;
}
-
+*/
void
slist_insert (gchar *value, GtkListStore *list)
{
@@ -177,7 +177,7 @@
GtkListStore *filter;
GtkCellRenderer *renderer;
/* GHashTable *hash; */
- GSList *slist = NULL;
+ /* GSList *slist = NULL; */
filter = gtk_list_store_new (1, G_TYPE_STRING);
appdata->filter_store = GTK_TREE_MODEL (filter);
@@ -193,12 +193,12 @@
g_hash_table_foreach (hash, (GHFunc) section_hash_insert, filter);
g_hash_table_unref (hash);
#endif
-
+ /*
gtk_tree_model_foreach (pkg_list, (GtkTreeModelForeachFunc) section_search_slist, &slist);
slist = g_slist_sort (slist, (GCompareFunc) strcmp);
g_slist_foreach (slist, (GFunc) slist_insert, filter);
g_slist_free (slist);
-
+*/
renderer = gtk_cell_renderer_text_new ();
Modified: trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/src/tool-box.c
===================================================================
--- trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/src/tool-box.c 2008-05-09 15:20:46 UTC (rev 4422)
+++ trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/src/tool-box.c 2008-05-09 16:13:50 UTC (rev 4423)
@@ -32,9 +32,9 @@
void
on_upgrade_clicked (GtkButton *bupgrade, gpointer data)
{
+ /*
GList *list;
int upgrades;
-
update_package_list (data);
list = get_upgrade_list ();
@@ -59,22 +59,6 @@
g_list_free (list);
- /*
- GtkWidget *dialog;
-
- g_debug ("Clicked the button upgrade");
- package_list_mark_all_upgradeable (MOKO_APPLICATION_MANAGER_DATA (data));
- navigation_area_rebuild_from_latest (MOKO_APPLICATION_MANAGER_DATA (data));
-
- g_debug ("Create a dialog");
- dialog = gtk_message_dialog_new (NULL,
- GTK_DIALOG_DESTROY_WITH_PARENT,
- GTK_MESSAGE_INFO,
- GTK_BUTTONS_OK,
- _("Marked all upgradeable packages"));
- gtk_dialog_run (GTK_DIALOG (dialog));
- gtk_widget_destroy (dialog);
- g_debug ("destroy a dialog");
*/
}
@@ -86,6 +70,7 @@
GtkTreeModel *model;
GtkTreeIter iter;
gchar *name;
+ GtkWidget *dialog;
sel = gtk_tree_view_get_selection (GTK_TREE_VIEW (data->tvpkglist));
@@ -94,7 +79,12 @@
gtk_tree_model_get (model, &iter, COL_NAME, &name, -1);
- install_package (data, name);
+ if (opkg_install_package (data->opkg, name, NULL, NULL) == 0)
+ dialog = gtk_message_dialog_new (NULL,0, GTK_MESSAGE_INFO, GTK_BUTTONS_OK, "%s was installed", name);
+ else
+ dialog = gtk_message_dialog_new (NULL,0, GTK_MESSAGE_INFO, GTK_BUTTONS_OK, "%s could not be installed", name);
+ gtk_dialog_run (GTK_DIALOG (dialog));
+ gtk_widget_destroy (dialog);
}
void
@@ -104,6 +94,7 @@
GtkTreeModel *model;
GtkTreeIter iter;
gchar *name;
+ GtkWidget *dialog;
sel = gtk_tree_view_get_selection (GTK_TREE_VIEW (data->tvpkglist));
@@ -112,7 +103,13 @@
gtk_tree_model_get (model, &iter, COL_NAME, &name, -1);
- remove_package (data, name);
+ if (opkg_remove_package (data->opkg, name, NULL, NULL) == 0)
+ dialog = gtk_message_dialog_new (NULL,0, GTK_MESSAGE_INFO, GTK_BUTTONS_OK, "%s was removed", name);
+ else
+ dialog = gtk_message_dialog_new (NULL,0, GTK_MESSAGE_INFO, GTK_BUTTONS_OK, "%s could not be removed", name);
+ gtk_dialog_run (GTK_DIALOG (dialog));
+ gtk_widget_destroy (dialog);
+
}
More information about the commitlog
mailing list