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, 21 Feb 2005 18:54:35 -0500

Index: graveman/current/src/callbacks.c
diff -u graveman/current/src/callbacks.c:1.21 
graveman/current/src/callbacks.c:1.22
--- graveman/current/src/callbacks.c:1.21       Mon Feb 21 01:25:28 2005
+++ graveman/current/src/callbacks.c    Mon Feb 21 23:54:28 2005
@@ -51,6 +51,7 @@
 
 #ifdef ENABLE_MP3
   if (GsupportMp3 && sc_str_has_casesuffix(Anom, MP3)) {
+printf("MP3\n");
     Lstatus = getMp3Info(Anom, &LTitle, &LAlbum, &LArtist, &Llennbr, NULL);
   } else
 #endif    
@@ -751,7 +752,7 @@
   Tgrave *Lg = (Tgrave *)Adata;
   const gchar *Lname = glade_get_widget_name(Abtn);
   GtkWidget *Ltextdest = (GtkWidget *) sc_grave_get_widgetv(Lg, "%svalue", 
Lname);
-  gint resp;
+  gint Lresp;
   GtkWidget *Lfilesel;
   GtkFileChooserAction Ldialogtype = !strncmp(Lname, "src", 3) ?
                                         GTK_FILE_CHOOSER_ACTION_OPEN : 
GTK_FILE_CHOOSER_ACTION_SAVE;
@@ -759,16 +760,16 @@
   if (!strncmp(Lname, "dir", 3)) {
     Ldialogtype = GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER;
   }
-  Lfilesel = create_fileselection1(NULL, Ldialogtype);
+  Lfilesel = create_isoselection(NULL, Ldialogtype);
   use_last_dir(GTK_FILE_CHOOSER(Lfilesel));
-  resp=gtk_dialog_run(GTK_DIALOG(Lfilesel));
+  Lresp=gtk_dialog_run(GTK_DIALOG(Lfilesel));
   gtk_widget_hide (Lfilesel);
   while (gtk_events_pending())
     gtk_main_iteration();
 
-  if (resp == GTK_RESPONSE_ACCEPT) {
+  if (Lresp == GTK_RESPONSE_ACCEPT) {
     gchar *Lfilenamebrut = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER ( 
Lfilesel));
-    gchar *Lfilename = _UTF8(Lfilenamebrut);
+    gchar *Lfilename = _FILENAME(Lfilenamebrut);
     save_last_dir(GTK_FILE_CHOOSER(Lfilesel));
     gtk_entry_set_text(GTK_ENTRY(Ltextdest), Lfilename);
     g_free(Lfilename);
@@ -1749,6 +1750,76 @@
 }
 #endif
 
+/* charger un fichier, importer une playlist */
+void menu_load(GtkMenuItem *Amenuitem, gpointer Adata)
+{
+  Tgrave *Lg = (Tgrave *)Adata;
+  GtkWidget *Lfileselection;
+  GtkFileFilter *filterm3u, *filterpts, *filterall;
+  GtkWidget *Lparent = sc_grave_get_widget(Lg, "topwindow");
+  gint Lresp;
+  GError *Lerror = NULL;
+  gboolean LnewPl = (strcmp(glade_get_widget_name(GTK_WIDGET(Amenuitem)), 
"popupaudio_append"));
+  
+  /* filtres pour la selection de fichiers */
+  filterall = gtk_file_filter_new ();
+  gtk_file_filter_set_name (filterall, _("All playlists files (*.m3u *.pts)"));
+  gtk_file_filter_add_pattern(filterall, "*.m3u");
+  gtk_file_filter_add_pattern(filterall, "*.pts");
+  filterm3u = gtk_file_filter_new ();
+  gtk_file_filter_set_name (filterm3u, _("M3u and m3u extended playlists only 
(*.m3u)"));
+  gtk_file_filter_add_pattern(filterm3u, "*.m3u");
+  filterpts = gtk_file_filter_new ();
+  gtk_file_filter_set_name (filterpts, _("Pts playlists only (*.pts)"));
+  gtk_file_filter_add_pattern(filterpts, "*.pts");
+
+  Lfileselection = gtk_file_chooser_dialog_new(LnewPl ? _("Import audio play 
list") : _("Append audio play list"),
+      GTK_WINDOW(Lparent), GTK_FILE_CHOOSER_ACTION_OPEN, GTK_STOCK_CANCEL, 
GTK_RESPONSE_CANCEL,
+      GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT, NULL);
+
+  gtk_dialog_set_default_response (GTK_DIALOG (Lfileselection), 
GTK_RESPONSE_ACCEPT);
+  gtk_file_chooser_add_filter (GTK_FILE_CHOOSER (Lfileselection), filterall);
+  gtk_file_chooser_add_filter (GTK_FILE_CHOOSER (Lfileselection), filterm3u);
+  gtk_file_chooser_add_filter (GTK_FILE_CHOOSER (Lfileselection), filterpts);
+
+  use_last_dir(GTK_FILE_CHOOSER(Lfileselection));
+  Lresp=gtk_dialog_run(GTK_DIALOG(Lfileselection));
+
+  gtk_widget_hide (Lfileselection);
+
+  if (Lresp == GTK_RESPONSE_ACCEPT) {
+    gchar *Lfilenamebrut = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER 
(Lfileselection));
+    gchar *Lfilename = _FILENAME(Lfilenamebrut);
+
+    save_last_dir(GTK_FILE_CHOOSER(Lfileselection));
+
+    if (sc_str_has_casesuffix(Lfilename, M3U)) {
+      m3u_import(Lfilename, Lg, LnewPl, &Lerror);
+    } else if (sc_str_has_casesuffix(Lfilename, PLS)) {
+      pls_import(Lfilename, Lg, LnewPl, &Lerror);
+    }
+    
+    g_free(Lfilename);
+    g_free(Lfilenamebrut);
+
+    if (Lerror) {
+      /* erreur */
+      GtkWidget *Lstatusbox = gtk_message_dialog_new(GTK_WINDOW(Lparent),
+                                GTK_DIALOG_MODAL, GTK_MESSAGE_WARNING, 
GTK_BUTTONS_OK,
+                                Lerror->message); 
+      gtk_dialog_run(GTK_DIALOG(Lstatusbox));
+
+      gtk_widget_destroy(Lstatusbox);
+      g_error_free(Lerror);
+    } else {
+      /* on active le panel "cd audio" si on n'y est pas */
+      menu_active_panel(sc_grave_get_widget(Lg, "menucdaudio"), Lg);
+    }
+  }
+
+  gtk_widget_destroy(Lfileselection);
+}
+
 /* debuter un nouveau projet */
 void menu_start_new(GtkMenuItem *Amenuitem, gpointer Adata)
 {
@@ -1764,17 +1835,7 @@
 
   if (!strcmp(Lname, "bodycdaudio")) {
     /* on est sur l'onglet cd audio, on vide la liste */
-    GtkTreeView *Lliste = GTK_TREE_VIEW(sc_grave_get_widget(Lg, "LISTEAUDIO"));
-    GtkTreeModel *Ltreemodel = gtk_tree_view_get_model(Lliste);
-    GtkProgressBar *Lcontenance = GTK_PROGRESS_BAR(sc_grave_get_widget(Lg, 
"audiolenbar"));
-    guint32 *Laudiolen = (guint32 *)sc_grave_get_data(Lg, "audiolen");
-    guint32 *Laudiomaxlen = (guint32 *)sc_grave_get_data(Lg, "audiomaxlen");
-    (*Laudiolen) = 0;
-
-    gtk_list_store_clear(GTK_LIST_STORE(Ltreemodel));
-    gtk_tree_view_columns_autosize(Lliste); 
-    switch_pbar_status(Lcontenance, *Laudiomaxlen, *Laudiolen, 
PB_UPDATE_AUDIO);
-
+    clear_list_audio(Lg);
   } else if (!strcmp(Lname, "bodycddata") || !strcmp(Lname, "bodydvddata")) {
     /* on est sur l'onglet cd data, on vide la liste */
     GtkTreeView *Lliste = GTK_TREE_VIEW(sc_grave_get_data(Lg, 
"_current_list"));
@@ -1836,4 +1897,4 @@
 
 /*
  * vim:et:ts=8:sts=2:sw=2
- )*/
+ */




reply via email to

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