Changeset 4423


Ignore:
Timestamp:
05/09/08 18:13:50 (5 years ago)
Author:
thomas
Message:

2008-05-09 Thomas Wood <thomas@…>

  • configure.ac:
  • src/Makefile.am:
  • src/appmanager-data.c: (application_manager_data_init):
  • src/appmanager-data.h:
  • src/appmanager-window.c: (main):
  • src/detail-area.c: (detail_area_new), (format_depends_list), (detail_area_update_info):
  • src/detail-area.h:
  • src/navigation-area.c: (on_selection_changed), (model_filter_func):
  • src/package-store.c:
  • src/package-store.h:
  • src/search-bar.c: (combo_changed_cb), (searchbar_toggled_cb), (search_bar_new):
  • src/tool-box.c: (on_upgrade_clicked), (on_install_clicked), (on_remove_clicked):

Convert to libopkg API

Location:
trunk/src/target/OM-2007.2/applications/openmoko-appmanager2
Files:
13 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/ChangeLog

    r3442 r4423  
     12008-05-09  Thomas Wood  <thomas@openedhand.com> 
     2 
     3        * configure.ac: 
     4        * src/Makefile.am: 
     5        * src/appmanager-data.c: (application_manager_data_init): 
     6        * src/appmanager-data.h: 
     7        * src/appmanager-window.c: (main): 
     8        * src/detail-area.c: (detail_area_new), (format_depends_list), 
     9        (detail_area_update_info): 
     10        * src/detail-area.h: 
     11        * src/navigation-area.c: (on_selection_changed), 
     12        (model_filter_func): 
     13        * src/package-store.c: 
     14        * src/package-store.h: 
     15        * src/search-bar.c: (combo_changed_cb), (searchbar_toggled_cb), 
     16        (search_bar_new): 
     17        * src/tool-box.c: (on_upgrade_clicked), (on_install_clicked), 
     18        (on_remove_clicked): 
     19 
     20        Convert to libopkg API 
     21 
    1222007-11-19  Thomas Wood  <thomas@openedhand.com> 
    223 
  • trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/configure.ac

    r3090 r4423  
    1414PKG_CHECK_MODULES(OPENMOKO, libmokoui2,, 
    1515                 AC_MSG_ERROR([*** Required OpenMoko Libraries not installed ***])) 
    16 PKG_CHECK_MODULES(LIBIPKG, libipkg,, 
    17                 exit) 
    18 PKG_CHECK_MODULES(GTHREAD, gthread-2.0,, 
    19                 exit) 
    20 LIBS="$LIBS $GTK_LIBS $LIBIPKG_LIBS $GTHREAD_LIBS" 
    21 CFLAGS="$CFLAGS $OPENMOKO_CFLAGS $LIBIPKG_CFLAGS -DIPKG_LIB" 
     16PKG_CHECK_MODULES(LIBOPKG, libopkg = 0.1.3) 
     17PKG_CHECK_MODULES(GTHREAD, gthread-2.0) 
     18LIBS="$LIBS $GTK_LIBS $LIBOPKG_LIBS $GTHREAD_LIBS" 
     19CFLAGS="$CFLAGS $OPENMOKO_CFLAGS $LIBOPKG_CFLAGS -DOPKG_LIB" 
    2220 
    2321# output stuff 
  • trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/src/Makefile.am

    r3380 r4423  
    44 
    55openmoko_appmanager_SOURCES = appmanager-window.c\ 
    6                               ipkgapi.c\ 
    76                              navigation-area.c\ 
    87                              tool-box.c\ 
     
    1211                              install-dialog.c \ 
    1312                              search-bar.c \ 
    14                               ipkg-utils.c \ 
    1513                              am-progress-dialog.c \ 
    1614                              package-store.c  
  • trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/src/appmanager-data.c

    r3380 r4423  
    6060  data->searchhistory = NULL; 
    6161 
     62  data->opkg = opkg_new (); 
     63#if 0 
     64  opkg_set_option (data->opkg, "offline_root", "/tmp"); 
     65  opkg_re_read_config_files (data->opkg); 
     66#endif 
    6267} 
    6368 
  • trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/src/appmanager-data.h

    r3431 r4423  
    2222 
    2323#include <gtk/gtk.h> 
     24#include <libopkg/opkg.h> 
    2425 
    2526#include "pixbuf-list.h" 
     
    5354typedef struct _ApplicationManagerData { 
    5455  GObject          parent;             /* The parent of the struct */ 
     56 
     57  opkg_t *opkg; 
    5558 
    5659  GtkWidget        *mwindow;           /* The main window */ 
  • trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/src/appmanager-window.c

    r3431 r4423  
    7171 
    7272  /* create the package list store */ 
    73   pkg_list = package_store_new (); 
     73  pkg_list = package_store_new (appdata->opkg); 
    7474 
    7575  window = gtk_window_new (GTK_WINDOW_TOPLEVEL); 
  • trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/src/detail-area.c

    r3382 r4423  
    2121 
    2222#include <moko-finger-scroll.h> 
     23#include <libopkg/opkg.h> 
    2324 
    2425#include "detail-area.h" 
    2526#include "navigation-area.h" 
    26  
    27 #include "ipkgapi.h" 
    2827 
    2928/* 
     
    5655} 
    5756 
     57#if 0 
    5858/* 
    5959 * @brief Format the depends list of package. 
     
    8484  dest[i] = 0; 
    8585} 
    86  
     86#endif 
    8787/* 
    8888 * @brief Update the detail area infomation base on the package that selected 
     
    9292void  
    9393detail_area_update_info (ApplicationManagerData *appdata,  
    94                          IPK_PACKAGE *pkg) 
     94                         opkg_package_t *pkg) 
    9595{ 
    9696  GtkWidget      *textview; 
     
    100100  GtkTextTagTable   *tagtable; 
    101101  gint           pstart, pend; 
    102   char           *depends; 
     102  /* char           *depends; */ 
    103103 
    104104  g_debug ("Update the info in the detail area"); 
     
    182182 
    183183  /* Set the depends */ 
     184  /* XXX: doeso the user really care about depends? 
    184185  depends = pkg->depends; 
    185186  if (depends != NULL) 
     
    207208      g_free (dep); 
    208209    } 
     210    */ 
    209211  if (pix) 
    210212    g_object_unref (pix); 
  • trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/src/detail-area.h

    r3380 r4423  
    2222 
    2323#include <gtk/gtk.h> 
     24#include <libopkg/opkg.h> 
    2425 
    2526#include "appmanager-data.h" 
    26 #include "ipkgapi.h" 
    2727 
    2828GtkWidget *detail_area_new (ApplicationManagerData *appdata); 
    2929 
    3030void detail_area_update_info (ApplicationManagerData *appdata,  
    31                               IPK_PACKAGE *pkg); 
     31                              opkg_package_t *pkg); 
    3232 
    3333#endif 
  • trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/src/navigation-area.c

    r3440 r4423  
    2828#include "package-store.h" 
    2929#include "select-menu.h" 
    30  
    31 #include "ipkgapi.h" 
     30#include <libopkg/opkg.h> 
     31 
    3232 
    3333/* 
     
    4040  GtkTreeModel     *model; 
    4141  GtkTreeIter      iter; 
    42   IPK_PACKAGE      *pkg; 
     42  opkg_package_t   *pkg; 
    4343 
    4444  g_debug ("Call the on_treeview_cursor_changed"); 
     
    4949    detail_area_update_info (data, pkg); 
    5050     
    51     if (pkg->state_status == SS_INSTALLED) 
     51    if (pkg->installed) 
    5252    { 
    5353      gtk_widget_set_sensitive (GTK_WIDGET (data->install_btn), FALSE); 
     
    7474model_filter_func (GtkTreeModel *model, GtkTreeIter *iter, ApplicationManagerData *data) 
    7575{ 
    76   IPK_PACKAGE *pkg; 
     76  opkg_package_t *pkg; 
    7777   
    7878  if (!data->searchbar_needle) 
     
    8787  if (data->searchbar_search_type == SEARCH_ON_SECTION) 
    8888  { 
    89     return (g_str_equal (pkg->section, data->searchbar_needle)); 
     89    /* return (g_str_equal (pkg->section, data->searchbar_needle)); */ 
     90    /* FIXME: search on group tag? */ 
    9091  } 
    9192  else if (data->searchbar_search_type == SEARCH_ON_NAME) 
     
    99100  else if (data->searchbar_search_type == SEARCH_ON_STATUS) 
    100101  { 
    101     return (pkg->state_status == GPOINTER_TO_INT (data->searchbar_needle)); 
     102    return (pkg->installed == GPOINTER_TO_INT (data->searchbar_needle)); 
    102103  } 
    103104 
  • trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/src/package-store.c

    r3384 r4423  
    1919 
    2020#include "package-store.h" 
    21 #include "ipkgapi.h" 
     21#include <libopkg/opkg.h> 
    2222#include <glib.h> 
    2323 
     24void 
     25opkg_package_callback (opkg_t *opkg, opkg_package_t *pkg, void *user_data) 
     26{ 
     27  GtkListStore *store = GTK_LIST_STORE (user_data); 
     28 
     29  gtk_list_store_insert_with_values (store, NULL, -1, 
     30                                     COL_STATUS, pkg->installed, 
     31                                     COL_NAME, pkg->name, 
     32                                     COL_POINTER, pkg, 
     33                                     -1); 
     34} 
     35 
    2436GtkTreeModel * 
    25 package_store_new () 
     37package_store_new (opkg_t *opkg) 
    2638{ 
    2739  GtkListStore *store; 
    28   IPK_PACKAGE *pkg; 
    29   PKG_LIST_HEAD list; 
    30   int ret; 
    31   GRegex *regex; 
    32    
    33   ipkg_initialize (0); 
    3440   
    3541  /* status, name, size, pkg */ 
     
    3743                              G_TYPE_STRING, G_TYPE_POINTER); 
    3844 
    39   ret = ipkg_list_available_cmd (&list); 
    40   g_return_val_if_fail (ret >= 0, NULL); 
    41    
    42   pkg = list.pkg_list; 
    43    
    44   regex = g_regex_new ("(-doc$|-dev$|-dbg$|-locale)", G_REGEX_OPTIMIZE, 0, NULL); 
    45    
    46   while (pkg) 
    47   { 
    48     if (!g_regex_match (regex, pkg->name, 0, NULL)) 
    49       gtk_list_store_insert_with_values (store, NULL, -1, 
    50                                        COL_STATUS, pkg->state_status, 
    51                                        COL_NAME, pkg->name, 
    52                                        COL_POINTER, pkg, 
    53                                        -1); 
    54     pkg = pkg->next; 
    55   } 
    56    
    57   g_regex_unref (regex); 
     45  opkg_list_packages (opkg, opkg_package_callback, store); 
    5846 
    5947  return GTK_TREE_MODEL (store); 
  • trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/src/package-store.h

    r3381 r4423  
    2222 
    2323#include <gtk/gtk.h> 
     24#include <libopkg/opkg.h> 
    2425 
    2526enum { 
     
    3132 
    3233 
    33 GtkTreeModel * package_store_new (); 
     34GtkTreeModel * package_store_new (opkg_t *opkg); 
    3435 
    3536#endif /* PACKAGE_STORE_H */ 
  • trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/src/search-bar.c

    r3441 r4423  
    2222#include "package-store.h" 
    2323 
    24 #include "ipkgapi.h" 
     24#include <libopkg/opkg.h> 
    2525 
    2626static gboolean 
     
    9292    data->searchbar_search_type = SEARCH_ON_STATUS; 
    9393    if (active == FILTER_INSTALLED) 
    94       data->searchbar_needle = GINT_TO_POINTER (SS_INSTALLED); 
     94      data->searchbar_needle = GINT_TO_POINTER (1); 
    9595    else 
    96       data->searchbar_needle = GINT_TO_POINTER (SS_NOT_INSTALLED); 
     96      data->searchbar_needle = GINT_TO_POINTER (0); 
    9797  } 
    9898  else 
     
    125125    combo_changed_cb (searchbar, NULL, data); 
    126126} 
    127  
     127/* 
    128128gboolean 
    129129section_search_hash (GtkTreeModel *model, GtkTreePath *path, GtkTreeIter *iter, GHashTable *hash) 
    130130{ 
    131   IPK_PACKAGE *pkg; 
     131  opkg_package_t *pkg; 
    132132 
    133133  gtk_tree_model_get (model, iter, COL_POINTER, &pkg, -1); 
     
    151151section_search_slist (GtkTreeModel *model, GtkTreePath *path, GtkTreeIter *iter, GSList **head) 
    152152{ 
    153   IPK_PACKAGE *pkg; 
     153  opkg_package_t *pkg; 
    154154 
    155155  gtk_tree_model_get (model, iter, COL_POINTER, &pkg, -1); 
     
    163163  return FALSE; 
    164164} 
    165  
     165*/ 
    166166void 
    167167slist_insert (gchar *value, GtkListStore *list) 
     
    178178  GtkCellRenderer *renderer; 
    179179  /* GHashTable *hash; */ 
    180   GSList *slist = NULL; 
     180  /* GSList *slist = NULL; */ 
    181181 
    182182  filter = gtk_list_store_new (1, G_TYPE_STRING); 
     
    194194  g_hash_table_unref (hash); 
    195195#endif 
    196    
     196 /*  
    197197  gtk_tree_model_foreach (pkg_list, (GtkTreeModelForeachFunc) section_search_slist, &slist); 
    198198  slist = g_slist_sort (slist, (GCompareFunc) strcmp); 
    199199  g_slist_foreach (slist, (GFunc) slist_insert, filter); 
    200200  g_slist_free (slist); 
    201  
     201*/ 
    202202   
    203203  renderer = gtk_cell_renderer_text_new (); 
  • trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/src/tool-box.c

    r3442 r4423  
    3333on_upgrade_clicked (GtkButton *bupgrade, gpointer data) 
    3434{ 
     35 /*  
    3536  GList *list; 
    3637  int upgrades; 
    37    
    3838  update_package_list (data); 
    3939   
     
    6060  g_list_free (list); 
    6161   
    62   /* 
    63   GtkWidget *dialog; 
    64  
    65   g_debug ("Clicked the button upgrade"); 
    66   package_list_mark_all_upgradeable (MOKO_APPLICATION_MANAGER_DATA (data)); 
    67   navigation_area_rebuild_from_latest (MOKO_APPLICATION_MANAGER_DATA (data)); 
    68  
    69   g_debug ("Create a dialog"); 
    70   dialog = gtk_message_dialog_new (NULL, 
    71                                    GTK_DIALOG_DESTROY_WITH_PARENT, 
    72                                    GTK_MESSAGE_INFO, 
    73                                    GTK_BUTTONS_OK, 
    74                                    _("Marked all upgradeable packages")); 
    75   gtk_dialog_run (GTK_DIALOG (dialog)); 
    76   gtk_widget_destroy (dialog); 
    77   g_debug ("destroy a dialog"); 
    7862  */ 
    7963} 
     
    8771  GtkTreeIter iter; 
    8872  gchar *name; 
     73  GtkWidget *dialog; 
    8974   
    9075  sel = gtk_tree_view_get_selection (GTK_TREE_VIEW (data->tvpkglist)); 
     
    9580  gtk_tree_model_get (model, &iter, COL_NAME, &name, -1); 
    9681   
    97   install_package (data, name); 
     82  if (opkg_install_package (data->opkg, name, NULL, NULL) == 0) 
     83    dialog = gtk_message_dialog_new (NULL,0, GTK_MESSAGE_INFO, GTK_BUTTONS_OK, "%s was installed", name); 
     84  else 
     85    dialog = gtk_message_dialog_new (NULL,0, GTK_MESSAGE_INFO, GTK_BUTTONS_OK, "%s could not be installed", name); 
     86  gtk_dialog_run (GTK_DIALOG (dialog)); 
     87  gtk_widget_destroy (dialog); 
    9888} 
    9989 
     
    10595  GtkTreeIter iter; 
    10696  gchar *name; 
     97  GtkWidget *dialog; 
    10798   
    10899  sel = gtk_tree_view_get_selection (GTK_TREE_VIEW (data->tvpkglist)); 
     
    113104  gtk_tree_model_get (model, &iter, COL_NAME, &name, -1); 
    114105   
    115   remove_package (data, name); 
     106  if (opkg_remove_package (data->opkg, name, NULL, NULL) == 0) 
     107    dialog = gtk_message_dialog_new (NULL,0, GTK_MESSAGE_INFO, GTK_BUTTONS_OK, "%s was removed", name); 
     108  else 
     109    dialog = gtk_message_dialog_new (NULL,0, GTK_MESSAGE_INFO, GTK_BUTTONS_OK, "%s could not be removed", name); 
     110  gtk_dialog_run (GTK_DIALOG (dialog)); 
     111  gtk_widget_destroy (dialog); 
     112 
    116113} 
    117114 
Note: See TracChangeset for help on using the changeset viewer.