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. r3437 - in
trunk/src/target/OM-2007.2/applications/openmoko-dialer2: .
src/phone-kit ([EMAIL PROTECTED])
2. r3438 - in
trunk/src/target/OM-2007.2/applications/openmoko-dialer2: .
src/phone-kit ([EMAIL PROTECTED])
3. r3439 - in
trunk/src/target/OM-2007.2/applications/openmoko-appmanager2: .
src ([EMAIL PROTECTED])
4. r3440 - in
trunk/src/target/OM-2007.2/applications/openmoko-appmanager2: .
src ([EMAIL PROTECTED])
5. r3441 - in
trunk/src/target/OM-2007.2/applications/openmoko-appmanager2: .
src ([EMAIL PROTECTED])
6. r3442 - in
trunk/src/target/OM-2007.2/applications/openmoko-appmanager2: .
src ([EMAIL PROTECTED])
--- Begin Message ---
Author: chris
Date: 2007-11-19 14:24:53 +0100 (Mon, 19 Nov 2007)
New Revision: 3437
Modified:
trunk/src/target/OM-2007.2/applications/openmoko-dialer2/ChangeLog
trunk/src/target/OM-2007.2/applications/openmoko-dialer2/src/phone-kit/moko-dialer-sms.c
Log:
* src/phone-kit/moko-dialer-sms.c: (status_report_added_cb),
(store_sms), (gsmd_eventhandler), (sms_msghandler),
(moko_dialer_sms_init):
Handle non in-line SMS events, move all SMS's on SIM to journal on
startup, add lots of debugging statements
Modified: trunk/src/target/OM-2007.2/applications/openmoko-dialer2/ChangeLog
===================================================================
--- trunk/src/target/OM-2007.2/applications/openmoko-dialer2/ChangeLog
2007-11-18 22:48:31 UTC (rev 3436)
+++ trunk/src/target/OM-2007.2/applications/openmoko-dialer2/ChangeLog
2007-11-19 13:24:53 UTC (rev 3437)
@@ -1,3 +1,11 @@
+2007-11-19 Chris Lord <[EMAIL PROTECTED]>
+
+ * src/phone-kit/moko-dialer-sms.c: (status_report_added_cb),
+ (store_sms), (gsmd_eventhandler), (sms_msghandler),
+ (moko_dialer_sms_init):
+ Handle non in-line SMS events, move all SMS's on SIM to journal on
+ startup, add lots of debugging statements
+
2007-11-14 Chris Lord <[EMAIL PROTECTED]>
* src/phone-kit/moko-dialer-sms-dbus.xml:
Modified:
trunk/src/target/OM-2007.2/applications/openmoko-dialer2/src/phone-kit/moko-dialer-sms.c
===================================================================
---
trunk/src/target/OM-2007.2/applications/openmoko-dialer2/src/phone-kit/moko-dialer-sms.c
2007-11-18 22:48:31 UTC (rev 3436)
+++
trunk/src/target/OM-2007.2/applications/openmoko-dialer2/src/phone-kit/moko-dialer-sms.c
2007-11-19 13:24:53 UTC (rev 3437)
@@ -87,6 +87,7 @@
jana_utils_component_remove_category (comp, "Sending");
jana_utils_component_insert_category (comp, "Sent", 0);
jana_store_modify_component (priv->note_store, comp);
+ g_debug ("Setting message status to confirmed sent");
}
g_free (ref);
}
@@ -101,6 +102,76 @@
g_free (ref);
}
+static void
+store_sms (MokoDialerSMS *dialer_sms, struct gsmd_sms_list *sms)
+{
+ gchar *message;
+
+ MokoDialerSMSPrivate *priv = SMS_PRIVATE (dialer_sms);
+
+ /* Ignore voicemail notifications */
+ if (sms->payload.is_voicemail) return;
+
+ /* TODO: Verify type of message for journal (sent/received) -
+ * Assuming received for now, as messages sent with phone-kit
+ * will be marked already.
+ */
+ message = NULL;
+ switch (sms->payload.coding_scheme) {
+ case ALPHABET_DEFAULT :
+ message = g_malloc (GSMD_SMS_DATA_MAXLEN);
+ unpacking_7bit_character (
+ &sms->payload, message);
+ break;
+ case ALPHABET_8BIT :
+ /* TODO: Verify: Is this encoding just UTF-8? */
+ message = g_strdup (sms->payload.data);
+ break;
+ case ALPHABET_UCS2 :
+ message = g_utf16_to_utf8 ((const gunichar2 *)
+ sms->payload.data, sms->payload.length,
+ NULL, NULL, NULL);
+ break;
+ }
+
+ /* Store message in the journal */
+ if (message) {
+ struct lgsm_sms_delete sms_del;
+ gchar *author, *recipient;
+ JanaNote *note = jana_ecal_note_new ();
+
+ g_debug ("Moving message to journal:\n\"%s\"", message);
+
+ author = g_strconcat (((sms->addr.type &
+ __GSMD_TOA_TON_MASK) ==
+ GSMD_TOA_TON_INTERNATIONAL) ? "+" : "",
+ sms->addr.number, NULL);
+ jana_note_set_author (note, author);
+ g_free (author);
+
+ /* TODO: Normalise number necessary? */
+ recipient = g_strdup_printf ("%d",
+ lgsm_get_subscriber_num (priv->handle));
+ jana_note_set_recipient (note, recipient);
+ g_free (recipient);
+
+ jana_note_set_body (note, message);
+
+ /* TODO: Set creation time from SMS timestamp */
+
+ /* Add SMS to store */
+ jana_store_add_component (priv->note_store,
+ JANA_COMPONENT (note));
+
+ /* Delete SMS from internal storage */
+ sms_del.index = sms->index;
+ sms_del.delflg = LGSM_SMS_DELFLG_INDEX;
+ lgsm_sms_delete (priv->handle, &sms_del);
+
+ g_free (message);
+ }
+}
+
static int
gsmd_eventhandler (struct lgsm_handle *lh, int evt_type,
struct gsmd_evt_auxdata *aux)
@@ -113,67 +184,13 @@
switch (evt_type) {
case GSMD_EVT_IN_SMS : /* Incoming SMS */
/* TODO: Read UDH for multi-part messages */
+ g_debug ("Received incoming SMS");
if (aux->u.sms.inlined) {
- gchar *message;
-
struct gsmd_sms_list * sms =
(struct gsmd_sms_list *)aux->data;
-
- /* Ignore voicemail notifications */
- if (sms->payload.is_voicemail) break;
-
- message = NULL;
- switch (sms->payload.coding_scheme) {
- case ALPHABET_DEFAULT :
- message = g_malloc (GSMD_SMS_DATA_MAXLEN);
- unpacking_7bit_character (
- &sms->payload, message);
- break;
- case ALPHABET_8BIT :
- /* TODO: Verify: Is this encoding just UTF-8? */
- message = g_strdup (sms->payload.data);
- break;
- case ALPHABET_UCS2 :
- message = g_utf16_to_utf8 ((const gunichar2 *)
- sms->payload.data, sms->payload.length,
- NULL, NULL, NULL);
- break;
- }
-
- /* Store message in the journal */
- if (message) {
- struct lgsm_sms_delete sms_del;
- gchar *author, *recipient;
- JanaNote *note = jana_ecal_note_new ();
-
- author = g_strconcat (((sms->addr.type &
- __GSMD_TOA_TON_MASK) ==
- GSMD_TOA_TON_INTERNATIONAL) ? "+" : "",
- sms->addr.number, NULL);
- jana_note_set_author (note, author);
- g_free (author);
-
- /* TODO: Normalise number necessary? */
- recipient = g_strdup_printf ("%d",
- lgsm_get_subscriber_num (priv->handle));
- jana_note_set_recipient (note, recipient);
- g_free (recipient);
-
- jana_note_set_body (note, message);
-
- /* TODO: Set creation time from SMS timestamp */
-
- /* Add SMS to store */
- jana_store_add_component (priv->note_store,
- JANA_COMPONENT (note));
-
- /* Delete SMS from internal storage */
- sms_del.index = sms->index;
- sms_del.delflg = LGSM_SMS_DELFLG_INDEX;
- lgsm_sms_delete (priv->handle, &sms_del);
- }
+ store_sms (moko_dialer_sms_get_default (), sms);
} else {
- g_warning ("Not an in-line event, unhandled");
+ lgsm_sms_read (priv->handle, aux->u.sms.index);
}
break;
case GSMD_EVT_IN_DS : /* SMS status report */
@@ -188,6 +205,7 @@
gchar *ref = g_strdup_printf ("%d", sms->index);
JanaStoreView *view = jana_store_get_view (
priv->note_store);
+ g_debug ("Received sent SMS status report");
jana_store_view_add_match (view,
JANA_STORE_VIEW_CATEGORY, "Sending");
g_signal_connect (view, "added", G_CALLBACK (
@@ -224,7 +242,9 @@
JANA_COMPONENT (priv->last_msg),
"X-PHONEKIT-SMS-REF", ref);
g_free (ref);
+ g_debug ("Sent message accepted");
} else {
+ g_debug ("Sent message rejected");
jana_utils_component_remove_category (
JANA_COMPONENT(priv->last_msg), "Sending");
jana_utils_component_insert_category (
@@ -237,6 +257,13 @@
g_free (uid);
g_object_unref (priv->last_msg);
priv->last_msg = NULL;
+ } else if ((gmh->msg_subtype == GSMD_SMS_LIST) ||
+ (gmh->msg_subtype == GSMD_SMS_READ)) {
+ struct gsmd_sms_list *sms_list = (struct gsmd_sms_list *)
+ ((void *) gmh + sizeof(*gmh));
+
+ g_debug ("Storing message on SIM");
+ store_sms (sms, sms_list);
}
return 0;
@@ -271,7 +298,8 @@
/* Connect SMS message handler (to get sent message references) */
lgsm_register_handler (priv->handle, GSMD_MSG_SMS, &sms_msghandler);
- /* TODO: Move any existing SMS messages off of sim and to journal */
+ /* List all messages to move to journal */
+ lgsm_sms_list (priv->handle, GSMD_SMS_ALL);
}
MokoDialerSMS*
--- End Message ---
--- Begin Message ---
Author: chris
Date: 2007-11-19 14:59:28 +0100 (Mon, 19 Nov 2007)
New Revision: 3438
Modified:
trunk/src/target/OM-2007.2/applications/openmoko-dialer2/ChangeLog
trunk/src/target/OM-2007.2/applications/openmoko-dialer2/src/phone-kit/moko-dialer-sms.c
Log:
* src/phone-kit/moko-dialer-sms.c: (moko_dialer_sms_finalize),
(connection_source_prepare), (connection_source_check),
(connection_source_dispatch), (moko_dialer_sms_init):
Don't forget to actually poll for events...
Modified: trunk/src/target/OM-2007.2/applications/openmoko-dialer2/ChangeLog
===================================================================
--- trunk/src/target/OM-2007.2/applications/openmoko-dialer2/ChangeLog
2007-11-19 13:24:53 UTC (rev 3437)
+++ trunk/src/target/OM-2007.2/applications/openmoko-dialer2/ChangeLog
2007-11-19 13:59:28 UTC (rev 3438)
@@ -1,5 +1,12 @@
2007-11-19 Chris Lord <[EMAIL PROTECTED]>
+ * src/phone-kit/moko-dialer-sms.c: (moko_dialer_sms_finalize),
+ (connection_source_prepare), (connection_source_check),
+ (connection_source_dispatch), (moko_dialer_sms_init):
+ Don't forget to actually poll for events...
+
+2007-11-19 Chris Lord <[EMAIL PROTECTED]>
+
* src/phone-kit/moko-dialer-sms.c: (status_report_added_cb),
(store_sms), (gsmd_eventhandler), (sms_msghandler),
(moko_dialer_sms_init):
Modified:
trunk/src/target/OM-2007.2/applications/openmoko-dialer2/src/phone-kit/moko-dialer-sms.c
===================================================================
---
trunk/src/target/OM-2007.2/applications/openmoko-dialer2/src/phone-kit/moko-dialer-sms.c
2007-11-19 13:24:53 UTC (rev 3437)
+++
trunk/src/target/OM-2007.2/applications/openmoko-dialer2/src/phone-kit/moko-dialer-sms.c
2007-11-19 13:59:28 UTC (rev 3438)
@@ -9,6 +9,7 @@
#include <libjana/jana.h>
#include <libjana-ecal/jana-ecal.h>
#include <string.h>
+#include <unistd.h>
#include "moko-dialer-sms-glue.h"
@@ -19,10 +20,17 @@
typedef struct _MokoDialerSMSPrivate MokoDialerSMSPrivate;
+typedef struct {
+ GSource source;
+ GPollFD pollfd;
+ struct lgsm_handle *handle;
+} MokoDialerSMSSource;
+
struct _MokoDialerSMSPrivate {
struct lgsm_handle *handle;
JanaStore *note_store;
JanaNote *last_msg;
+ MokoDialerSMSSource *source;
};
static void
@@ -55,6 +63,11 @@
static void
moko_dialer_sms_finalize (GObject *object)
{
+ MokoDialerSMSPrivate *priv = SMS_PRIVATE (object);
+
+ g_source_destroy ((GSource *)priv->source);
+ lgsm_exit (priv->handle);
+
G_OBJECT_CLASS (moko_dialer_sms_parent_class)->finalize (object);
}
@@ -269,10 +282,52 @@
return 0;
}
+static gboolean
+connection_source_prepare (GSource* self, gint* timeout)
+{
+ return FALSE;
+}
+
+static gboolean
+connection_source_check (GSource* source)
+{
+ MokoDialerSMSSource *self = (MokoDialerSMSSource *)source;
+ return self->pollfd.revents & G_IO_IN;
+}
+
+static gboolean
+connection_source_dispatch (GSource *source, GSourceFunc callback,
+ gpointer data)
+{
+ char buf[1025];
+ int size;
+
+ MokoDialerSMSSource *self = (MokoDialerSMSSource *)source;
+
+ size = read (self->pollfd.fd, &buf, sizeof(buf));
+ if (size < 0) {
+ g_warning ("moko_gsmd_connection_source_dispatch:%s %s",
+ "read error from libgsmd:", strerror (errno));
+ } else {
+ if (size == 0) /* EOF */
+ return FALSE;
+ lgsm_handle_packet (self->handle, buf, size);
+ }
+
+ return TRUE;
+}
+
static void
moko_dialer_sms_init (MokoDialerSMS *self)
{
static gboolean first_init = TRUE;
+ static GSourceFuncs funcs = {
+ connection_source_prepare,
+ connection_source_check,
+ connection_source_dispatch,
+ NULL,
+ };
+
MokoDialerSMSPrivate *priv = SMS_PRIVATE (self);
/* We can only have one of these objects per process, as the gsmd
@@ -300,6 +355,16 @@
/* List all messages to move to journal */
lgsm_sms_list (priv->handle, GSMD_SMS_ALL);
+
+ /* Start polling for events */
+ priv->source = (MokoDialerSMSSource *)
+ g_source_new (&funcs, sizeof (MokoDialerSMSSource));
+ priv->source->handle = priv->handle;
+ priv->source->pollfd.fd = lgsm_fd (priv->handle);
+ priv->source->pollfd.events = G_IO_IN | G_IO_HUP | G_IO_ERR;
+ priv->source->pollfd.revents = 0;
+ g_source_add_poll ((GSource*)priv->source, &priv->source->pollfd);
+ g_source_attach ((GSource*)priv->source, NULL);
}
MokoDialerSMS*
--- End Message ---
--- Begin Message ---
Author: thomas
Date: 2007-11-19 15:01:02 +0100 (Mon, 19 Nov 2007)
New Revision: 3439
Modified:
trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/ChangeLog
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
Log:
* src/navigation-area.c: (model_filter_func):
* src/search-bar.c: (text_changed_cb), (combo_changed_cb): Fix text
searching
Modified: trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/ChangeLog
===================================================================
--- trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/ChangeLog
2007-11-19 13:59:28 UTC (rev 3438)
+++ trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/ChangeLog
2007-11-19 14:01:02 UTC (rev 3439)
@@ -1,3 +1,9 @@
+2007-11-19 Thomas Wood <[EMAIL PROTECTED]>
+
+ * src/navigation-area.c: (model_filter_func):
+ * src/search-bar.c: (text_changed_cb), (combo_changed_cb): Fix text
+ searching
+
2007-11-16 Thomas Wood <[EMAIL PROTECTED]>
* src/ipkg-utils.c: (update_package_list):
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-19 13:59:28 UTC (rev 3438)
+++
trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/src/navigation-area.c
2007-11-19 14:01:02 UTC (rev 3439)
@@ -86,11 +86,11 @@
if (data->searchbar_search_type == SEARCH_ON_SECTION)
{
- return (strstr (pkg->name, data->searchbar_needle) != NULL);
+ return (g_str_equal (pkg->section, data->searchbar_needle));
}
else if (data->searchbar_search_type == SEARCH_ON_NAME)
{
- return (!strcmp (pkg->section, data->searchbar_needle));
+ return (g_strrstr (pkg->name, data->searchbar_needle));
}
else if (data->searchbar_search_type == SEARCH_ON_STATUS)
{
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-19 13:59:28 UTC (rev 3438)
+++
trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/src/search-bar.c
2007-11-19 14:01:02 UTC (rev 3439)
@@ -42,13 +42,32 @@
needle = gtk_entry_get_text (entry);
data->searchbar_search_type = SEARCH_ON_NAME;
- data->searchbar_needle = needle;
+ data->searchbar_needle = g_strdup (needle);
+ g_debug ("Search = %s", needle);
+
+
+ GTimer *timer = g_timer_new ();
filter = gtk_tree_view_get_model (GTK_TREE_VIEW (data->tvpkglist));
g_object_ref (G_OBJECT (filter));
gtk_tree_view_set_model (GTK_TREE_VIEW (data->tvpkglist), NULL);
+
+ g_timer_stop (timer);
+ g_debug ("Unsetting model took %f seconds", g_timer_elapsed (timer, NULL));
+ g_timer_start (timer);
+
gtk_tree_model_filter_refilter (GTK_TREE_MODEL_FILTER (filter));
+
+ g_timer_stop (timer);
+ g_debug ("Search took %f seconds", g_timer_elapsed (timer, NULL));
+ g_timer_start (timer);
+
gtk_tree_view_set_model (GTK_TREE_VIEW (data->tvpkglist), filter);
+
+ g_timer_stop (timer);
+ g_debug ("Setting model took %f seconds", g_timer_elapsed (timer, NULL));
+ g_timer_destroy (timer);
+
g_object_unref (G_OBJECT (filter));
}
@@ -91,7 +110,11 @@
}
filter = gtk_tree_view_get_model (GTK_TREE_VIEW (data->tvpkglist));
+ g_object_ref (filter);
+ gtk_tree_view_set_model (GTK_TREE_VIEW (data->tvpkglist), NULL);
gtk_tree_model_filter_refilter (GTK_TREE_MODEL_FILTER (filter));
+ gtk_tree_view_set_model (GTK_TREE_VIEW (data->tvpkglist), filter);
+ g_object_unref (filter);
}
static void
--- End Message ---
--- Begin Message ---
Author: thomas
Date: 2007-11-19 15:30:53 +0100 (Mon, 19 Nov 2007)
New Revision: 3440
Modified:
trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/ChangeLog
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
Log:
* src/navigation-area.c: (model_filter_func),
(navigation_area_new): Enable fixed height rows in treeview to speed up
filtering
* src/search-bar.c: (text_changed_cb): Fast path blank search
Modified: trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/ChangeLog
===================================================================
--- trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/ChangeLog
2007-11-19 14:01:02 UTC (rev 3439)
+++ trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/ChangeLog
2007-11-19 14:30:53 UTC (rev 3440)
@@ -1,3 +1,11 @@
+2007-11-19 Thomas Wood <[EMAIL PROTECTED]>
+
+ * src/navigation-area.c: (model_filter_func),
+ (navigation_area_new): Enable fixed height rows in treeview to speed up
+ filtering
+
+ * src/search-bar.c: (text_changed_cb): Fast path blank search
+
2007-11-19 Thomas Wood <[EMAIL PROTECTED]>
* src/navigation-area.c: (model_filter_func):
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-19 14:01:02 UTC (rev 3439)
+++
trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/src/navigation-area.c
2007-11-19 14:30:53 UTC (rev 3440)
@@ -90,7 +90,11 @@
}
else if (data->searchbar_search_type == SEARCH_ON_NAME)
{
- return (g_strrstr (pkg->name, data->searchbar_needle));
+ /* fast path initial blank search */
+ if (g_str_equal ("", data->searchbar_needle))
+ return FALSE;
+
+ return (g_strrstr (pkg->name, data->searchbar_needle) != NULL);
}
else if (data->searchbar_search_type == SEARCH_ON_STATUS)
{
@@ -123,9 +127,10 @@
gtk_tree_view_set_enable_search (GTK_TREE_VIEW (treeview), FALSE);
/* Add the status as the first column. */
+ /*
col = gtk_tree_view_column_new ();
gtk_tree_view_column_set_title (col, _("S"));
-
+ */
/*
renderer = gtk_cell_renderer_pixbuf_new ();
gtk_tree_view_column_pack_start (col, renderer, FALSE);
@@ -142,7 +147,7 @@
renderer = gtk_cell_renderer_text_new ();
gtk_tree_view_column_pack_start (col, renderer, TRUE);
- gtk_tree_view_column_set_sizing (col, GTK_TREE_VIEW_COLUMN_AUTOSIZE);
+ gtk_tree_view_column_set_sizing (col, GTK_TREE_VIEW_COLUMN_FIXED);
gtk_tree_view_column_set_attributes (col, renderer, "text", COL_NAME, NULL);
g_object_set (G_OBJECT (renderer), "ellipsize", PANGO_ELLIPSIZE_END, NULL);
@@ -162,6 +167,9 @@
gtk_container_add (GTK_CONTAINER (scrollwindow), treeview);
application_manager_data_set_tvpkglist (appdata, treeview);
+ /* set fixed height mode to speed up filtering */
+ gtk_tree_view_set_fixed_height_mode (GTK_TREE_VIEW (treeview), TRUE);
+
/* Connect signal to the treeview */
g_signal_connect (gtk_tree_view_get_selection (GTK_TREE_VIEW (treeview)),
"changed", G_CALLBACK (on_selection_changed), appdata);
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-19 14:01:02 UTC (rev 3439)
+++
trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/src/search-bar.c
2007-11-19 14:30:53 UTC (rev 3440)
@@ -46,7 +46,6 @@
g_debug ("Search = %s", needle);
-
GTimer *timer = g_timer_new ();
filter = gtk_tree_view_get_model (GTK_TREE_VIEW (data->tvpkglist));
g_object_ref (G_OBJECT (filter));
--- End Message ---
--- Begin Message ---
Author: thomas
Date: 2007-11-19 16:27:14 +0100 (Mon, 19 Nov 2007)
New Revision: 3441
Modified:
trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/ChangeLog
trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/src/search-bar.c
Log:
* src/search-bar.c: (text_changed_cb): Don't leak the search string
Modified: trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/ChangeLog
===================================================================
--- trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/ChangeLog
2007-11-19 14:30:53 UTC (rev 3440)
+++ trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/ChangeLog
2007-11-19 15:27:14 UTC (rev 3441)
@@ -1,3 +1,7 @@
+2007-11-19 Thomas Wood <[EMAIL PROTECTED]>
+
+ * src/search-bar.c: (text_changed_cb): Don't leak the search string
+
2007-11-19 Thomas Wood <[EMAIL PROTECTED]>
* src/navigation-area.c: (model_filter_func),
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-19 14:30:53 UTC (rev 3440)
+++
trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/src/search-bar.c
2007-11-19 15:27:14 UTC (rev 3441)
@@ -42,7 +42,7 @@
needle = gtk_entry_get_text (entry);
data->searchbar_search_type = SEARCH_ON_NAME;
- data->searchbar_needle = g_strdup (needle);
+ data->searchbar_needle = needle;
g_debug ("Search = %s", needle);
--- End Message ---
--- Begin Message ---
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 <[EMAIL PROTECTED]>
+ * 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 <[EMAIL PROTECTED]>
+
* src/search-bar.c: (text_changed_cb): Don't leak the search string
2007-11-19 Thomas Wood <[EMAIL PROTECTED]>
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);
--- End Message ---
_______________________________________________
commitlog mailing list
[email protected]
http://lists.openmoko.org/mailman/listinfo/commitlog