Update of /cvsroot/gtkpod/gtkpod/src
In directory sc8-pr-cvs2.sourceforge.net:/tmp/cvs-serv24790/src

Modified Files:
        file_convert.c file_itunesdb.c prefs.c 
Log Message:
        * src/file_itunesdb.c
          src/prefs.c: remember dialog size and "display details"
          state, display warning when transferring track that cannot
          be played by the iPod (Mario Rossi).



Index: file_convert.c
===================================================================
RCS file: /cvsroot/gtkpod/gtkpod/src/file_convert.c,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- file_convert.c      5 Feb 2007 08:46:00 -0000       1.3
+++ file_convert.c      6 Feb 2007 14:42:48 -0000       1.4
@@ -40,7 +40,7 @@
 #include "misc.h"           /* T_item */
 #include "misc_track.h"     /* track_get_item_pointer */
 
-#define DEBUG_CONV
+/* #define DEBUG_CONV */
 #ifdef DEBUG_CONV
 #   define _TO_STR(x) #x
 #   define TO_STR(x) _TO_STR(x)

Index: file_itunesdb.c
===================================================================
RCS file: /cvsroot/gtkpod/gtkpod/src/file_itunesdb.c,v
retrieving revision 1.107
retrieving revision 1.108
diff -u -d -r1.107 -r1.108
--- file_itunesdb.c     5 Feb 2007 08:46:00 -0000       1.107
+++ file_itunesdb.c     6 Feb 2007 14:42:48 -0000       1.108
@@ -1,4 +1,4 @@
-/* Time-stamp: <2007-02-05 17:27:00 jcs>
+/* Time-stamp: <2007-02-06 21:57:48 jcs>
 |
 |  Copyright (C) 2002-2005 Jorg Schuler <jcsjcs at users sourceforge net>
 |  Part of the gtkpod project.
@@ -1251,7 +1251,8 @@
     etr = track->userdata;
     g_return_val_if_fail (etr, NULL);
     const gchar *file_to_transfer=etr->pc_path_locale;
-    gboolean convert = FALSE;
+    gboolean convert = FALSE, must_convert = FALSE;
+    const gchar *typestr = "";
 
     /* check if we need to convert the file */
     type = determine_file_type (file_to_transfer);
@@ -1280,9 +1281,13 @@
        break;
     case FILE_TYPE_OGG:
        convert = prefs_get_int ("convert_ogg");
+        must_convert = TRUE;
+        typestr = _("Ogg Vorbis");
        break;
     case FILE_TYPE_FLAC:
        convert = prefs_get_int ("convert_flac");
+        must_convert = TRUE;
+        typestr = _("FLAC");
        break;
     }
 
@@ -1308,6 +1313,14 @@
                 file_to_transfer = converter->converted_file;
         }
     }
+    else if (must_convert)
+    {
+        error = g_error_new(G_FILE_ERROR, 0, 
+            _("Unable to copy %s and no converstion script is set in 
preferences.\n"
+              "\niPods do not support %s files natively."
+              " Please set up and turn on the correct conversion Script in 
preferences\n"),
+              file_to_transfer, typestr );
+    }
 
     if (error == NULL)
     {
@@ -1377,13 +1390,22 @@
     return result;
 }
 
+static void file_dialog_expander_notify (GtkExpander *expander, GParamSpec 
*param_spec, gpointer user_data)
+{
+  gboolean expanded;
 
+  /* Save the state of the expander to preferences */
+  expanded = gtk_expander_get_expanded (expander);
+  prefs_set_int("file_dialog_details_expanded", expanded);
+}
 
 static GtkWidget *create_file_dialog (GtkWidget **progress_bar,
                                      GtkWidget **text_view,
                                      TransferData *transfer_data)
 {
   GtkWidget *dialog, *label, *image, *hbox, *expander, *scrolled_window;
+  gint defx = 0, defy = 0;
+  gboolean details_expanded;
 
   /* create the dialog window */
   dialog = gtk_dialog_new_with_buttons (_("Information"),
@@ -1424,7 +1446,23 @@
       gtk_container_add (GTK_CONTAINER (expander), scrolled_window);
       gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dialog)->vbox),
                       expander, TRUE, TRUE, 0);
+
+      defx =  prefs_get_int ("size_file_dialog_details.x");
+      defy =  prefs_get_int ("size_file_dialog_details.y");
+      details_expanded = prefs_get_int ("file_dialog_details_expanded");
+      gtk_expander_set_expanded (GTK_EXPANDER (expander), details_expanded);
+      
+      g_signal_connect (GTK_OBJECT (expander), "notify::expanded",
+                      G_CALLBACK (file_dialog_expander_notify),
+                     NULL);
+
   }
+  else {
+      defx =  prefs_get_int ("size_file_dialog.x");
+      defy =  prefs_get_int ("size_file_dialog.y");
+  }
+
+  gtk_window_set_default_size(GTK_WINDOW (dialog), defx, defy);
 
   /* Indicate that user wants to abort */
   g_signal_connect_swapped (GTK_OBJECT (dialog), "response",
@@ -1434,13 +1472,12 @@
   /* Add the image/label + progress bar to dialog */
   gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dialog)->vbox),
                       hbox, FALSE, FALSE, 0);
-
+  
   gtk_widget_show_all (dialog);
 
   return dialog;
 }
 
-
 /* Removes all tracks that were marked for deletion from the iPod or
    the local harddisk (for itdb->usertype == GP_ITDB_TYPE_LOCAL) */
 /* Returns TRUE on success, FALSE if some error occurred and not all
@@ -1450,6 +1487,7 @@
   GtkWidget *dialog, *progress_bar;
   gchar *progtext = NULL;
   gboolean result = TRUE;
+  gint w, h;
   TransferData *transfer_data;
   ExtraiTunesDBData *eitdb;
 #ifdef G_THREADS_ENABLED
@@ -1544,6 +1582,12 @@
       while (widgets_blocked && gtk_events_pending ())
          gtk_main_iteration ();
   }
+
+  /* Save size of file dialog */ 
+  gtk_window_get_size (GTK_WINDOW(dialog), &w, &h);
+  prefs_set_int("size_file_dialog.x", w);
+  prefs_set_int("size_file_dialog.y", h);
+
   gtk_widget_destroy (dialog);
   if (transfer_data->abort) result = FALSE;
   transfer_data_free (transfer_data);
@@ -1559,7 +1603,7 @@
 static gboolean flush_tracks (iTunesDB *itdb)
 {
   GList *gl;
-  gint count, n;
+  gint count, n, w, h;
   gboolean result = TRUE;
   TransferData *transfer_data;
   GtkWidget *dialog, *progress_bar;
@@ -1690,6 +1734,12 @@
   if (result == FALSE)
       gtkpod_statusbar_message (_("Some tracks were not written to iPod. 
Export aborted!"));
   gtkpod_statusbar_timeout (0);
+
+  /* Save size of file dialog */ 
+  gtk_window_get_size (GTK_WINDOW(dialog), &w, &h);
+  prefs_set_int("size_file_dialog_details.x", w);
+  prefs_set_int("size_file_dialog_details.y", h);
+
   gtk_widget_destroy (dialog);
   while (widgets_blocked && gtk_events_pending ())  gtk_main_iteration ();
 

Index: prefs.c
===================================================================
RCS file: /cvsroot/gtkpod/gtkpod/src/prefs.c,v
retrieving revision 1.274
retrieving revision 1.275
diff -u -d -r1.274 -r1.275
--- prefs.c     5 Feb 2007 08:46:00 -0000       1.274
+++ prefs.c     6 Feb 2007 14:42:48 -0000       1.275
@@ -237,6 +237,14 @@
     prefs_set_int("size_info.x", 510);
     prefs_set_int("size_info.y", 300);
 
+    /* size of file dialog if there is not a details textview */
+    prefs_set_int("size_file_dialog.x", 320);
+    prefs_set_int("size_file_dialog.y", 140);
+
+    /* size of file dialog if there is a details textview */
+    prefs_set_int("size_file_dialog_details.x", 320);
+    prefs_set_int("size_file_dialog_details.y", 140);
+
     prefs_set_int("autoimport", FALSE);
     prefs_set_int("readtags", TRUE);
     prefs_set_int("write_extended_info", TRUE);
@@ -265,6 +273,7 @@
     prefs_set_int("block_display", FALSE);
     prefs_set_int("md5", TRUE);
     prefs_set_string("export_template", "%o;%a - %t.mp3;%t.wav");
+    prefs_set_int("file_dialog_details_expanded", FALSE);
 
     /* Set last browsed directory */
     str = g_get_current_dir();


-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier.
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
gtkpod-cvs2 mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/gtkpod-cvs2

Reply via email to