/[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.27 by chevdor, Wed Oct 29 23:38:52 2003 UTC revision 1.28 by chevdor, Thu Oct 30 23:39:21 2003 UTC
# Line 174  GList *backupList;        // GList used Line 174  GList *backupList;        // GList used
174                                   // list if the cancel button is pressed                                   // list if the cancel button is pressed
175    
176  MIME_EXTENSIONS mime_type_to_skip_current_selection;  MIME_EXTENSIONS mime_type_to_skip_current_selection;
177  MIME_VFS_EXTENSIONS mime_vfs_selection;  MIME_VFS_EXTENSIONS mime_vfs_current_selection;
178    
179  gchar *date_format;  gchar *date_format;
180  gchar *mount_prog;  gchar *mount_prog;
# Line 1279  _vfs_extensions_free_traverse (gpointer Line 1279  _vfs_extensions_free_traverse (gpointer
1279                                            G_TYPE_STRING,                                            G_TYPE_STRING,
1280                                            G_TYPE_STRING);                                            G_TYPE_STRING);
1281    
1282     // *********** JUNK DATA *********************     item=g_list_first(my_config->mime_vfs_extensions);
    gtk_list_store_append (store, &iter);  
        g_print("adding junk data in the VFS section",tmp->mime);  
        gtk_list_store_set (store, &iter,  
                      VFS_COLUMN_STATE, 1 ,  
                      VFS_COLUMN_FILE_TYPE, "file type",  
                      VFS_COLUMN_PLUGIN, "plugin",  
                      VFS_COLUMN_OPTIONS, "options",  
                           -1);  
   
    // *********** JUNK DATA *********************  
    gtk_list_store_append (store, &iter);  
        g_print("adding junk data in the VFS section",tmp->mime);  
        gtk_list_store_set (store, &iter,  
                      VFS_COLUMN_STATE, 0 ,  
                      VFS_COLUMN_FILE_TYPE, "file type again",  
                      VFS_COLUMN_PLUGIN, "plugin of the death",  
                      VFS_COLUMN_OPTIONS, "options fucking cool",  
                           -1);  
   
    /*  
    item=g_list_first(my_config->vfs_list);  
1283     while (item)     while (item)
1284       {       {
        gtk_list_store_append (store, &iter);  
1285         tmp=(MIME_VFS_EXTENSIONS *)item->data;         tmp=(MIME_VFS_EXTENSIONS *)item->data;
1286         g_print("adding %s in the model\n",tmp->file_type);         gtk_list_store_append (store, &iter);
1287          
1288         gtk_list_store_set (store, &iter,         gtk_list_store_set (store, &iter,
1289                       VFS_COLUMN_STATE, tmp->state ,                       VFS_COLUMN_STATE, tmp->state ,
1290                       VFS_COLUMN_FILE_TYPE, g_strdup(tmp->file_type),                       VFS_COLUMN_FILE_TYPE, g_strdup((gchar*)tmp->mime),
1291                       VFS_COLUMN_PLUGIN, g_strdup(tmp->plugin),                       VFS_COLUMN_PLUGIN, g_strdup((gchar*)tmp->prog),
1292                       VFS_COLUMN_OPTIONS, g_strdup(tmp->options),                       VFS_COLUMN_OPTIONS, g_strdup((gchar*)tmp->args),
1293                            -1);                            -1);
   
1294         item=g_list_next(item);         item=g_list_next(item);
1295       }       }
      */  
1296    
1297     return GTK_TREE_MODEL (store);     return GTK_TREE_MODEL (store);
1298   }   }
# Line 1515  vfs_add_type_ok_clicked (GtkWidget * w, Line 1492  vfs_add_type_ok_clicked (GtkWidget * w,
1492    gtk_widget_destroy (vfs_add_type_window);    gtk_widget_destroy (vfs_add_type_window);
1493  }  }
1494    
1495  static void vfs_selection_changed(GtkTreeSelection *selection,  static void vfs_selection_changed(GtkTreeSelection *selection, gpointer data)
                                                 gpointer data)  
1496  {  {
   /*  
1497    GtkTreeModel *model=(GtkTreeModel*)data;    GtkTreeModel *model=(GtkTreeModel*)data;
1498    GtkTreeIter iter;    GtkTreeIter iter;
1499    GString* mime;    GString* mime;
1500    gchar* plugin;    gchar* prog;
1501    gchar* options;    gchar* args;
1502    gint state;    gint state;
1503    gboolean res;    gboolean res;
1504      
1505    res=gtk_tree_selection_get_selected(selection,    res=gtk_tree_selection_get_selected(selection,
1506                                        &model,                                        &model,
1507                                        &iter);                                        &iter);
# Line 1538  static void vfs_selection_changed(GtkTre Line 1513  static void vfs_selection_changed(GtkTre
1513        gtk_tree_model_get (model,&iter,        gtk_tree_model_get (model,&iter,
1514                            VFS_COLUMN_STATE, &state,                            VFS_COLUMN_STATE, &state,
1515                            VFS_COLUMN_FILE_TYPE, &mime,                            VFS_COLUMN_FILE_TYPE, &mime,
1516                  VFS_COLUMN_PLUGIN, &plugin,                  VFS_COLUMN_PLUGIN, &prog,
1517                  VFS_COLUMN_OPTIONS, &options,                  VFS_COLUMN_OPTIONS, &args,
1518                            -1);                            -1);
1519        gtk_widget_set_sensitive (GTK_WIDGET (ess_button_del), TRUE);        gtk_widget_set_sensitive (GTK_WIDGET (ess_button_del), TRUE);
1520    
1521        //g_print ("\nselection : %s | %d | stamp = %d\n",mime_type, state, iter.stamp);        g_print ("selection : %s | %d | stamp = %d\n",mime, state, iter.stamp);
1522        mime_vfs_extension.mime=mime;        mime_vfs_current_selection.mime=mime;
1523        mime_vfs_extension.state=state;        mime_vfs_current_selection.state=state;
1524      }      }
1525    else    else
1526      {      {
1527        g_print ("\nselection is empty");        g_print ("selection is empty\n");
1528      }      }
     */  
1529  }  }
1530    
1531    
# Line 1566  vfs_state_toggled (GtkCellRendererToggle Line 1540  vfs_state_toggled (GtkCellRendererToggle
1540    GtkTreePath *path = gtk_tree_path_new_from_string (path_str);    GtkTreePath *path = gtk_tree_path_new_from_string (path_str);
1541    gboolean state;    gboolean state;
1542    GString *mime;    GString *mime;
1543    gchar *plugin;    gchar *prog;
1544    gchar *options;    gchar *args;
1545    
1546    MIME_VFS_EXTENSIONS *tmp;    MIME_VFS_EXTENSIONS *tmp;
1547    gboolean done;    gboolean done;
# Line 1578  vfs_state_toggled (GtkCellRendererToggle Line 1552  vfs_state_toggled (GtkCellRendererToggle
1552    gtk_tree_model_get_iter (model, &iter, path);    gtk_tree_model_get_iter (model, &iter, path);
1553    gtk_tree_model_get (model, &iter, VFS_COLUMN_STATE, &state, -1);    gtk_tree_model_get (model, &iter, VFS_COLUMN_STATE, &state, -1);
1554    gtk_tree_model_get (model, &iter, VFS_COLUMN_FILE_TYPE, &mime, -1);    gtk_tree_model_get (model, &iter, VFS_COLUMN_FILE_TYPE, &mime, -1);
1555    gtk_tree_model_get (model, &iter, VFS_COLUMN_PLUGIN, &plugin, -1);    gtk_tree_model_get (model, &iter, VFS_COLUMN_PLUGIN, &prog, -1);
1556    gtk_tree_model_get (model, &iter, VFS_COLUMN_OPTIONS, &options, -1);    gtk_tree_model_get (model, &iter, VFS_COLUMN_OPTIONS, &args, -1);
1557    
1558    state ^= 1;    state ^= 1;
1559    
1560    // set new value    // set new value
1561    gtk_list_store_set (GTK_LIST_STORE (model), &iter, VFS_COLUMN_STATE, state, -1);    gtk_list_store_set (GTK_LIST_STORE (model), &iter, VFS_COLUMN_STATE, state, -1);
1562      
1563    //update the glist    //update the glist
1564    done=0;    done=0;
1565    item=g_list_first(my_config->mime_vfs_extensions);    item=g_list_first(my_config->mime_vfs_extensions);
1566      
1567    while (item && !done)    while (item && !done)
1568      {      {
1569        tmp=(MIME_VFS_EXTENSIONS *)item->data;        tmp=(MIME_VFS_EXTENSIONS *)item->data;
1570        if (!strcmp(tmp->mime->str,mime->str))        if (!strcmp((gchar*)tmp->mime,(gchar*)mime))
1571            {            {
1572              tmp->state=state;             tmp->state=state;
1573              done=1;            done=1;
1574            g_print ("Lets change state for %s",tmp->mime);            g_print ("Lets change state for %s\n",tmp->mime);
1575            }            }
1576        item=g_list_next(item);        item=g_list_next(item);
1577      }      }
   
   // clean up  
1578    gtk_tree_path_free (path);    gtk_tree_path_free (path);
1579  }  }
1580    
1581    
1582    //    # AddVfsMime vfs_mime plugin arguments separator date_field date_format size_field name_field state last_column
1583    gint
1584    vfs_tree_printf (MIME_VFS_EXTENSIONS *obj, gpointer data)
1585    {
1586      //gchar *mime = key;
1587      //gint state = GPOINTER_TO_INT (value);
1588      FILE *f = data;
1589    
1590      //fprintf (f, "AddVfsMime '%s' %d\n", mime, state);
1591      g_printf ("AddVfsMime '%s' '%s' '%s' '%s' '%s' '%s' '%s' '%s' %d\n", obj->mime,obj->prog, obj->args, obj->separator, obj-> date, obj->date_format, obj->size, obj->name, obj->state);
1592      
1593      return (FALSE);
1594    }
1595    
1596    
1597    
1598  static void  static void
1599  vfs_add_columns (GtkTreeView *treeview)  vfs_add_columns (GtkTreeView *treeview)
1600  {  {
# Line 1619  vfs_add_columns (GtkTreeView *treeview) Line 1608  vfs_add_columns (GtkTreeView *treeview)
1608                      G_CALLBACK (vfs_state_toggled), model);                      G_CALLBACK (vfs_state_toggled), model);
1609    
1610    column = gtk_tree_view_column_new_with_attributes (_("State"),    column = gtk_tree_view_column_new_with_attributes (_("State"),
1611                                                       renderer,                                                       renderer, "active", VFS_COLUMN_STATE,NULL);
                                                      "active", MIME_TYPES_TO_SKIP_COLUMN_STATE,  
                                                      NULL);  
1612    
1613    /* set this column to a fixed sizing (of 30 pixels) */    /* set this column to a fixed sizing (of 30 pixels) */
1614    gtk_tree_view_column_set_sizing (GTK_TREE_VIEW_COLUMN (column),    gtk_tree_view_column_set_sizing (GTK_TREE_VIEW_COLUMN (column),
# Line 1629  vfs_add_columns (GtkTreeView *treeview) Line 1616  vfs_add_columns (GtkTreeView *treeview)
1616    gtk_tree_view_column_set_fixed_width (GTK_TREE_VIEW_COLUMN (column), 30);    gtk_tree_view_column_set_fixed_width (GTK_TREE_VIEW_COLUMN (column), 30);
1617    gtk_tree_view_append_column (treeview, column);    gtk_tree_view_append_column (treeview, column);
1618    
   
1619    /* column for file type */    /* column for file type */
1620    renderer = gtk_cell_renderer_text_new ();    renderer = gtk_cell_renderer_text_new ();
1621    column = gtk_tree_view_column_new_with_attributes (_("FILE type"),    column = gtk_tree_view_column_new_with_attributes (_("FILE type"),
1622                                                       renderer, "text",                                                       renderer, "text", VFS_COLUMN_FILE_TYPE, NULL);
                                                      VFS_COLUMN_FILE_TYPE, NULL);  
1623    gtk_tree_view_column_set_sort_column_id (column, VFS_COLUMN_FILE_TYPE);    gtk_tree_view_column_set_sort_column_id (column, VFS_COLUMN_FILE_TYPE);
1624    gtk_tree_view_column_set_sizing (GTK_TREE_VIEW_COLUMN (column),    gtk_tree_view_column_set_sizing (GTK_TREE_VIEW_COLUMN (column),
1625                                     GTK_TREE_VIEW_COLUMN_FIXED);                                     GTK_TREE_VIEW_COLUMN_FIXED);
# Line 2325  static void mime_type_to_skip_selection_ Line 2310  static void mime_type_to_skip_selection_
2310                            -1);                            -1);
2311        gtk_widget_set_sensitive (GTK_WIDGET (ess_button_del), TRUE);        gtk_widget_set_sensitive (GTK_WIDGET (ess_button_del), TRUE);
2312    
2313        //g_print ("\nselection : %s | %d | stamp = %d\n",mime_type, state, iter.stamp);        //g_print ("selection : %s | %d | stamp = %d\n",mime_type, state, iter.stamp);
2314        mime_type_to_skip_current_selection.mime=mime;        mime_type_to_skip_current_selection.mime=mime;
2315        mime_type_to_skip_current_selection.state=state;        mime_type_to_skip_current_selection.state=state;
2316      }      }
2317    else    else
2318      {      {
2319        g_print ("\nselection is empty");        g_print ("selection is empty");
2320      }      }
2321  }  }
2322    
# Line 2623  setup_ok_clicked (GtkWidget * w, gpointe Line 2608  setup_ok_clicked (GtkWidget * w, gpointe
2608      gtk_spin_button_get_value_as_int (GTK_SPIN_BUTTON (recentfilesmax));      gtk_spin_button_get_value_as_int (GTK_SPIN_BUTTON (recentfilesmax));
2609    
2610    extensions_free (my_config->mime_extensions);    extensions_free (my_config->mime_extensions);
2611    vfs_extensions_free (my_config->mime_vfs_extensions);    //vfs_extensions_free (my_config->mime_vfs_extensions);
2612    ei_free (my_config->mime_icons);    ei_free (my_config->mime_icons);
2613    //wk : to remove ess_free (my_config->mime_to_skip_during_a_scan);    //wk : to remove ess_free (my_config->mime_to_skip_during_a_scan);
2614    
2615    my_config->mime_extensions = local_extensions;    my_config->mime_extensions = local_extensions;
2616    my_config->mime_vfs_extensions = local_vfs_extensions;    //my_config->mime_vfs_extensions = local_vfs_extensions;
2617    my_config->mime_icons = local_ei_extensions;    my_config->mime_icons = local_ei_extensions;
2618    //wk: to remove my_config->mime_to_skip_during_a_scan = local_ess_extensions;    //wk: to remove my_config->mime_to_skip_during_a_scan = local_ess_extensions;
2619    
# Line 2746  save_myconfig () Line 2731  save_myconfig ()
2731    GList *gl;    GList *gl;
2732    GTree *addicons;    GTree *addicons;
2733    GList* item;    GList* item;
2734    MIME_EXTENSIONS* tmp;    MIME_EXTENSIONS* mime_extension;
2735      MIME_VFS_EXTENSIONS* mime_vfs_extension;
2736    
2737    conf_file = g_string_new (g_get_home_dir ());    conf_file = g_string_new (g_get_home_dir ());
2738    if (conf_file->len < 1)    if (conf_file->len < 1)
# Line 2791  save_myconfig () Line 2777  save_myconfig ()
2777                             G_PRE_ORDER, f);                             G_PRE_ORDER, f);
2778            fprintf (f,            fprintf (f,
2779                     "\n# AddVfsMime vfs_mime plugin arguments separator date_field date_format size_field name_field state last_column\n");                     "\n# AddVfsMime vfs_mime plugin arguments separator date_field date_format size_field name_field state last_column\n");
2780            g_tree_traverse (my_config->mime_vfs_extensions,            //g_tree_traverse (my_config->mime_vfs_extensions,
2781                             vfs_extensions_tree_printf, G_PRE_ORDER, f);            //               vfs_extensions_tree_printf, G_PRE_ORDER, f);
2782           item=my_config->mime_vfs_extensions;
2783           while (item)
2784                {
2785                  mime_extension=(MIME_VFS_EXTENSIONS *)item->data;
2786                  g_print ("adding %s\n",mime_vfs_extension->mime);
2787                  vfs_tree_printf(mime_vfs_extension, f);
2788                  g_print("state=%d\n",mime_vfs_extension->state);
2789                  item=g_list_next(item);
2790                }
2791    
2792            fprintf (f, "\n# DefaultFileIcon icon_path\n");            fprintf (f, "\n# DefaultFileIcon icon_path\n");
2793            fprintf (f, "DefaultFileIcon %s\n",            fprintf (f, "DefaultFileIcon %s\n",
# Line 2912  save_myconfig () Line 2907  save_myconfig ()
2907            fprintf (f, "\n# AddMimeToSkip mime state\n");            fprintf (f, "\n# AddMimeToSkip mime state\n");
2908            while (item)            while (item)
2909              {              {
2910                tmp=(MIME_EXTENSIONS *)item->data;                mime_extension=(MIME_EXTENSIONS *)item->data;
2911                g_print ("adding %s\n",tmp->mime);                g_print ("adding %s\n",mime_extension->mime);
2912                ess_tree_printf(tmp->mime, GINT_TO_POINTER(tmp->state), f);                ess_tree_printf(mime_extension->mime, GINT_TO_POINTER(mime_extension->state), f);
2913                g_print("state=%d\n",tmp->state);                g_print("state=%d\n",mime_extension->state);
2914                item=g_list_next(item);                item=g_list_next(item);
2915              }              }
2916    
# Line 3068  static void Line 3063  static void
3063  cancel_clicked (GtkWidget * w, gpointer data)  cancel_clicked (GtkWidget * w, gpointer data)
3064  {  {
3065    my_config->mime_to_skip_during_a_scan=my_config->mime_to_skip_during_a_scan_shallow_copy;    my_config->mime_to_skip_during_a_scan=my_config->mime_to_skip_during_a_scan_shallow_copy;
3066      my_config->mime_extensions=my_config->mime_vfs_extensions_shallow_copy;
3067      
3068    g_free (mount_prog);    g_free (mount_prog);
3069    g_free (umount_prog);    g_free (umount_prog);
3070    extensions_free (local_extensions);    extensions_free (local_extensions);
3071    vfs_extensions_free (local_vfs_extensions);    //vfs_extensions_free (local_vfs_extensions);
3072    ei_free (local_ei_extensions);    ei_free (local_ei_extensions);
3073    gtk_widget_destroy (window);    gtk_widget_destroy (window);
3074    pix_garbage_collection ();    pix_garbage_collection ();
# Line 4596  run_setup () Line 4593  run_setup ()
4593    gtk_widget_show (scrolled_window);    gtk_widget_show (scrolled_window);
4594    
4595    main_box = gtk_vbox_new (FALSE, 2);    main_box = gtk_vbox_new (FALSE, 2);
4596    gtk_scrolled_window_add_with_viewport (GTK_SCROLLED_WINDOW    gtk_scrolled_window_add_with_viewport (GTK_SCROLLED_WINDOW(scrolled_window), main_box);
                                          (scrolled_window), main_box);  
4597    gtk_widget_show (main_box);    gtk_widget_show (main_box);
4598    
4599    /* setup box to associate vfs plugins to mimes */    //g_object_unref (G_OBJECT (model));
4600      // wk : lwh changed scrolled_window -> main_box
4601    
4602    model=vfs_create_model();    model=vfs_create_model();
4603    vfs_include_list_box = gtk_tree_view_new_with_model (GTK_TREE_MODEL(model));    vfs_include_list_box = gtk_tree_view_new_with_model (GTK_TREE_MODEL(model));
4604    
4605    gtk_tree_view_set_rules_hint (GTK_TREE_VIEW (vfs_include_list_box), TRUE);    gtk_tree_view_set_rules_hint (GTK_TREE_VIEW (vfs_include_list_box), TRUE);
4606    gtk_tree_view_set_search_column (GTK_TREE_VIEW (vfs_include_list_box), VFS_COLUMN_FILE_TYPE);    gtk_tree_view_set_search_column (GTK_TREE_VIEW (vfs_include_list_box), VFS_COLUMN_FILE_TYPE);
4607    
   //g_object_unref (G_OBJECT (model));  
   
   // show the clist  
   // wk : changed scrolled_window -> main_box  
4608    gtk_container_add (GTK_CONTAINER (main_box), vfs_include_list_box);    gtk_container_add (GTK_CONTAINER (main_box), vfs_include_list_box);
4609    vfs_add_columns(GTK_TREE_VIEW(vfs_include_list_box));    vfs_add_columns(GTK_TREE_VIEW(vfs_include_list_box));
4610    gtk_widget_show (vfs_include_list_box);    gtk_widget_show (vfs_include_list_box);
4611    
4612    g_signal_connect (G_OBJECT (gtk_tree_view_get_selection((GtkTreeView*)vfs_include_list_box)),    g_signal_connect (G_OBJECT (gtk_tree_view_get_selection((GtkTreeView*)vfs_include_list_box)),
4613                      "changed",                      "changed", GTK_SIGNAL_FUNC (vfs_selection_changed), model);
                     GTK_SIGNAL_FUNC (vfs_selection_changed), model);  
     
   
   // wk: lwh  
   //vfs_include_list_box = gtk_clist_new_with_titles (4, titles);  
   //g_signal_connect (GTK_OBJECT (vfs_include_list_box),  
   //                  "select_row",  
  //                   GTK_SIGNAL_FUNC (vfs_include_selection_made), NULL);  
   //g_signal_connect (GTK_OBJECT (vfs_include_list_box), "unselect_row",  
 //                    GTK_SIGNAL_FUNC (vfs_include_unselection_made), NULL);  
   
   //gtk_clist_set_shadow_type (GTK_CLIST (vfs_include_list_box),  
 //                           GTK_SHADOW_OUT);  
   
   //gtk_clist_set_column_justification (GTK_CLIST  
 //                                    (vfs_include_list_box), 0,  
 //                                    GTK_JUSTIFY_CENTER);  
   
   //gtk_clist_set_compare_func (GTK_CLIST (vfs_include_list_box),  
 //                            _clist_g_strcasecmp);  
   
   //gtk_clist_set_sort_column (GTK_CLIST (vfs_include_list_box), 1);  
   //gtk_clist_set_sort_type (GTK_CLIST (vfs_include_list_box),  
 //                         GTK_SORT_ASCENDING);  
   
   /* fill the clist */  
   //g_tree_traverse (local_vfs_extensions, vfs_extensions_traverse, G_PRE_ORDER,  
 //                 NULL);  
   
   /* show the clist */  
   //gtk_container_add (GTK_CONTAINER (scrolled_window), vfs_include_list_box);  
   //gtk_widget_show (vfs_include_list_box);  
   //gtk_clist_sort (GTK_CLIST (vfs_include_list_box));  
   //gtk_clist_columns_autosize (GTK_CLIST (vfs_include_list_box));  
4614    
4615    hbox = gtk_hbutton_box_new ();    hbox = gtk_hbutton_box_new ();
4616    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 4790  run_setup () Line 4751  run_setup ()
4751                                     MIME_TYPES_TO_SKIP_COLUMN_MIME_TYPE);                                     MIME_TYPES_TO_SKIP_COLUMN_MIME_TYPE);
4752    //g_object_unref (G_OBJECT (model));    //g_object_unref (G_OBJECT (model));
4753    
   // show the clist  
4754    // wk : changed scrolled_window -> main_box    // wk : changed scrolled_window -> main_box
4755    gtk_container_add (GTK_CONTAINER (main_box), ess_include_list_box);    gtk_container_add (GTK_CONTAINER (main_box), ess_include_list_box);
4756    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));

Legend:
Removed from v.1.27  
changed lines
  Added in v.1.28

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