r1403 - in trunk/src/target/OM-2007/applications/openmoko-appmanager: . src

caowai_song at sita.openmoko.org caowai_song at sita.openmoko.org
Mon Mar 19 07:55:25 CET 2007


Author: caowai_song
Date: 2007-03-19 07:55:14 +0100 (Mon, 19 Mar 2007)
New Revision: 1403

Modified:
   trunk/src/target/OM-2007/applications/openmoko-appmanager/ChangeLog
   trunk/src/target/OM-2007/applications/openmoko-appmanager/README
   trunk/src/target/OM-2007/applications/openmoko-appmanager/src/appmanager-data.c
   trunk/src/target/OM-2007/applications/openmoko-appmanager/src/appmanager-data.h
   trunk/src/target/OM-2007/applications/openmoko-appmanager/src/appmanager-window.c
   trunk/src/target/OM-2007/applications/openmoko-appmanager/src/filter-menu.c
   trunk/src/target/OM-2007/applications/openmoko-appmanager/src/filter-menu.h
   trunk/src/target/OM-2007/applications/openmoko-appmanager/src/package-list.c
Log:
1. After initialization, the appmanager will display the installed 
packages list.
2. After install/remove/upgrade packages, the appmanager will 
refresh all package list.


Modified: trunk/src/target/OM-2007/applications/openmoko-appmanager/ChangeLog
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-appmanager/ChangeLog	2007-03-19 06:48:19 UTC (rev 1402)
+++ trunk/src/target/OM-2007/applications/openmoko-appmanager/ChangeLog	2007-03-19 06:55:14 UTC (rev 1403)
@@ -0,0 +1,10 @@
+2007-03-19 Chaowei Song <songcw at fic-sh.com.cn>
+	* src/package-list.c: (package_list_execute_change):
+	Set a changed flag when install, remove or upgrade a package success.
+	* src/appmanager-data: 
+	Add menubox(and set/get function) to the appmanager-data struct.
+	* src/appmanager-window.c: (main)
+	Save the menubox to appmanager-data after initialization.
+	Show installed package list after initialization.
+	* src/filter-menu.c filter-menu.h:
+	Add filter_menu_show_install_list.

Modified: trunk/src/target/OM-2007/applications/openmoko-appmanager/README
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-appmanager/README	2007-03-19 06:48:19 UTC (rev 1402)
+++ trunk/src/target/OM-2007/applications/openmoko-appmanager/README	2007-03-19 06:55:14 UTC (rev 1403)
@@ -1,4 +1,27 @@
-This is the OpenMoko Application Manager.
+		Application Manager README
+		==========================
 
-It requires libipkg 0.99.163 with the is-processing.patch.
+Introduction
+============
 
+Application manager is an "ipk packages" management program. It's 
+based on the libmokoui and libipkg. It will hopefully make the process
+ of installing/removing/upgrading packages on neo-1973 become more 
+easy. 
+
+
+Building
+========
+To build the application manager, you should follow the steps:
+	./autogen.sh
+	make
+	make install
+
+The application manager needs the libmokoui and libipkg(0.99.163 and
+with the is-processing.patch) to build. The configure script (in the
+autogen scirpt) will detect these. The autogen script need the 
+automake tools.
+
+At many times, your build system and running system are different,
+you should rewrite the autogen script when need.
+

Modified: trunk/src/target/OM-2007/applications/openmoko-appmanager/src/appmanager-data.c
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-appmanager/src/appmanager-data.c	2007-03-19 06:48:19 UTC (rev 1402)
+++ trunk/src/target/OM-2007/applications/openmoko-appmanager/src/appmanager-data.c	2007-03-19 06:55:14 UTC (rev 1403)
@@ -37,6 +37,7 @@
 
   data->mwindow = NULL;
   data->filtermenu = NULL;
+  data->menubox = NULL;
   data->selectmenu = NULL;
   data->searchentry = NULL;
   data->tvpkglist = NULL;
@@ -99,6 +100,20 @@
 }
 
 /**
+ * @brief Set the menubox to the application manager data
+ * @param appdata The application manager data struct
+ * @param menubox The menubox
+ */
+void
+application_manager_data_set_menubox (ApplicationManagerData *appdata,
+                                      GtkWidget              * menubox)
+{
+  g_return_if_fail (MOKO_IS_APPLICATION_MANAGER_DATA (appdata));
+
+  appdata->menubox = menubox;
+}
+
+/**
  * @brief Set the select menu to the application manager data
  * @param appdata The application manager data struct
  * @param selectmenu The select menu
@@ -385,6 +400,19 @@
   return appdata->filtermenu;
 }
 
+/*
+ * @brief Get the menubox from the application manager data
+ * @param appdata The application manager data
+ * @return The menubox
+ */
+GtkWidget *
+application_manager_get_menubox (ApplicationManagerData *appdata)
+{
+  g_return_val_if_fail (MOKO_IS_APPLICATION_MANAGER_DATA (appdata), NULL);
+
+  return appdata->menubox;
+}
+
 /**
  * @brief Get the select menu from the application manager data
  * @param appdata The application manager data

Modified: trunk/src/target/OM-2007/applications/openmoko-appmanager/src/appmanager-data.h
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-appmanager/src/appmanager-data.h	2007-03-19 06:48:19 UTC (rev 1402)
+++ trunk/src/target/OM-2007/applications/openmoko-appmanager/src/appmanager-data.h	2007-03-19 06:55:14 UTC (rev 1403)
@@ -56,17 +56,18 @@
 
   MokoPanedWindow  *mwindow;           /* The main window */
   GtkMenu          *filtermenu;        /* The filter menu */
+  GtkWidget        *menubox;           /* The menubox */
   GtkMenu          *selectmenu;        /* The select menu */
   GtkEntry         *searchentry;       /* The search entry */
   GtkWidget        *tvpkglist;         /* The treeview of the package list */
   GtkWidget        *tvdetail;          /* The textview of the details info */
-  gpointer         pkglist;            /* The package list get from lib ipkg */
-  gpointer         sectionlist;        /* The section list parse from the package list */
-  gpointer         installedlist;      /* The list of all installed packages */
-  gpointer         upgradelist;        /* The list of all upgradeable packages */
-  gpointer         selectedlist;       /* The list of packages that user selected */
-  gpointer         nosecpkglist;       /* The list of packages whose section name is NULL */
-  gpointer         currentlist;        /* The current list that display on the navigation list */
+  gpointer          pkglist;           /* The package list get from lib ipkg */
+  gpointer          sectionlist;       /* The section list parse from the package list */
+  gpointer          installedlist;     /* The list of all installed packages */
+  gpointer          upgradelist;       /* The list of all upgradeable packages */
+  gpointer          selectedlist;      /* The list of packages that user selected */
+  gpointer          nosecpkglist;      /* The list of packages whose section name is NULL */
+  gpointer          currentlist;       /* The current list that display on the navigation list */
   GdkPixbuf        *statuspix[N_COUNT_PKG_STATUS];    /* The all pixbufs that need by the package list store */
   gchar            *searchhistory;     /* The search history */
   GtkWidget        *installdialog;     /* The install dialog */
@@ -90,6 +91,9 @@
 void application_manager_data_set_filter_menu (ApplicationManagerData *appdata,
                                                GtkMenu *filtermenu);
 
+void application_manager_data_set_menubox (ApplicationManagerData *appdata,
+                                           GtkWidget *menubox);
+
 void application_manager_data_set_select_menu (ApplicationManagerData *appdata,
                                                GtkMenu *selectmenu);
 
@@ -137,6 +141,9 @@
 GtkMenu *
      application_manager_get_filter_menu (ApplicationManagerData *appdata);
 
+GtkWidget *
+     application_manager_get_menubox (ApplicationManagerData *appdata);
+
 GtkMenu *
      application_manager_get_select_menu (ApplicationManagerData *appdata);
 

Modified: trunk/src/target/OM-2007/applications/openmoko-appmanager/src/appmanager-window.c
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-appmanager/src/appmanager-window.c	2007-03-19 06:48:19 UTC (rev 1402)
+++ trunk/src/target/OM-2007/applications/openmoko-appmanager/src/appmanager-window.c	2007-03-19 06:55:14 UTC (rev 1403)
@@ -49,8 +49,10 @@
   MokoToolBox     *toolbox;
   GtkWidget       *detail;
 
-  gint            ret;
+  GtkWidget       *menubox;
 
+  gint             ret;
+
   g_debug ("appplication manager start up");
 
   gtk_init (&argc, &argv);
@@ -85,6 +87,10 @@
   gtk_widget_show (GTK_WIDGET (selectmenu));
   application_manager_data_set_select_menu (appdata, selectmenu);
 
+  /* Save the menubox to the application manager data */
+  menubox = moko_paned_window_get_menubox (window);
+  application_manager_data_set_menubox (appdata, menubox);
+
   navigation = navigation_area_new (appdata);
   moko_paned_window_set_upper_pane (window, navigation);
 
@@ -108,8 +114,12 @@
       return -1;
     }
 
+  /* Add section list to the filter menu */
   package_list_add_section_to_filter_menu (appdata);
 
+  /* Show the installed package list at initialization */
+  filter_menu_show_install_list (appdata);
+
   gtk_widget_show_all (GTK_WIDGET (window));
   g_debug ("application manager enter main loop");
   gtk_main ();

Modified: trunk/src/target/OM-2007/applications/openmoko-appmanager/src/filter-menu.c
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-appmanager/src/filter-menu.c	2007-03-19 06:48:19 UTC (rev 1402)
+++ trunk/src/target/OM-2007/applications/openmoko-appmanager/src/filter-menu.c	2007-03-19 06:55:14 UTC (rev 1403)
@@ -27,7 +27,7 @@
 /**
  * @brief The callback function of the search result menuitem.
  */
-void 
+static void 
 on_search_result_activate (GtkMenuItem *menuitem, gpointer userdata)
 {
   g_debug ("Clicked the search result menuitem");
@@ -36,7 +36,7 @@
 /**
  * @brief The callback function of the installed menuitem.
  */
-void 
+static void 
 on_installed_activate (GtkMenuItem *menuitem, gpointer userdata)
 {
   gpointer     pkglist;
@@ -45,16 +45,17 @@
   g_debug ("Clicked the installed menuitem");
 
   pkglist = application_manager_data_get_installedlist (
-                      MOKO_APPLICATION_MANAGER_DATA (userdata));
+                    MOKO_APPLICATION_MANAGER_DATA (userdata));
 
-  navigation_area_refresh_with_package_list (MOKO_APPLICATION_MANAGER_DATA (userdata),
-                                             pkglist);
+  navigation_area_refresh_with_package_list (
+          MOKO_APPLICATION_MANAGER_DATA (userdata),
+          pkglist);
 }
 
 /**
  * @brief The callback function of the upgradeable menuitem.
  */
-void 
+static void 
 on_upgradeable_activate (GtkMenuItem *menuitem, gpointer userdata)
 {
   gpointer     pkglist;
@@ -63,16 +64,17 @@
   g_debug ("Clicked the upgradeable menuitem");
 
   pkglist = application_manager_data_get_upgradelist (
-                      MOKO_APPLICATION_MANAGER_DATA (userdata));
+                    MOKO_APPLICATION_MANAGER_DATA (userdata));
 
-  navigation_area_refresh_with_package_list (MOKO_APPLICATION_MANAGER_DATA (userdata),
-                                             pkglist);
+  navigation_area_refresh_with_package_list (
+          MOKO_APPLICATION_MANAGER_DATA (userdata),
+          pkglist);
 }
 
 /**
  * @brief The callback function of the selected menuitem.
  */
-void 
+static void 
 on_selected_activate (GtkMenuItem *menuitem, gpointer userdata)
 {
   gpointer     pkglist;
@@ -81,10 +83,11 @@
   g_debug ("Click the selected menuitem");
 
   pkglist = application_manager_data_get_selectedlist (
-                      MOKO_APPLICATION_MANAGER_DATA (userdata));
+                    MOKO_APPLICATION_MANAGER_DATA (userdata));
 
-  navigation_area_refresh_with_package_list (MOKO_APPLICATION_MANAGER_DATA (userdata),
-                                             pkglist);
+  navigation_area_refresh_with_package_list (
+          MOKO_APPLICATION_MANAGER_DATA (userdata),
+          pkglist);
 }
 
 /**
@@ -116,15 +119,17 @@
       return;
     }
 
-  pkglist = package_list_get_with_name (MOKO_APPLICATION_MANAGER_DATA (userdata),
-                                        secname);
+  pkglist = package_list_get_with_name (
+          MOKO_APPLICATION_MANAGER_DATA (userdata),
+          secname);
   if (pkglist == NULL)
     {
       g_debug ("Can not find the section that named:%s", secname);
       return;
     }
-  navigation_area_refresh_with_package_list (MOKO_APPLICATION_MANAGER_DATA (userdata),
-                                             pkglist);
+  navigation_area_refresh_with_package_list (
+          MOKO_APPLICATION_MANAGER_DATA (userdata),
+          pkglist);
 }
 
 /**
@@ -183,7 +188,8 @@
  * @param name The label name of the menu item
  */
 void 
-filter_menu_add_item (GtkMenu *filtermenu, const gchar *name, 
+filter_menu_add_item (GtkMenu                *filtermenu, 
+                      const gchar            *name, 
                       ApplicationManagerData *appdata)
 {
   GtkWidget *dymenuitem;
@@ -199,3 +205,27 @@
 
 }
 
+/*
+ * @brief Show the installed packages list after initialization or reinitialization
+ * @param appdata The application manager data
+ */
+void
+filter_menu_show_install_list (ApplicationManagerData *appdata)
+{
+  gpointer     pkglist;
+  MokoMenuBox *menubox;
+
+  g_return_if_fail (MOKO_IS_APPLICATION_MANAGER_DATA (appdata));
+
+  pkglist = application_manager_data_get_installedlist (
+                    MOKO_APPLICATION_MANAGER_DATA (appdata));
+
+  navigation_area_refresh_with_package_list (
+          MOKO_APPLICATION_MANAGER_DATA (appdata),
+          pkglist);
+
+  menubox = MOKO_MENU_BOX (application_manager_get_menubox (appdata));
+
+  g_return_if_fail (IS_MOKO_MENU_BOX (menubox));
+  moko_menu_box_set_active_filter (menubox, _("Installed"));
+}

Modified: trunk/src/target/OM-2007/applications/openmoko-appmanager/src/filter-menu.h
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-appmanager/src/filter-menu.h	2007-03-19 06:48:19 UTC (rev 1402)
+++ trunk/src/target/OM-2007/applications/openmoko-appmanager/src/filter-menu.h	2007-03-19 06:55:14 UTC (rev 1403)
@@ -30,5 +30,8 @@
 void filter_menu_add_item (GtkMenu *filtermenu, const gchar *name,
                            ApplicationManagerData *appdata);
 
+void
+filter_menu_show_install_list (ApplicationManagerData *appdata);
+
 #endif
 

Modified: trunk/src/target/OM-2007/applications/openmoko-appmanager/src/package-list.c
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-appmanager/src/package-list.c	2007-03-19 06:48:19 UTC (rev 1402)
+++ trunk/src/target/OM-2007/applications/openmoko-appmanager/src/package-list.c	2007-03-19 06:55:14 UTC (rev 1403)
@@ -1403,17 +1403,19 @@
             break;
 
           default :
+            ret = -1;
             break;
-          if (ret == 0)
+
+        }
+      if (ret == 0)
+        {
+          change = TRUE;
+          if (newname != NULL)
             {
-              change = TRUE;
-              if (newname != NULL)
-                {
-                  g_debug ("free new name");
-                  free (newname);
-                  g_debug ("free new name success");
-                  newname = NULL;
-                }
+              g_debug ("free new name");
+              free (newname);
+              g_debug ("free new name success");
+              newname = NULL;
             }
         }
       tmplist = tmplist->next;





More information about the commitlog mailing list