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

Modified Files:
      Tag: threaded_conversion_branch
        display.c file.h file_convert.c file_convert.h file_itunesdb.c 
        info.c prefs_window.c 
Log Message:
        * gtkpod.glade
          src/file.h
          src/file_itunesdb.c
          src/file_convert.[ch]:
          src/display.c
          src/file.h
          src/file_convert.c
          src/file_convert.h
          src/file_itunesdb.c
          src/prefs_window.c
          src/info.c: handle closing of window if user
          clicks on the 'close-window' buton, general cleanup,
          created log window for file conversion output.



Index: display.c
===================================================================
RCS file: /cvsroot/gtkpod/gtkpod/src/display.c,v
retrieving revision 1.154
retrieving revision 1.154.2.1
diff -u -d -r1.154 -r1.154.2.1
--- display.c   19 Mar 2007 14:46:07 -0000      1.154
+++ display.c   23 Apr 2007 15:18:26 -0000      1.154.2.1
@@ -1,4 +1,4 @@
-/* Time-stamp: <2007-03-19 23:13:41 jcs>
+/* Time-stamp: <2007-04-23 22:24:05 jcs>
 |
 |  Copyright (C) 2002-2005 Jorg Schuler <jcsjcs at users sourceforge net>
 |  Part of the gtkpod project.
@@ -35,6 +35,7 @@
 #include "display_private.h"
 #include "info.h"
 #include "ipod_init.h"
+#include "file_convert.h"
 #include "misc.h"
 #include "misc_track.h"
 #include "prefs.h"
@@ -429,15 +430,16 @@
     /* x,y size of main window */
     if (gtkpod_window)
     {
-                       gtk_window_get_size (GTK_WINDOW (gtkpod_window), &x, 
&y);
-                       prefs_set_int("size_gtkpod.x", x);
-                       prefs_set_int("size_gtkpod.y", y);
+       gtk_window_get_size (GTK_WINDOW (gtkpod_window), &x, &y);
+       prefs_set_int("size_gtkpod.x", x);
+       prefs_set_int("size_gtkpod.y", y);
     }
     tm_update_default_sizes ();
     st_update_default_sizes ();
     prefs_window_update_default_sizes ();
     info_update_default_sizes ();
     details_update_default_sizes ();
+    file_convert_update_default_sizes ();
 }
 
 
@@ -1627,6 +1629,22 @@
 }
 
 void
+on_conversion_log1_activate               (GtkMenuItem     *menuitem,
+                                          gpointer         user_data)
+{
+    gboolean state;
+
+    state = gtk_check_menu_item_get_active (GTK_CHECK_MENU_ITEM (menuitem));
+
+    if (state != prefs_get_int (FILE_CONVERT_DISPLAY_LOG))
+    {
+       prefs_set_int (FILE_CONVERT_DISPLAY_LOG, state);
+       file_convert_prefs_changed ();
+    }
+}
+
+
+void
 on_sync_all_activate                   (GtkMenuItem     *menuitem,
                                         gpointer         user_data)
 {

Index: file.h
===================================================================
RCS file: /cvsroot/gtkpod/gtkpod/src/file.h,v
retrieving revision 1.59.4.1
retrieving revision 1.59.4.2
diff -u -d -r1.59.4.1 -r1.59.4.2
--- file.h      19 Apr 2007 14:46:07 -0000      1.59.4.1
+++ file.h      23 Apr 2007 15:18:27 -0000      1.59.4.2
@@ -1,4 +1,4 @@
-/* Time-stamp: <2007-04-14 13:24:22 jcs>
+/* Time-stamp: <2007-04-23 21:48:53 jcs>
 |
 |  Copyright (C) 2002-2005 Jorg Schuler <jcsjcs at users sourceforge net>
 |  Part of the gtkpod project.
@@ -101,8 +101,6 @@
 gboolean gp_eject_ipod(iTunesDB *itdb);
 gboolean gp_save_itdb (iTunesDB *itdb);
 void handle_export (void);
-void details_log_clear (void);
-void details_log_append (gchar *text);
 void data_changed (iTunesDB *itdb);
 void data_unchanged (iTunesDB *itdb);
 gboolean files_are_saved (void);

Index: file_convert.c
===================================================================
RCS file: /cvsroot/gtkpod/gtkpod/src/file_convert.c,v
retrieving revision 1.5.2.3
retrieving revision 1.5.2.4
diff -u -d -r1.5.2.3 -r1.5.2.4
--- file_convert.c      21 Apr 2007 08:54:50 -0000      1.5.2.3
+++ file_convert.c      23 Apr 2007 15:18:27 -0000      1.5.2.4
@@ -32,45 +32,20 @@
 #ifdef HAVE_CONFIG_H
 #   include <config.h>
 #endif
-/*
- * TODO:
- *  - see threaded version (conversion launched when adding the file)
- *
- *  ++dump child_stdout if file name not found or file not found 
- *
- *  - redirect stderr display into "debug info" ?? (as in k3b) ??
- *
[...1209 lines suppressed...]
        }
 
-       basename = g_build_filename (cachedir, ctr->fname_root, NULL);
-       g_free (cachedir);
-       cachedir = NULL;
+       basename = g_build_filename (conv->cachedir, ctr->fname_root, NULL);
+
+       g_mutex_unlock (conv->mutex);
 
        i=0;
        do
@@ -2281,7 +2006,7 @@
     g_mutex_lock (conv->mutex);
 
     debug ("%p thread entered\n", g_thread_self ());
-    
+
     if (conv->scheduled)
     {
        do

Index: file_convert.h
===================================================================
RCS file: /cvsroot/gtkpod/gtkpod/src/file_convert.h,v
retrieving revision 1.4.2.2
retrieving revision 1.4.2.3
diff -u -d -r1.4.2.2 -r1.4.2.3
--- file_convert.h      21 Apr 2007 08:54:50 -0000      1.4.2.2
+++ file_convert.h      23 Apr 2007 15:18:27 -0000      1.4.2.3
@@ -37,34 +37,12 @@
 #endif
 
 #include <itdb.h>
-#include <file.h>
-
-#if 0
-typedef struct
-{
-    Track   *track;                /* Track to convert */
-    gchar   *converted_file;       /* PC filename of the "mp3" file 
-                                      != NULL if the file exists   */
-    gint32   old_size;             /* size of the original file    */
-    FileType type;                 /* type of the original file    */
-    GPid     child_pid;            /* PID of conversion process    */
-    gint     child_stdout;         /* STDOUT of conversion process */
-    gchar    *command_line;        /* used for conversion */
-    gint     source_id;
-    gboolean aborted;
-} TrackConv;
-
-GError *file_convert_pre_copy (TrackConv *converter);
-GError *file_convert_post_copy (TrackConv *converter);
-GError *file_convert_wait_for_conversion (TrackConv *converter);
-
-/* extern gchar **cmdline_to_argv(const gchar *cmdline, Track *track); */
-#endif
 
 extern const gchar *FILE_CONVERT_CACHEDIR;
 extern const gchar *FILE_CONVERT_MAXDIRSIZE;
 extern const gchar *FILE_CONVERT_TEMPLATE;
 extern const gchar *FILE_CONVERT_MAX_THREADS_NUM;
+extern const gchar *FILE_CONVERT_DISPLAY_LOG;
 
 typedef enum
 {
@@ -81,6 +59,7 @@
 void file_convert_init (void);
 void file_convert_shutdown (void);
 void file_convert_prefs_changed (void);
+void file_convert_update_default_sizes (void);
 gboolean file_convert_add_track (Track *track);
 void file_convert_itdb_first (iTunesDB *itdb);
 void file_convert_cancel_itdb (iTunesDB *itdb);

Index: file_itunesdb.c
===================================================================
RCS file: /cvsroot/gtkpod/gtkpod/src/file_itunesdb.c,v
retrieving revision 1.117.2.4
retrieving revision 1.117.2.5
diff -u -d -r1.117.2.4 -r1.117.2.5
--- file_itunesdb.c     21 Apr 2007 08:54:50 -0000      1.117.2.4
+++ file_itunesdb.c     23 Apr 2007 15:18:27 -0000      1.117.2.5
@@ -89,7 +89,7 @@
     const gchar *filename;   /* Filename to copy/remove        */
     /* Widgets for progress dialog */
     GtkWidget *textlabel;
-    GtkWidget *progressbar;
+    GtkProgressBar *progressbar;
 } TransferData;
 
 
@@ -99,50 +99,9 @@
 static GList *extendeddeletion = NULL;
 static float extendedinfoversion = 0.0;
 
-static volatile GtkWidget *details_log; /* Details log on file dialog */
-
 /* Some declarations */
 static gboolean gp_write_itdb (iTunesDB *itdb);
 
-void details_log_append(gchar *text) 
-{
-  GtkTextBuffer *buf;
-  GtkTextIter start, end;
-  gchar *ptr = text, *next;
-
-  g_return_if_fail (GTK_IS_TEXT_VIEW(details_log));
-
-  buf = gtk_text_view_get_buffer (GTK_TEXT_VIEW (details_log));
-  gtk_text_buffer_get_end_iter (buf, &end);
-  while (*ptr) {
-    if (!details_log) return;
-    next = g_utf8_find_next_char (ptr, NULL);
-    if (*ptr == '\b') {
-      start = end;
-      if (gtk_text_iter_backward_char (&start))
-         gtk_text_buffer_delete (buf, &start, &end);
-    }
-    else if(*ptr == '\r') {
-      start = end;
-      gtk_text_iter_set_line_offset (&start, 0);
-      gtk_text_buffer_delete (buf, &start, &end);
-    }
-    else gtk_text_buffer_insert (buf, &end, ptr, next - ptr);
-    ptr = next;
-  }
-  gtk_text_view_scroll_to_iter (GTK_TEXT_VIEW (details_log), &end, 0.0, FALSE, 
0.0, 0.0); 
-}
-
-void details_log_clear(void) 
-{
-  GtkTextBuffer *buf;
-
-  g_return_if_fail (GTK_IS_TEXT_VIEW(details_log));
-
-  buf = gtk_text_view_get_buffer (GTK_TEXT_VIEW (details_log));
-  gtk_text_buffer_set_text (buf, "", -1);
-}
-
 
 /* fills in extended info if available */
 /* num/total are used to give updates in case the sha1 checksums have
@@ -1332,7 +1291,7 @@
 }
 
 /* This function is called when the user presses the abort button
- * during transfer_tracks() */
+ * during transfer_tracks() or delete_tracks() */
 static void file_dialog_abort (TransferData *transfer_data)
 {
     g_return_if_fail (transfer_data);
@@ -1344,6 +1303,14 @@
     g_mutex_unlock (transfer_data->mutex);
 }
 
+/* This function is called when the user closes the window */
+static gboolean file_dialog_delete (TransferData *transfer_data)
+{
+    file_dialog_abort (transfer_data);
+    return TRUE; /* don't close the window -- let our own code take care of 
this */
+}
+
+
 /* check if iPod directory stucture is present */
 static gboolean ipod_dirs_present (const gchar *mountpoint)
 {
@@ -1386,7 +1353,8 @@
     td->textlabel = gtkpod_xml_get_widget (dialog_xml, "textlabel");
 
     /* progress bar */
-    td->progressbar = gtkpod_xml_get_widget (dialog_xml, "progressbar");
+    td->progressbar = GTK_PROGRESS_BAR (
+       gtkpod_xml_get_widget (dialog_xml, "progressbar"));
 
     /* Indicate that user wants to abort */
     widget = gtkpod_xml_get_widget (dialog_xml, "abortbutton");
@@ -1394,12 +1362,20 @@
                              G_CALLBACK (file_dialog_abort),
                              td);
 
+    /* User tried to close the window */
+    g_signal_connect_swapped (GTK_OBJECT (dialog), "delete-event",
+                             G_CALLBACK (file_dialog_delete),
+                             td);
+
     return dialog;
 }
 
 
-static gchar *get_progresstext (time_t start, gint n, gint count)
+static void set_progressbar (GtkProgressBar *progressbar,
+                            time_t start, gint n, gint count)
 {
+    g_return_if_fail (progressbar);
+
     gchar *progtext;
 
     if (count == 0)
@@ -1422,7 +1398,9 @@
            count*100/n, count, n, (gint)hrs, (gint)mins, (gint)secs);
     }
 
-    return progtext;
+    gtk_progress_bar_set_fraction(progressbar, (gdouble)count/n);
+    gtk_progress_bar_set_text(progressbar, progtext);
+    g_free (progtext);
 }
 
 
@@ -1432,7 +1410,6 @@
    files were removed */
 static gboolean delete_files (iTunesDB *itdb, TransferData *td)
 {
-  gchar *progtext = NULL;
   gboolean result = TRUE;
   gint n, count;
   time_t start;
@@ -1483,9 +1460,6 @@
       {
          gint rmres;
 
-         gtk_progress_bar_set_fraction(GTK_PROGRESS_BAR (td->progressbar),
-                                       (gdouble) count/n);
-
          td->finished = FALSE;
          td->filename = filename;
 
@@ -1495,9 +1469,7 @@
          {
              GTimeVal gtime;
 
-             progtext = get_progresstext (start, n, count);
-             gtk_progress_bar_set_text(GTK_PROGRESS_BAR (td->progressbar), 
progtext);
-             g_free (progtext);
+             set_progressbar (td->progressbar, start, n, count);
 
              g_mutex_unlock (td->mutex);
 
@@ -1534,6 +1506,8 @@
          eitdb->pending_deletion, eitdb->pending_deletion);
   }
 
+  set_progressbar (td->progressbar, start, n, count);
+
   while (widgets_blocked && gtk_events_pending ())
       gtk_main_iteration ();
 
@@ -1556,7 +1530,6 @@
   gint count, n, trackserrnum, tracksleftnum;
   gboolean result = TRUE;
   time_t start;
-  gchar *progtext = NULL;
   ExtraiTunesDBData *eitdb;
   GThread *thread = NULL;
 
@@ -1646,9 +1619,6 @@
                  td->track = track;
                  td->filename = file_to_transfer;
 
-                 gtk_progress_bar_set_fraction(GTK_PROGRESS_BAR 
(td->progressbar),
-                                               (gdouble) count/n);
-
                  gtk_label_set_text (GTK_LABEL(td->textlabel),
                                      _("Status: Copying track"));
 
@@ -1659,10 +1629,7 @@
                  {
                      GTimeVal gtime;
 
-                     progtext = get_progresstext (start, n, count);
-                     gtk_progress_bar_set_text(
-                         GTK_PROGRESS_BAR (td->progressbar), progtext);
-                     g_free (progtext);
+                     set_progressbar (td->progressbar, start, n, count);
 
                      g_mutex_unlock (td->mutex);
 
@@ -1678,6 +1645,7 @@
                                         td->mutex, &gtime);
 
                  } while(td->finished);
+
                  g_mutex_unlock (td->mutex);
                  error = g_thread_join (thread);
 
@@ -1703,17 +1671,14 @@
          }
       } /* for (gl=itdb->tracks;.;.) */
 
-      gtk_progress_bar_set_fraction(GTK_PROGRESS_BAR (td->progressbar),
-                                   (gdouble) count/n);
+      set_progressbar (td->progressbar, start, n, count);
 
       tracksleftnum = itdb_tracks_number_nontransferred (itdb);
       if (tracksleftnum > trackserrnum)
       {   /* waiting for files to finish conversion */
          do
          {
-             progtext = get_progresstext (start, n, count);
-             gtk_progress_bar_set_text(GTK_PROGRESS_BAR (td->progressbar), 
progtext);
-             g_free (progtext);
+             set_progressbar (td->progressbar, start, n, count);
 
              gtk_label_set_text (GTK_LABEL(td->textlabel),
                                  _("Status: Waiting for conversion to 
complete"));

Index: info.c
===================================================================
RCS file: /cvsroot/gtkpod/gtkpod/src/info.c,v
retrieving revision 1.47
retrieving revision 1.47.6.1
diff -u -d -r1.47 -r1.47.6.1
--- info.c      24 Jun 2006 15:39:22 -0000      1.47
+++ info.c      23 Apr 2007 15:18:27 -0000      1.47.6.1
@@ -1,4 +1,4 @@
-/* Time-stamp: <2006-06-25 00:22:55 jcs>
+/* Time-stamp: <2007-04-23 22:22:23 jcs>
 |
 |  Copyright (C) 2002-2005 Jorg Schuler <jcsjcs at users sourceforge net>
 |  Part of the gtkpod project.
@@ -206,7 +206,7 @@
        gint defx, defy;
        gtk_window_get_size (GTK_WINDOW (info_window), &defx, &defy);
        prefs_set_int("size_info.x", defx);
-  prefs_set_int("size_info.y", defy);
+       prefs_set_int("size_info.y", defy);
     }
 }
 

Index: prefs_window.c
===================================================================
RCS file: /cvsroot/gtkpod/gtkpod/src/prefs_window.c,v
retrieving revision 1.195.2.1
retrieving revision 1.195.2.2
diff -u -d -r1.195.2.1 -r1.195.2.2
--- prefs_window.c      21 Apr 2007 08:54:50 -0000      1.195.2.1
+++ prefs_window.c      23 Apr 2007 15:18:27 -0000      1.195.2.2
@@ -331,6 +331,7 @@
        "sync_confirm_dirs_toggle",
        "sync_delete_tracks_toggle",
        "sync_show_summary_toggle",
+       "file_convert_display_log_button",
        NULL
     };
     /* ... and corresponding keys */
@@ -338,6 +339,7 @@
        KEY_SYNC_CONFIRM_DIRS,
        KEY_SYNC_DELETE_TRACKS,
        KEY_SYNC_SHOW_SUMMARY,
+       FILE_CONVERT_DISPLAY_LOG,
        NULL
     };
 


-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
gtkpod-cvs2 mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/gtkpod-cvs2

Reply via email to