[nautilus-actions] NactAssistantExport: whole refactoring
- From: Pierre Wieser <pwieser src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [nautilus-actions] NactAssistantExport: whole refactoring
- Date: Thu, 22 Dec 2011 00:07:34 +0000 (UTC)
commit e38aeb36e0a27eff35e977394494a8256ea40ef8
Author: Pierre Wieser <pwieser trychlos org>
Date: Thu Dec 22 01:02:22 2011 +0100
NactAssistantExport: whole refactoring
ChangeLog | 3 +
src/nact/nact-assistant-export.c | 623 ++++++++++++++++++++++---------------
src/nact/nact-assistant-export.ui | 371 +++++++++++++++-------
3 files changed, 626 insertions(+), 371 deletions(-)
---
diff --git a/ChangeLog b/ChangeLog
index 6db1e6a..282e0eb 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
2011-12-22 Pierre Wieser <pwieser trychlos org>
+ * src/nact/nact-assistant-export.c:
+ * src/nact/nact-assistant-export.ui: Whole refactoring.
+
* src/nact/nact-export-format.c:
* src/nact/nact-export-format.h: Refactor to display in a GtkTreeView.
diff --git a/src/nact/nact-assistant-export.c b/src/nact/nact-assistant-export.c
index 3d5d2fc..e733163 100644
--- a/src/nact/nact-assistant-export.c
+++ b/src/nact/nact-assistant-export.c
@@ -104,26 +104,23 @@ static BaseAssistantClass *st_parent_class = NULL;
static GType register_type( void );
static void class_init( NactAssistantExportClass *klass );
static void instance_init( GTypeInstance *instance, gpointer klass );
-static void instance_dispose( GObject *application );
-static void instance_finalize( GObject *application );
+static void instance_constructed( GObject *instance );
+static void instance_dispose( GObject *instance );
+static void instance_finalize( GObject *instance );
-static void on_base_initialize_gtk_toplevel( NactAssistantExport *dialog, GtkAssistant *toplevel, gpointer user_data );
-static void on_base_initialize_base_window( NactAssistantExport *dialog, gpointer user_data );
-static void on_base_all_widgets_showed( NactAssistantExport *dialog, gpointer user_data );
+static void on_base_initialize_gtk_toplevel( NactAssistantExport *window, GtkAssistant *toplevel, gpointer user_data );
+static void on_items_tree_view_realized( GtkWidget *tree_view, NactAssistantExport *window );
+static void on_folder_chooser_realized( GtkWidget *tree_view, NactAssistantExport *window );
+static void on_format_tree_view_realized( GtkWidget *tree_view, NactAssistantExport *window );
-static void assist_runtime_init_intro( NactAssistantExport *window, GtkAssistant *assistant );
+static void on_base_initialize_base_window( NactAssistantExport *window, gpointer user_data );
+static void on_base_all_widgets_showed( NactAssistantExport *window, gpointer user_data );
-static void assist_runtime_init_actions_list( NactAssistantExport *window, GtkAssistant *assistant );
-static void on_tree_view_selection_changed( NactAssistantExport *window, GList *selected_items, gpointer user_data );
-static void assist_initial_load_target_folder( NactAssistantExport *window, GtkAssistant *assistant );
-static void assist_runtime_init_target_folder( NactAssistantExport *window, GtkAssistant *assistant );
-static GtkFileChooser *get_folder_chooser( NactAssistantExport *window );
-static void on_folder_selection_changed( GtkFileChooser *chooser, gpointer user_data );
+static void on_items_tree_view_selection_changed( NactAssistantExport *window, GList *selected_items, gpointer user_data );
+static void on_folder_chooser_selection_changed( GtkFileChooser *chooser, NactAssistantExport *window );
-static void assist_initial_load_format( NactAssistantExport *window, GtkAssistant *assistant );
-static void assist_runtime_init_format( NactAssistantExport *window, GtkAssistant *assistant );
-static NAExportFormat *get_export_format( NactAssistantExport *window );
-static GtkWidget *get_box_container( NactAssistantExport *window );
+static NAExportFormat *get_selected_export_format( NactAssistantExport *window );
+static GtkWidget *get_export_format_treeview( NactAssistantExport *window );
static void assistant_prepare( BaseAssistant *window, GtkAssistant *assistant, GtkWidget *page );
static void assist_prepare_confirm( NactAssistantExport *window, GtkAssistant *assistant, GtkWidget *page );
@@ -180,6 +177,7 @@ class_init( NactAssistantExportClass *klass )
st_parent_class = g_type_class_peek_parent( klass );
object_class = G_OBJECT_CLASS( klass );
+ object_class->constructed = instance_constructed;
object_class->dispose = instance_dispose;
object_class->finalize = instance_finalize;
@@ -206,15 +204,44 @@ instance_init( GTypeInstance *instance, gpointer klass )
self->private = g_new0( NactAssistantExportPrivate, 1 );
self->private->dispose_has_run = FALSE;
+}
+
+static void
+instance_constructed( GObject *window )
+{
+ static const gchar *thisfn = "nact_assistant_export_instance_constructed";
+ NactAssistantExport *self;
+
+ g_return_if_fail( NACT_IS_ASSISTANT_EXPORT( window ));
+
+ self = NACT_ASSISTANT_EXPORT( window );
+
+ if( !self->private->dispose_has_run ){
+ g_debug( "%s: window=%p (%s)", thisfn, ( void * ) window, G_OBJECT_TYPE_NAME( window ));
+
+ base_window_signal_connect(
+ BASE_WINDOW( window ),
+ G_OBJECT( window ),
+ BASE_SIGNAL_INITIALIZE_GTK,
+ G_CALLBACK( on_base_initialize_gtk_toplevel ));
- base_window_signal_connect( BASE_WINDOW( instance ),
- G_OBJECT( instance ), BASE_SIGNAL_INITIALIZE_GTK, G_CALLBACK( on_base_initialize_gtk_toplevel ));
+ base_window_signal_connect(
+ BASE_WINDOW( window ),
+ G_OBJECT( window ),
+ BASE_SIGNAL_INITIALIZE_WINDOW,
+ G_CALLBACK( on_base_initialize_base_window ));
- base_window_signal_connect( BASE_WINDOW( instance ),
- G_OBJECT( instance ), BASE_SIGNAL_INITIALIZE_WINDOW, G_CALLBACK( on_base_initialize_base_window ));
+ base_window_signal_connect(
+ BASE_WINDOW( window ),
+ G_OBJECT( window ),
+ BASE_SIGNAL_ALL_WIDGETS_SHOWED,
+ G_CALLBACK( on_base_all_widgets_showed ));
- base_window_signal_connect( BASE_WINDOW( instance ),
- G_OBJECT( instance ), BASE_SIGNAL_ALL_WIDGETS_SHOWED, G_CALLBACK( on_base_all_widgets_showed ));
+ /* chain up to the parent class */
+ if( G_OBJECT_CLASS( st_parent_class )->constructed ){
+ G_OBJECT_CLASS( st_parent_class )->constructed( window );
+ }
+ }
}
static void
@@ -297,265 +324,306 @@ nact_assistant_export_run( BaseWindow *main_window )
}
static void
-on_base_initialize_gtk_toplevel( NactAssistantExport *dialog, GtkAssistant *assistant, gpointer user_data )
+on_base_initialize_gtk_toplevel( NactAssistantExport *window, GtkAssistant *assistant, gpointer user_data )
{
static const gchar *thisfn = "nact_assistant_export_on_base_initialize_gtk_toplevel";
GtkWidget *page;
+ GtkWidget *widget;
gboolean are_locked, mandatory;
- g_return_if_fail( NACT_IS_ASSISTANT_EXPORT( dialog ));
+ g_return_if_fail( NACT_IS_ASSISTANT_EXPORT( window ));
- if( !dialog->private->dispose_has_run ){
- g_debug( "%s: dialog=%p, assistant=%p, user_data=%p",
- thisfn, ( void * ) dialog, ( void * ) assistant, ( void * ) user_data );
+ if( !window->private->dispose_has_run ){
+ g_debug( "%s: window=%p, assistant=%p, user_data=%p",
+ thisfn, ( void * ) window, ( void * ) assistant, ( void * ) user_data );
page = gtk_assistant_get_nth_page( assistant, ASSIST_PAGE_ACTIONS_SELECTION );
- dialog->private->items_view =
- nact_tree_view_new( BASE_WINDOW( dialog ),
+ widget = na_gtk_utils_search_for_child_widget( GTK_CONTAINER( page ), "ActionsList" );
+ base_window_signal_connect(
+ BASE_WINDOW( window ),
+ G_OBJECT( widget ),
+ "realize",
+ G_CALLBACK( on_items_tree_view_realized ));
+
+ window->private->items_view =
+ nact_tree_view_new( BASE_WINDOW( window ),
GTK_CONTAINER( page ), "ActionsList", TREE_MODE_SELECTION );
+ page = gtk_assistant_get_nth_page( assistant, ASSIST_PAGE_FOLDER_SELECTION );
+ widget = na_gtk_utils_search_for_child_widget( GTK_CONTAINER( page ), "p2-ExportFolderChooser" );
+ base_window_signal_connect(
+ BASE_WINDOW( window ),
+ G_OBJECT( widget ),
+ "realize",
+ G_CALLBACK( on_folder_chooser_realized ));
+
+ page = gtk_assistant_get_nth_page( assistant, ASSIST_PAGE_FORMAT_SELECTION );
+ widget = na_gtk_utils_search_for_child_widget( GTK_CONTAINER( page ), "p3-ExportFormatTreeView" );
+ base_window_signal_connect(
+ BASE_WINDOW( window ),
+ G_OBJECT( widget ),
+ "realize",
+ G_CALLBACK( on_format_tree_view_realized ));
+
are_locked = na_settings_get_boolean( NA_IPREFS_ADMIN_PREFERENCES_LOCKED, NULL, &mandatory );
- dialog->private->preferences_locked = are_locked && mandatory;
+ window->private->preferences_locked = are_locked && mandatory;
- assist_initial_load_target_folder( dialog, assistant );
- assist_initial_load_format( dialog, assistant );
+#if !GTK_CHECK_VERSION( 3,0,0 )
+ guint padder = 8;
+ /* selecting items */
+ page = gtk_assistant_get_nth_page( assistant, ASSIST_PAGE_ACTIONS_SELECTION );
+ GtkWidget *container = na_gtk_utils_search_for_child_widget( GTK_CONTAINER( page ), "p1-l2-alignment1" );
+ g_object_set( G_OBJECT( container ), "border_width", padder, NULL );
+ /* selecting target folder */
+ page = gtk_assistant_get_nth_page( assistant, ASSIST_PAGE_FOLDER_SELECTION );
+ container = na_gtk_utils_search_for_child_widget( GTK_CONTAINER( page ), "p2-l2-alignment1" );
+ g_object_set( G_OBJECT( container ), "top_padding", padder, NULL );
+ /* choosing export format */
+ page = gtk_assistant_get_nth_page( assistant, ASSIST_PAGE_FORMAT_SELECTION );
+ container = na_gtk_utils_search_for_child_widget( GTK_CONTAINER( page ), "p3-l2-alignment1" );
+ g_object_set( G_OBJECT( container ), "border_width", padder, NULL );
+ /* summary */
+ page = gtk_assistant_get_nth_page( assistant, ASSIST_PAGE_CONFIRM );
+ container = na_gtk_utils_search_for_child_widget( GTK_CONTAINER( page ), "p4-l2-alignment1" );
+ g_object_set( G_OBJECT( container ), "border_width", padder, NULL );
+ /* import is done */
+ page = gtk_assistant_get_nth_page( assistant, ASSIST_PAGE_DONE );
+ container = na_gtk_utils_search_for_child_widget( GTK_CONTAINER( page ), "p5-l2-alignment1" );
+ g_object_set( G_OBJECT( container ), "border_width", padder, NULL );
+#endif
}
}
static void
-on_base_initialize_base_window( NactAssistantExport *dialog, gpointer user_data )
+on_items_tree_view_realized( GtkWidget *tree_view, NactAssistantExport *window )
{
- static const gchar *thisfn = "nact_assistant_export_on_base_initialize_base_window";
+ static const gchar *thisfn = "nact_assistant_export_on_items_tree_view_realized";
GtkAssistant *assistant;
+ GtkWidget *page;
+ NactMainWindow *main_window;
+ NactTreeView *main_items_view;
+ GList *items;
+ GtkTreePath *path;
- g_return_if_fail( NACT_IS_ASSISTANT_EXPORT( dialog ));
-
- if( !dialog->private->dispose_has_run ){
- g_debug( "%s: dialog=%p, user_data=%p", thisfn, ( void * ) dialog, ( void * ) user_data );
-
- base_window_signal_connect( BASE_WINDOW( dialog ),
- G_OBJECT( dialog ), TREE_SIGNAL_SELECTION_CHANGED, G_CALLBACK( on_tree_view_selection_changed ));
-
- assistant = GTK_ASSISTANT( base_window_get_gtk_toplevel( BASE_WINDOW( dialog )));
+ g_debug( "%s: tree_view=%p, window=%p", thisfn, ( void * ) tree_view, ( void * ) window );
- assist_runtime_init_intro( dialog, assistant );
- assist_runtime_init_actions_list( dialog, assistant );
- assist_runtime_init_target_folder( dialog, assistant );
- assist_runtime_init_format( dialog, assistant );
- }
+ assistant = GTK_ASSISTANT( base_window_get_gtk_toplevel( BASE_WINDOW( window )));
+ page = gtk_assistant_get_nth_page( assistant, ASSIST_PAGE_ACTIONS_SELECTION );
+
+ /* fill up the tree view
+ */
+ main_window = NACT_MAIN_WINDOW( base_window_get_parent( BASE_WINDOW( window )));
+ main_items_view = nact_main_window_get_items_view( main_window );
+ items = nact_tree_view_get_items( main_items_view );
+ nact_tree_view_fill( window->private->items_view, items );
+
+ /* connect to the 'selection-changed' signal emitted by NactTreeView
+ */
+ base_window_signal_connect(
+ BASE_WINDOW( window ),
+ G_OBJECT( window ),
+ TREE_SIGNAL_SELECTION_CHANGED,
+ G_CALLBACK( on_items_tree_view_selection_changed ));
+
+ /* select the first row
+ */
+ path = gtk_tree_path_new_from_string( "0" );
+ nact_tree_view_select_row_at_path( window->private->items_view, path );
+ gtk_tree_path_free( path );
}
static void
-on_base_all_widgets_showed( NactAssistantExport *dialog, gpointer user_data )
+on_folder_chooser_realized( GtkWidget *chooser, NactAssistantExport *window )
{
- static const gchar *thisfn = "nact_assistant_export_on_base_all_widgets_showed";
- NactMainWindow *main_window;
- NactTreeView *main_items_view;
- GList *items;
+ static const gchar *thisfn = "nact_assistant_export_on_folder_chooser_realized";
+ gchar *uri;
- g_return_if_fail( NACT_IS_ASSISTANT_EXPORT( dialog ));
+ g_debug( "%s: chooser=%p, window=%p", thisfn, ( void * ) chooser, ( void * ) window );
- if( !dialog->private->dispose_has_run ){
- g_debug( "%s: dialog=%p, user_data=%p", thisfn, ( void * ) dialog, ( void * ) user_data );
+ gtk_file_chooser_set_action( GTK_FILE_CHOOSER( chooser ), GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER );
+ gtk_file_chooser_set_create_folders( GTK_FILE_CHOOSER( chooser ), TRUE );
+ gtk_file_chooser_set_select_multiple( GTK_FILE_CHOOSER( chooser ), FALSE );
- /* setup the data here so that we are sure all companion objects
- * have connected their signal handlers
- */
- main_window = NACT_MAIN_WINDOW( base_window_get_parent( BASE_WINDOW( dialog )));
- main_items_view = nact_main_window_get_items_view( main_window );
- items = nact_tree_view_get_items( main_items_view );
- nact_tree_view_fill( dialog->private->items_view, items );
+ uri = na_settings_get_string( NA_IPREFS_EXPORT_ASSISTANT_URI, NULL, NULL );
+ if( uri && strlen( uri )){
+ gtk_file_chooser_set_current_folder_uri( GTK_FILE_CHOOSER( chooser ), uri );
}
+ g_free( uri );
+
+ base_window_signal_connect(
+ BASE_WINDOW( window ),
+ G_OBJECT( chooser ),
+ "selection-changed",
+ G_CALLBACK( on_folder_chooser_selection_changed ));
}
static void
-assist_runtime_init_intro( NactAssistantExport *window, GtkAssistant *assistant )
+on_format_tree_view_realized( GtkWidget *tree_view, NactAssistantExport *window )
{
- static const gchar *thisfn = "nact_assistant_export_runtime_init_intro";
- GtkWidget *content;
+ static const gchar *thisfn = "nact_assistant_export_on_format_tree_view_realized";
+ NactApplication *application;
+ NAUpdater *updater;
+ GtkAssistant *assistant;
+ GtkWidget *page;
+ GQuark format;
+ gboolean mandatory;
+
+ g_debug( "%s: tree_view=%p, window=%p", thisfn, ( void * ) tree_view, ( void * ) window );
+
+#ifdef NA_MAINTAINER_MODE
+ na_gtk_utils_dump_children( GTK_CONTAINER( tree_view ));
+#endif
+
+ application = NACT_APPLICATION( base_window_get_application( BASE_WINDOW( window )));
+ updater = nact_application_get_updater( application );
+
+ nact_export_format_init_display( tree_view,
+ NA_PIVOT( updater ), EXPORT_FORMAT_DISPLAY_ASSISTANT, !window->private->preferences_locked );
+
+ format = na_iprefs_get_export_format( NA_IPREFS_EXPORT_PREFERRED_FORMAT, &mandatory );
- g_debug( "%s: window=%p, assistant=%p", thisfn, ( void * ) window, ( void * ) assistant );
+ nact_export_format_select( tree_view, !mandatory, format );
- content = gtk_assistant_get_nth_page( assistant, ASSIST_PAGE_INTRO );
- gtk_assistant_set_page_complete( assistant, content, TRUE );
+ assistant = GTK_ASSISTANT( base_window_get_gtk_toplevel( BASE_WINDOW( window )));
+ page = gtk_assistant_get_nth_page( assistant, ASSIST_PAGE_FORMAT_SELECTION );
+ gtk_assistant_set_page_complete( assistant, page, TRUE );
}
static void
-assist_runtime_init_actions_list( NactAssistantExport *window, GtkAssistant *assistant )
+on_base_initialize_base_window( NactAssistantExport *window, gpointer user_data )
{
- GtkWidget *content;
+ static const gchar *thisfn = "nact_assistant_export_on_base_initialize_base_window";
+ GtkAssistant *assistant;
+ GtkWidget *page;
+
+ g_return_if_fail( NACT_IS_ASSISTANT_EXPORT( window ));
- content = gtk_assistant_get_nth_page( assistant, ASSIST_PAGE_ACTIONS_SELECTION );
- gtk_assistant_set_page_complete( assistant, content, FALSE );
+ if( !window->private->dispose_has_run ){
+ g_debug( "%s: window=%p, user_data=%p", thisfn, ( void * ) window, ( void * ) user_data );
+
+ assistant = GTK_ASSISTANT( base_window_get_gtk_toplevel( BASE_WINDOW( window )));
+
+ /* intro page is always true
+ */
+ page = gtk_assistant_get_nth_page( assistant, ASSIST_PAGE_INTRO );
+ gtk_assistant_set_page_complete( assistant, page, TRUE );
+ }
}
static void
-on_tree_view_selection_changed( NactAssistantExport *window, GList *selected_items, gpointer user_data )
+on_base_all_widgets_showed( NactAssistantExport *window, gpointer user_data )
{
- static const gchar *thisfn = "nact_assistant_export_on_tree_view_selection_changed";
+ static const gchar *thisfn = "nact_assistant_export_on_base_all_widgets_showed";
GtkAssistant *assistant;
- gint pos;
- gboolean enabled;
- GtkWidget *content;
+ GtkWidget *page;
g_return_if_fail( NACT_IS_ASSISTANT_EXPORT( window ));
- g_debug( "%s: window=%p, selected_items=%p (count=%d), user_data=%p",
- thisfn, ( void * ) window,
- ( void * ) selected_items, g_list_length( selected_items ), ( void * ) user_data );
+ if( !window->private->dispose_has_run ){
+ g_debug( "%s: window=%p, user_data=%p", thisfn, ( void * ) window, ( void * ) user_data );
- if( window->private->selected_items ){
- window->private->selected_items = na_object_free_items( window->private->selected_items );
- }
+ assistant = GTK_ASSISTANT( base_window_get_gtk_toplevel( BASE_WINDOW( window )));
- assistant = GTK_ASSISTANT( base_window_get_gtk_toplevel( BASE_WINDOW( window )));
- pos = gtk_assistant_get_current_page( assistant );
+ page = gtk_assistant_get_nth_page( assistant, ASSIST_PAGE_ACTIONS_SELECTION );
+ gtk_widget_show_all( page );
- if( pos == ASSIST_PAGE_ACTIONS_SELECTION ){
- enabled = ( g_list_length( selected_items ) > 0 );
- window->private->selected_items = na_object_copyref_items( selected_items );
- content = gtk_assistant_get_nth_page( assistant, pos );
- gtk_assistant_set_page_complete( assistant, content, enabled );
- gtk_assistant_update_buttons_state( assistant );
+ page = gtk_assistant_get_nth_page( assistant, ASSIST_PAGE_FOLDER_SELECTION );
+ gtk_widget_show_all( page );
+
+ page = gtk_assistant_get_nth_page( assistant, ASSIST_PAGE_FORMAT_SELECTION );
+ gtk_widget_show_all( page );
}
}
static void
-assist_initial_load_target_folder( NactAssistantExport *window, GtkAssistant *assistant )
+on_items_tree_view_selection_changed( NactAssistantExport *window, GList *selected_items, gpointer user_data )
{
- GtkFileChooser *chooser = get_folder_chooser( window );
- gtk_file_chooser_set_action( GTK_FILE_CHOOSER( chooser ), GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER );
- gtk_file_chooser_set_create_folders( GTK_FILE_CHOOSER( chooser ), TRUE );
- gtk_file_chooser_set_select_multiple( GTK_FILE_CHOOSER( chooser ), FALSE );
-}
+ static const gchar *thisfn = "nact_assistant_export_on_items_tree_view_selection_changed";
+ GtkAssistant *assistant;
+ GtkWidget *page;
+ gboolean enabled;
-static void
-assist_runtime_init_target_folder( NactAssistantExport *window, GtkAssistant *assistant )
-{
- GtkFileChooser *chooser;
- gchar *uri;
- GtkWidget *content;
+ g_return_if_fail( NACT_IS_ASSISTANT_EXPORT( window ));
- chooser = get_folder_chooser( window );
- gtk_file_chooser_unselect_all( chooser );
+ if( !window->private->dispose_has_run ){
- uri = na_settings_get_string( NA_IPREFS_EXPORT_ASSISTANT_URI, NULL, NULL );
- if( uri && strlen( uri )){
- gtk_file_chooser_set_current_folder_uri( GTK_FILE_CHOOSER( chooser ), uri );
- }
- g_free( uri );
+ g_debug( "%s: window=%p, selected_items=%p (count=%d), user_data=%p",
+ thisfn, ( void * ) window,
+ ( void * ) selected_items, g_list_length( selected_items ), ( void * ) user_data );
- base_window_signal_connect( BASE_WINDOW( window ),
- G_OBJECT( chooser ), "selection-changed", G_CALLBACK( on_folder_selection_changed ));
+ if( window->private->selected_items ){
+ window->private->selected_items = na_object_free_items( window->private->selected_items );
+ }
- content = gtk_assistant_get_nth_page( assistant, ASSIST_PAGE_FOLDER_SELECTION );
- gtk_assistant_set_page_complete( assistant, content, FALSE );
-}
+ enabled = ( g_list_length( selected_items ) > 0 );
+ window->private->selected_items = na_object_copyref_items( selected_items );
-static GtkFileChooser *
-get_folder_chooser( NactAssistantExport *window )
-{
- GtkAssistant *assistant = GTK_ASSISTANT( base_window_get_gtk_toplevel( BASE_WINDOW( window )));
- GtkWidget *page = gtk_assistant_get_nth_page( assistant, ASSIST_PAGE_FOLDER_SELECTION );
- return( GTK_FILE_CHOOSER( na_gtk_utils_search_for_child_widget( GTK_CONTAINER( page ), "ExportFolderChooser" )));
+ assistant = GTK_ASSISTANT( base_window_get_gtk_toplevel( BASE_WINDOW( window )));
+ page = gtk_assistant_get_nth_page( assistant, ASSIST_PAGE_ACTIONS_SELECTION );
+ gtk_assistant_set_page_complete( assistant, page, enabled );
+ }
}
/*
* we check the selected uri for writability
* this is always subject to become invalid before actually writing
* but this is better than nothing, doesn't ?
+ *
+ * NB: if the GtkFileChooser widget automatically opens on another mode that
+ * 'file system' (e.g. search or recently used), it may be because of
+ * ~/.config/gtk-2.0/gtkfilechooser.ini file -> to be checked
+ * (maybe removed)
*/
static void
-on_folder_selection_changed( GtkFileChooser *chooser, gpointer user_data )
+on_folder_chooser_selection_changed( GtkFileChooser *chooser, NactAssistantExport *window )
{
- static const gchar *thisfn = "nact_assistant_export_on_folder_selection_changed";
+ static const gchar *thisfn = "nact_assistant_export_on_folder_chooser_selection_changed";
GtkAssistant *assistant;
- gint pos;
+ GtkWidget *page;
gchar *uri;
gboolean enabled;
- NactAssistantExport *assist;
- GtkWidget *content;
- g_debug( "%s: chooser=%p, user_data=%p", thisfn, ( void * ) chooser, ( void * ) user_data );
- g_assert( NACT_IS_ASSISTANT_EXPORT( user_data ));
- assist = NACT_ASSISTANT_EXPORT( user_data );
+ g_return_if_fail( NACT_IS_ASSISTANT_EXPORT( window ));
- assistant = GTK_ASSISTANT( base_window_get_gtk_toplevel( BASE_WINDOW( assist )));
- pos = gtk_assistant_get_current_page( assistant );
- if( pos == ASSIST_PAGE_FOLDER_SELECTION ){
+ if( !window->private->dispose_has_run ){
+ g_debug( "%s: chooser=%p, window=%p", thisfn, ( void * ) chooser, ( void * ) window );
uri = gtk_file_chooser_get_current_folder_uri( chooser );
g_debug( "%s: uri=%s", thisfn, uri );
enabled = ( uri && strlen( uri ) && na_core_utils_dir_is_writable_uri( uri ));
if( enabled ){
- g_free( assist->private->uri );
- assist->private->uri = g_strdup( uri );
+ g_free( window->private->uri );
+ window->private->uri = g_strdup( uri );
na_settings_set_string( NA_IPREFS_EXPORT_ASSISTANT_URI, uri );
}
g_free( uri );
- content = gtk_assistant_get_nth_page( assistant, pos );
- gtk_assistant_set_page_complete( assistant, content, enabled );
- gtk_assistant_update_buttons_state( assistant );
+ assistant = GTK_ASSISTANT( base_window_get_gtk_toplevel( BASE_WINDOW( window )));
+ page = gtk_assistant_get_nth_page( assistant, ASSIST_PAGE_FOLDER_SELECTION );
+ gtk_assistant_set_page_complete( assistant, page, enabled );
}
-
- g_debug( "%s: quitting", thisfn );
-}
-
-static void
-assist_initial_load_format( NactAssistantExport *window, GtkAssistant *assistant )
-{
- NactApplication *application;
- NAUpdater *updater;
- GtkWidget *container;
-
- application = NACT_APPLICATION( base_window_get_application( BASE_WINDOW( window )));
- updater = nact_application_get_updater( application );
- container = get_box_container( window );
-
- nact_export_format_init_display( container,
- NA_PIVOT( updater ), EXPORT_FORMAT_DISPLAY_ASSISTANT, !window->private->preferences_locked );
-}
-
-static void
-assist_runtime_init_format( NactAssistantExport *window, GtkAssistant *assistant )
-{
- GtkWidget *container;
- GtkWidget *page;
- GQuark format;
- gboolean mandatory;
-
- format = na_iprefs_get_export_format( NA_IPREFS_EXPORT_PREFERRED_FORMAT, &mandatory );
- container = get_box_container( window );
-#ifdef NA_MAINTAINER_MODE
- na_gtk_utils_dump_children( GTK_CONTAINER( container ));
-#endif
- nact_export_format_select( container, !mandatory, format );
-
- page = gtk_assistant_get_nth_page( assistant, ASSIST_PAGE_FORMAT_SELECTION );
- gtk_assistant_set_page_complete( assistant, page, TRUE );
}
static NAExportFormat *
-get_export_format( NactAssistantExport *window )
+get_selected_export_format( NactAssistantExport *window )
{
GtkWidget *container;
NAExportFormat *format;
- container = get_box_container( window );
+ container = get_export_format_treeview( window );
format = nact_export_format_get_selected( container );
return( format );
}
static GtkWidget *
-get_box_container( NactAssistantExport *window )
+get_export_format_treeview( NactAssistantExport *window )
{
GtkAssistant *assistant = GTK_ASSISTANT( base_window_get_gtk_toplevel( BASE_WINDOW( window )));
GtkWidget *page = gtk_assistant_get_nth_page( assistant, ASSIST_PAGE_FORMAT_SELECTION );
- return( na_gtk_utils_search_for_child_widget( GTK_CONTAINER( page ), "AssistantExportFormatVBox" ));
+ return( na_gtk_utils_search_for_child_widget( GTK_CONTAINER( page ), "p3-ExportFormatTreeView" ));
}
static void
@@ -585,50 +653,76 @@ static void
assist_prepare_confirm( NactAssistantExport *window, GtkAssistant *assistant, GtkWidget *page )
{
static const gchar *thisfn = "nact_assistant_export_prepare_confirm";
- GString *text;
+ gchar *text, *tmp;
gchar *label_item;
- gchar *label11, *label12;
- gchar *label21, *label22;
- GList *it;
+ gchar *format_label, *format_label2;
+ gchar *format_description, *format_description2;
+ GtkWidget *label;
NAExportFormat *format;
- GtkLabel *confirm_label;
+ GList *it;
g_debug( "%s: window=%p, assistant=%p, page=%p",
thisfn, ( void * ) window, ( void * ) assistant, ( void * ) page );
- /* i18n: this is the title of the confirm page of the export assistant */
- text = g_string_new( "" );
- g_string_printf( text, "<b>%s</b>\n\n", _( "About to export selected items:" ));
+#if !GTK_CHECK_VERSION( 3,0,0 )
+ /* Note that, at least, in Gtk 2.20 (Ubuntu 10) and 2.22 (Fedora 14), GtkLabel
+ * queues its resize (when the text is being set), but the actual resize does
+ * not happen immediately - We have to wait until Gtk 3.0, most probably due
+ * to the new width-for-height and height-for-width features...
+ */
+ GtkWidget *vbox = na_gtk_utils_search_for_child_widget( GTK_CONTAINER( page ), "p4-ConfirmVBox" );
+ gtk_container_set_resize_mode( GTK_CONTAINER( vbox ), GTK_RESIZE_IMMEDIATE );
+#endif
+ /* display the items to be exported
+ */
+ text = NULL;
for( it = window->private->selected_items ; it ; it = it->next ){
label_item = na_object_get_label( it->data );
- g_string_append_printf( text, "\t%s\n", label_item );
+ if( text ){
+ tmp = g_strdup_printf( "%s\n%s", text, label_item );
+ g_free( text );
+ text = tmp;
+ } else {
+ text = g_strdup( label_item );
+ }
g_free( label_item );
}
+ label = na_gtk_utils_search_for_child_widget( GTK_CONTAINER( page ), "p4-ConfirmItemsList" );
+ g_return_if_fail( GTK_IS_LABEL( label ));
+ gtk_label_set_text( GTK_LABEL( label ), text );
+ g_free( text );
+ /* display the target folder
+ */
g_assert( window->private->uri && strlen( window->private->uri ));
+ label = na_gtk_utils_search_for_child_widget( GTK_CONTAINER( page ), "p4-ConfirmTargetFolder" );
+ g_return_if_fail( GTK_IS_LABEL( label ));
+ gtk_label_set_text( GTK_LABEL( label ), window->private->uri );
+
+ /* display the export format and its description
+ */
+ format = get_selected_export_format( window );
+
+ format_label = na_export_format_get_label( format );
+ format_label2 = na_core_utils_str_remove_char( format_label, "_" );
+ text = g_strdup_printf( "%s:", format_label2 );
+ label = na_gtk_utils_search_for_child_widget( GTK_CONTAINER( page ), "p4-ConfirmExportFormat" );
+ g_return_if_fail( GTK_IS_LABEL( label ));
+ gtk_label_set_text( GTK_LABEL( label ), text );
+ g_free( format_label );
+ g_free( format_label2 );
+ g_free( text );
- /* i18n: all exported actions go to one destination folder */
- g_string_append_printf( text,
- "\n<b>%s</b>\n\n\t%s\n", _( "Into the destination folder:" ), window->private->uri );
+ format_description = na_export_format_get_description( format );
+ format_description2 = na_core_utils_str_remove_char( format_description, "_" );
+ label = na_gtk_utils_search_for_child_widget( GTK_CONTAINER( page ), "p4-ConfirmExportTooltip" );
+ g_return_if_fail( GTK_IS_LABEL( label ));
+ gtk_label_set_text( GTK_LABEL( label ), format_description2 );
+ g_free( format_description );
+ g_free( format_description2 );
- label11 = NULL;
- label21 = NULL;
- format = get_export_format( window );
- label11 = na_export_format_get_label( format );
- label21 = na_export_format_get_description( format );
na_iprefs_set_export_format( NA_IPREFS_EXPORT_PREFERRED_FORMAT, na_export_format_get_quark( format ));
- label12 = na_core_utils_str_remove_char( label11, "_" );
- label22 = na_core_utils_str_add_prefix( "\t", label21 );
- g_string_append_printf( text, "\n<b>%s</b>\n\n%s", label12, label22 );
- g_free( label22 );
- g_free( label21 );
- g_free( label12 );
- g_free( label11 );
-
- confirm_label = GTK_LABEL( na_gtk_utils_search_for_child_widget( GTK_CONTAINER( page ), "AssistantExportConfirmLabel" ));
- gtk_label_set_markup( confirm_label, text->str );
- g_string_free( text, TRUE );
gtk_assistant_set_page_complete( assistant, page, TRUE );
}
@@ -689,86 +783,109 @@ static void
assist_prepare_exportdone( NactAssistantExport *window, GtkAssistant *assistant, GtkWidget *page )
{
static const gchar *thisfn = "nact_assistant_export_prepare_exportdone";
+ gint errors;
+ guint width;
+ GtkWidget *vbox;
+ GtkWidget *item_vbox;
+ const gchar *color;
+ gchar *item_label;
gchar *text, *tmp;
+ GtkWidget *label;
+ GSList *is;
GList *ir;
ExportStruct *str;
- gchar *label;
- GSList *is;
- gint errors;
- GtkTextView *summary_textview;
- GtkTextBuffer *summary_buffer;
- GtkTextTag *title_tag;
- GtkTextIter start, end;
- gint title_len;
g_debug( "%s: window=%p, assistant=%p, page=%p",
thisfn, ( void * ) window, ( void * ) assistant, ( void * ) page );
- /* i18n: result of the export assistant */
- text = g_strdup( _( "Selected actions have been proceeded :" ));
- title_len = g_utf8_strlen( text, -1 );
- tmp = g_strdup_printf( "%s\n\n", text );
- g_free( text );
- text = tmp;
-
errors = 0;
+ width = 15;
+ vbox = na_gtk_utils_search_for_child_widget( GTK_CONTAINER( page ), "p5-SummaryVBox" );
+ g_return_if_fail( GTK_IS_BOX( vbox ));
+
+#if !GTK_CHECK_VERSION( 3,0,0 )
+ /* Note that, at least, in Gtk 2.20 (Ubuntu 10) and 2.22 (Fedora 14), GtkLabel
+ * queues its resize (when the text is being set), but the actual resize does
+ * not happen immediately - We have to wait until Gtk 3.0, most probably due
+ * to the new width-for-height and height-for-width features...
+ */
+ gtk_container_set_resize_mode( GTK_CONTAINER( vbox ), GTK_RESIZE_IMMEDIATE );
+#endif
+ /* for each item:
+ * - display the item label
+ * - display the export filename
+ */
for( ir = window->private->results ; ir ; ir = ir->next ){
- str = ( ExportStruct * ) ir->data;
- label = na_object_get_label( str->item );
- tmp = g_strdup_printf( "%s\t%s\n", text, label );
+#if GTK_CHECK_VERSION( 3,0,0 )
+ item_vbox = gtk_box_new( GTK_ORIENTATION_VERTICAL, 4 );
+#else
+ item_vbox = gtk_vbox_new( FALSE, 4 );
+#endif
+ gtk_box_pack_start( GTK_BOX( vbox ), item_vbox, FALSE, FALSE, 0 );
+
+ /* display the item label
+ */
+ str = ( ExportStruct * ) ir->data;
+ color = str->fname ? "blue" : "red";
+ item_label = na_object_get_label( str->item );
+ text = g_markup_printf_escaped( "<span foreground=\"%s\">%s</span>", color, item_label );
+ label = gtk_label_new( NULL );
+ gtk_label_set_markup( GTK_LABEL( label ), text );
+ g_free( item_label );
g_free( text );
- text = tmp;
- g_free( label );
+ g_object_set( G_OBJECT( label ), "xalign", 0, NULL );
+ g_object_set( G_OBJECT( label ), "xpad", width, NULL );
+ gtk_box_pack_start( GTK_BOX( item_vbox ), label, FALSE, FALSE, 0 );
+ /* display the process log
+ */
+ text = NULL;
if( str->fname ){
/* i18n: action as been successfully exported to <filename> */
- tmp = g_strdup_printf( "%s\t\t%s\n\t\t%s\n", text, _( "Successfully exported as" ), str->fname );
- g_free( text );
- text = tmp;
+ text = g_strdup_printf( "%s %s", _( "Successfully exported as" ), str->fname );
} else if( str->format != IPREFS_EXPORT_NO_EXPORT ){
errors += 1;
}
- /* add messages */
+ /* add messages if any
+ */
for( is = str->msg ; is ; is = is->next ){
- tmp = g_strdup_printf( "%s\t\t%s\n", text, ( gchar * ) is->data );
- g_free( text );
- text = tmp;
+ if( text ){
+ tmp = g_strdup_printf( "%s\n%s", text, ( gchar * ) is->data );
+ g_free( text );
+ text = tmp;
+ } else {
+ text = g_strdup(( gchar * ) is->data );
+ }
}
- /* add a blank line between two actions */
- tmp = g_strdup_printf( "%s\n", text );
+ label = gtk_label_new( text );
g_free( text );
- text = tmp;
+ gtk_label_set_line_wrap( GTK_LABEL( label ), TRUE );
+ gtk_label_set_line_wrap_mode( GTK_LABEL( label ), PANGO_WRAP_WORD );
+ g_object_set( G_OBJECT( label ), "xalign", 0, NULL );
+ g_object_set( G_OBJECT( label ), "xpad", 2*width, NULL );
+ gtk_box_pack_start( GTK_BOX( item_vbox ), label, FALSE, FALSE, 0 );
}
if( errors ){
- text = g_strdup_printf( "%s%s", text,
+ text = g_strdup_printf( "%s",
_( "You may not have write permissions on selected folder." ));
+ label = gtk_label_new( text );
g_free( text );
- text = tmp;
+ gtk_label_set_line_wrap( GTK_LABEL( label ), TRUE );
+ gtk_label_set_line_wrap_mode( GTK_LABEL( label ), PANGO_WRAP_WORD );
+ g_object_set( G_OBJECT( label ), "xalign", 0, NULL );
+ g_object_set( G_OBJECT( label ), "xpad", width, NULL );
+ gtk_box_pack_start( GTK_BOX( item_vbox ), label, FALSE, FALSE, 0 );
}
- summary_textview = GTK_TEXT_VIEW( na_gtk_utils_search_for_child_widget( GTK_CONTAINER( page ), "AssistantExportSummaryTextView" ));
- summary_buffer = gtk_text_view_get_buffer( summary_textview );
- gtk_text_buffer_set_text( summary_buffer, text, -1 );
- g_free( text );
-
- title_tag = gtk_text_buffer_create_tag( summary_buffer, "title",
- "weight", PANGO_WEIGHT_BOLD,
- NULL );
-
- gtk_text_buffer_get_iter_at_offset( summary_buffer, &start, 0 );
- gtk_text_buffer_get_iter_at_offset( summary_buffer, &end, title_len );
- gtk_text_buffer_apply_tag( summary_buffer, title_tag, &start, &end );
-
- g_object_unref( title_tag );
-
gtk_assistant_set_page_complete( assistant, page, TRUE );
g_object_set( G_OBJECT( window ), BASE_PROP_WARN_ON_ESCAPE, FALSE, NULL );
+ gtk_widget_show_all( page );
}
static void
diff --git a/src/nact/nact-assistant-export.ui b/src/nact/nact-assistant-export.ui
index 007f9c3..6de6f69 100644
--- a/src/nact/nact-assistant-export.ui
+++ b/src/nact/nact-assistant-export.ui
@@ -2,18 +2,12 @@
<interface>
<requires lib="gtk+" version="2.20"/>
<!-- interface-naming-policy toplevel-contextual -->
- <object class="GtkListStore" id="liststore1"/>
<object class="GtkAssistant" id="ExportAssistant">
- <property name="events">GDK_KEY_PRESS_MASK | GDK_STRUCTURE_MASK</property>
- <property name="border_width">12</property>
<property name="title" translatable="yes">Exporting actions</property>
<property name="modal">True</property>
<property name="type_hint">dialog</property>
<child>
- <placeholder/>
- </child>
- <child>
- <object class="GtkLabel" id="label20">
+ <object class="GtkLabel" id="p0-l1-label1">
<property name="visible">True</property>
<property name="label" translatable="yes">This assistant will guide you through the process of exporting actions.</property>
<property name="wrap">True</property>
@@ -23,162 +17,287 @@
</packing>
</child>
<child>
- <object class="GtkHBox" id="hbox7">
+ <object class="GtkVBox" id="p1-l1-vbox1">
<property name="visible">True</property>
<child>
- <object class="GtkVBox" id="vbox16">
+ <object class="GtkAlignment" id="p1-l2-alignment1">
<property name="visible">True</property>
<child>
- <object class="GtkLabel" id="ActionsListLabel">
+ <object class="GtkHPaned" id="p1-l3-hpaned1">
<property name="visible">True</property>
- <property name="xalign">0</property>
- <property name="xpad">4</property>
- <property name="ypad">4</property>
- <property name="label" translatable="yes">Actions _list :</property>
- <property name="use_underline">True</property>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="position">0</property>
- </packing>
- </child>
- <child>
- <object class="GtkScrolledWindow" id="scrolledwindow1">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="hscrollbar_policy">automatic</property>
- <property name="vscrollbar_policy">automatic</property>
- <property name="shadow_type">in</property>
<child>
- <object class="GtkTreeView" id="ActionsList">
+ <object class="GtkVBox" id="p1-l4-vbox1">
<property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="headers_visible">False</property>
- <property name="rules_hint">True</property>
+ <property name="spacing">4</property>
+ <child>
+ <object class="GtkLabel" id="ActionsListLabel">
+ <property name="visible">True</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">Actions _list :</property>
+ <property name="use_underline">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkScrolledWindow" id="p1-l5-scrolledwindow1">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="hscrollbar_policy">automatic</property>
+ <property name="vscrollbar_policy">automatic</property>
+ <property name="shadow_type">in</property>
+ <child>
+ <object class="GtkTreeView" id="ActionsList">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="headers_visible">False</property>
+ <property name="rules_hint">True</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ <child>
+ <object class="GtkVBox" id="p1-l4-vbox2">
+ <property name="visible">True</property>
+ <child>
+ <object class="GtkLabel" id="p1-l5-label2">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Please select one or more actions to be exported.
+
+You may use Ctrl and Shift keys to extend the selection.</property>
+ <property name="wrap">True</property>
+ </object>
+ <packing>
+ <property name="position">0</property>
+ </packing>
+ </child>
</object>
</child>
</object>
- <packing>
- <property name="position">1</property>
- </packing>
</child>
</object>
<packing>
<property name="position">0</property>
</packing>
</child>
- <child>
- <object class="GtkLabel" id="label2">
- <property name="visible">True</property>
- <property name="label" translatable="yes">Please select one or more actions to be exported.
-
-You may use Ctrl and Shift keys to extend the selection.</property>
- <property name="wrap">True</property>
- </object>
- <packing>
- <property name="position">1</property>
- </packing>
- </child>
</object>
<packing>
<property name="title" translatable="yes">Selecting the exported actions</property>
+ <property name="page_type">content</property>
</packing>
</child>
<child>
- <object class="GtkVBox" id="vbox5">
+ <object class="GtkVBox" id="p2-l1-vbox1">
<property name="visible">True</property>
<child>
- <object class="GtkFileChooserWidget" id="ExportFolderChooser">
+ <object class="GtkAlignment" id="p2-l2-alignment1">
<property name="visible">True</property>
- <property name="use_preview_label">False</property>
- <property name="action">select-folder</property>
- <property name="preview_widget_active">False</property>
- <property name="local_only">False</property>
+ <child>
+ <object class="GtkFileChooserWidget" id="p2-ExportFolderChooser">
+ <property name="visible">True</property>
+ <property name="use_preview_label">False</property>
+ <property name="action">select-folder</property>
+ <property name="preview_widget_active">False</property>
+ <property name="local_only">False</property>
+ </object>
+ </child>
</object>
<packing>
- <property name="padding">10</property>
<property name="position">0</property>
</packing>
</child>
</object>
<packing>
<property name="title" translatable="yes">Selecting the target folder</property>
+ <property name="page_type">content</property>
</packing>
</child>
<child>
- <object class="GtkVBox" id="vbox1">
+ <object class="GtkVBox" id="p3-l1-vbox1">
<property name="visible">True</property>
- <property name="border_width">10</property>
- <property name="spacing">10</property>
<child>
- <object class="GtkVBox" id="vbox2">
+ <object class="GtkAlignment" id="p3-l2-alignment1">
<property name="visible">True</property>
- <property name="spacing">10</property>
- <child>
- <object class="GtkLabel" id="label1">
- <property name="visible">True</property>
- <property name="xalign">0</property>
- <property name="ypad">10</property>
- <property name="label" translatable="yes"><b>Which format should I use when exporting these items ?</b></property>
- <property name="use_markup">True</property>
- <property name="wrap">True</property>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="position">0</property>
- </packing>
- </child>
<child>
- <object class="GtkScrolledWindow" id="scrolledwindow3">
+ <object class="GtkVBox" id="p3-l3-vbox1">
<property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="hscrollbar_policy">automatic</property>
- <property name="vscrollbar_policy">automatic</property>
+ <property name="spacing">10</property>
<child>
- <object class="GtkViewport" id="viewport1">
+ <object class="GtkLabel" id="p3-l4-label1">
<property name="visible">True</property>
- <child>
- <object class="GtkVBox" id="AssistantExportFormatVBox">
- <property name="visible">True</property>
- <property name="spacing">10</property>
- <child>
- <placeholder/>
- </child>
- </object>
- </child>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">Which format should I use when exporting these items ?</property>
+ <property name="wrap">True</property>
+ <attributes>
+ <attribute name="weight" value="PANGO_WEIGHT_BOLD"/>
+ </attributes>
</object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkTreeView" id="p3-ExportFormatTreeView">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="headers_visible">False</property>
+ <property name="rules_hint">True</property>
+ <property name="show_expanders">False</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="position">1</property>
+ </packing>
</child>
</object>
- <packing>
- <property name="position">1</property>
- </packing>
</child>
</object>
<packing>
<property name="position">0</property>
</packing>
</child>
- <child>
- <placeholder/>
- </child>
</object>
<packing>
<property name="title" translatable="yes">Selecting the export format</property>
+ <property name="page_type">content</property>
</packing>
</child>
<child>
- <placeholder/>
- </child>
- <child>
- <object class="GtkVBox" id="vbox3">
+ <object class="GtkVBox" id="p4-l1-vbox1">
<property name="visible">True</property>
<child>
- <object class="GtkLabel" id="AssistantExportConfirmLabel">
+ <object class="GtkAlignment" id="p4-l2-alignment1">
<property name="visible">True</property>
- <property name="xalign">0</property>
- <property name="xpad">20</property>
- <property name="use_markup">True</property>
- <property name="wrap">True</property>
+ <child>
+ <object class="GtkScrolledWindow" id="p4-l3-scrolledwindow1">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="hscrollbar_policy">automatic</property>
+ <property name="vscrollbar_policy">automatic</property>
+ <child>
+ <object class="GtkViewport" id="p4-l4-viewport1">
+ <property name="visible">True</property>
+ <property name="shadow_type">GTK_SHADOW_NONE</property>
+ <child>
+ <object class="GtkVBox" id="p4-ConfirmVBox">
+ <property name="visible">True</property>
+ <property name="spacing">15</property>
+ <child>
+ <object class="GtkVBox" id="p4-l6-vbox1">
+ <property name="visible">True</property>
+ <property name="spacing">8</property>
+ <child>
+ <object class="GtkLabel" id="p4-l7-label1">
+ <property name="visible">True</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">About to export selected items:</property>
+ <attributes>
+ <attribute name="weight" value="PANGO_WEIGHT_BOLD"/>
+ </attributes>
+ </object>
+ <packing>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="p4-ConfirmItemsList">
+ <property name="visible">True</property>
+ <property name="xalign">0</property>
+ <property name="xpad">15</property>
+ </object>
+ <packing>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkVBox" id="p4-l5-vbox2">
+ <property name="visible">True</property>
+ <property name="spacing">8</property>
+ <child>
+ <object class="GtkLabel" id="p4-l6-label2">
+ <property name="visible">True</property>
+ <property name="xalign">0</property>
+ <property name="wrap">True</property>
+ <property name="label" translatable="yes">Into the destination folder:</property>
+ <attributes>
+ <attribute name="weight" value="PANGO_WEIGHT_BOLD"/>
+ </attributes>
+ </object>
+ <packing>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="p4-ConfirmTargetFolder">
+ <property name="visible">True</property>
+ <property name="xalign">0</property>
+ <property name="xpad">15</property>
+ <property name="wrap">True</property>
+ </object>
+ <packing>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkVBox" id="p4-l5-vbox3">
+ <property name="visible">True</property>
+ <property name="spacing">8</property>
+ <child>
+ <object class="GtkLabel" id="p4-ConfirmExportFormat">
+ <property name="visible">True</property>
+ <property name="xalign">0</property>
+ <property name="wrap">True</property>
+ <attributes>
+ <attribute name="weight" value="PANGO_WEIGHT_BOLD"/>
+ </attributes>
+ </object>
+ <packing>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="p4-ConfirmExportTooltip">
+ <property name="visible">True</property>
+ <property name="xalign">0</property>
+ <property name="xpad">15</property>
+ <property name="wrap">True</property>
+ </object>
+ <packing>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
</object>
<packing>
<property name="position">0</property>
@@ -191,22 +310,44 @@ You may use Ctrl and Shift keys to extend the selection.</property>
</packing>
</child>
<child>
- <placeholder/>
- </child>
- <child>
- <object class="GtkVBox" id="vbox4">
+ <object class="GtkVBox" id="p5-l1-vbox1">
<property name="visible">True</property>
<child>
- <object class="GtkScrolledWindow" id="scrolledwindow2">
+ <object class="GtkAlignment" id="p5-l2-alignment1">
<property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="hscrollbar_policy">automatic</property>
- <property name="vscrollbar_policy">automatic</property>
<child>
- <object class="GtkTextView" id="AssistantExportSummaryTextView">
+ <object class="GtkScrolledWindow" id="p5-l3-scrolledwindow1">
<property name="visible">True</property>
<property name="can_focus">True</property>
- <property name="editable">False</property>
+ <property name="hscrollbar_policy">automatic</property>
+ <property name="vscrollbar_policy">automatic</property>
+ <child>
+ <object class="GtkViewport" id="p5-l4-viewport1">
+ <property name="visible">True</property>
+ <property name="shadow_type">GTK_SHADOW_NONE</property>
+ <child>
+ <object class="GtkVBox" id="p5-SummaryVBox">
+ <property name="visible">True</property>
+ <property name="orientation">vertical</property>
+ <property name="spacing">8</property>
+ <child>
+ <object class="GtkLabel" id="p5-l6-label1">
+ <property name="visible">True</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">Selected items have been proceeded:</property>
+ <attributes>
+ <attribute name="weight" value="PANGO_WEIGHT_BOLD"/>
+ </attributes>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
</object>
</child>
</object>
@@ -214,9 +355,6 @@ You may use Ctrl and Shift keys to extend the selection.</property>
<property name="position">0</property>
</packing>
</child>
- <child>
- <placeholder/>
- </child>
</object>
<packing>
<property name="page_type">summary</property>
@@ -279,9 +417,6 @@ You may use Ctrl and Shift keys to extend the selection.</property>
</packing>
</child>
<child>
- <placeholder/>
- </child>
- <child>
<object class="GtkHSeparator" id="hseparator1">
<property name="visible">True</property>
</object>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]