graveman-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Graveman-cvs] Changes to graveman/current/src/interface.c


From: sylvain cresto
Subject: [Graveman-cvs] Changes to graveman/current/src/interface.c
Date: Mon, 09 May 2005 21:30:37 -0400

Index: graveman/current/src/interface.c
diff -u graveman/current/src/interface.c:1.42 
graveman/current/src/interface.c:1.43
--- graveman/current/src/interface.c:1.42       Tue May  3 01:22:35 2005
+++ graveman/current/src/interface.c    Tue May 10 01:30:35 2005
@@ -406,11 +406,13 @@
   GtkWidget *Litem, *Litem2, *Lsep;
   GtkTreeSelection *Lselection = 
gtk_tree_view_get_selection(GTK_TREE_VIEW(Aliste));
   GtkTreeIter Liter;
-  gint type;
+  gint type, Lcolid = 0;
+  GtkSortType Lorder;
   gint Lnumsel = gtk_tree_selection_count_selected_rows(Lselection);
   gboolean Lonlyone = TRUE;
   const gchar *Llistename = glade_get_widget_name(Aliste);
   GtkTreePath *Lpath = NULL;
+  GtkTreeViewColumn *Lcol = NULL;
 
   /* on cherche l'object selectionne, il peu y en avoir plusieur
    * car on est en SELECTION_MULTIPLE */
@@ -508,11 +510,7 @@
   Lsep = sc_grave_get_widget(Ag, "popupdata_sep2");
   Litem = sc_grave_get_widget(Ag, "popupdata_remove");
   if (type != TYPE_CD) {
-    if (Lonlyone) {
-      gtk_widget_show (Lsep);
-    } else {
-      gtk_widget_hide (Lsep);
-    }
+    gtk_widget_hide (Lsep);
     gtk_widget_set_sensitive(Litem, TRUE);
     gtk_widget_show (Litem);
 
@@ -543,219 +541,245 @@
     gtk_widget_hide (Litem);
   }*/
 
+  /* TRIER */
+  if (!gtk_tree_sortable_get_sort_column_id(GTK_TREE_SORTABLE(Lmodel), 
&Lcolid, &Lorder)) Lcolid=0;
+
+  if (Lcolid == 2) { 
+    gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(sc_grave_get_widget(Ag, 
"popupdata_sort_name")), TRUE); 
+    Lcol = gtk_tree_view_get_column(GTK_TREE_VIEW(Aliste), Lcolid);
+  } else if (Lcolid == 3) {
+    gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(sc_grave_get_widget(Ag, 
"popupdata_sort_size")), TRUE); 
+    Lcol = gtk_tree_view_get_column(GTK_TREE_VIEW(Aliste), Lcolid);
+  } else {
+    gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(sc_grave_get_widget(Ag, 
"popupdata_sort_none")), TRUE); 
+  }
+/* marche pas ! */
+  gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(sc_grave_get_widget(Ag, 
"popupdata_sort_reverse")),
+    (!GTK_IS_TREE_VIEW_COLUMN(Lcol) || 
gtk_tree_view_column_get_sort_order(Lcol)==GTK_SORT_ASCENDING) ?
+    FALSE : TRUE
+  );
+
+
   return Lmenu;
 }
 
 void prepare_popups(Tgrave *Ag)
 {
-  /* popup cd audio */
-  g_signal_connect(G_OBJECT(sc_grave_get_widget(Ag, "popupaudio_addtrack")),
-      "activate", G_CALLBACK(gtk_audio_addtrack), Ag);
-  g_signal_connect(G_OBJECT(sc_grave_get_widget(Ag, "popupaudio_removetrack")),
-      "activate", G_CALLBACK(gtk_audio_removetrack), Ag);
-  g_signal_connect(G_OBJECT(sc_grave_get_widget(Ag, "popupaudio_append")),
-      "activate", G_CALLBACK(menu_load), Ag);
-
-  /* popup cd data */
-  g_signal_connect(G_OBJECT(sc_grave_get_widget(Ag, "popupdata_renamecd")),
-      "activate", G_CALLBACK(gtk_data_renommerelement), Ag);
-  g_signal_connect(G_OBJECT(sc_grave_get_widget(Ag, "popupdata_renamedvd")),
-      "activate", G_CALLBACK(gtk_data_renommerelement), Ag);
-
-  g_signal_connect(G_OBJECT(sc_grave_get_widget(Ag, "popupdata_expand")),
-      "activate", G_CALLBACK(gtk_data_expandelement), Ag);
-  g_signal_connect(G_OBJECT(sc_grave_get_widget(Ag, "popupdata_renamefile")),
-      "activate", G_CALLBACK(gtk_data_renommerelement), Ag);
-  g_signal_connect(G_OBJECT(sc_grave_get_widget(Ag, 
"popupdata_renamedirectory")),
-      "activate", G_CALLBACK(gtk_data_renommerelement), Ag);
-  g_signal_connect(G_OBJECT(sc_grave_get_widget(Ag, 
"popupdata_createdirectory")),
-      "activate", G_CALLBACK(gtk_data_creerrepertoire), Ag);
-  sc_grave_get_widget(Ag, "popupdata_sep1");
-  g_signal_connect(G_OBJECT(sc_grave_get_widget(Ag, "popupdata_addfile")),
-      "activate", G_CALLBACK(gtk_data_addfile), Ag);
-  g_signal_connect(G_OBJECT(sc_grave_get_widget(Ag, "popupdata_adddirectory")),
-      "activate", G_CALLBACK(gtk_data_adddirectory), Ag);
-
-  sc_grave_get_widget(Ag, "popupdata_sep2");
-  g_signal_connect(G_OBJECT(sc_grave_get_widget(Ag, "popupdata_remove")),
-      "activate", G_CALLBACK(gtk_data_removefiles), Ag);
+/* popup cd audio */
+g_signal_connect(G_OBJECT(sc_grave_get_widget(Ag, "popupaudio_addtrack")),
+    "activate", G_CALLBACK(gtk_audio_addtrack), Ag);
+g_signal_connect(G_OBJECT(sc_grave_get_widget(Ag, "popupaudio_removetrack")),
+    "activate", G_CALLBACK(gtk_audio_removetrack), Ag);
+g_signal_connect(G_OBJECT(sc_grave_get_widget(Ag, "popupaudio_append")),
+    "activate", G_CALLBACK(menu_load), Ag);
+
+/* popup cd data */
+g_signal_connect(G_OBJECT(sc_grave_get_widget(Ag, "popupdata_renamecd")),
+    "activate", G_CALLBACK(gtk_data_renommerelement), Ag);
+g_signal_connect(G_OBJECT(sc_grave_get_widget(Ag, "popupdata_renamedvd")),
+    "activate", G_CALLBACK(gtk_data_renommerelement), Ag);
+
+g_signal_connect(G_OBJECT(sc_grave_get_widget(Ag, "popupdata_expand")),
+    "activate", G_CALLBACK(gtk_data_expandelement), Ag);
+g_signal_connect(G_OBJECT(sc_grave_get_widget(Ag, "popupdata_renamefile")),
+    "activate", G_CALLBACK(gtk_data_renommerelement), Ag);
+g_signal_connect(G_OBJECT(sc_grave_get_widget(Ag, 
"popupdata_renamedirectory")),
+    "activate", G_CALLBACK(gtk_data_renommerelement), Ag);
+g_signal_connect(G_OBJECT(sc_grave_get_widget(Ag, 
"popupdata_createdirectory")),
+    "activate", G_CALLBACK(gtk_data_creerrepertoire), Ag);
+g_signal_connect(G_OBJECT(sc_grave_get_widget(Ag, "popupdata_addfile")),
+    "activate", G_CALLBACK(gtk_data_addfile), Ag);
+g_signal_connect(G_OBJECT(sc_grave_get_widget(Ag, "popupdata_adddirectory")),
+    "activate", G_CALLBACK(gtk_data_adddirectory), Ag);
+
+g_signal_connect(G_OBJECT(sc_grave_get_widget(Ag, "popupdata_remove")),
+    "activate", G_CALLBACK(gtk_data_removefiles), Ag);
+
+/* tris */
+g_signal_connect(G_OBJECT(sc_grave_get_widget(Ag, "popupdata_sort_none")),
+    "activate", G_CALLBACK(gtk_data_asksort), Ag);
+g_signal_connect(G_OBJECT(sc_grave_get_widget(Ag, "popupdata_sort_name")),
+    "activate", G_CALLBACK(gtk_data_asksort), Ag);
+g_signal_connect(G_OBJECT(sc_grave_get_widget(Ag, "popupdata_sort_size")),
+    "activate", G_CALLBACK(gtk_data_asksort), Ag);
+
 
 #if 0
-  sc_grave_get_widget(Ag, "popupdata_sep3");
-  g_signal_connect(G_OBJECT(sc_grave_get_widget(Ag, "popupdata_imageboot")),
-      "activate", G_CALLBACK(gtk_def_imageboot), Ahash);
+sc_grave_get_widget(Ag, "popupdata_sep3");
+g_signal_connect(G_OBJECT(sc_grave_get_widget(Ag, "popupdata_imageboot")),
+    "activate", G_CALLBACK(gtk_def_imageboot), Ahash);
 #endif
 
-  /* popup affichage */
-  g_signal_connect(G_OBJECT(sc_grave_get_widget(Ag, "popupdisp_iconsize_48")),
-      "activate", G_CALLBACK(gtk_display_updatesize), Ag);
-  g_signal_connect(G_OBJECT(sc_grave_get_widget(Ag, "popupdisp_iconsize_32")),
-      "activate", G_CALLBACK(gtk_display_updatesize), Ag);
-  g_signal_connect(G_OBJECT(sc_grave_get_widget(Ag, "popupdisp_iconsize_24")),
-      "activate", G_CALLBACK(gtk_display_updatesize), Ag);
-  g_signal_connect(G_OBJECT(sc_grave_get_widget(Ag, "popupdisp_iconsize_16")),
-      "activate", G_CALLBACK(gtk_display_updatesize), Ag);
-
-  g_signal_connect(G_OBJECT(sc_grave_get_widget(Ag, 
"popupdisp_showstatusbar")),
-      "activate", G_CALLBACK(gtk_display_switchstatusbar), Ag);
-  g_signal_connect(G_OBJECT(sc_grave_get_widget(Ag, 
"popupdisp_hidestatusbar")),
-      "activate", G_CALLBACK(gtk_display_switchstatusbar), Ag);
-
-  /* popup formater un dvd */
-  g_signal_connect(G_OBJECT(sc_grave_get_widget(Ag, "popupform_format")),
-      "activate", G_CALLBACK(gtk_confirm_dvdoperation), Ag);
-  g_signal_connect(G_OBJECT(sc_grave_get_widget(Ag, "popupform_blank")),
-      "activate", G_CALLBACK(gtk_confirm_dvdoperation), Ag);
-  g_signal_connect(G_OBJECT(sc_grave_get_widget(Ag, "popupform_blankfull")),
-      "activate", G_CALLBACK(gtk_confirm_dvdoperation), Ag);
+/* popup affichage */
+g_signal_connect(G_OBJECT(sc_grave_get_widget(Ag, "popupdisp_iconsize_48")),
+    "activate", G_CALLBACK(gtk_display_updatesize), Ag);
+g_signal_connect(G_OBJECT(sc_grave_get_widget(Ag, "popupdisp_iconsize_32")),
+    "activate", G_CALLBACK(gtk_display_updatesize), Ag);
+g_signal_connect(G_OBJECT(sc_grave_get_widget(Ag, "popupdisp_iconsize_24")),
+    "activate", G_CALLBACK(gtk_display_updatesize), Ag);
+g_signal_connect(G_OBJECT(sc_grave_get_widget(Ag, "popupdisp_iconsize_16")),
+    "activate", G_CALLBACK(gtk_display_updatesize), Ag);
+
+g_signal_connect(G_OBJECT(sc_grave_get_widget(Ag, "popupdisp_showstatusbar")),
+    "activate", G_CALLBACK(gtk_display_switchstatusbar), Ag);
+g_signal_connect(G_OBJECT(sc_grave_get_widget(Ag, "popupdisp_hidestatusbar")),
+    "activate", G_CALLBACK(gtk_display_switchstatusbar), Ag);
+
+/* popup formater un dvd */
+g_signal_connect(G_OBJECT(sc_grave_get_widget(Ag, "popupform_format")),
+    "activate", G_CALLBACK(gtk_confirm_dvdoperation), Ag);
+g_signal_connect(G_OBJECT(sc_grave_get_widget(Ag, "popupform_blank")),
+    "activate", G_CALLBACK(gtk_confirm_dvdoperation), Ag);
+g_signal_connect(G_OBJECT(sc_grave_get_widget(Ag, "popupform_blankfull")),
+    "activate", G_CALLBACK(gtk_confirm_dvdoperation), Ag);
 }
 
 /* fenetre principal */
 Tgrave *manage_main_window (guint64 *Aaudiolen, guint64 *Aaudiomaxlen,
-    guint64 *Adatasize, guint64 *Adatamaxsize, guint64 *Advddatasize, guint64 
*Advddatamaxsize)
+  guint64 *Adatasize, guint64 *Adatamaxsize, guint64 *Advddatasize, guint64 
*Advddatamaxsize)
 {
-  Tgrave *Lg = sc_grave_load("window_main.glade");
-  GtkWidget *Lwindow;
-  GtkNotebook *Lbodycdaudio, *Lbodycddata, *Lbodycdcopy, *Lbodycdother, 
*Lbodydvddata;
-  GtkHBox *Lmainbody;
-  GtkComboBox *Lcombo;
-  GtkTreeView *Ltreeaudio, *Ltreedata, *Ltopmenu, *Ltreedvddata;
+Tgrave *Lg = sc_grave_load("window_main.glade");
+GtkWidget *Lwindow;
+GtkNotebook *Lbodycdaudio, *Lbodycddata, *Lbodycdcopy, *Lbodycdother, 
*Lbodydvddata;
+GtkHBox *Lmainbody;
+GtkComboBox *Lcombo;
+GtkTreeView *Ltreeaudio, *Ltreedata, *Ltopmenu, *Ltreedvddata;
+
+g_assert(Lg);
+
+Lmainbody = GTK_HBOX(sc_grave_get_widget(Lg, "mainbody"));
+Lwindow = GTK_WIDGET(sc_grave_get_widget(Lg, "topwindow"));
+
+sc_tooltips(Lwindow, conf_get_boolean("tooltips"));
+
+sc_grave_set_data(Lg, Lwindow, "window");
+sc_grave_set_data(Lg, Aaudiolen, "audiolen");
+sc_grave_set_data(Lg, Aaudiomaxlen, "audiomaxlen");
+sc_grave_set_data(Lg, Adatasize, "datasize");
+sc_grave_set_data(Lg, Adatamaxsize, "datamaxsize");
+sc_grave_set_data(Lg, Advddatasize, "dvddatasize");
+sc_grave_set_data(Lg, Advddatamaxsize, "dvddatamaxsize");
+
+/* onglets page de droite */
+Lbodycdaudio = GTK_NOTEBOOK(sc_grave_get_widget(Lg, "bodycdaudio"));
+gtk_widget_reparent(GTK_WIDGET(Lbodycdaudio), GTK_WIDGET(Lmainbody));
+Lbodycddata = GTK_NOTEBOOK(sc_grave_get_widget(Lg, "bodycddata"));
+gtk_widget_reparent(GTK_WIDGET(Lbodycddata), GTK_WIDGET(Lmainbody));
+Lbodydvddata = GTK_NOTEBOOK(sc_grave_get_widget(Lg, "bodydvddata"));
+gtk_widget_reparent(GTK_WIDGET(Lbodydvddata), GTK_WIDGET(Lmainbody));
+Lbodycdcopy = GTK_NOTEBOOK(sc_grave_get_widget(Lg, "bodycdcopy"));
+gtk_widget_reparent(GTK_WIDGET(Lbodycdcopy), GTK_WIDGET(Lmainbody));
+Lbodycdother = GTK_NOTEBOOK(sc_grave_get_widget(Lg, "bodycdother"));
+gtk_widget_reparent(GTK_WIDGET(Lbodycdother), GTK_WIDGET(Lmainbody));
+sc_grave_replace_data(Lg, Lbodycdaudio, "_lstclicked");
+
+/* mise a jour des label lorsque l'on change d'onglet dans la partie "graver 
un cd de donnee" */
+g_signal_connect(G_OBJECT(Lbodycddata), "switch-page", G_CALLBACK(switchpage), 
Lg);
+/* mise a jour des label lorsque l'on change d'onglet dans la partie "graver 
un dvd de donnee" */
+g_signal_connect(G_OBJECT(Lbodydvddata), "switch-page", 
G_CALLBACK(switchpage), Lg);
+
+/* bouttons barre de gauche */
+Ltopmenu = GTK_TREE_VIEW(sc_grave_get_widget(Lg, "topmenu"));
+
+manage_interface(Lg, MENU_NEW + COMBO_UPDATE);
+update_status_bar_display(Lg);
+
+g_signal_connect(G_OBJECT(Ltopmenu), "button-press-event", 
G_CALLBACK(gtk_do_eventbuttonpress), Lg);
+g_signal_connect(G_OBJECT(Ltopmenu), "popup-menu", 
G_CALLBACK(key_popupmenu_display), Lg);
+
+
+/* signaux sur le menu */
+g_signal_connect(G_OBJECT(sc_grave_get_widget(Lg, "menustartnew")), "activate",
+    G_CALLBACK(menu_start_new), Lg);
+g_signal_connect(G_OBJECT(sc_grave_get_widget(Lg, "menuload")), "activate",
+    G_CALLBACK(menu_load), Lg);
+
+g_signal_connect(G_OBJECT(sc_grave_get_widget(Lg, "menucdaudio")), "activate",
+    G_CALLBACK(menu_active_panel), Lg);
+g_signal_connect(G_OBJECT(sc_grave_get_widget(Lg, "menucddata")), "activate",
+    G_CALLBACK(menu_active_panel), Lg);
+g_signal_connect(G_OBJECT(sc_grave_get_widget(Lg, "menudvddata")), "activate",
+    G_CALLBACK(menu_active_panel), Lg);
+g_signal_connect(G_OBJECT(sc_grave_get_widget(Lg, "menucdcopy")), "activate",
+    G_CALLBACK(menu_active_panel), Lg);
+g_signal_connect(G_OBJECT(sc_grave_get_widget(Lg, "menucdother")), "activate",
+    G_CALLBACK(menu_active_panel), Lg);
+g_signal_connect(G_OBJECT(sc_grave_get_widget(Lg, "menuproperties")), 
"activate",
+    G_CALLBACK(menu_active_proprietes), Lg);
+g_signal_connect(G_OBJECT(sc_grave_get_widget(Lg, "menuquit")), "activate",
+    G_CALLBACK(menu_quit), Lg);
+g_signal_connect(G_OBJECT(sc_grave_get_widget(Lg, "menuabout")), "activate",
+    G_CALLBACK(on_about), Lg);
+
+prepare_combobox_vitesse(GTK_COMBO_BOX(sc_grave_get_widget(Lg, 
"dstaudiospeed")));
+prepare_combobox_vitesse(GTK_COMBO_BOX(sc_grave_get_widget(Lg, 
"dstcopyspeed")));
+prepare_combobox_vitesse(GTK_COMBO_BOX(sc_grave_get_widget(Lg, 
"dstdataspeed")));
+prepare_combobox_vitesse(GTK_COMBO_BOX(sc_grave_get_widget(Lg, 
"dstdvddataspeed")));
+
+/* tous les combo contenant la liste des lecteurs */
+prepare_combobox_graveur(Lg, "dstaudio");
+
+prepare_combobox_graveur(Lg, "dstdata");
+prepare_disable_when_iso(Lg, "dstdatacombo", "nbrcddata", "datamulti", 
"datanotfix", "datasimul", NULL);
+
+prepare_combobox_graveur(Lg, "dstdvddata");
+prepare_disable_when_iso(Lg, "dstdvddatacombo", "nbrdvddata", "dvddatanotfix", 
"dvddatasimul", NULL);
+
+prepare_combobox_graveur(Lg, "srccopy");
+prepare_combobox_graveur(Lg, "dstcopy");
+
+prepare_combobox_graveur(Lg, "dstother");
+prepare_disable_when(Lg, "dstothercombo_notcdrw", "btnerasecdrwother1", NULL);
+prepare_disable_when(Lg, "dstothercombo_notdvdrw", "btnformatdvdrwother1", 
NULL);
+
+/* checkbox continuer un cd multi session, on ne permet dans ce cas pas de 
faire
+ * plusieurs copie a la suite */
+g_signal_connect(G_OBJECT(sc_grave_get_widget(Lg, "datamulti")), "toggled", 
G_CALLBACK(change_datamulti), Lg);
+
+
+/* on rempli les autres combo */
+remplirecombo(GTK_COMBO_BOX(sc_grave_get_widget(Lg, "dataformat")), "", 
Gformatcd,
+    TRUE, conf_get_string("dataformat"));
+remplirecombo(GTK_COMBO_BOX(sc_grave_get_widget(Lg, "datamodburn")), "", 
Gmodburn,
+    TRUE, conf_get_string("datamodburn"));
+Lcombo = GTK_COMBO_BOX(sc_grave_get_widget(Lg, "listeremplidata"));
+remplirecombo(Lcombo, "", Gtypecddata, TRUE, 
conf_get_string("listeremplidata")); 
+g_signal_connect(G_OBJECT(Lcombo), "changed", G_CALLBACK(change_remplissage), 
Lg);
+
+Lcombo = GTK_COMBO_BOX(sc_grave_get_widget(Lg, "listeremplidvddata"));
+remplirecombo(Lcombo, "", Gtypedvddata, TRUE, 
conf_get_string("listeremplidvddata")); 
+g_signal_connect(G_OBJECT(Lcombo), "changed", G_CALLBACK(change_remplissage), 
Lg);
+
+Lcombo = GTK_COMBO_BOX(sc_grave_get_widget(Lg, "listerempliaudio"));
+remplirecombo(Lcombo, "", Gtypecdaudio, TRUE, 
conf_get_string("listerempliaudio"));
+g_signal_connect(G_OBJECT(Lcombo), "changed", G_CALLBACK(change_remplissage), 
Lg);
+
+/* boutons "page suivante" */
+g_signal_connect(G_OBJECT(sc_grave_get_widget(Lg, "btnnextaudio1")), 
"clicked", G_CALLBACK(gonextpage), Lbodycdaudio);
+g_signal_connect(G_OBJECT(sc_grave_get_widget(Lg, "btnnextdata1")), "clicked", 
G_CALLBACK(gonextpage), Lbodycddata);
+g_signal_connect(G_OBJECT(sc_grave_get_widget(Lg, "btnnextdata2")), "clicked", 
G_CALLBACK(gonextpage), Lbodycddata);
+g_signal_connect(G_OBJECT(sc_grave_get_widget(Lg, "btnnextdvddata1")), 
"clicked", G_CALLBACK(gonextpage), Lbodydvddata);
+g_signal_connect(G_OBJECT(sc_grave_get_widget(Lg, "btnnextdvddata2")), 
"clicked", G_CALLBACK(gonextpage), Lbodydvddata);
+
+/* boutons "graver" */
+g_signal_connect(G_OBJECT(sc_grave_get_widget(Lg, "btnburnaudio2")), 
"clicked", G_CALLBACK(confirm_burn), Lg);
+g_signal_connect(G_OBJECT(sc_grave_get_widget(Lg, "btnburndata2")), "clicked", 
G_CALLBACK(confirm_burn), Lg);
+g_signal_connect(G_OBJECT(sc_grave_get_widget(Lg, "btnburndata3")), "clicked", 
G_CALLBACK(confirm_burn), Lg);
+g_signal_connect(G_OBJECT(sc_grave_get_widget(Lg, "btnburndvddata2")), 
"clicked", G_CALLBACK(confirm_burn), Lg);
+g_signal_connect(G_OBJECT(sc_grave_get_widget(Lg, "btnburndvddata3")), 
"clicked", G_CALLBACK(confirm_burn), Lg);
+g_signal_connect(G_OBJECT(sc_grave_get_widget(Lg, "btnburncopy1")), "clicked", 
G_CALLBACK(confirm_burn), Lg);
+
+/* boutons de la page "autres operations" */
+g_signal_connect(G_OBJECT(sc_grave_get_widget(Lg, "btnerasecdrwother1")), 
"clicked", G_CALLBACK(confirm_erasecdrw), Lg);
+g_signal_connect(G_OBJECT(sc_grave_get_widget(Lg, "btnformatdvdrwother1")), 
"clicked", G_CALLBACK(popup_formatdvdrw), Lg);
+g_signal_connect(G_OBJECT(sc_grave_get_widget(Lg, "btnfixcdother1")), 
"clicked", G_CALLBACK(confirm_fixcd), Lg);
 
-  g_assert(Lg);
+update_combo_graveur(Lg);
 
-  Lmainbody = GTK_HBOX(sc_grave_get_widget(Lg, "mainbody"));
-  Lwindow = GTK_WIDGET(sc_grave_get_widget(Lg, "topwindow"));
+/* menu popup sur les listes */
+Ltreeaudio = GTK_TREE_VIEW(sc_grave_get_widget(Lg, "LISTEAUDIO"));
 
-  sc_tooltips(Lwindow, conf_get_boolean("tooltips"));
-
-  sc_grave_set_data(Lg, Lwindow, "window");
-  sc_grave_set_data(Lg, Aaudiolen, "audiolen");
-  sc_grave_set_data(Lg, Aaudiomaxlen, "audiomaxlen");
-  sc_grave_set_data(Lg, Adatasize, "datasize");
-  sc_grave_set_data(Lg, Adatamaxsize, "datamaxsize");
-  sc_grave_set_data(Lg, Advddatasize, "dvddatasize");
-  sc_grave_set_data(Lg, Advddatamaxsize, "dvddatamaxsize");
-
-  /* onglets page de droite */
-  Lbodycdaudio = GTK_NOTEBOOK(sc_grave_get_widget(Lg, "bodycdaudio"));
-  gtk_widget_reparent(GTK_WIDGET(Lbodycdaudio), GTK_WIDGET(Lmainbody));
-  Lbodycddata = GTK_NOTEBOOK(sc_grave_get_widget(Lg, "bodycddata"));
-  gtk_widget_reparent(GTK_WIDGET(Lbodycddata), GTK_WIDGET(Lmainbody));
-  Lbodydvddata = GTK_NOTEBOOK(sc_grave_get_widget(Lg, "bodydvddata"));
-  gtk_widget_reparent(GTK_WIDGET(Lbodydvddata), GTK_WIDGET(Lmainbody));
-  Lbodycdcopy = GTK_NOTEBOOK(sc_grave_get_widget(Lg, "bodycdcopy"));
-  gtk_widget_reparent(GTK_WIDGET(Lbodycdcopy), GTK_WIDGET(Lmainbody));
-  Lbodycdother = GTK_NOTEBOOK(sc_grave_get_widget(Lg, "bodycdother"));
-  gtk_widget_reparent(GTK_WIDGET(Lbodycdother), GTK_WIDGET(Lmainbody));
-  sc_grave_replace_data(Lg, Lbodycdaudio, "_lstclicked");
-
-  /* mise a jour des label lorsque l'on change d'onglet dans la partie "graver 
un cd de donnee" */
-  g_signal_connect(G_OBJECT(Lbodycddata), "switch-page", 
G_CALLBACK(switchpage), Lg);
-  /* mise a jour des label lorsque l'on change d'onglet dans la partie "graver 
un dvd de donnee" */
-  g_signal_connect(G_OBJECT(Lbodydvddata), "switch-page", 
G_CALLBACK(switchpage), Lg);
-
-  /* bouttons barre de gauche */
-  Ltopmenu = GTK_TREE_VIEW(sc_grave_get_widget(Lg, "topmenu"));
-
-  manage_interface(Lg, MENU_NEW + COMBO_UPDATE);
-  update_status_bar_display(Lg);
-
-  g_signal_connect(G_OBJECT(Ltopmenu), "button-press-event", 
G_CALLBACK(gtk_do_eventbuttonpress), Lg);
-  g_signal_connect(G_OBJECT(Ltopmenu), "popup-menu", 
G_CALLBACK(key_popupmenu_display), Lg);
-
-
-  /* signaux sur le menu */
-  g_signal_connect(G_OBJECT(sc_grave_get_widget(Lg, "menustartnew")), 
"activate",
-      G_CALLBACK(menu_start_new), Lg);
-  g_signal_connect(G_OBJECT(sc_grave_get_widget(Lg, "menuload")), "activate",
-      G_CALLBACK(menu_load), Lg);
-
-  g_signal_connect(G_OBJECT(sc_grave_get_widget(Lg, "menucdaudio")), 
"activate",
-      G_CALLBACK(menu_active_panel), Lg);
-  g_signal_connect(G_OBJECT(sc_grave_get_widget(Lg, "menucddata")), "activate",
-      G_CALLBACK(menu_active_panel), Lg);
-  g_signal_connect(G_OBJECT(sc_grave_get_widget(Lg, "menudvddata")), 
"activate",
-      G_CALLBACK(menu_active_panel), Lg);
-  g_signal_connect(G_OBJECT(sc_grave_get_widget(Lg, "menucdcopy")), "activate",
-      G_CALLBACK(menu_active_panel), Lg);
-  g_signal_connect(G_OBJECT(sc_grave_get_widget(Lg, "menucdother")), 
"activate",
-      G_CALLBACK(menu_active_panel), Lg);
-  g_signal_connect(G_OBJECT(sc_grave_get_widget(Lg, "menuproperties")), 
"activate",
-      G_CALLBACK(menu_active_proprietes), Lg);
-  g_signal_connect(G_OBJECT(sc_grave_get_widget(Lg, "menuquit")), "activate",
-      G_CALLBACK(menu_quit), Lg);
-  g_signal_connect(G_OBJECT(sc_grave_get_widget(Lg, "menuabout")), "activate",
-      G_CALLBACK(on_about), Lg);
-  
-  prepare_combobox_vitesse(GTK_COMBO_BOX(sc_grave_get_widget(Lg, 
"dstaudiospeed")));
-  prepare_combobox_vitesse(GTK_COMBO_BOX(sc_grave_get_widget(Lg, 
"dstcopyspeed")));
-  prepare_combobox_vitesse(GTK_COMBO_BOX(sc_grave_get_widget(Lg, 
"dstdataspeed")));
-  prepare_combobox_vitesse(GTK_COMBO_BOX(sc_grave_get_widget(Lg, 
"dstdvddataspeed")));
-
-  /* tous les combo contenant la liste des lecteurs */
-  prepare_combobox_graveur(Lg, "dstaudio");
-  
-  prepare_combobox_graveur(Lg, "dstdata");
-  prepare_disable_when_iso(Lg, "dstdatacombo", "nbrcddata", "datamulti", 
"datanotfix", "datasimul", NULL);
-
-  prepare_combobox_graveur(Lg, "dstdvddata");
-  prepare_disable_when_iso(Lg, "dstdvddatacombo", "nbrdvddata", 
"dvddatanotfix", "dvddatasimul", NULL);
-
-  prepare_combobox_graveur(Lg, "srccopy");
-  prepare_combobox_graveur(Lg, "dstcopy");
-
-  prepare_combobox_graveur(Lg, "dstother");
-  prepare_disable_when(Lg, "dstothercombo_notcdrw", "btnerasecdrwother1", 
NULL);
-  prepare_disable_when(Lg, "dstothercombo_notdvdrw", "btnformatdvdrwother1", 
NULL);
-
-  /* checkbox continuer un cd multi session, on ne permet dans ce cas pas de 
faire
-   * plusieurs copie a la suite */
-  g_signal_connect(G_OBJECT(sc_grave_get_widget(Lg, "datamulti")), "toggled", 
G_CALLBACK(change_datamulti), Lg);
-
-  
-  /* on rempli les autres combo */
-  remplirecombo(GTK_COMBO_BOX(sc_grave_get_widget(Lg, "dataformat")), "", 
Gformatcd,
-      TRUE, conf_get_string("dataformat"));
-  remplirecombo(GTK_COMBO_BOX(sc_grave_get_widget(Lg, "datamodburn")), "", 
Gmodburn,
-      TRUE, conf_get_string("datamodburn"));
-  Lcombo = GTK_COMBO_BOX(sc_grave_get_widget(Lg, "listeremplidata"));
-  remplirecombo(Lcombo, "", Gtypecddata, TRUE, 
conf_get_string("listeremplidata")); 
-  g_signal_connect(G_OBJECT(Lcombo), "changed", 
G_CALLBACK(change_remplissage), Lg);
-
-  Lcombo = GTK_COMBO_BOX(sc_grave_get_widget(Lg, "listeremplidvddata"));
-  remplirecombo(Lcombo, "", Gtypedvddata, TRUE, 
conf_get_string("listeremplidvddata")); 
-  g_signal_connect(G_OBJECT(Lcombo), "changed", 
G_CALLBACK(change_remplissage), Lg);
-
-  Lcombo = GTK_COMBO_BOX(sc_grave_get_widget(Lg, "listerempliaudio"));
-  remplirecombo(Lcombo, "", Gtypecdaudio, TRUE, 
conf_get_string("listerempliaudio"));
-  g_signal_connect(G_OBJECT(Lcombo), "changed", 
G_CALLBACK(change_remplissage), Lg);
- 
-  /* boutons "page suivante" */
-  g_signal_connect(G_OBJECT(sc_grave_get_widget(Lg, "btnnextaudio1")), 
"clicked", G_CALLBACK(gonextpage), Lbodycdaudio);
-  g_signal_connect(G_OBJECT(sc_grave_get_widget(Lg, "btnnextdata1")), 
"clicked", G_CALLBACK(gonextpage), Lbodycddata);
-  g_signal_connect(G_OBJECT(sc_grave_get_widget(Lg, "btnnextdata2")), 
"clicked", G_CALLBACK(gonextpage), Lbodycddata);
-  g_signal_connect(G_OBJECT(sc_grave_get_widget(Lg, "btnnextdvddata1")), 
"clicked", G_CALLBACK(gonextpage), Lbodydvddata);
-  g_signal_connect(G_OBJECT(sc_grave_get_widget(Lg, "btnnextdvddata2")), 
"clicked", G_CALLBACK(gonextpage), Lbodydvddata);
-
-  /* boutons "graver" */
-  g_signal_connect(G_OBJECT(sc_grave_get_widget(Lg, "btnburnaudio2")), 
"clicked", G_CALLBACK(confirm_burn), Lg);
-  g_signal_connect(G_OBJECT(sc_grave_get_widget(Lg, "btnburndata2")), 
"clicked", G_CALLBACK(confirm_burn), Lg);
-  g_signal_connect(G_OBJECT(sc_grave_get_widget(Lg, "btnburndata3")), 
"clicked", G_CALLBACK(confirm_burn), Lg);
-  g_signal_connect(G_OBJECT(sc_grave_get_widget(Lg, "btnburndvddata2")), 
"clicked", G_CALLBACK(confirm_burn), Lg);
-  g_signal_connect(G_OBJECT(sc_grave_get_widget(Lg, "btnburndvddata3")), 
"clicked", G_CALLBACK(confirm_burn), Lg);
-  g_signal_connect(G_OBJECT(sc_grave_get_widget(Lg, "btnburncopy1")), 
"clicked", G_CALLBACK(confirm_burn), Lg);
-
-  /* boutons de la page "autres operations" */
-  g_signal_connect(G_OBJECT(sc_grave_get_widget(Lg, "btnerasecdrwother1")), 
"clicked", G_CALLBACK(confirm_erasecdrw), Lg);
-  g_signal_connect(G_OBJECT(sc_grave_get_widget(Lg, "btnformatdvdrwother1")), 
"clicked", G_CALLBACK(popup_formatdvdrw), Lg);
-  g_signal_connect(G_OBJECT(sc_grave_get_widget(Lg, "btnfixcdother1")), 
"clicked", G_CALLBACK(confirm_fixcd), Lg);
-  
-  update_combo_graveur(Lg);
-
-  /* menu popup sur les listes */
-  Ltreeaudio = GTK_TREE_VIEW(sc_grave_get_widget(Lg, "LISTEAUDIO"));
-
-  prepare_popups(Lg);
+prepare_popups(Lg);
   prepare_listeaudio(Ltreeaudio);
 
   g_signal_connect(G_OBJECT(Ltreeaudio), "button-press-event", 
G_CALLBACK(gtk_do_eventbuttonpress), Lg);
@@ -1539,18 +1563,24 @@
   /* creation colonnes */
   Lcellrender = gtk_cell_renderer_pixbuf_new();
   Lcell = gtk_tree_view_column_new_with_attributes("", Lcellrender, "pixbuf", 
1, NULL);
+  gtk_tree_view_column_set_resizable(Lcell, TRUE);
   gtk_tree_view_append_column(GTK_TREE_VIEW(Atreeaudio), Lcell);
        
   Lcellrender = gtk_cell_renderer_text_new();
   Lcell = gtk_tree_view_column_new_with_attributes(_("Track"), Lcellrender, 
"text", 2, NULL);
+  gtk_tree_view_column_set_resizable(Lcell, TRUE);
+  gtk_tree_view_column_set_sort_column_id (Lcell, 2);
   gtk_tree_view_append_column(GTK_TREE_VIEW(Atreeaudio), Lcell);
 
   Lcellrender = gtk_cell_renderer_text_new();
   Lcell = gtk_tree_view_column_new_with_attributes(_("Length"), Lcellrender, 
"text", 3, NULL);
+  gtk_tree_view_column_set_resizable(Lcell, TRUE);
+  gtk_tree_view_column_set_sort_column_id (Lcell, 3);
   gtk_tree_view_append_column(GTK_TREE_VIEW(Atreeaudio), Lcell);
 
   Lcellrender = gtk_cell_renderer_text_new();
   Lcell = gtk_tree_view_column_new_with_attributes(_("Location"), Lcellrender, 
"text", 4, NULL);
+  gtk_tree_view_column_set_sort_column_id (Lcell, 4);
   gtk_tree_view_append_column(GTK_TREE_VIEW(Atreeaudio), Lcell);
 
   gtk_tree_view_set_model(Atreeaudio, GTK_TREE_MODEL(Lmodel));
@@ -1565,6 +1595,8 @@
   GtkCellRenderer *Lcellrender;
   GtkTreeViewColumn *Lcell;
 
+//  gtk_tree_sortable_set_default_sort_func(GTK_TREE_SORTABLE(Lmodel), 
GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID, NULL, NULL);
+
   gtk_tree_selection_set_mode(Lselection, GTK_SELECTION_MULTIPLE);
   gtk_tree_view_set_enable_search(Atreedata, TRUE);
   gtk_tree_view_set_model(Atreedata, GTK_TREE_MODEL(Lmodel));
@@ -1572,14 +1604,20 @@
   /* creation colonnes */
   Lcellrender = gtk_cell_renderer_pixbuf_new();
   Lcell = gtk_tree_view_column_new_with_attributes("", Lcellrender, "pixbuf", 
1, NULL);
+  gtk_tree_view_column_set_resizable(Lcell, TRUE);
   gtk_tree_view_append_column(Atreedata, Lcell);
-       
+  
   Lcellrender = gtk_cell_renderer_text_new();
   Lcell = gtk_tree_view_column_new_with_attributes(_("Name"), Lcellrender, 
"text", 2, NULL);
+  
+  gtk_tree_view_column_set_sort_column_id (Lcell, 2);
+  gtk_tree_view_column_set_resizable(Lcell, TRUE);
   gtk_tree_view_append_column(Atreedata, Lcell);
 
   Lcellrender = gtk_cell_renderer_text_new();
   Lcell = gtk_tree_view_column_new_with_attributes(_("Size"), Lcellrender, 
"text", 3, NULL);
+  gtk_tree_view_column_set_sort_column_id (Lcell, 3);
+  gtk_tree_view_column_set_resizable(Lcell, TRUE);
   gtk_tree_view_append_column(Atreedata, Lcell);
 
   Lcellrender = gtk_cell_renderer_text_new();
@@ -1853,6 +1891,23 @@
   if (Lerror) g_error_free(Lerror);
 }
 
+/* expand or callapse GtkTreeView */
+gboolean expand_list_icons(GtkTreeView *Aliste, gboolean Aetat)
+{
+  GtkTreePath *Lpath = NULL;
+
+  gtk_tree_view_get_cursor(Aliste, &Lpath, NULL);
+  if (!Lpath) return FALSE;
+
+  if (Aetat) {
+    gtk_tree_view_expand_row(Aliste, Lpath, TRUE);
+  } else {
+    gtk_tree_view_collapse_row(Aliste, Lpath);
+  }
+  gtk_tree_path_free(Lpath);
+
+  return TRUE;
+}
 /*
  * vim:et:ts=8:sts=2:sw=2
  */




reply via email to

[Prev in Thread] Current Thread [Next in Thread]