/[gtktalog]/gtktalog/src/setup.c
ViewVC logotype

Diff of /gtktalog/src/setup.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.15 by chevdor, Wed Feb 19 00:30:13 2003 UTC revision 1.16 by chevdor, Sat Mar 29 01:37:48 2003 UTC
# Line 170  GTree *local_extensions; Line 170  GTree *local_extensions;
170  GTree *local_vfs_extensions;  GTree *local_vfs_extensions;
171  GTree *local_ei_extensions;  GTree *local_ei_extensions;
172    
173    struct_mime_type_to_skip mime_type_to_skip_current_selection;
174    
175  gchar *date_format;  gchar *date_format;
176  gchar *mount_prog;  gchar *mount_prog;
177  gchar *umount_prog;  gchar *umount_prog;
# Line 298  new_pix_from_filename (GtkWidget * w, Gt Line 300  new_pix_from_filename (GtkWidget * w, Gt
300        // this needs a little work...        // this needs a little work...
301        pix->icon = gdk_pixbuf_new_from_file(pix->path->str, NULL);        pix->icon = gdk_pixbuf_new_from_file(pix->path->str, NULL);
302    
303        g_print("added %s from file\n", pix->path->str);        //g_print("added %s from file\n", pix->path->str);
304                
305                                
306        if (pix->pixmap)        if (pix->pixmap)
# Line 1910  ess_free (GTree * ess) Line 1912  ess_free (GTree * ess)
1912    
1913  // WK  // WK
1914  gint  gint
1915  find_mime_type(gconstpointer el1,  find_mime_type(struct_mime_type_to_skip* el1,
1916                 gconstpointer el2)                 struct_mime_type_to_skip* el2)
1917  {  {
1918    return g_strcasecmp(((struct_mime_type_to_skip*)el1)->mime_type,    // el1 = GList*
1919                        ((struct_mime_type_to_skip*)el2)->mime_type);    // el2 = struct_mime_type_to_skip*
1920    
1921      gchar* str1;
1922      gchar* str2;
1923    
1924      str1 = el1->mime_type;
1925      str2 = el2->mime_type;
1926    
1927      g_print("compare : str1=%s   str2=%s\n", str1, str2);
1928    
1929      return g_strcasecmp(str1, str2);
1930  }  }
1931    
1932  // WK : to modify  // WK : to modify
# Line 1922  void Line 1934  void
1934  ess_add_type_ok_clicked (GtkWidget * w, gpointer data)  ess_add_type_ok_clicked (GtkWidget * w, gpointer data)
1935  {  {
1936    GList* el;    GList* el;
1937    struct_mime_type_to_skip temp_extension;    struct_mime_type_to_skip *temp_extension;
1938    GtkTreeModel* model;    GtkTreeIter iter;
1939    
1940      GtkTreeModel *model; // = (GtkTreeModel *)data;
1941    
1942      //gtk_list_store_append (GTK_LIST_STORE (model), &iter);
1943      //gtk_list_store_set (GTK_LIST_STORE (model), &iter,
1944      //          MIME_TYPES_TO_SKIP_COLUMN_STATE, 1,
1945      //          MIME_TYPES_TO_SKIP_COLUMN_MIME_TYPE, "sss",
1946      //          -1);
1947    
1948    temp_extension.mime_type =    temp_extension=(struct_mime_type_to_skip*)g_new(struct_mime_type_to_skip*,1);
1949    
1950      temp_extension->mime_type =
1951      gtk_editable_get_chars (GTK_EDITABLE (ess_include_type_entry), 0, -1);      gtk_editable_get_chars (GTK_EDITABLE (ess_include_type_entry), 0, -1);
1952    
1953    if (!is_mime_valid (temp_extension.mime_type))    if (!is_mime_valid (temp_extension->mime_type))
1954      {      {
1955        ERROR_DIALOG (_        ERROR_DIALOG (_
1956                      ("The specified MIME is not valid. Nothing will be done."),                      ("The specified MIME is not valid. Nothing will be done."),
# Line 1938  ess_add_type_ok_clicked (GtkWidget * w, Line 1960  ess_add_type_ok_clicked (GtkWidget * w,
1960      {      {
1961        // check if temp_extension is part of the Glist (mime_to_skip_during_a_scan)        // check if temp_extension is part of the Glist (mime_to_skip_during_a_scan)
1962        el=g_list_find_custom(my_config->mime_to_skip_during_a_scan,        el=g_list_find_custom(my_config->mime_to_skip_during_a_scan,
1963                              &temp_extension,                              temp_extension,
1964                              find_mime_type);                              (GCompareFunc)find_mime_type);
1965          g_print ("el=%d\n", el);
1966                
1967        if (el)        if (el)
1968          {          {
# Line 1951  ess_add_type_ok_clicked (GtkWidget * w, Line 1974  ess_add_type_ok_clicked (GtkWidget * w,
1974          }          }
1975        else        else
1976          {          {
1977            temp_extension.mime_type = g_strdup (temp_extension.mime_type);            temp_extension->mime_type = g_strdup (temp_extension->mime_type);
1978            temp_extension.state=1;            temp_extension->state=1;
1979    
1980              g_print ("temp_extension=%s | %d\n",temp_extension->mime_type, temp_extension->state);
1981            // insert temp_extension in the tree            // insert temp_extension in the tree
1982            my_config->mime_to_skip_during_a_scan=            my_config->mime_to_skip_during_a_scan=
1983              g_list_append(my_config->mime_to_skip_during_a_scan,              g_list_append(my_config->mime_to_skip_during_a_scan,
1984                            &temp_extension);                            temp_extension);
1985    
1986            model=mime_types_to_skip_create_model();            model=mime_types_to_skip_create_model();
1987            ess_include_list_box = gtk_tree_view_new_with_model (GTK_TREE_MODEL(model));            ess_include_list_box = gtk_tree_view_new_with_model (GTK_TREE_MODEL(model));
1988            //g_tree_insert (local_ess_extensions, temp_extension,            gtk_widget_show(ess_include_list_box);
           //             GINT_TO_POINTER (1));  
           //ess_extensions_traverse (temp_extension, GINT_TO_POINTER (1), NULL);  
1989          }          }
1990      }      }
1991    gtk_widget_destroy (ess_add_type_window);    gtk_widget_destroy (ess_add_type_window);
# Line 2023  ess_add_type (GtkWidget * w, gpointer da Line 2045  ess_add_type (GtkWidget * w, gpointer da
2045    gtk_container_add (GTK_CONTAINER (frame), vbox2);    gtk_container_add (GTK_CONTAINER (frame), vbox2);
2046    gtk_widget_show (vbox2);    gtk_widget_show (vbox2);
2047    
   // XXX  
2048    ess_include_type_entry = gtk_entry_new_with_max_length (80);    ess_include_type_entry = gtk_entry_new_with_max_length (80);
2049        
2050    if (ess_add_edit_mode == EDIT_MODE)    if (ess_add_edit_mode == EDIT_MODE)
# Line 2059  ess_add_type (GtkWidget * w, gpointer da Line 2080  ess_add_type (GtkWidget * w, gpointer da
2080                      ess_include_type_entry);                      ess_include_type_entry);
2081        
2082    gtk_widget_show (guess_button);    gtk_widget_show (guess_button);
2083     //*******************************    //*******************************
2084    
2085    hbox = gtk_hbutton_box_new ();    hbox = gtk_hbutton_box_new ();
2086    gtk_button_box_set_layout (GTK_BUTTON_BOX (hbox), GTK_BUTTONBOX_END);    gtk_button_box_set_layout (GTK_BUTTON_BOX (hbox), GTK_BUTTONBOX_END);
# Line 2108  ess_add_type (GtkWidget * w, gpointer da Line 2129  ess_add_type (GtkWidget * w, gpointer da
2129  /*   ess_selected_row = row; */  /*   ess_selected_row = row; */
2130  /*   clrow_data = gtk_clist_get_row_data (GTK_CLIST (ess_include_list_box), row); */  /*   clrow_data = gtk_clist_get_row_data (GTK_CLIST (ess_include_list_box), row); */
2131  /*   ess_selected_extension = clrow_data; */  /*   ess_selected_extension = clrow_data; */
 /*   gtk_widget_set_sensitive (GTK_WIDGET (ess_button_del), TRUE); */  
2132    
2133  /*   if (event != NULL && event->button == 1 && event->type == GDK_2BUTTON_PRESS) */  /*   if (event != NULL && event->button == 1 && event->type == GDK_2BUTTON_PRESS) */
2134  /*     { */  /*     { */
# Line 2140  ess_add_type (GtkWidget * w, gpointer da Line 2160  ess_add_type (GtkWidget * w, gpointer da
2160  /*   gtk_widget_set_sensitive (GTK_WIDGET (ess_button_del), FALSE); */  /*   gtk_widget_set_sensitive (GTK_WIDGET (ess_button_del), FALSE); */
2161  /* } */  /* } */
2162    
2163    static void mime_type_to_skip_selection_changed(GtkTreeSelection *selection,
2164                                                    gpointer data)
2165    {
2166      GtkTreeModel *model=(GtkTreeModel*)data;
2167      GtkTreeIter iter;
2168      gchar* mime_type;
2169      gint state;
2170      gboolean res;
2171      
2172      res=gtk_tree_selection_get_selected(selection,
2173                                          &model,
2174                                          &iter);
2175      
2176      // if *data is NULL, it means the tree collapses and no data is available
2177      // until the user selects a new row.
2178      if (&iter)
2179        {
2180          gtk_tree_model_get (model,&iter,
2181                              BROWSING_TREE_COLUMN_TITLE, &state,
2182                              BROWSING_TREE_COLUMN_POINTER, &mime_type,
2183                              -1);
2184          gtk_widget_set_sensitive (GTK_WIDGET (ess_button_del), TRUE);
2185    
2186          g_print ("\nselection : %s | %d | stamp = %d\n",mime_type, state, iter.stamp);
2187          mime_type_to_skip_current_selection.mime_type=mime_type;
2188          mime_type_to_skip_current_selection.state=state;
2189        }
2190      else
2191        {
2192          g_print ("\nselection is empty");
2193        }
2194    }
2195    
2196    
2197  static gint  static gint
# Line 2192  ess_include_edit_button_clicked (GtkWidg Line 2244  ess_include_edit_button_clicked (GtkWidg
2244      ess_add_type (w, GINT_TO_POINTER (EDIT_MODE));      ess_add_type (w, GINT_TO_POINTER (EDIT_MODE));
2245  }  }
2246    
2247    void
2248    disp_glist(GList* glist)
2249    {
2250      struct_mime_type_to_skip* item;
2251      GList* tmp;
2252    
2253      tmp=glist;
2254      g_print("\n\n*** LIST: %d items ***",g_list_length(glist));
2255      while (tmp)
2256        {
2257          item=(struct_mime_type_to_skip*)tmp->data;
2258          g_print ("\nMIME:%s   STATE:%d",item->mime_type,item->state);
2259          tmp=g_list_next(tmp);
2260        }
2261      g_print("\n");
2262    }
2263    
2264  // WK  // WK
2265  void  void
2266  ess_include_delete_button_clicked (GtkWidget * w, gpointer data)  ess_include_delete_button_clicked (GtkWidget * w, gpointer data)
2267  {  {
2268    g_message("ess_include_delete_button_clicked to change");    GtkTreeIter iter;
2269    if (ess_selected_row >= 0)    GtkTreeView *tv;
2270      GtkTreeModel *model;
2271      GtkTreeSelection *listSelection;
2272    
2273      struct_mime_type_to_skip* selection;
2274      GList* glist=my_config->mime_to_skip_during_a_scan;
2275      GList* tmp;
2276      int res;
2277      gchar* mime_type=selection->mime_type;
2278      int bol;
2279    
2280      tv = (GtkTreeView *)data;
2281      model = gtk_tree_view_get_model (ess_include_list_box);
2282      listSelection = gtk_tree_view_get_selection (ess_include_list_box);
2283    
2284      g_print("Passed data = %p\n",data);
2285    
2286      if (gtk_tree_selection_get_selected (listSelection, NULL, &iter))
2287          gtk_list_store_remove (GTK_LIST_STORE (model), &iter);
2288    
2289      selection = &mime_type_to_skip_current_selection;
2290      if (selection)
2291      {      {
2292        /* g_tree_remove (local_ess_extensions, ess_selected_extension); */        g_print ("Remove button clicked, str= %s | %d\n", selection->mime_type,selection->state);
2293  /*       g_free (ess_selected_extension); */        disp_glist(glist);
2294  /*       gtk_clist_remove (GTK_CLIST (ess_include_list_box), ess_selected_row); */  
2295  /*       ess_selected_extension = NULL; */        // go thru the glist to find the first type that matches
2296  /*       gtk_clist_remove (GTK_CLIST (ess_include_list_box), ess_selected_row); */        tmp=glist;      
2297  /*       ess_selected_row = -1; */        while (tmp)
2298  /*       gtk_clist_sort (GTK_CLIST (ess_include_list_box)); */          {
2299  /*       gtk_clist_columns_autosize (GTK_CLIST (ess_include_list_box)); */            g_print("compare :\n >%s\n >%s\n",((struct_mime_type_to_skip*)(tmp->data))->mime_type,selection->mime_type);
2300              res=strcmp(((struct_mime_type_to_skip*)(tmp->data))->mime_type,selection->mime_type);
2301              if (!res)
2302                break;
2303              tmp=g_list_next(tmp);
2304            }
2305          g_print ("item found : %p\n",tmp);
2306          
2307          glist = g_list_delete_link(glist, tmp);
2308          disp_glist(glist);
2309          my_config->mime_to_skip_during_a_scan=glist;
2310      }      }
2311  }  }
2312    
# Line 2662  save_myconfig () Line 2762  save_myconfig ()
2762            fprintf (f, "ScanMimeTypes %s\n",            fprintf (f, "ScanMimeTypes %s\n",
2763                     (my_config->scan_mime_types ? "True" : "False"));                     (my_config->scan_mime_types ? "True" : "False"));
2764    
2765              item=my_config->mime_to_skip_during_a_scan;
2766            fprintf (f, "\n# AddMimeToSkip mime state\n");            fprintf (f, "\n# AddMimeToSkip mime state\n");
           item=g_list_first(my_config->mime_to_skip_during_a_scan);  
2767            while (item)            while (item)
2768              {              {
2769                tmp=(struct_mime_type_to_skip *)item->data;                tmp=(struct_mime_type_to_skip *)item->data;
2770                  //g_print ("adding %s\n",tmp->mime_type);
2771                ess_tree_printf(tmp->mime_type, GINT_TO_POINTER(tmp->state), f);                ess_tree_printf(tmp->mime_type, GINT_TO_POINTER(tmp->state), f);
2772                item=g_list_next(item);                item=g_list_next(item);
2773              }              }
# Line 2999  frame_display (GtkTreeSelection *selecti Line 3100  frame_display (GtkTreeSelection *selecti
3100    GtkTreeModel *model=(GtkTreeModel*)data;    GtkTreeModel *model=(GtkTreeModel*)data;
3101    GtkTreeIter iter;    GtkTreeIter iter;
3102    gchar* str_data;    gchar* str_data;
   GtkTreePath * path;  
   GtkTreeView* treeview = gtk_tree_selection_get_tree_view (selection);  
3103    GtkWidget** frame;    GtkWidget** frame;
   gpointer *user_data;  
3104    gboolean res;    gboolean res;
3105        
3106    res=gtk_tree_selection_get_selected(selection,    res=gtk_tree_selection_get_selected(selection,
# Line 3115  mime_types_to_skip_create_model (void) Line 3213  mime_types_to_skip_create_model (void)
3213      {      {
3214        gtk_list_store_append (store, &iter);        gtk_list_store_append (store, &iter);
3215        tmp=(struct_mime_type_to_skip *)item->data;        tmp=(struct_mime_type_to_skip *)item->data;
3216          //g_print("adding %s in the model\n",tmp->mime_type);
3217        gtk_list_store_set (store, &iter,        gtk_list_store_set (store, &iter,
3218                            MIME_TYPES_TO_SKIP_COLUMN_STATE, tmp->state ,                            MIME_TYPES_TO_SKIP_COLUMN_STATE, tmp->state ,
3219                            MIME_TYPES_TO_SKIP_COLUMN_MIME_TYPE, tmp->mime_type,                            MIME_TYPES_TO_SKIP_COLUMN_MIME_TYPE, tmp->mime_type,
# Line 4347  run_setup () Line 4446  run_setup ()
4446    gtk_clist_set_compare_func (GTK_CLIST (vfs_include_list_box),    gtk_clist_set_compare_func (GTK_CLIST (vfs_include_list_box),
4447                                _clist_g_strcasecmp);                                _clist_g_strcasecmp);
4448    
4449   gtk_clist_set_sort_column (GTK_CLIST (vfs_include_list_box), 1);    gtk_clist_set_sort_column (GTK_CLIST (vfs_include_list_box), 1);
4450    gtk_clist_set_sort_type (GTK_CLIST (vfs_include_list_box),    gtk_clist_set_sort_type (GTK_CLIST (vfs_include_list_box),
4451                             GTK_SORT_ASCENDING);                             GTK_SORT_ASCENDING);
4452    
# Line 4386  run_setup () Line 4485  run_setup ()
4485    gtk_box_pack_start (GTK_BOX (hbox), delete_button, TRUE, TRUE, 0);    gtk_box_pack_start (GTK_BOX (hbox), delete_button, TRUE, TRUE, 0);
4486    g_signal_connect (GTK_OBJECT (delete_button), "clicked",    g_signal_connect (GTK_OBJECT (delete_button), "clicked",
4487                        GTK_SIGNAL_FUNC (vfs_include_delete_button_clicked),                        GTK_SIGNAL_FUNC (vfs_include_delete_button_clicked),
4488                        NULL);                        ess_include_list_box);
4489    gtk_widget_show (delete_button);    gtk_widget_show (delete_button);
4490    
4491    gtk_box_pack_start (GTK_BOX (main_box), hbox, FALSE, TRUE, 0);    gtk_box_pack_start (GTK_BOX (main_box), hbox, FALSE, TRUE, 0);
# Line 4492  run_setup () Line 4591  run_setup ()
4591    // setup box to associate icons to file extensions      // setup box to associate icons to file extensions  
4592    model=mime_types_to_skip_create_model();    model=mime_types_to_skip_create_model();
4593    ess_include_list_box = gtk_tree_view_new_with_model (GTK_TREE_MODEL(model));    ess_include_list_box = gtk_tree_view_new_with_model (GTK_TREE_MODEL(model));
4594      g_print("ess_include_list_box = %p\n",ess_include_list_box);
4595    gtk_tree_view_set_rules_hint (GTK_TREE_VIEW (ess_include_list_box), TRUE);    gtk_tree_view_set_rules_hint (GTK_TREE_VIEW (ess_include_list_box), TRUE);
4596    gtk_tree_view_set_search_column (GTK_TREE_VIEW (ess_include_list_box),    gtk_tree_view_set_search_column (GTK_TREE_VIEW (ess_include_list_box),
4597                                     MIME_TYPES_TO_SKIP_COLUMN_MIME_TYPE);                                     MIME_TYPES_TO_SKIP_COLUMN_MIME_TYPE);
4598    g_object_unref (G_OBJECT (model));    //g_object_unref (G_OBJECT (model));
4599    
4600    // show the clist    // show the clist
4601    // wk : changed scrolled_window -> main_box    // wk : changed scrolled_window -> main_box
4602    gtk_container_add (GTK_CONTAINER (main_box), ess_include_list_box);    gtk_container_add (GTK_CONTAINER (main_box), ess_include_list_box);
4603    mime_types_to_skip_add_columns(GTK_TREE_VIEW(ess_include_list_box));    mime_types_to_skip_add_columns(GTK_TREE_VIEW(ess_include_list_box));
4604    gtk_widget_show (ess_include_list_box);    gtk_widget_show (ess_include_list_box);
4605    
4606      g_signal_connect (G_OBJECT (gtk_tree_view_get_selection((GtkTreeView*)ess_include_list_box)),
4607                        "changed",
4608                        GTK_SIGNAL_FUNC (mime_type_to_skip_selection_changed), model);
4609        
4610    hbox = gtk_hbutton_box_new ();    hbox = gtk_hbutton_box_new ();
4611    gtk_button_box_set_layout (GTK_BUTTON_BOX (hbox), GTK_BUTTONBOX_END);    gtk_button_box_set_layout (GTK_BUTTON_BOX (hbox), GTK_BUTTONBOX_END);
# Line 4512  run_setup () Line 4616  run_setup ()
4616    GTK_WIDGET_SET_FLAGS (ess_button_add, GTK_CAN_DEFAULT);    GTK_WIDGET_SET_FLAGS (ess_button_add, GTK_CAN_DEFAULT);
4617    gtk_box_pack_start (GTK_BOX (hbox), ess_button_add, FALSE, FALSE, 0);    gtk_box_pack_start (GTK_BOX (hbox), ess_button_add, FALSE, FALSE, 0);
4618    g_signal_connect (GTK_OBJECT (ess_button_add), "clicked",    g_signal_connect (GTK_OBJECT (ess_button_add), "clicked",
4619                        GTK_SIGNAL_FUNC (ess_add_type),                      GTK_SIGNAL_FUNC (ess_add_type),
4620                        GINT_TO_POINTER (ADD_MODE));                      GINT_TO_POINTER (ADD_MODE));
4621      
4622    gtk_widget_show (ess_button_add);    gtk_widget_show (ess_button_add);
4623    
4624    ess_button_del = gtk_button_new_with_label (_("Delete"));    ess_button_del = gtk_button_new_with_label (_("Delete"));
4625    GTK_WIDGET_SET_FLAGS (ess_button_del, GTK_CAN_DEFAULT);    GTK_WIDGET_SET_FLAGS (ess_button_del, GTK_CAN_DEFAULT);
4626    gtk_box_pack_start (GTK_BOX (hbox), ess_button_del, FALSE, FALSE, 0);    gtk_box_pack_start (GTK_BOX (hbox), ess_button_del, FALSE, FALSE, 0);
4627    g_signal_connect (GTK_OBJECT (ess_button_del), "clicked",    g_signal_connect (GTK_OBJECT (ess_button_del), "clicked",
4628                        GTK_SIGNAL_FUNC (ess_include_delete_button_clicked),                      GTK_SIGNAL_FUNC (ess_include_delete_button_clicked),
4629                        NULL);                      ess_include_list_box);
4630      
4631    gtk_widget_set_sensitive (GTK_WIDGET (ess_button_del), FALSE);    gtk_widget_set_sensitive (GTK_WIDGET (ess_button_del), FALSE);
4632    gtk_widget_show (ess_button_del);    gtk_widget_show (ess_button_del);
4633    
# Line 4659  run_setup () Line 4763  run_setup ()
4763    
4764    gtk_window_add_accel_group (GTK_WINDOW (window), accel_group);    gtk_window_add_accel_group (GTK_WINDOW (window), accel_group);
4765    
   
4766    selected_row = -1;    selected_row = -1;
4767    selected_extension = NULL;    selected_extension = NULL;
4768    

Legend:
Removed from v.1.15  
changed lines
  Added in v.1.16

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26