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/callbacks.c


From: sylvain cresto
Subject: [Graveman-cvs] Changes to graveman/current/src/callbacks.c
Date: Mon, 16 May 2005 21:16:40 -0400

Index: graveman/current/src/callbacks.c
diff -u graveman/current/src/callbacks.c:1.42 
graveman/current/src/callbacks.c:1.43
--- graveman/current/src/callbacks.c:1.42       Tue May 10 01:30:35 2005
+++ graveman/current/src/callbacks.c    Tue May 17 01:16:34 2005
@@ -235,7 +235,7 @@
 }
 
 /* renommer un element (fichier ou repertoire) */
-void gtk_data_renommerelement(GtkWidget *Abtn, gpointer Adata)
+void callbacks_data_renameitem(GtkWidget *Abtn, gpointer Adata)
 {
   Tgrave *Lg = (Tgrave *)Adata;
   GtkTreeView *Lliste = GTK_TREE_VIEW(sc_grave_get_data(Lg, "_current_list"));
@@ -715,8 +715,10 @@
       GtkEntry *Ldevicename = GTK_ENTRY(sc_grave_get_widget(Ldialoghash, 
"devicename"));
       gchar *Lbus = (gchar *)gtk_entry_get_text(Ldevicebus);
       Tdriveinfo *Ldrive = g_malloc0(sizeof(Tdriveinfo));
-    
-      maj_drive_info(Ldrive, Lbus, NULL);
+ 
+      proc_init_cdrominfo(NULL);
+      matos_maj_drive_info(Ldrive, Lbus, NULL);
+      proc_free_cdrominfo();
 
       if (Ldrive->type == 0) {
         Lmessage = gtk_message_dialog_new(GTK_WINDOW(Lparent),
@@ -908,7 +910,7 @@
   GSList *Llmediarequis = g_slist_append(NULL, GINT_TO_POINTER(_MEDIA_CDR + 
_MEDIA_NOBLANK + _MEDIA_APPENDABLE));
   gboolean Lstatus;
   
-  Lstatus = waiting_for_user(_MEDIA_TITLE_BLANKORAPPENDABLE, Lg, 
Llmediarequis, NULL, get_drive_info(Lg, "dstothercombo"));
+  Lstatus = waiting_for_user(_MEDIA_TITLE_BLANKORAPPENDABLE, Lg, 
Llmediarequis, NULL, matos_get_drive_info(Lg, "dstothercombo"));
   g_slist_free(Llmediarequis);
   
   if (Lstatus==FALSE) return;
@@ -986,7 +988,7 @@
   GtkWidget *Lconfirm;
   GSList *Llmediarequis = g_slist_append(NULL, GINT_TO_POINTER(_MEDIA_CDRW + 
_MEDIA_NOBLANK));
   gboolean Lstatus;
-  Lstatus = waiting_for_user(_MEDIA_TITLE_BLANKORAPPENDABLE, Lg, 
Llmediarequis, NULL, get_drive_info(Lg, "dstothercombo"));
+  Lstatus = waiting_for_user(_MEDIA_TITLE_BLANKORAPPENDABLE, Lg, 
Llmediarequis, NULL, matos_get_drive_info(Lg, "dstothercombo"));
   g_slist_free(Llmediarequis);
   
   if (Lstatus==FALSE) return;
@@ -1053,7 +1055,7 @@
     }
     Ltxt = _("Do you really want to create an audio cd ?");
     Ltitle = _("Writing audio cd in progress...");
-    Ldevicename1 = get_drive_info(Lg, "dstaudiocombo");
+    Ldevicename1 = matos_get_drive_info(Lg, "dstaudiocombo");
     Llmediarequis1 = manage_mediarequis(NULL,
                       _MEDIA_CDR + _MEDIA_BLANK, _MEDIA_CDR + 
_MEDIA_APPENDABLE,
                       _MEDIA_CDRW + _MEDIA_BLANK, _MEDIA_CDRW + 
_MEDIA_APPENDABLE,
@@ -1081,7 +1083,7 @@
     }
 
     if (Loperation == WRITE_CD) {
-      Ldevicename1 = get_drive_info(Lg, "dstdatacombo");
+      Ldevicename1 = matos_get_drive_info(Lg, "dstdatacombo");
       Liso = !Ldevicename1;
       if (Liso) {
         Ltxt = _("Do you really want to create an iso image ?");
@@ -1102,7 +1104,7 @@
         Ltitle = _("Writing iso image in progress...");
       }
     } else {
-      Ldevicename1 = get_drive_info(Lg, "dstdvddatacombo");
+      Ldevicename1 = matos_get_drive_info(Lg, "dstdvddatacombo");
       Liso = !Ldevicename1;
       if (!Liso) {
         Ltxt = _("Do you really want to create a data dvd ?");
@@ -1124,13 +1126,13 @@
 
     Ltxt = _("Do you really want to start the copy ?");
     Ltitle = _("Copying in progress...");
-    Ldevicename1 = get_drive_info(Lg, "srccopycombo");
+    Ldevicename1 = matos_get_drive_info(Lg, "srccopycombo");
     Liso = !Ldevicename1;
     if (!Liso) {
       Llmediarequis1 = manage_mediarequis(NULL, _MEDIA_CD + _MEDIA_NOBLANK, 
-1);
       Lmediatitle1 = _MEDIA_CD;
     }
-    Ldevicename2 = get_drive_info(Lg, "dstcopycombo");
+    Ldevicename2 = matos_get_drive_info(Lg, "dstcopycombo");
 
     if (Ldevicename2) {
       Llmediarequis2 = manage_mediarequis(NULL, 
@@ -1306,10 +1308,15 @@
       gtk_data_addfile(NULL, Lg);
       return TRUE;
     }
-  } else if (Aevent->keyval == GDK_plus) {
+/*  } else if (Aevent->keyval == GDK_plus) {*/
     /* appuis sur la touche plus */
-  } else if (Aevent->keyval == GDK_minus) {
+/*  } else if (Aevent->keyval == GDK_minus) {*/
     /* appuis sur la touche moins */
+  } else if ((Aevent->keyval >= GDK_exclam && Aevent->keyval <= GDK_EuroSign) 
||
+             (Aevent->keyval >= GDK_KP_0 && Aevent->keyval <= GDK_KP_9)) {
+    guint Lkey = Aevent->keyval >=GDK_KP_0 ? Aevent->keyval - 0xFF80 : 
Aevent->keyval;
+
+    callbacks_try_to_select(Lkey, GTK_TREE_VIEW(Aliste), Lg);
   }
 
   return FALSE;
@@ -1601,9 +1608,10 @@
   gtk_widget_show(Lwin);
   Ltimeout = g_timeout_add(500, encours_callback, Lg);
 
-  scan_for_drives(Lg, NULL);
+  cdrecord_scan_for_drives(Lg, NULL);
 
   if (Labort == FALSE) {
+    proc_init_cdrominfo(NULL);
     for (Lcur = Glistdrives; Lcur; Lcur = Lcur ? g_slist_next(Lcur) : Lnext) {
       Ldrive = (Tdriveinfo *)Lcur->data;
       if (g_slist_length(Ldrive->dev)>0) {
@@ -1611,7 +1619,8 @@
         gtk_label_set_text(GTK_LABEL(sc_grave_get_widget(Lg, "labelava")), 
Ltxt); g_free(Ltxt);
         while(gtk_events_pending()) gtk_main_iteration();
 
-        maj_drive_info(Ldrive, (gchar *)g_slist_nth_data(Ldrive->dev, 0), 
NULL);
+/*        matos_maj_drive_info(Ldrive, (gchar *)g_slist_nth_data(Ldrive->dev, 
0), NULL);*/
+        matos_maj_drive_info(Ldrive, NULL, NULL);
 
         /* on n'ajoute que les lecteurs/graveurs */
         if (Ldrive->type == 0) {
@@ -1622,6 +1631,7 @@
         }
       }
     }
+    proc_free_cdrominfo();
   }
 
   /* on attend la fin d'execution de la popup d'attente */
@@ -2074,15 +2084,66 @@
   gtk_widget_set_sensitive(GTK_WIDGET(Lspin), ! Lact);
 }
 
+/* select items begining with key user has pressed */
+gboolean callbacks_try_to_select(guint Akey, GtkTreeView *Aliste, Tgrave *Ag)
+{
+  GtkTreeModel *Ltreemodel = gtk_tree_view_get_model(GTK_TREE_VIEW(Aliste));
+  GtkTreePath *Lpath = NULL;
+  gchar *Lname;
+  GtkTreeIter Liter;
+  gboolean Ltrouve = FALSE;
+  gboolean Lfirstiteration = TRUE;
+  gboolean Lskip = FALSE;
+
+  gtk_tree_view_get_cursor(Aliste, &Lpath, NULL);
+  if (!Lpath) return FALSE;
+
+  while (1) {
+    while (1) {
+      if (Lskip == FALSE) {
+        gtk_tree_path_next(Lpath);
+      } else {
+        Lskip = FALSE;
+      }
+      if (!gtk_tree_model_get_iter(Ltreemodel, &Liter, Lpath)) break;
+
+      gtk_tree_model_get(Ltreemodel, &Liter, 2, &Lname, -1);
+      if (!Lname) continue;
+
+      if (*(tools_next_no_char(Lname, (gchar ) GDK_space)) == Akey) {
+        Ltrouve = TRUE;
+        break;
+      }
+    }
+
+    if (Lfirstiteration == FALSE || Ltrouve == TRUE) {
+      break;
+    } else {
+      Lfirstiteration = FALSE;
+      while (gtk_tree_path_prev(Lpath)) ;
+      Lskip = TRUE;
+    }
+  }
+
+  if (Ltrouve) {
+    gtk_tree_view_scroll_to_cell(GTK_TREE_VIEW(Aliste), Lpath, NULL, FALSE, 0, 
0);
+    gtk_tree_view_set_cursor(GTK_TREE_VIEW(Aliste), Lpath, NULL, TRUE);
+  }
+
+  gtk_tree_path_free(Lpath);
+
+  return Ltrouve;
+}
+
 /* gestion des tris */
-void gtk_data_asksort(GtkWidget *Abtn, gpointer Adata)
+void callbacks_data_asksort(GtkWidget *Abtn, gpointer Adata)
 {
   Tgrave *Lg = (Tgrave *)Adata;
   GtkTreeView *Lliste = GTK_TREE_VIEW(sc_grave_get_data(Lg, "_current_list"));
   GtkTreeModel *Ltreemodel = gtk_tree_view_get_model(GTK_TREE_VIEW(Lliste));
   GtkTreeSortable *Lsort = NULL;
-  gint Lcolid;
-  GtkSortType Lorder;
+/*  gint Lcolid;
+  GtkSortType Lorder;*/
   const gchar *Lname;
 
   if (!GTK_IS_WIDGET(Abtn) || !GTK_IS_WIDGET(Lliste)) return;




reply via email to

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