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, >ime);
} 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