gtk_main_quit( );
}
+/** Main window - playlist open menu item selected.
+*/
+
+void on_item_open_playlist_activate( GtkMenuItem *menuitem, gpointer user_data )
+{
+ dv1394app this = user_data;
+ GtkWidget *dialog;
+
+ dialog = gtk_file_chooser_dialog_new ("Open File",
+ GTK_WINDOW (this->window),
+ GTK_FILE_CHOOSER_ACTION_OPEN,
+ GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
+ GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT,
+ NULL);
+
+ gtk_file_chooser_set_current_folder (GTK_FILE_CHOOSER (dialog),
+ (this->playlist_folder)?this->playlist_folder:getenv("HOME"));
+
+ if (gtk_dialog_run (GTK_DIALOG (dialog)) == GTK_RESPONSE_ACCEPT)
+ {
+ char *filename;
+
+ filename = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (dialog));
+ fprintf(stderr, "on_item_open_playlist_activate: %s\n", filename);
+
+ if ( this->playlist_folder )
+ g_free (this->playlist_folder);
+ this->playlist_folder = filename;
+ if ( this->playlist_folder )
+ {
+ char* e = strrchr(this->playlist_folder, '/');
+ if(e) *e = 0;
+ }
+ fprintf(stderr, "on_item_open_playlist_activate: this->playlist_folder=[%s]\n", this->playlist_folder);
+ }
+
+ gtk_widget_destroy (dialog);
+}
+
+/** Main window - playlist save menu item selected.
+*/
+
+void on_item_save_playlist_activate( GtkMenuItem *menuitem, gpointer user_data )
+{
+ dv1394app this = user_data;
+ GtkWidget *dialog;
+
+ dialog = gtk_file_chooser_dialog_new ("Save File",
+ GTK_WINDOW (this->window),
+ GTK_FILE_CHOOSER_ACTION_SAVE,
+ GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
+ GTK_STOCK_SAVE, GTK_RESPONSE_ACCEPT,
+ NULL);
+
+ gtk_file_chooser_set_do_overwrite_confirmation (GTK_FILE_CHOOSER (dialog), TRUE);
+
+ gtk_file_chooser_set_current_folder (GTK_FILE_CHOOSER (dialog),
+ (this->playlist_folder)?this->playlist_folder:getenv("HOME"));
+ gtk_file_chooser_set_current_name (GTK_FILE_CHOOSER (dialog), "Untitled document");
+
+ if (gtk_dialog_run (GTK_DIALOG (dialog)) == GTK_RESPONSE_ACCEPT)
+ {
+ char *filename;
+
+ filename = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (dialog));
+ fprintf(stderr, "on_item_save_playlist_activate: filename=[%s]\n", filename);
+
+ if ( this->playlist_folder )
+ g_free (this->playlist_folder);
+ this->playlist_folder = filename;
+ if ( this->playlist_folder )
+ {
+ char* e = strrchr(this->playlist_folder, '/');
+ if(e) *e = 0;
+ }
+ fprintf(stderr, "on_item_save_playlist_activate: this->playlist_folder=[%s]\n", this->playlist_folder);
+ }
+
+ gtk_widget_destroy (dialog);
+}
+
static gboolean on_page_switch_pressed( GtkWidget *button, gpointer user_data )
{
dv1394app this = user_data;
// gtk_signal_connect( GTK_OBJECT( widget ), "activate", GTK_SIGNAL_FUNC( on_item_quit_activate ), this );
// widget = lookup_widget( this->window, "button_quit" );
// gtk_signal_connect( GTK_OBJECT( widget ), "clicked", GTK_SIGNAL_FUNC( on_item_quit_activate ), this );
-
+ widget = lookup_widget( this->window, "button_open_playlist" );
+ gtk_signal_connect( GTK_OBJECT( widget ), "clicked", GTK_SIGNAL_FUNC( on_item_open_playlist_activate ), this );
+ widget = lookup_widget( this->window, "button_save_playlist" );
+ gtk_signal_connect( GTK_OBJECT( widget ), "clicked", GTK_SIGNAL_FUNC( on_item_save_playlist_activate ), this );
+
+
/* Initialise the pages. */
dv1394app_register_page( this, page_operate_init( this ) );
dv1394app_register_page( this, page_command_init( this ) );