Send commitlog mailing list submissions to
        commitlog@lists.openmoko.org

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. r4264 - trunk/src/host/devirginator ([EMAIL PROTECTED])
   2. r4265 - in
      trunk/src/target/OM-2007.2/applications/openmoko-messages2: . src
      ([EMAIL PROTECTED])
   3. r4266 - in developers/werner: . bug1252 ([EMAIL PROTECTED])
   4. r4267 - branches/src/target/kernel/2.6.24.x/patches
      ([EMAIL PROTECTED])
--- Begin Message ---
Author: werner
Date: 2008-03-28 16:12:05 +0100 (Fri, 28 Mar 2008)
New Revision: 4264

Modified:
   trunk/src/host/devirginator/config.gta02v5
Log:
config.gta02v5: updated for new uImage and rootfs name change ("fic" to "om")



Modified: trunk/src/host/devirginator/config.gta02v5
===================================================================
--- trunk/src/host/devirginator/config.gta02v5  2008-03-28 09:17:41 UTC (rev 
4263)
+++ trunk/src/host/devirginator/config.gta02v5  2008-03-28 15:12:05 UTC (rev 
4264)
@@ -12,8 +12,8 @@
 
 LOWLEVEL=$stuff/lowlevel-foo-$PLATFORM$BOARD-latest.bin
 UBOOT=$stuff/uboot-$PLATFORM$BOARD-latest.bin
-UIMAGE=$stuff/uImage-neo1973-latest.bin
-ROOTFS=$stuff/openmoko-devel-image-fic-$PLATFORM.jffs2
+UIMAGE=$stuff/uImage-fic-$PLATFORM-latest.bin
+ROOTFS=$stuff/openmoko-devel-image-om-$PLATFORM.jffs2
 
 DFU_UTIL=$stuff/dfu-util
 #OPENOCD=$stuff/openocd




--- End Message ---
--- Begin Message ---
Author: thomas
Date: 2008-03-28 16:29:14 +0100 (Fri, 28 Mar 2008)
New Revision: 4265

Modified:
   trunk/src/target/OM-2007.2/applications/openmoko-messages2/ChangeLog
   trunk/src/target/OM-2007.2/applications/openmoko-messages2/src/sms-compose.c
   trunk/src/target/OM-2007.2/applications/openmoko-messages2/src/sms-contacts.c
   trunk/src/target/OM-2007.2/applications/openmoko-messages2/src/sms-main.c
   trunk/src/target/OM-2007.2/applications/openmoko-messages2/src/sms-notes.c
   trunk/src/target/OM-2007.2/applications/openmoko-messages2/src/sms.h
Log:
2008-03-28  Thomas Wood  <[EMAIL PROTECTED]>

        * src/sms-compose.c: (page_shown), (sms_compose_page_new):
        * src/sms-contacts.c: (contacts_changed_cb), (contacts_removed_cb),
        (contacts_seq_complete_cb), (free_iter_slice),
        (nophoto_filter_func), (contacts_iter_compare_func),
        (contacts_visible_func), (malloc_list_free),
        (selection_changed_cb), (sms_contacts_update_delete_all),
        (sms_contacts_page_new):
        * src/sms-main.c: (notebook_add_page_with_icon), (main):
        * src/sms-notes.c: (page_shown), (page_hidden),
        (sms_notes_page_new):
        * src/sms.h:

        Re-arrange toolbars to add dial button (bug 1306).


Modified: trunk/src/target/OM-2007.2/applications/openmoko-messages2/ChangeLog
===================================================================
--- trunk/src/target/OM-2007.2/applications/openmoko-messages2/ChangeLog        
2008-03-28 15:12:05 UTC (rev 4264)
+++ trunk/src/target/OM-2007.2/applications/openmoko-messages2/ChangeLog        
2008-03-28 15:29:14 UTC (rev 4265)
@@ -1,3 +1,19 @@
+2008-03-28  Thomas Wood  <[EMAIL PROTECTED]>
+
+       * src/sms-compose.c: (page_shown), (sms_compose_page_new):
+       * src/sms-contacts.c: (contacts_changed_cb), (contacts_removed_cb),
+       (contacts_seq_complete_cb), (free_iter_slice),
+       (nophoto_filter_func), (contacts_iter_compare_func),
+       (contacts_visible_func), (malloc_list_free),
+       (selection_changed_cb), (sms_contacts_update_delete_all),
+       (sms_contacts_page_new):
+       * src/sms-main.c: (notebook_add_page_with_icon), (main):
+       * src/sms-notes.c: (page_shown), (page_hidden),
+       (sms_notes_page_new):
+       * src/sms.h:
+
+       Re-arrange toolbars to add dial button (bug 1306).
+
 2008-03-27  Erin Yueh  <[EMAIL PROTECTED]>
 
        * src/sms-compose.c: (page_shown):

Modified: 
trunk/src/target/OM-2007.2/applications/openmoko-messages2/src/sms-compose.c
===================================================================
--- 
trunk/src/target/OM-2007.2/applications/openmoko-messages2/src/sms-compose.c    
    2008-03-28 15:12:05 UTC (rev 4264)
+++ 
trunk/src/target/OM-2007.2/applications/openmoko-messages2/src/sms-compose.c    
    2008-03-28 15:29:14 UTC (rev 4265)
@@ -31,14 +31,7 @@
        EContact *contact;
        GdkPixbuf *photo;
        gchar *string;
-       
-       /* Make delete(-all) buttons insensitive */
-       /* TODO: Replace these with more useful buttons? */
-       gtk_widget_set_sensitive (GTK_WIDGET (data->delete_button), FALSE);
-       gtk_widget_set_sensitive (GTK_WIDGET (data->delete_all_button), FALSE);
-       
-       if (!data->sms_proxy)
-               gtk_widget_set_sensitive (GTK_WIDGET (data->new_button), FALSE);
+
        gtk_tool_button_set_stock_id (GTK_TOOL_BUTTON (data->new_button),
                MOKO_STOCK_MAIL_SEND);
        gtk_widget_grab_focus (data->sms_textview);
@@ -238,12 +231,22 @@
 GtkWidget *
 sms_compose_page_new (SmsData *data)
 {
-       GtkWidget *vbox, *frame, *contact_table, *align;
+       GtkWidget *vbox, *frame, *contact_table, *align, *toolbar;
        
        /* Connect to new/send button clicked */
        g_signal_connect (data->new_button, "clicked",
                G_CALLBACK (send_clicked_cb), data);
        
+       /* Create toolbar */
+       toolbar = gtk_toolbar_new ();
+       
+       /* Send button */
+       data->new_button = gtk_tool_button_new_from_stock 
(MOKO_STOCK_MAIL_SEND);
+       gtk_tool_item_set_expand (data->new_button, TRUE);
+       gtk_toolbar_insert (GTK_TOOLBAR (toolbar), data->new_button, -1);
+       g_signal_connect (data->new_button, "clicked",
+               G_CALLBACK (send_clicked_cb), &data);
+       
        /* Create contact info display/number entry */
        contact_table = gtk_table_new (2, 2, FALSE);
        gtk_table_set_col_spacings (GTK_TABLE (contact_table), 6);
@@ -287,6 +290,7 @@
        
        /* Pack widgets */
        vbox = gtk_vbox_new (FALSE, 0);
+       gtk_box_pack_start (GTK_BOX (vbox), toolbar, FALSE, TRUE, 0);
        gtk_box_pack_start (GTK_BOX (vbox), contact_table, FALSE, TRUE, 0);
        gtk_box_pack_start (GTK_BOX (vbox), frame, TRUE, TRUE, 0);
        gtk_box_pack_start (GTK_BOX (vbox), align,

Modified: 
trunk/src/target/OM-2007.2/applications/openmoko-messages2/src/sms-contacts.c
===================================================================
--- 
trunk/src/target/OM-2007.2/applications/openmoko-messages2/src/sms-contacts.c   
    2008-03-28 15:12:05 UTC (rev 4264)
+++ 
trunk/src/target/OM-2007.2/applications/openmoko-messages2/src/sms-contacts.c   
    2008-03-28 15:29:14 UTC (rev 4265)
@@ -27,60 +27,196 @@
 #include <libmokoui2/moko-search-bar.h>
 #include <string.h>
 
+
+#define PK_NAMESPACE "org.openmoko.PhoneKit"
+#define DIALER_NAMESPACE "org.openmoko.PhoneKit.Dialer"
+#define DIALER_OBJECT "/org/openmoko/PhoneKit/Dialer"
+
+GtkWidget *treeview;
+
+
 static const gchar *clear_numbers_uid;
 
-static gboolean hidden = FALSE;
-
 static void selection_changed_cb (GtkTreeSelection *selection, SmsData *data);
+static void dial_clicked_cb (GtkWidget *button, SmsData *data);
 
 static void
-page_shown (SmsData *data)
+new_clicked_cb (GtkToolButton *button, SmsData *data)
 {
-       GtkTreeSelection *selection;
-       
-       /* Update delete/delete-all buttons */
-       sms_contacts_update_delete_all (data);
-       selection = gtk_tree_view_get_selection (
-               GTK_TREE_VIEW (data->contacts_treeview));
-       selection_changed_cb (selection, data);
+       if (gtk_notebook_get_current_page (GTK_NOTEBOOK (data->notebook)) ==
+           SMS_PAGE_COMPOSE) return;
+
+       gtk_text_buffer_set_text (gtk_text_view_get_buffer (
+               GTK_TEXT_VIEW (data->sms_textview)), "", -1);
+
+       gtk_notebook_set_current_page (
+               GTK_NOTEBOOK (data->notebook), SMS_PAGE_COMPOSE);
 }
 
-static void
-page_hidden (SmsData *data)
+void 
+openmoko_contacts_util_dial_number (const gchar *number)
 {
+  DBusGConnection *conn;
+  DBusGProxy *proxy;
+  GError *err = NULL;
+
+  conn = dbus_g_bus_get (DBUS_BUS_SESSION, &err);
+  if (conn == NULL)
+  {
+    g_warning ("Failed to make DBus connection: %s", err->message);
+    g_error_free (err);
+    return;
+  }
+
+  proxy = dbus_g_proxy_new_for_name (conn,
+                                     PK_NAMESPACE,
+                                     DIALER_OBJECT,
+                                     DIALER_NAMESPACE);
+  if (proxy == NULL)
+  {
+    g_warning ("Unable to get dialer object");
+    return;
+  }
+
+  err = NULL;
+  dbus_g_proxy_call (proxy, "Dial", &err,
+                     G_TYPE_STRING, number,
+                     G_TYPE_INVALID, G_TYPE_INVALID);
+
+  if (err)
+  {
+    g_warning (err->message);
+    g_error_free (err);
+  }
 }
 
-static void
-notify_visible_cb (GObject *gobject, GParamSpec *arg1, SmsData *data)
+
+/* hito_vcard_attribute_get_type() taken from hito-vcard-util.c
+ * Copyright 2007 OpenedHand Ltd, licensed under GPL */
+gchar*
+hito_vcard_attribute_get_type (EVCardAttribute *attr)
 {
-       if ((!hidden) && (!GTK_WIDGET_VISIBLE (gobject))) {
-               hidden = TRUE;
-               page_hidden (data);
-       }
+  GList *list, *l;
+  gchar *result = NULL;
+  list = e_vcard_attribute_get_param (attr, "TYPE");
+
+  for (l = list; l; l = g_list_next (l))
+  {
+    if (result)
+    {
+      gchar *old_result = result;
+      result = g_strconcat (l->data, ";", old_result, NULL);
+      g_free (old_result);
+    }
+    else
+    {
+      result = g_strdup (l->data);
+    }
+  }
+
+  return result;
 }
 
-static gboolean
-visibility_notify_event_cb (GtkWidget *widget, GdkEventVisibility *event,
-                           SmsData *data)
+
+static void
+on_dial_number_clicked (GtkWidget *eb, GdkEventButton *event, GtkDialog 
*dialog)
 {
-       if (((event->state == GDK_VISIBILITY_PARTIAL) ||
-            (event->state == GDK_VISIBILITY_UNOBSCURED)) && (hidden)) {
-               hidden = FALSE;
-               page_shown (data);
-       }
-       
-       return FALSE;
+  EVCardAttribute *att;
+  const gchar *number;
+
+  att = g_object_get_data (G_OBJECT (eb), "contact");
+  number = hito_vcard_attribute_get_value_string (att);
+  openmoko_contacts_util_dial_number (number);
+
+  gtk_dialog_response (dialog, GTK_RESPONSE_CANCEL);
 }
 
 static void
-unmap_cb (GtkWidget *widget, SmsData *data)
+dial_clicked_cb (GtkWidget *button, SmsData *data)
 {
-       if (!hidden) {
-               hidden = TRUE;
-               page_hidden (data);
+       GList *numbers;
+       GList *n;
+       gint num_tels = 0;
+       GError *err = NULL;
+       EContact *contact;
+       
+       g_return_if_fail (GTK_IS_TREE_VIEW (treeview));
+       
+       contact = sms_get_selected_contact (data);
+       
+       if (err)
+       {
+               g_warning ("Could not find contact");
+               return;
        }
+       
+       numbers = hito_vcard_get_named_attributes (E_VCARD (contact), EVC_TEL);
+       num_tels = g_list_length (numbers);
+       
+       if (num_tels < 1)
+       {
+               g_print ("Dial: This contact does not have any numbers\n");
+               return;
+       }
+       else if (num_tels == 1)
+       {
+               /* dial */
+               openmoko_contacts_util_dial_number (
+                       hito_vcard_attribute_get_value_string (numbers->data));
+       }
+       else
+       {
+               /* Make a dialog with a list of numbers, which are one-click 
dialling */
+               /* dial on click, and then close the window */
+               GtkWidget *dialog, *vbox, *hbox, *image, *label;
+
+               dialog = gtk_dialog_new_with_buttons ("Please choose a number 
to call",
+                                                     GTK_WINDOW (data->window),
+                                                     
GTK_DIALOG_DESTROY_WITH_PARENT,
+                                                     GTK_STOCK_CANCEL,
+                                                     GTK_RESPONSE_CANCEL,
+                                                     NULL);
+               gtk_container_set_border_width (GTK_CONTAINER (dialog), 12);
+               vbox = gtk_vbox_new (FALSE, 8);
+               gtk_box_pack_start (GTK_BOX (GTK_DIALOG(dialog)->vbox), vbox, 
+                                   FALSE, FALSE, 12);
+
+               GtkSizeGroup *size_group;
+               size_group = gtk_size_group_new (GTK_SIZE_GROUP_BOTH);
+               for (n = numbers; n; n = n->next)
+               {
+                       GtkWidget *button = gtk_event_box_new ();
+                       gtk_box_pack_start (GTK_BOX (vbox), button, FALSE, 
FALSE, 8);
+
+                       hbox = gtk_hbox_new (FALSE, 6);
+                       gtk_container_add (GTK_CONTAINER (button), hbox);
+                 
+                       label = gtk_label_new (hito_vcard_attribute_get_type 
(n->data));
+                       gtk_size_group_add_widget (size_group, label);
+                       gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5);
+                       gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, 
FALSE, 0);
+
+                       image = gtk_image_new_from_stock 
(MOKO_STOCK_CONTACT_PHONE, 
+                                                   GTK_ICON_SIZE_BUTTON);
+                       gtk_box_pack_start (GTK_BOX (hbox), image, FALSE, 
FALSE, 0);
+
+                       label = gtk_label_new 
(hito_vcard_attribute_get_value_string (n->data));
+                       gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, 
FALSE, 0);
+
+                       g_signal_connect (button, "button-release-event",
+                                   G_CALLBACK (on_dial_number_clicked), 
(gpointer)dialog);
+                       g_object_set_data (G_OBJECT (button), "contact", 
n->data);
+               }
+               g_object_unref (size_group);
+               gtk_widget_show_all (dialog);
+               gint res = gtk_dialog_run (GTK_DIALOG (dialog));
+               res++;
+               gtk_widget_destroy (dialog);
+       }
 }
 
+
+
 static void
 clear_numbers_cb (gchar *number, gchar *uid, GList **list)
 {
@@ -375,65 +511,8 @@
        return result;
 }
 
-static void
-delete_clicked_cb (GtkToolButton *button, SmsData *data)
-{
-       if (hidden) return;
-       
-       if (sms_delete_selected_contact_messages (data)) {
-               gtk_widget_set_sensitive (GTK_WIDGET (data->delete_button),
-                       FALSE);
-       }
-}
 
 static void
-delete_all_added_cb (JanaStoreView *store_view, GList *components,
-                    SmsData *data)
-{
-       for (; components; components = components->next) {
-               JanaComponent *comp = JANA_COMPONENT (components->data);
-               jana_store_remove_component (
-                       jana_store_view_get_store (store_view), comp);
-       }
-}
-
-static void
-delete_all_progress_cb (JanaStoreView *store_view, gint percent,
-                       SmsData *data)
-{
-       if (percent == 100) g_object_unref (store_view);
-}
-
-static void
-delete_all_clicked_cb (GtkToolButton *button, SmsData *data)
-{
-       JanaStoreView *notes_view;
-       GtkWidget *dialog;
-       gint response;
-
-       if (hidden) return;
-       
-       dialog = gtk_message_dialog_new_with_markup (GTK_WINDOW (data->window),
-               GTK_DIALOG_MODAL,
-               GTK_MESSAGE_QUESTION, GTK_BUTTONS_NONE,
-               "Delete <b>all</b> messages?");
-       gtk_dialog_add_buttons (GTK_DIALOG (dialog), GTK_STOCK_CANCEL,
-               GTK_RESPONSE_CANCEL, GTK_STOCK_DELETE, GTK_RESPONSE_YES, NULL);
-       
-       response = gtk_dialog_run (GTK_DIALOG (dialog));
-       gtk_widget_destroy (dialog);
-       if (response != GTK_RESPONSE_YES) return;
-       
-       /* Delete all messages */
-       notes_view = jana_store_get_view (data->notes);
-       g_signal_connect (notes_view, "added",
-               G_CALLBACK (delete_all_added_cb), data);
-       g_signal_connect (notes_view, "progress",
-               G_CALLBACK (delete_all_progress_cb), data);
-       jana_store_view_start (notes_view);
-}
-
-static void
 search_toggled_cb (MokoSearchBar *bar, gboolean search_visible, SmsData *data)
 {
        gtk_tree_model_filter_refilter (
@@ -578,6 +657,7 @@
 void
 sms_contacts_update_delete_all (SmsData *data)
 {
+
        if (gtk_notebook_get_current_page (GTK_NOTEBOOK (data->notebook)) ==
            SMS_PAGE_CONTACTS) {
                if (g_hash_table_size (data->note_count) > 0) {
@@ -594,7 +674,7 @@
 sms_contacts_page_new (SmsData *data)
 {
        EBookQuery *qrys[(E_CONTACT_LAST_PHONE_ID-E_CONTACT_FIRST_PHONE_ID)+1];
-       GtkWidget *contacts_combo, *vbox;
+       GtkWidget *contacts_combo, *vbox, *toolbar;
        GtkTreeSelection *selection;
        GtkCellRenderer *renderer;
        EBookQuery *tel_query;
@@ -703,7 +783,7 @@
        update_categories (data);
        
        /* Create tree view */
-       data->contacts_treeview = gtk_tree_view_new_with_model (
+       treeview = data->contacts_treeview = gtk_tree_view_new_with_model (
                data->contacts_filter);
        gtk_tree_view_set_rules_hint (GTK_TREE_VIEW (
                data->contacts_treeview), TRUE);
@@ -734,8 +814,27 @@
        gtk_container_add (GTK_CONTAINER (data->contacts_scroll),
                data->contacts_treeview);
        
+       /* Create toolbar */
+       toolbar = gtk_toolbar_new ();
+       
+       /* New button */
+       data->new_button = gtk_tool_button_new_from_stock (MOKO_STOCK_SMS_NEW);
+       gtk_tool_item_set_expand (data->new_button, TRUE);
+       gtk_toolbar_insert (GTK_TOOLBAR (toolbar), data->new_button, -1);
+       g_signal_connect (data->new_button, "clicked",
+               G_CALLBACK (new_clicked_cb), data);
+       
+       /* Dial button */
+       data->dial_button = gtk_tool_button_new_from_stock 
(MOKO_STOCK_CALL_DIAL);
+       gtk_tool_item_set_expand (data->dial_button, TRUE);
+       gtk_toolbar_insert (GTK_TOOLBAR (toolbar), data->dial_button, -1);
+       g_signal_connect (data->dial_button, "clicked",
+               G_CALLBACK (dial_clicked_cb), data);
+       
        /* Pack widgets into vbox and return */
        vbox = gtk_vbox_new (FALSE, 0);
+       gtk_box_pack_start (GTK_BOX (vbox), toolbar,
+               FALSE, TRUE, 0);
        gtk_box_pack_start (GTK_BOX (vbox), data->contacts_search,
                FALSE, TRUE, 0);
        gtk_box_pack_start (GTK_BOX (vbox), data->contacts_scroll,
@@ -753,22 +852,6 @@
                G_CALLBACK (contacts_seq_complete_cb), data);
        e_book_view_start (view);
        
-       /* Connect to toolbar delete buttons */
-       g_signal_connect (data->delete_button, "clicked",
-               G_CALLBACK (delete_clicked_cb), data);
-       g_signal_connect (data->delete_all_button, "clicked",
-               G_CALLBACK (delete_all_clicked_cb), data);
-
-       /* Add events for detecting whether the page has been hidden/shown */
-       gtk_widget_add_events (data->contacts_treeview,
-               GDK_VISIBILITY_NOTIFY_MASK);
-       g_signal_connect (data->contacts_treeview, "visibility-notify-event",
-               G_CALLBACK (visibility_notify_event_cb), data);
-       g_signal_connect (data->contacts_treeview, "notify::visible",
-               G_CALLBACK (notify_visible_cb), data);
-       g_signal_connect (vbox, "unmap",
-               G_CALLBACK (unmap_cb), data);
-
        return vbox;
 }
 

Modified: 
trunk/src/target/OM-2007.2/applications/openmoko-messages2/src/sms-main.c
===================================================================
--- trunk/src/target/OM-2007.2/applications/openmoko-messages2/src/sms-main.c   
2008-03-28 15:12:05 UTC (rev 4264)
+++ trunk/src/target/OM-2007.2/applications/openmoko-messages2/src/sms-main.c   
2008-03-28 15:29:14 UTC (rev 4265)
@@ -46,19 +46,6 @@
                "tab-expand", TRUE, NULL);
 }
 
-static void
-new_clicked_cb (GtkToolButton *button, SmsData *data)
-{
-       if (gtk_notebook_get_current_page (GTK_NOTEBOOK (data->notebook)) ==
-           SMS_PAGE_COMPOSE) return;
-
-       gtk_text_buffer_set_text (gtk_text_view_get_buffer (
-               GTK_TEXT_VIEW (data->sms_textview)), "", -1);
-
-       gtk_notebook_set_current_page (
-               GTK_NOTEBOOK (data->notebook), SMS_PAGE_COMPOSE);
-}
-
 int
 main (int argc, char **argv)
 {
@@ -103,37 +90,8 @@
        gtk_window_set_title (GTK_WINDOW (data.window), "Messages");
        g_signal_connect (data.window, "delete-event",
                G_CALLBACK (gtk_main_quit), NULL);
+
        
-       /* Create toolbar */
-       toolbar = gtk_toolbar_new ();
-       
-       /* New button */
-       data.new_button = gtk_tool_button_new_from_stock (MOKO_STOCK_SMS_NEW);
-       gtk_tool_item_set_expand (data.new_button, TRUE);
-       gtk_toolbar_insert (GTK_TOOLBAR (toolbar), data.new_button, 0);
-       g_signal_connect (data.new_button, "clicked",
-               G_CALLBACK (new_clicked_cb), &data);
-       
-       /* Forward button */
-       data.forward_button = gtk_tool_button_new_from_stock (
-               MOKO_STOCK_MAIL_FORWARD);
-       gtk_tool_item_set_expand (data.forward_button, TRUE);
-       gtk_toolbar_insert (GTK_TOOLBAR (toolbar), data.forward_button, 1);
-       
-       /* Delete all button */
-       data.delete_all_button = gtk_tool_button_new_from_stock (
-               MOKO_STOCK_FOLDER_DELETE);
-       gtk_tool_item_set_expand (data.delete_all_button, TRUE);
-       gtk_toolbar_insert (GTK_TOOLBAR (toolbar), data.delete_all_button, 2);
-       gtk_widget_set_sensitive (GTK_WIDGET (data.delete_all_button), FALSE);
-       
-       /* Delete button */
-       data.delete_button = gtk_tool_button_new_from_stock (
-               GTK_STOCK_DELETE);
-       gtk_tool_item_set_expand (data.delete_button, TRUE);
-       gtk_toolbar_insert (GTK_TOOLBAR (toolbar), data.delete_button, 3);
-       gtk_widget_set_sensitive (GTK_WIDGET (data.delete_button), FALSE);
-       
        /* Create notebook */
        data.notebook = gtk_notebook_new ();
        gtk_notebook_set_tab_pos (GTK_NOTEBOOK (data.notebook), GTK_POS_BOTTOM);
@@ -152,7 +110,6 @@
        
        /* Pack and show */
        vbox = gtk_vbox_new (FALSE, 0);
-       gtk_box_pack_start (GTK_BOX (vbox), toolbar, FALSE, TRUE, 0);
        gtk_box_pack_start (GTK_BOX (vbox), data.notebook, TRUE, TRUE, 0);
        gtk_container_add (GTK_CONTAINER (data.window), vbox);
        
@@ -168,7 +125,6 @@
        gtk_window_set_default_size (GTK_WINDOW (data.window), 480, 600);
 
        gtk_widget_show_all (data.window);
-       gtk_widget_hide (GTK_WIDGET (data.forward_button));
        
        gtk_main ();
        

Modified: 
trunk/src/target/OM-2007.2/applications/openmoko-messages2/src/sms-notes.c
===================================================================
--- trunk/src/target/OM-2007.2/applications/openmoko-messages2/src/sms-notes.c  
2008-03-28 15:12:05 UTC (rev 4264)
+++ trunk/src/target/OM-2007.2/applications/openmoko-messages2/src/sms-notes.c  
2008-03-28 15:29:14 UTC (rev 4265)
@@ -178,13 +178,7 @@
 
        gboolean found_match = FALSE;
        EContact *contact = NULL;
-       
-       /* Show forward button */
-       gtk_widget_show (GTK_WIDGET (data->forward_button));
 
-       gtk_widget_set_sensitive (GTK_WIDGET (data->delete_button), FALSE);
-       gtk_widget_set_sensitive (GTK_WIDGET (data->forward_button), FALSE);
-       
        if (!open) return;
        
        /* Attach to scrolling signals so we can mark messages as read */
@@ -283,9 +277,6 @@
 {
        GtkAdjustment *hadjust, *vadjust;
 
-       /* Hide forward button */
-       gtk_widget_hide (GTK_WIDGET (data->forward_button));
-
        if (data->notes_scroll_idle) g_source_remove (data->notes_scroll_idle);
        g_object_get (G_OBJECT (data->notes_treeview),
                "hadjustment", &hadjust, "vadjustment", &vadjust, NULL);
@@ -811,7 +802,7 @@
 GtkWidget *
 sms_notes_page_new (SmsData *data)
 {
-       GtkWidget *scroll, *vbox, *notes_combo;
+       GtkWidget *scroll, *vbox, *notes_combo, *toolbar;
        GtkCellRenderer *renderer;
        GHashTable *colours_hash;
        GtkIconTheme *icon_theme;
@@ -878,6 +869,29 @@
                data->notes_treeview)), "changed",
                G_CALLBACK (selection_changed_cb), data);
        
+       /* create toolbar */
+       toolbar = gtk_toolbar_new ();
+       
+       /* Forward button */
+       data->forward_button = gtk_tool_button_new_from_stock (
+               MOKO_STOCK_MAIL_FORWARD);
+       gtk_tool_item_set_expand (data->forward_button, TRUE);
+       gtk_toolbar_insert (GTK_TOOLBAR (toolbar), data->forward_button, -1);
+       
+       /* Delete all button */
+       data->delete_all_button = gtk_tool_button_new_from_stock (
+               MOKO_STOCK_FOLDER_DELETE);
+       gtk_tool_item_set_expand (data->delete_all_button, TRUE);
+       gtk_toolbar_insert (GTK_TOOLBAR (toolbar), data->delete_all_button, -1);
+       gtk_widget_set_sensitive (GTK_WIDGET (data->delete_all_button), FALSE);
+       
+       /* Delete button */
+       data->delete_button = gtk_tool_button_new_from_stock (
+               GTK_STOCK_DELETE);
+       gtk_tool_item_set_expand (data->delete_button, TRUE);
+       gtk_toolbar_insert (GTK_TOOLBAR (toolbar), data->delete_button, -1);
+       gtk_widget_set_sensitive (GTK_WIDGET (data->delete_button), FALSE);
+       
        /* Create search bar */
        notes_combo = gtk_combo_box_new_text ();
        gtk_combo_box_append_text (GTK_COMBO_BOX (notes_combo), "All");
@@ -899,6 +913,7 @@
        gtk_container_add (GTK_CONTAINER (scroll), data->notes_treeview);
        
        vbox = gtk_vbox_new (FALSE, 0);
+       gtk_box_pack_start (GTK_BOX (vbox), toolbar, FALSE, TRUE, 0);
        gtk_box_pack_start (GTK_BOX (vbox), data->notes_search, FALSE, TRUE, 0);
        gtk_box_pack_start (GTK_BOX (vbox), scroll, TRUE, TRUE, 0);
        gtk_widget_show_all (vbox);

Modified: trunk/src/target/OM-2007.2/applications/openmoko-messages2/src/sms.h
===================================================================
--- trunk/src/target/OM-2007.2/applications/openmoko-messages2/src/sms.h        
2008-03-28 15:12:05 UTC (rev 4264)
+++ trunk/src/target/OM-2007.2/applications/openmoko-messages2/src/sms.h        
2008-03-28 15:29:14 UTC (rev 4265)
@@ -26,6 +26,7 @@
 #include <dbus/dbus-glib.h>
 #include <dbus/dbus-glib-bindings.h>
 #include <libebook/e-book.h>
+#include <libmokoui2/moko-stock.h>
 
 typedef struct {
        GList *unread;  /* List of JanaNote uids for unread messages */
@@ -57,6 +58,7 @@
        GtkWidget *window;
        GtkWidget *notebook;
        GtkToolItem *new_button;
+       GtkToolItem *dial_button;
        GtkToolItem *forward_button;
        GtkToolItem *delete_all_button;
        GtkToolItem *delete_button;




--- End Message ---
--- Begin Message ---
Author: werner
Date: 2008-03-28 17:38:40 +0100 (Fri, 28 Mar 2008)
New Revision: 4266

Added:
   developers/werner/bug1252/
   developers/werner/bug1252/NOTES
   developers/werner/bug1252/no-dfu
   developers/werner/bug1252/with-dfu
Log:
Support data and scripts for bugzilla bug #1252.



Added: developers/werner/bug1252/NOTES
===================================================================
--- developers/werner/bug1252/NOTES     2008-03-28 15:29:14 UTC (rev 4265)
+++ developers/werner/bug1252/NOTES     2008-03-28 16:38:40 UTC (rev 4266)
@@ -0,0 +1,24 @@
+Format is count ($c) displayed on failed run, followed by observed reason for
+failure.
+
+System setup: freshly devirginated with the Mar 28 files from buildhost.
+
+no DFU:
+- 10, white screen (kernel didn't boot, no details collected)
+- 8, hangs after glamo init ("leave")
+- 1, glamo hang
+- 7, glamo hang
+- 1, glamo hang
+- 6, glamo hang
+(kernel switched from buildhost version to local build)
+- 5, glamo hang
+
+with DFU:
+- 17, glamo hang
+- 3, glamo hang
+- 3, glamo hang
+- 5, GTA02 did not come out of JTAG reset (powered down ?)
+- 12, glamo hang
+- 3, glamo hang
+
+I'll describe the "glamo hang" separately.

Added: developers/werner/bug1252/no-dfu
===================================================================
--- developers/werner/bug1252/no-dfu    2008-03-28 15:29:14 UTC (rev 4265)
+++ developers/werner/bug1252/no-dfu    2008-03-28 16:38:40 UTC (rev 4266)
@@ -0,0 +1,13 @@
+#!/bin/sh
+PATH=$PATH:/home/moko/svn.openmoko.org/trunk/src/host/devirginator
+neo=192.168.0.202
+
+c=0
+while true; do
+    c=`expr $c + 1`
+    echo $c
+    openocdcmd.pl lab 4444 "reset run" exit
+    sleep 25
+    ifconfig usb0 $neo
+    ping -c 1 $neo || break
+done


Property changes on: developers/werner/bug1252/no-dfu
___________________________________________________________________
Name: svn:executable
   + *

Added: developers/werner/bug1252/with-dfu
===================================================================
--- developers/werner/bug1252/with-dfu  2008-03-28 15:29:14 UTC (rev 4265)
+++ developers/werner/bug1252/with-dfu  2008-03-28 16:38:40 UTC (rev 4266)
@@ -0,0 +1,20 @@
+#!/bin/sh
+PATH=$PATH:/home/moko/svn.openmoko.org/trunk/src/host/devirginator
+neo=192.168.0.202
+
+c=0
+while true; do
+    c=`expr $c + 1`
+    echo $c
+    openocdcmd.pl lab 4444 "reset run" exit
+    while ! dfu-util -a 0 -D /etc/passwd >/dev/null 2>&1; do
+       sleep 0.2
+    done
+    dev="`echo /dev/ttyUSB?`"
+    echo >$dev
+    sleep 0.1
+    echo 'boot' >$dev
+    sleep 15   # note: the ifconfig takes a while to complete, so we wait >15s
+    ifconfig usb0 $neo
+    ping -c 1 $neo || break
+done


Property changes on: developers/werner/bug1252/with-dfu
___________________________________________________________________
Name: svn:executable
   + *




--- End Message ---
--- Begin Message ---
Author: werner
Date: 2008-03-28 19:22:38 +0100 (Fri, 28 Mar 2008)
New Revision: 4267

Added:
   branches/src/target/kernel/2.6.24.x/patches/glamo-cmdqueue-bandaid.patch
Modified:
   branches/src/target/kernel/2.6.24.x/patches/series
Log:
Andy's debug-glamo-fb-cmdqueue-wait-timeout.patch



Added: branches/src/target/kernel/2.6.24.x/patches/glamo-cmdqueue-bandaid.patch
===================================================================
--- branches/src/target/kernel/2.6.24.x/patches/glamo-cmdqueue-bandaid.patch    
2008-03-28 16:38:40 UTC (rev 4266)
+++ branches/src/target/kernel/2.6.24.x/patches/glamo-cmdqueue-bandaid.patch    
2008-03-28 18:22:38 UTC (rev 4267)
@@ -0,0 +1,76 @@
+[ Stop kernel from hanging every once in a while during Glamo
+  initialization. ]
+
+debug-glamo-fb-cmdqueue-wait-timeout.patch
+
+From: warmcat <[EMAIL PROTECTED]>
+
+---
+
+ drivers/mfd/glamo/glamo-fb.c |   30 +++++++++++++++++++++++++++---
+ 1 files changed, 27 insertions(+), 3 deletions(-)
+
+Index: linux-2.6.24/drivers/mfd/glamo/glamo-fb.c
+===================================================================
+--- linux-2.6.24.orig/drivers/mfd/glamo/glamo-fb.c
++++ linux-2.6.24/drivers/mfd/glamo/glamo-fb.c
+@@ -553,12 +553,20 @@
+ 
+ void glamofb_cmd_mode(struct glamofb_handle *gfb, int on)
+ {
++      int timeout = 2000;
++
+       dev_dbg(gfb->dev, "glamofb_cmd_mode(gfb=%p, on=%d)\n", gfb, on);
+       if (on) {
+               dev_dbg(gfb->dev, "%s: waiting for cmdq empty: ",
+                       __FUNCTION__);
+-              while (!glamofb_cmdq_empty(gfb))
++              while ((!glamofb_cmdq_empty(gfb)) && (timeout--))
+                       yield();
++              if (timeout < 0) {
++                      printk(KERN_ERR"*************"
++                                     "glamofb cmd_queue never got empty"
++                                     "*************\n");
++                      return;
++              }
+               dev_dbg(gfb->dev, "empty!\n");
+ 
+               /* display the entire frame then switch to command */
+@@ -568,8 +576,16 @@
+ 
+               /* wait until LCD is idle */
+               dev_dbg(gfb->dev, "waiting for LCD idle: ");
+-              while (!reg_read(gfb, GLAMO_REG_LCD_STATUS2) & (1 << 12))
++              timeout = 2000;
++              while ((!reg_read(gfb, GLAMO_REG_LCD_STATUS2) & (1 << 12)) &&
++                    (timeout--))
+                       yield();
++              if (timeout < 0) {
++                      printk(KERN_ERR"*************"
++                                     "glamofb lcd never idle"
++                                     "*************\n");
++                      return;
++              }
+               dev_dbg(gfb->dev, "idle!\n");
+ 
+               msleep(90);
+@@ -589,10 +605,18 @@
+ 
+ int glamofb_cmd_write(struct glamofb_handle *gfb, u_int16_t val)
+ {
++      int timeout = 2000;
++
+       dev_dbg(gfb->dev, "%s: waiting for cmdq empty\n",
+               __FUNCTION__);
+-      while (!glamofb_cmdq_empty(gfb))
++      while ((!glamofb_cmdq_empty(gfb)) && (timeout--))
+               yield();
++      if (timeout < 0) {
++              printk(KERN_ERR"*************"
++                              "glamofb cmd_queue never got empty"
++                              "*************\n");
++              return 1;
++      }
+       dev_dbg(gfb->dev, "idle, writing 0x%04x\n", val);
+ 
+       reg_write(gfb, GLAMO_REG_LCD_COMMAND1, val);

Modified: branches/src/target/kernel/2.6.24.x/patches/series
===================================================================
--- branches/src/target/kernel/2.6.24.x/patches/series  2008-03-28 16:38:40 UTC 
(rev 4266)
+++ branches/src/target/kernel/2.6.24.x/patches/series  2008-03-28 18:22:38 UTC 
(rev 4267)
@@ -117,5 +117,6 @@
 # Preliminary suspend/resume power saving improvements
 suspend-prelim1.patch
 
-# temporary work-around
+# temporary work-arounds
 gta02-sound-bandaid.patch
+glamo-cmdqueue-bandaid.patch




--- End Message ---
_______________________________________________
commitlog mailing list
commitlog@lists.openmoko.org
http://lists.openmoko.org/mailman/listinfo/commitlog

Reply via email to