r3442 - in trunk/src/target/OM-2007.2/applications/openmoko-appmanager2: . src
thomas at sita.openmoko.org
thomas at sita.openmoko.org
Mon Nov 19 18:26:25 CET 2007
Author: thomas
Date: 2007-11-19 18:26:24 +0100 (Mon, 19 Nov 2007)
New Revision: 3442
Modified:
trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/ChangeLog
trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/src/ipkg-utils.c
trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/src/ipkg-utils.h
trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/src/tool-box.c
Log:
* src/ipkg-utils.c: (check_for_upgrade), (get_upgrade_list):
* src/ipkg-utils.h:
* src/tool-box.c: (on_upgrade_clicked):
Add upgrade package functionality
Modified: trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/ChangeLog
===================================================================
--- trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/ChangeLog 2007-11-19 15:27:14 UTC (rev 3441)
+++ trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/ChangeLog 2007-11-19 17:26:24 UTC (rev 3442)
@@ -1,5 +1,13 @@
2007-11-19 Thomas Wood <thomas at openedhand.com>
+ * src/ipkg-utils.c: (check_for_upgrade), (get_upgrade_list):
+ * src/ipkg-utils.h:
+ * src/tool-box.c: (on_upgrade_clicked):
+
+ Add upgrade package functionality
+
+2007-11-19 Thomas Wood <thomas at openedhand.com>
+
* src/search-bar.c: (text_changed_cb): Don't leak the search string
2007-11-19 Thomas Wood <thomas at openedhand.com>
Modified: trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/src/ipkg-utils.c
===================================================================
--- trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/src/ipkg-utils.c 2007-11-19 15:27:14 UTC (rev 3441)
+++ trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/src/ipkg-utils.c 2007-11-19 17:26:24 UTC (rev 3442)
@@ -184,12 +184,13 @@
{
gint ret;
- ret = verrevcmp (package->version, p->version);
+ ret = verrevcmp (p->version, package->version);
if (ret > 0)
+ {
+ g_debug ("Found upgradeable package: %s (old: %s, new: %s)", p->name, package->version, p->version);
return TRUE;
- else
- return FALSE;
+ }
}
p = p->next;
}
@@ -213,13 +214,41 @@
if (check_for_upgrade (p, &list))
{
upgradelist = g_list_prepend (upgradelist, p);
- g_debug ("Found upgradeable package: %p", p->name);
}
p = p->next;
}
return upgradelist;
}
+static gpointer
+upgrade_packages_thread (AmProgressDialog *dlg)
+{
+ args_t args;
+
+ memset (&args, 0, sizeof (args));
+ args_init (&args);
+
+ ipkg_packages_upgrade (&args);
+
+ gdk_threads_enter ();
+ am_progress_dialog_set_progress (dlg, 1);
+ am_progress_dialog_set_label_text (dlg, "Upgrading finished");
+ gdk_threads_leave ();
+}
+
+void
+upgrade_packages ()
+{
+ GtkWidget *dlg;
+
+ dlg = am_progress_dialog_new_full ("Upgrade", "Upgrading packages...", -1);
+
+ g_thread_create ((GThreadFunc) upgrade_packages_thread, dlg, FALSE, NULL);
+
+ gtk_dialog_run (GTK_DIALOG (dlg));
+ gtk_widget_destroy (dlg);
+}
+
/*
* @brief Version compare
*
Modified: trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/src/ipkg-utils.h
===================================================================
--- trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/src/ipkg-utils.h 2007-11-19 15:27:14 UTC (rev 3441)
+++ trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/src/ipkg-utils.h 2007-11-19 17:26:24 UTC (rev 3442)
@@ -23,5 +23,6 @@
void remove_package (ApplicationManagerData *data, gchar *name);
void update_package_list (ApplicationManagerData *data);
GList * get_upgrade_list ();
+void upgrade_pacakges ();
#endif /* IPKG_UTILS_H */
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 2007-11-19 15:27:14 UTC (rev 3441)
+++ trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/src/tool-box.c 2007-11-19 17:26:24 UTC (rev 3442)
@@ -46,8 +46,15 @@
dlg = gtk_message_dialog_new (NULL, 0, GTK_MESSAGE_INFO, GTK_BUTTONS_YES_NO,
"There are %d updates available. Would you like to install them now?",
upgrades);
- gtk_dialog_run (GTK_DIALOG (dlg));
- gtk_widget_destroy (dlg);
+ if (gtk_dialog_run (GTK_DIALOG (dlg)) == GTK_RESPONSE_YES)
+ {
+ gtk_widget_destroy (dlg);
+ upgrade_packages ();
+ }
+ else
+ {
+ gtk_widget_destroy (dlg);
+ }
}
g_list_free (list);
More information about the commitlog
mailing list