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. r3431 - in
      trunk/src/target/OM-2007.2/applications/openmoko-appmanager2: .
      src ([EMAIL PROTECTED])
   2. r3432 - in
      trunk/src/target/OM-2007.2/applications/openmoko-appmanager2: .
      data ([EMAIL PROTECTED])
   3. r3433 - in
      trunk/src/target/OM-2007.2/applications/openmoko-appmanager2: .
      src ([EMAIL PROTECTED])
   4. r3434 - trunk/src/host/qemu-neo1973/openmoko
      ([EMAIL PROTECTED])
--- Begin Message ---
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  <[EMAIL PROTECTED]>
+
+       * 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  <[EMAIL PROTECTED]>
 
        * 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;
 




--- End Message ---
--- Begin Message ---
Author: thomas
Date: 2007-11-16 15:43:44 +0100 (Fri, 16 Nov 2007)
New Revision: 3432

Modified:
   trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/ChangeLog
   
trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/data/openmoko-appmanager.desktop
Log:
* data/openmoko-appmanager.desktop: Update application name and summary


Modified: trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/ChangeLog
===================================================================
--- trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/ChangeLog      
2007-11-16 13:23:01 UTC (rev 3431)
+++ trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/ChangeLog      
2007-11-16 14:43:44 UTC (rev 3432)
@@ -1,5 +1,9 @@
 2007-11-16  Thomas Wood  <[EMAIL PROTECTED]>
 
+       * data/openmoko-appmanager.desktop: Update application name and summary
+
+2007-11-16  Thomas Wood  <[EMAIL PROTECTED]>
+
        * src/appmanager-data.h:
        * src/appmanager-window.c: (main):
        * src/navigation-area.c: (model_filter_func):

Modified: 
trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/data/openmoko-appmanager.desktop
===================================================================
--- 
trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/data/openmoko-appmanager.desktop
       2007-11-16 13:23:01 UTC (rev 3431)
+++ 
trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/data/openmoko-appmanager.desktop
       2007-11-16 14:43:44 UTC (rev 3432)
@@ -1,6 +1,6 @@
 [Desktop Entry]
-Name=Applications
-Comment=Install or remove applications
+Name=Application Manager
+Comment=Update, install and remove applications
 Encoding=UTF-8
 Version=1.0
 Type=Application




--- End Message ---
--- Begin Message ---
Author: thomas
Date: 2007-11-16 17:54:45 +0100 (Fri, 16 Nov 2007)
New Revision: 3433

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/ipkgapi.c
   trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/src/tool-box.c
Log:
* src/ipkg-utils.c: (update_package_list):
* src/ipkg-utils.h:
* src/ipkgapi.c: (def_ipkg_message_callback):
* src/tool-box.c:

Add check for upgradeable packages


Modified: trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/ChangeLog
===================================================================
--- trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/ChangeLog      
2007-11-16 14:43:44 UTC (rev 3432)
+++ trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/ChangeLog      
2007-11-16 16:54:45 UTC (rev 3433)
@@ -1,5 +1,14 @@
 2007-11-16  Thomas Wood  <[EMAIL PROTECTED]>
 
+       * src/ipkg-utils.c: (update_package_list):
+       * src/ipkg-utils.h:
+       * src/ipkgapi.c: (def_ipkg_message_callback):
+       * src/tool-box.c:
+
+       Add check for upgradeable packages
+
+2007-11-16  Thomas Wood  <[EMAIL PROTECTED]>
+
        * data/openmoko-appmanager.desktop: Update application name and summary
 
 2007-11-16  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-16 14:43:44 UTC (rev 3432)
+++ 
trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/src/ipkg-utils.c   
    2007-11-16 16:54:45 UTC (rev 3433)
@@ -29,6 +29,8 @@
   gboolean remove; /* true if we want to remove the package */
 } ThreadData;
 
+static int verrevcmp(const char *val, const char *ref);
+
 static gpointer
 install_thread_func (ThreadData *data)
 {
@@ -168,3 +170,103 @@
   gtk_dialog_run (GTK_DIALOG (dlg));
   gtk_widget_destroy (dlg);
 }
+
+gboolean
+check_for_upgrade (IPK_PACKAGE *package, PKG_LIST_HEAD *list)
+{
+  IPK_PACKAGE *p;
+  
+  p = list->pkg_list;
+  
+  while (p)
+  {
+    if (g_str_equal (package->name, p->name))
+    {
+      gint ret;
+      
+      ret = verrevcmp (package->version, p->version);
+      
+      if (ret > 0)
+        return TRUE;
+      else
+        return FALSE;
+    }
+    p = p->next;
+  }
+  return FALSE;
+}
+
+GList *
+get_upgrade_list ()
+{
+  /* find duplicate package names in the available packages list and compare 
versions */
+  IPK_PACKAGE *p;
+  PKG_LIST_HEAD list;
+  GList *upgradelist = NULL;
+  gint ret;
+  
+  ret = ipkg_list_available_cmd (&list);
+  
+  p = list.pkg_list;
+  while (p)
+  {
+    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;
+}
+
+/*
+ * @brief Version compare
+ *
+ * This function is copy from ipkg.(pkg.c)
+ * The verrevcmp() function compares the two version string "val" and
+ * "ref". It returns an integer less than, equal to, or greater than 
+ * zero if "val" is found, respectively, to be less than, to match, or
+ * be greater than "ref".
+ */
+static int 
+verrevcmp(const char *val, const char *ref)
+{
+  int vc, rc;
+  long vl, rl;
+  const char *vp, *rp;
+  const char *vsep, *rsep;
+
+  if (!val) val= "";
+  if (!ref) ref= "";
+  for (;;) 
+    {
+      vp= val;  while (*vp && !isdigit(*vp)) vp++;
+      rp= ref;  while (*rp && !isdigit(*rp)) rp++;
+      for (;;) 
+        {
+          vc= (val == vp) ? 0 : *val++;
+          rc= (ref == rp) ? 0 : *ref++;
+          if (!rc && !vc) break;
+          if (vc && !isalpha(vc)) vc += 256;
+          if (rc && !isalpha(rc)) rc += 256;
+          if (vc != rc) return vc - rc;
+        }
+      val= vp;
+      ref= rp;
+      vl=0;  if (isdigit(*vp)) vl= strtol(val,(char**)&val,10);
+      rl=0;  if (isdigit(*rp)) rl= strtol(ref,(char**)&ref,10);
+      if (vl != rl) return vl - rl;
+
+      vc = *val;
+      rc = *ref;
+      vsep = strchr(".-", vc);
+      rsep = strchr(".-", rc);
+      if (vsep && !rsep) return -1;
+      if (!vsep && rsep) return +1;
+
+      if (!*val && !*ref) return 0;
+      if (!*val) return -1;
+      if (!*ref) return +1;
+    }
+}

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-16 14:43:44 UTC (rev 3432)
+++ 
trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/src/ipkg-utils.h   
    2007-11-16 16:54:45 UTC (rev 3433)
@@ -22,5 +22,6 @@
 void install_package (ApplicationManagerData *data, gchar *name);
 void remove_package (ApplicationManagerData *data, gchar *name);
 void update_package_list (ApplicationManagerData *data);
+GList * get_upgrade_list ();
 
 #endif /* IPKG_UTILS_H */

Modified: 
trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/src/ipkgapi.c
===================================================================
--- trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/src/ipkgapi.c  
2007-11-16 14:43:44 UTC (rev 3432)
+++ trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/src/ipkgapi.c  
2007-11-16 16:54:45 UTC (rev 3433)
@@ -101,7 +101,8 @@
          DBG(msg);
         strcat(errMsg, msg);
     } else {
-        DBG(msg);
+      DBG(msg);
+      printf ("IPKG <%d>: %s", level, msg);
     }
     return 0;
 }

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-16 14:43:44 UTC (rev 3432)
+++ trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/src/tool-box.c 
2007-11-16 16:54:45 UTC (rev 3433)
@@ -32,7 +32,26 @@
 void 
 on_upgrade_clicked (GtkButton *bupgrade, gpointer data)
 {
+  GList *list;
+  int upgrades;
+  
   update_package_list (data);
+  
+  list = get_upgrade_list ();
+  
+  if ((upgrades = g_list_length (list)) > 0)
+  {
+    GtkWidget *dlg;
+    
+    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);
+  }
+  
+  g_list_free (list);
+  
   /*
   GtkWidget *dialog;
 




--- End Message ---
--- Begin Message ---
Author: andrew
Date: 2007-11-16 22:05:53 +0100 (Fri, 16 Nov 2007)
New Revision: 3434

Modified:
   trunk/src/host/qemu-neo1973/openmoko/env
Log:
Work around broken dynticks in 2.6.22 Debian/Ubuntu kernels or in qemu.


Modified: trunk/src/host/qemu-neo1973/openmoko/env
===================================================================
--- trunk/src/host/qemu-neo1973/openmoko/env    2007-11-16 16:54:45 UTC (rev 
3433)
+++ trunk/src/host/qemu-neo1973/openmoko/env    2007-11-16 21:05:53 UTC (rev 
3434)
@@ -4,7 +4,7 @@
 script_dir_relative=openmoko
 script_dir="$src_dir/$script_dir_relative"
 uboot_symlink="$src_dir/u-boot.bin"
-qemu_relative="arm-softmmu/qemu-system-arm -M neo -m 130"
+qemu_relative="arm-softmmu/qemu-system-arm -M neo -m 130 -clock unix"
 qemu="$src_dir/$qemu_relative"
 flash_base=openmoko-flash.base
 flash_image=openmoko-flash.image




--- End Message ---
_______________________________________________
commitlog mailing list
[email protected]
http://lists.openmoko.org/mailman/listinfo/commitlog

Reply via email to