Changeset 3431


Ignore:
Timestamp:
11/16/07 14:23:01 (6 years ago)
Author:
thomas
Message:
  • 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

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

Legend:

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

    r3426 r3431  
     12007-11-16  Thomas Wood  <thomas@openedhand.com> 
     2 
     3        * src/appmanager-data.h: 
     4        * src/appmanager-window.c: (main): 
     5        * src/navigation-area.c: (model_filter_func): 
     6        * src/search-bar.c: (text_changed_cb), (combo_changed_cb), 
     7        (slist_insert), (search_bar_new): 
     8        * src/search-bar.h: 
     9 
     10        Implement Installed/Not Installed filtering 
     11 
    1122007-11-14  Thomas Wood  <thomas@openedhand.com> 
    213 
  • trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/src/appmanager-data.h

    r3385 r3431  
    7777  GtkWidget        *searchbar; 
    7878  /* these are used to optimise the filter function */ 
    79   gboolean          searchbar_name_search; 
     79  gint              searchbar_search_type; 
    8080  const gchar      *searchbar_needle; 
    8181} ApplicationManagerData; 
     
    8888} ApplicationManagerDataClass; 
    8989 
     90enum { 
     91  SEARCH_ON_SECTION, 
     92  SEARCH_ON_STATUS, 
     93  SEARCH_ON_NAME 
     94}; 
     95 
    9096GType application_manager_data_get_type (void); 
    9197 
  • trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/src/appmanager-window.c

    r3382 r3431  
    7474 
    7575  window = gtk_window_new (GTK_WINDOW_TOPLEVEL); 
     76  gtk_widget_set_size_request (window, 400, 600); 
    7677  g_signal_connect (G_OBJECT (window), "delete_event", 
    7778                    G_CALLBACK (gtk_main_quit), NULL); 
  • trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/src/navigation-area.c

    r3385 r3431  
    8585 
    8686  
    87   if (data->searchbar_name_search) 
     87  if (data->searchbar_search_type == SEARCH_ON_SECTION) 
    8888  { 
    8989    return (strstr (pkg->name, data->searchbar_needle) != NULL); 
    9090  } 
    91   else 
     91  else if (data->searchbar_search_type == SEARCH_ON_NAME) 
    9292  { 
    9393    return (!strcmp (pkg->section, data->searchbar_needle)); 
    9494  } 
    95    
     95  else if (data->searchbar_search_type == SEARCH_ON_STATUS) 
     96  { 
     97    return (pkg->state_status == GPOINTER_TO_INT (data->searchbar_needle)); 
     98  } 
     99 
     100  return FALSE; 
    96101 
    97102} 
  • trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/src/search-bar.c

    r3426 r3431  
    4242  needle = gtk_entry_get_text (entry); 
    4343  
    44   data->searchbar_name_search = TRUE; 
     44  data->searchbar_search_type = SEARCH_ON_NAME; 
    4545  data->searchbar_needle = needle; 
    4646 
     
    6060  GtkTreeIter cb_iter; 
    6161  GtkTreeModel *cb_model; 
     62  gint active; 
    6263 
    6364  if (!combo) 
    6465    combo = moko_search_bar_get_combo_box (MOKO_SEARCH_BAR (data->searchbar)); 
    6566 
    66   if (!gtk_combo_box_get_active_iter (combo, &cb_iter)) 
     67  active = gtk_combo_box_get_active (combo); 
     68     
     69  if (active < 0) 
    6770    return; 
    68  
    69   cb_model = gtk_combo_box_get_model (combo); 
    70   gtk_tree_model_get (cb_model, &cb_iter, 0, &needle, -1); 
    71    
    72   data->searchbar_name_search = FALSE; 
    73   data->searchbar_needle = needle; 
    74  
    75    
     71   
     72  if (active <= 1) 
     73  { 
     74    data->searchbar_search_type = SEARCH_ON_STATUS; 
     75    if (active == FILTER_INSTALLED) 
     76      data->searchbar_needle = GINT_TO_POINTER (SS_INSTALLED); 
     77    else 
     78      data->searchbar_needle = GINT_TO_POINTER (SS_NOT_INSTALLED); 
     79  } 
     80  else 
     81  { 
     82     
     83    if (!gtk_combo_box_get_active_iter (combo, &cb_iter)) 
     84      return; 
     85 
     86    cb_model = gtk_combo_box_get_model (combo); 
     87    gtk_tree_model_get (cb_model, &cb_iter, 0, &needle, -1); 
     88     
     89    data->searchbar_search_type = SEARCH_ON_SECTION; 
     90    data->searchbar_needle = needle; 
     91  } 
     92 
    7693  filter = gtk_tree_view_get_model (GTK_TREE_VIEW (data->tvpkglist)); 
    7794  gtk_tree_model_filter_refilter (GTK_TREE_MODEL_FILTER (filter)); 
     
    145162 
    146163  gtk_list_store_insert_with_values (filter, NULL, FILTER_INSTALLED, 0, "Installed", -1); 
    147   gtk_list_store_insert_with_values (filter, NULL, FILTER_UPGRADEABLE, 0, "Upgradeable", -1); 
     164  gtk_list_store_insert_with_values (filter, NULL, FILTER_NOT_INSTALLED, 0, "Not Installed", -1); 
    148165  gtk_list_store_insert_with_values (filter, NULL, 3, 0, NULL, -1); 
    149166 
  • trunk/src/target/OM-2007.2/applications/openmoko-appmanager2/src/search-bar.h

    r3380 r3431  
    2626{ 
    2727  FILTER_INSTALLED, 
    28   FILTER_UPGRADEABLE, 
     28  FILTER_NOT_INSTALLED, 
    2929  FILTER_SELECTED 
    3030} SearchBarFilter; 
Note: See TracChangeset for help on using the changeset viewer.