[nautilus-actions] Reset all fields to an empty value when there is no selection
- From: Pierre Wieser <pwieser src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [nautilus-actions] Reset all fields to an empty value when there is no selection
- Date: Thu, 24 Jun 2010 21:03:41 +0000 (UTC)
commit 9f99bdd7a2dabca2c74328462418c5e7220ab312
Author: Pierre Wieser <pwieser trychlos org>
Date: Mon Jun 21 06:26:26 2010 +0200
Reset all fields to an empty value when there is no selection
ChangeLog | 15 +
src/nact/nact-iaction-tab.c | 207 ++++++------
src/nact/nact-ibasenames-tab.c | 1 -
src/nact/nact-icommand-tab.c | 128 ++++----
src/nact/nact-ienvironment-tab.c | 337 ++++++++++--------
src/nact/nact-iexecution-tab.c | 151 ++++----
src/nact/nact-iproperties-tab.c | 126 ++++----
src/nact/nact-main-tab.h | 2 +-
src/nact/nact-match-list.c | 111 +++---
src/nact/nautilus-actions-config-tool.ui | 576 +++++++++++++++---------------
10 files changed, 846 insertions(+), 808 deletions(-)
---
diff --git a/ChangeLog b/ChangeLog
index 6519add..6600665 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,18 @@
+2010-06-21 Pierre Wieser <pwieser trychlos org>
+
+ * src/nact/nact-iaction-tab.c:
+ * src/nact/nact-ibasenames-tab.c:
+ * src/nact/nact-icommand-tab.c:
+ * src/nact/nact-ienvironment-tab.c:
+ * src/nact/nact-iexecution-tab.c:
+ * src/nact/nact-iproperties-tab.c:
+ * src/nact/nact-match-list.c:
+ Reset all fields to an empty value when there is no selection.
+
+ * src/nact/nact-main-tab.h:
+ * src/nact/nautilus-actions-config-tool.ui:
+ Move the Execution tab just besides the Command one.
+
2010-06-20 Pierre Wieser <pwieser trychlos org>
* src/core/na-object.c (na_object_object_unref):
diff --git a/src/nact/nact-iaction-tab.c b/src/nact/nact-iaction-tab.c
index a2de698..0ccde5a 100644
--- a/src/nact/nact-iaction-tab.c
+++ b/src/nact/nact-iaction-tab.c
@@ -368,7 +368,7 @@ on_iactions_list_column_edited( NactIActionTab *instance, NAObject *object, gcha
if( st_initialized && !st_finalized ){
- if( NA_IS_OBJECT_ITEM( object )){
+ if( object && NA_IS_OBJECT_ITEM( object )){
label_widget = base_window_get_widget( BASE_WINDOW( instance ), "ActionMenuLabelEntry" );
gtk_entry_set_text( GTK_ENTRY( label_widget ), text );
}
@@ -400,88 +400,93 @@ on_tab_updatable_selection_changed( NactIActionTab *instance, gint count_selecte
enable_tab = ( count_selected == 1 );
nact_main_tab_enable_page( NACT_MAIN_WINDOW( instance ), TAB_ACTION, enable_tab );
- if( enable_tab ){
- st_on_selection_change = TRUE;
+ st_on_selection_change = TRUE;
- g_object_get(
- G_OBJECT( instance ),
- TAB_UPDATABLE_PROP_SELECTED_ITEM, &item,
- TAB_UPDATABLE_PROP_EDITABLE, &editable,
- NULL );
+ g_object_get(
+ G_OBJECT( instance ),
+ TAB_UPDATABLE_PROP_SELECTED_ITEM, &item,
+ TAB_UPDATABLE_PROP_EDITABLE, &editable,
+ NULL );
- target_selection =
- NA_IS_OBJECT_ACTION( item ) && na_object_is_target_selection( item );
+ target_selection =
+ enable_tab &&
+ item != NULL &&
+ NA_IS_OBJECT_ACTION( item ) &&
+ na_object_is_target_selection( item );
+
+ target_location =
+ enable_tab &&
+ item != NULL &&
+ NA_IS_OBJECT_ACTION( item ) &&
+ na_object_is_target_location( item );
+
+ target_toolbar =
+ enable_tab &&
+ item != NULL &&
+ NA_IS_OBJECT_ACTION( item ) &&
+ na_object_is_target_toolbar( item );
+
+ toggle = GTK_TOGGLE_BUTTON( base_window_get_widget( BASE_WINDOW( instance ), "ActionTargetSelectionButton" ));
+ gtk_toggle_button_set_active( toggle, target_selection || ( item && NA_IS_OBJECT_MENU( item )));
+ gtk_widget_set_sensitive( GTK_WIDGET( toggle ), item && NA_IS_OBJECT_ACTION( item ));
+ nact_gtk_utils_set_editable( GTK_OBJECT( toggle ), editable );
+
+ toggle = GTK_TOGGLE_BUTTON( base_window_get_widget( BASE_WINDOW( instance ), "ActionTargetLocationButton" ));
+ gtk_toggle_button_set_active( toggle, target_location || ( item && NA_IS_OBJECT_MENU( item )));
+ gtk_widget_set_sensitive( GTK_WIDGET( toggle ), item && NA_IS_OBJECT_ACTION( item ));
+ nact_gtk_utils_set_editable( GTK_OBJECT( toggle ), editable );
+
+ enable_label = target_selection || target_location || ( item && NA_IS_OBJECT_MENU( item ));
+ label_widget = base_window_get_widget( BASE_WINDOW( instance ), "ActionMenuLabelEntry" );
+ label = item ? na_object_get_label( item ) : g_strdup( "" );
+ label = label ? label : g_strdup( "" );
+ gtk_entry_set_text( GTK_ENTRY( label_widget ), label );
+ if( item ){
+ check_for_label( instance, GTK_ENTRY( label_widget ), label );
+ }
+ g_free( label );
+ gtk_widget_set_sensitive( label_widget, enable_label );
+ nact_gtk_utils_set_editable( GTK_OBJECT( label_widget ), editable );
- target_location =
- NA_IS_OBJECT_ACTION( item ) && na_object_is_target_location( item );
+ toggle = GTK_TOGGLE_BUTTON( base_window_get_widget( BASE_WINDOW( instance ), "ActionTargetToolbarButton" ));
+ gtk_toggle_button_set_active( toggle, target_toolbar );
+ gtk_widget_set_sensitive( GTK_WIDGET( toggle ), item && NA_IS_OBJECT_ACTION( item ));
+ nact_gtk_utils_set_editable( GTK_OBJECT( toggle ), editable );
- target_toolbar =
- NA_IS_OBJECT_ACTION( item ) && na_object_is_target_toolbar( item );
+ toggle = GTK_TOGGLE_BUTTON( base_window_get_widget( BASE_WINDOW( instance ), "ToolbarSameLabelButton" ));
+ same_label = item && NA_IS_OBJECT_ACTION( item ) ? na_object_is_toolbar_same_label( item ) : FALSE;
+ gtk_toggle_button_set_active( toggle, same_label );
+ gtk_widget_set_sensitive( GTK_WIDGET( toggle ), target_toolbar );
+ nact_gtk_utils_set_editable( GTK_OBJECT( toggle ), editable );
- toggle = GTK_TOGGLE_BUTTON( base_window_get_widget( BASE_WINDOW( instance ), "ActionTargetSelectionButton" ));
- gtk_toggle_button_set_active( toggle, target_selection || NA_IS_OBJECT_MENU( item ));
- gtk_widget_set_sensitive( GTK_WIDGET( toggle ), NA_IS_OBJECT_ACTION( item ));
- nact_gtk_utils_set_editable( GTK_OBJECT( toggle ), editable );
+ label_widget = base_window_get_widget( BASE_WINDOW( instance ), "ActionToolbarLabelEntry" );
+ label = item && NA_IS_OBJECT_ACTION( item ) ? na_object_get_toolbar_label( item ) : g_strdup( "" );
+ gtk_entry_set_text( GTK_ENTRY( label_widget ), label );
+ g_free( label );
+ gtk_widget_set_sensitive( label_widget, target_toolbar && !same_label );
+ nact_gtk_utils_set_editable( GTK_OBJECT( label_widget ), editable );
- toggle = GTK_TOGGLE_BUTTON( base_window_get_widget( BASE_WINDOW( instance ), "ActionTargetLocationButton" ));
- gtk_toggle_button_set_active( toggle, target_location || NA_IS_OBJECT_MENU( item ));
- gtk_widget_set_sensitive( GTK_WIDGET( toggle ), NA_IS_OBJECT_ACTION( item ));
- nact_gtk_utils_set_editable( GTK_OBJECT( toggle ), editable );
+ label_widget = base_window_get_widget( BASE_WINDOW( instance ), "ActionToolbarLabelLabel" );
+ gtk_widget_set_sensitive( label_widget, target_toolbar && !same_label );
- enable_label = target_selection || target_location || NA_IS_OBJECT_MENU( item );
- label_widget = base_window_get_widget( BASE_WINDOW( instance ), "ActionMenuLabelEntry" );
- label = na_object_get_label( item );
- label = label ? label : g_strdup( "" );
- gtk_entry_set_text( GTK_ENTRY( label_widget ), label );
- if( item ){
- check_for_label( instance, GTK_ENTRY( label_widget ), label );
- }
- g_free( label );
- gtk_widget_set_sensitive( label_widget, enable_label );
- nact_gtk_utils_set_editable( GTK_OBJECT( label_widget ), editable );
+ tooltip_widget = base_window_get_widget( BASE_WINDOW( instance ), "ActionTooltipEntry" );
+ tooltip = item ? na_object_get_tooltip( item ) : g_strdup( "" );
+ tooltip = tooltip ? tooltip : g_strdup( "" );
+ gtk_entry_set_text( GTK_ENTRY( tooltip_widget ), tooltip );
+ g_free( tooltip );
+ nact_gtk_utils_set_editable( GTK_OBJECT( tooltip_widget ), editable );
- toggle = GTK_TOGGLE_BUTTON( base_window_get_widget( BASE_WINDOW( instance ), "ActionTargetToolbarButton" ));
- gtk_toggle_button_set_active( toggle, target_toolbar );
- gtk_widget_set_sensitive( GTK_WIDGET( toggle ), NA_IS_OBJECT_ACTION( item ));
- nact_gtk_utils_set_editable( GTK_OBJECT( toggle ), editable );
+ icon_widget = base_window_get_widget( BASE_WINDOW( instance ), "ActionIconComboBoxEntry" );
+ icon = item ? na_object_get_icon( item ) : g_strdup( "" );
+ icon = icon ? icon : g_strdup( "" );
+ gtk_entry_set_text( GTK_ENTRY( gtk_bin_get_child( GTK_BIN( icon_widget ))), icon );
+ g_free( icon );
+ nact_gtk_utils_set_editable( GTK_OBJECT( icon_widget ), editable );
- toggle = GTK_TOGGLE_BUTTON( base_window_get_widget( BASE_WINDOW( instance ), "ToolbarSameLabelButton" ));
- same_label = NA_IS_OBJECT_ACTION( item ) ? na_object_is_toolbar_same_label( item ) : FALSE;
- gtk_toggle_button_set_active( toggle, same_label );
- gtk_widget_set_sensitive( GTK_WIDGET( toggle ), target_toolbar );
- nact_gtk_utils_set_editable( GTK_OBJECT( toggle ), editable );
+ icon_button = GTK_BUTTON( base_window_get_widget( BASE_WINDOW( instance ), "ActionIconBrowseButton" ));
+ nact_gtk_utils_set_editable( GTK_OBJECT( icon_button ), editable );
- label_widget = base_window_get_widget( BASE_WINDOW( instance ), "ActionToolbarLabelEntry" );
- label = NA_IS_OBJECT_ACTION( item ) ? na_object_get_toolbar_label( item ) : g_strdup( "" );
- /* .. */
- gtk_entry_set_text( GTK_ENTRY( label_widget ), label );
- /* .. */
- g_free( label );
- gtk_widget_set_sensitive( label_widget, target_toolbar && !same_label );
- nact_gtk_utils_set_editable( GTK_OBJECT( label_widget ), editable );
-
- label_widget = base_window_get_widget( BASE_WINDOW( instance ), "ActionToolbarLabelLabel" );
- gtk_widget_set_sensitive( label_widget, target_toolbar && !same_label );
-
- tooltip_widget = base_window_get_widget( BASE_WINDOW( instance ), "ActionTooltipEntry" );
- tooltip = item ? na_object_get_tooltip( item ) : g_strdup( "" );
- tooltip = tooltip ? tooltip : g_strdup( "" );
- gtk_entry_set_text( GTK_ENTRY( tooltip_widget ), tooltip );
- g_free( tooltip );
- nact_gtk_utils_set_editable( GTK_OBJECT( tooltip_widget ), editable );
-
- icon_widget = base_window_get_widget( BASE_WINDOW( instance ), "ActionIconComboBoxEntry" );
- icon = item ? na_object_get_icon( item ) : g_strdup( "" );
- icon = icon ? icon : g_strdup( "" );
- gtk_entry_set_text( GTK_ENTRY( gtk_bin_get_child( GTK_BIN( icon_widget ))), icon );
- g_free( icon );
- nact_gtk_utils_set_editable( GTK_OBJECT( icon_widget ), editable );
-
- icon_button = GTK_BUTTON( base_window_get_widget( BASE_WINDOW( instance ), "ActionIconBrowseButton" ));
- nact_gtk_utils_set_editable( GTK_OBJECT( icon_button ), editable );
-
- st_on_selection_change = FALSE;
- }
+ st_on_selection_change = FALSE;
}
}
@@ -507,9 +512,7 @@ on_target_selection_toggled( GtkToggleButton *button, NactIActionTab *instance )
thisfn, ( void * ) item, item ? G_OBJECT_TYPE_NAME( item ) : "null",
editable ? "True":"False" );
- g_return_if_fail( item );
-
- if( NA_IS_OBJECT_ACTION( item )){
+ if( item && NA_IS_OBJECT_ACTION( item )){
is_target = gtk_toggle_button_get_active( button );
if( editable ){
@@ -547,9 +550,7 @@ on_target_location_toggled( GtkToggleButton *button, NactIActionTab *instance )
thisfn, ( void * ) item, item ? G_OBJECT_TYPE_NAME( item ) : "null",
editable ? "True":"False" );
- g_return_if_fail( item );
-
- if( NA_IS_OBJECT_ACTION( item )){
+ if( item && NA_IS_OBJECT_ACTION( item )){
is_target = gtk_toggle_button_get_active( button );
if( editable ){
@@ -610,17 +611,17 @@ on_label_changed( GtkEntry *entry, NactIActionTab *instance )
TAB_UPDATABLE_PROP_SELECTED_ITEM, &item,
NULL );
- g_return_if_fail( item );
+ if( item ){
+ label = gtk_entry_get_text( entry );
+ na_object_set_label( item, label );
+ check_for_label( instance, entry, label );
- label = gtk_entry_get_text( entry );
- na_object_set_label( item, label );
- check_for_label( instance, entry, label );
+ if( NA_IS_OBJECT_ACTION( item )){
+ setup_toolbar_label( instance, item, label );
+ }
- if( NA_IS_OBJECT_ACTION( item )){
- setup_toolbar_label( instance, item, label );
+ g_signal_emit_by_name( G_OBJECT( instance ), TAB_UPDATABLE_SIGNAL_ITEM_UPDATED, item, TRUE );
}
-
- g_signal_emit_by_name( G_OBJECT( instance ), TAB_UPDATABLE_SIGNAL_ITEM_UPDATED, item, TRUE );
}
static void
@@ -656,9 +657,7 @@ on_target_toolbar_toggled( GtkToggleButton *button, NactIActionTab *instance )
thisfn, ( void * ) item, item ? G_OBJECT_TYPE_NAME( item ) : "null",
editable ? "True":"False" );
- g_return_if_fail( item );
-
- if( NA_IS_OBJECT_ACTION( item )){
+ if( item && NA_IS_OBJECT_ACTION( item )){
is_target = gtk_toggle_button_get_active( button );
if( editable ){
@@ -699,9 +698,7 @@ on_toolbar_same_label_toggled( GtkToggleButton *button, NactIActionTab *instance
thisfn, ( void * ) item, item ? G_OBJECT_TYPE_NAME( item ) : "null",
editable ? "True":"False" );
- g_return_if_fail( item );
-
- if( NA_IS_OBJECT_ACTION( item )){
+ if( item && NA_IS_OBJECT_ACTION( item )){
same_label = gtk_toggle_button_get_active( button );
if( editable ){
@@ -767,9 +764,7 @@ on_toolbar_label_changed( GtkEntry *entry, NactIActionTab *instance )
TAB_UPDATABLE_PROP_SELECTED_ITEM, &item,
NULL );
- g_return_if_fail( item );
-
- if( NA_IS_OBJECT_ACTION( item )){
+ if( item && NA_IS_OBJECT_ACTION( item )){
label = gtk_entry_get_text( entry );
na_object_set_toolbar_label( NA_OBJECT_ACTION( item ), label );
@@ -800,10 +795,10 @@ on_tooltip_changed( GtkEntry *entry, NactIActionTab *instance )
TAB_UPDATABLE_PROP_SELECTED_ITEM, &item,
NULL );
- g_return_if_fail( item );
-
- na_object_set_tooltip( item, gtk_entry_get_text( entry ));
- g_signal_emit_by_name( G_OBJECT( instance ), TAB_UPDATABLE_SIGNAL_ITEM_UPDATED, item, FALSE );
+ if( item ){
+ na_object_set_tooltip( item, gtk_entry_get_text( entry ));
+ g_signal_emit_by_name( G_OBJECT( instance ), TAB_UPDATABLE_SIGNAL_ITEM_UPDATED, item, FALSE );
+ }
}
static GtkTreeModel *
@@ -899,12 +894,14 @@ on_icon_changed( GtkEntry *icon_entry, NactIActionTab *instance )
TAB_UPDATABLE_PROP_SELECTED_ITEM, &item,
NULL );
- icon_name = gtk_entry_get_text( icon_entry );
- na_object_set_icon( item, icon_name );
- g_signal_emit_by_name( G_OBJECT( instance ), TAB_UPDATABLE_SIGNAL_ITEM_UPDATED, item, TRUE );
+ if( item ){
+ icon_name = gtk_entry_get_text( icon_entry );
+ na_object_set_icon( item, icon_name );
+ g_signal_emit_by_name( G_OBJECT( instance ), TAB_UPDATABLE_SIGNAL_ITEM_UPDATED, item, TRUE );
- image = GTK_IMAGE( base_window_get_widget( BASE_WINDOW( instance ), "ActionIconImage" ));
- nact_gtk_utils_render( icon_name, image, GTK_ICON_SIZE_MENU );
+ image = GTK_IMAGE( base_window_get_widget( BASE_WINDOW( instance ), "ActionIconImage" ));
+ nact_gtk_utils_render( icon_name, image, GTK_ICON_SIZE_MENU );
+ }
}
static gint
diff --git a/src/nact/nact-ibasenames-tab.c b/src/nact/nact-ibasenames-tab.c
index 6246afc..7d9a4e7 100644
--- a/src/nact/nact-ibasenames-tab.c
+++ b/src/nact/nact-ibasenames-tab.c
@@ -254,7 +254,6 @@ on_matchcase_toggled( GtkToggleButton *button, BaseWindow *window )
gboolean matchcase;
if( !st_on_selection_change ){
-
context = nact_main_tab_get_context( NACT_MAIN_WINDOW( window ), &editable );
if( context ){
diff --git a/src/nact/nact-icommand-tab.c b/src/nact/nact-icommand-tab.c
index 3e3732b..44f46ea 100644
--- a/src/nact/nact-icommand-tab.c
+++ b/src/nact/nact-icommand-tab.c
@@ -358,51 +358,49 @@ on_tab_updatable_selection_changed( NactICommandTab *instance, gint count_select
enable_tab = ( profile != NULL );
nact_main_tab_enable_page( NACT_MAIN_WINDOW( instance ), TAB_COMMAND, enable_tab );
- if( enable_tab ){
- st_on_selection_change = TRUE;
-
- label_entry = get_label_entry( instance );
- label = profile ? na_object_get_label( profile ) : g_strdup( "" );
- label = label ? label : g_strdup( "" );
- gtk_entry_set_text( GTK_ENTRY( label_entry ), label );
- check_for_label( instance, GTK_ENTRY( label_entry ), label );
- g_free( label );
- gtk_widget_set_sensitive( label_entry, profile != NULL );
- nact_gtk_utils_set_editable( GTK_OBJECT( label_entry ), editable );
-
- path_entry = get_path_entry( instance );
- path = profile ? na_object_get_path( profile ) : g_strdup( "" );
- path = path ? path : g_strdup( "" );
- gtk_entry_set_text( GTK_ENTRY( path_entry ), path );
- g_free( path );
- gtk_widget_set_sensitive( path_entry, profile != NULL );
- nact_gtk_utils_set_editable( GTK_OBJECT( path_entry ), editable );
-
- path_button = get_path_button( instance );
- gtk_widget_set_sensitive( GTK_WIDGET( path_button ), profile != NULL );
- nact_gtk_utils_set_editable( GTK_OBJECT( path_button ), editable );
-
- parameters_entry = get_parameters_entry( instance );
- parameters = profile ? na_object_get_parameters( profile ) : g_strdup( "" );
- parameters = parameters ? parameters : g_strdup( "" );
- gtk_entry_set_text( GTK_ENTRY( parameters_entry ), parameters );
- g_free( parameters );
- gtk_widget_set_sensitive( parameters_entry, profile != NULL );
- nact_gtk_utils_set_editable( GTK_OBJECT( parameters_entry ), editable );
-
- legend_button = get_legend_button( instance );
- gtk_widget_set_sensitive( GTK_WIDGET( legend_button ), profile != NULL );
-
- wdir_entry = base_window_get_widget( BASE_WINDOW( instance ), "WorkingDirectoryEntry" );
- wdir = profile ? na_object_get_working_dir( profile ) : g_strdup( "" );
- wdir = wdir ? wdir : g_strdup( "" );
- gtk_entry_set_text( GTK_ENTRY( wdir_entry ), wdir );
- g_free( wdir );
- gtk_widget_set_sensitive( wdir_entry, profile != NULL );
- nact_gtk_utils_set_editable( GTK_OBJECT( wdir_entry ), editable );
-
- st_on_selection_change = FALSE;
- }
+ st_on_selection_change = TRUE;
+
+ label_entry = get_label_entry( instance );
+ label = profile ? na_object_get_label( profile ) : g_strdup( "" );
+ label = label ? label : g_strdup( "" );
+ gtk_entry_set_text( GTK_ENTRY( label_entry ), label );
+ check_for_label( instance, GTK_ENTRY( label_entry ), label );
+ g_free( label );
+ gtk_widget_set_sensitive( label_entry, profile != NULL );
+ nact_gtk_utils_set_editable( GTK_OBJECT( label_entry ), editable );
+
+ path_entry = get_path_entry( instance );
+ path = profile ? na_object_get_path( profile ) : g_strdup( "" );
+ path = path ? path : g_strdup( "" );
+ gtk_entry_set_text( GTK_ENTRY( path_entry ), path );
+ g_free( path );
+ gtk_widget_set_sensitive( path_entry, profile != NULL );
+ nact_gtk_utils_set_editable( GTK_OBJECT( path_entry ), editable );
+
+ path_button = get_path_button( instance );
+ gtk_widget_set_sensitive( GTK_WIDGET( path_button ), profile != NULL );
+ nact_gtk_utils_set_editable( GTK_OBJECT( path_button ), editable );
+
+ parameters_entry = get_parameters_entry( instance );
+ parameters = profile ? na_object_get_parameters( profile ) : g_strdup( "" );
+ parameters = parameters ? parameters : g_strdup( "" );
+ gtk_entry_set_text( GTK_ENTRY( parameters_entry ), parameters );
+ g_free( parameters );
+ gtk_widget_set_sensitive( parameters_entry, profile != NULL );
+ nact_gtk_utils_set_editable( GTK_OBJECT( parameters_entry ), editable );
+
+ legend_button = get_legend_button( instance );
+ gtk_widget_set_sensitive( GTK_WIDGET( legend_button ), profile != NULL );
+
+ wdir_entry = base_window_get_widget( BASE_WINDOW( instance ), "WorkingDirectoryEntry" );
+ wdir = profile ? na_object_get_working_dir( profile ) : g_strdup( "" );
+ wdir = wdir ? wdir : g_strdup( "" );
+ gtk_entry_set_text( GTK_ENTRY( wdir_entry ), wdir );
+ g_free( wdir );
+ gtk_widget_set_sensitive( wdir_entry, profile != NULL );
+ nact_gtk_utils_set_editable( GTK_OBJECT( wdir_entry ), editable );
+
+ st_on_selection_change = FALSE;
}
}
@@ -482,12 +480,12 @@ legend_dialog_hide( NactICommandTab *instance )
g_object_get_data( G_OBJECT( legend_dialog ), ICOMMAND_TAB_LEGEND_VISIBLE ));
if( is_visible ){
- g_assert( GTK_IS_WINDOW( legend_dialog ));
+ g_return_if_fail( GTK_IS_WINDOW( legend_dialog ));
base_iprefs_save_named_window_position( BASE_WINDOW( instance ), legend_dialog, IPREFS_LEGEND_DIALOG );
gtk_widget_hide( GTK_WIDGET( legend_dialog ));
/* set the legend button state consistent for when the dialog is
- * hidden by another mean (eg. close the edit profile dialog)
+ * hidden by another way (eg. close the edit profile dialog)
*/
legend_button = get_legend_button( instance );
gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( legend_button ), FALSE );
@@ -521,7 +519,6 @@ on_label_changed( GtkEntry *entry, NactICommandTab *instance )
const gchar *label;
if( !st_on_selection_change ){
-
g_object_get(
G_OBJECT( instance ),
TAB_UPDATABLE_PROP_SELECTED_PROFILE, &profile,
@@ -553,7 +550,6 @@ on_parameters_changed( GtkEntry *entry, NactICommandTab *instance )
NAObjectProfile *profile;
if( !st_on_selection_change ){
-
g_object_get(
G_OBJECT( instance ),
TAB_UPDATABLE_PROP_SELECTED_PROFILE, &profile,
@@ -582,16 +578,16 @@ on_path_changed( GtkEntry *entry, NactICommandTab *instance )
NAObjectProfile *profile;
if( !st_on_selection_change ){
-
g_object_get(
G_OBJECT( instance ),
TAB_UPDATABLE_PROP_SELECTED_PROFILE, &profile,
NULL );
- g_return_if_fail( profile );
- na_object_set_path( profile, gtk_entry_get_text( entry ));
- g_signal_emit_by_name( G_OBJECT( instance ), TAB_UPDATABLE_SIGNAL_ITEM_UPDATED, profile, FALSE );
- update_example_label( instance, profile );
+ if( profile ){
+ na_object_set_path( profile, gtk_entry_get_text( entry ));
+ g_signal_emit_by_name( G_OBJECT( instance ), TAB_UPDATABLE_SIGNAL_ITEM_UPDATED, profile, FALSE );
+ update_example_label( instance, profile );
+ }
}
}
@@ -602,21 +598,22 @@ on_wdir_browse( GtkButton *button, NactICommandTab *instance )
NAObjectProfile *profile;
gchar *default_value;
- wdir_entry = base_window_get_widget( BASE_WINDOW( instance ), "WorkingDirectoryEntry" );
-
g_object_get(
G_OBJECT( instance ),
TAB_UPDATABLE_PROP_SELECTED_PROFILE, &profile,
NULL );
- default_value = na_factory_object_get_default( NA_IFACTORY_OBJECT( profile ), NAFO_DATA_WORKING_DIR );
+ if( profile ){
+ default_value = na_factory_object_get_default( NA_IFACTORY_OBJECT( profile ), NAFO_DATA_WORKING_DIR );
+ wdir_entry = base_window_get_widget( BASE_WINDOW( instance ), "WorkingDirectoryEntry" );
- nact_gtk_utils_select_dir(
- BASE_WINDOW( instance ),
- _( "Choosing a working directory" ), IPREFS_WORKING_DIR_DIALOG,
- wdir_entry, IPREFS_WORKING_DIR_URI, default_value );
+ nact_gtk_utils_select_dir(
+ BASE_WINDOW( instance ),
+ _( "Choosing a working directory" ), IPREFS_WORKING_DIR_DIALOG,
+ wdir_entry, IPREFS_WORKING_DIR_URI, default_value );
- g_free( default_value );
+ g_free( default_value );
+ }
}
static void
@@ -625,14 +622,15 @@ on_wdir_changed( GtkEntry *entry, NactICommandTab *instance )
NAObjectProfile *profile;
if( !st_on_selection_change ){
-
g_object_get(
G_OBJECT( instance ),
TAB_UPDATABLE_PROP_SELECTED_PROFILE, &profile,
NULL );
- na_object_set_working_dir( profile, gtk_entry_get_text( entry ));
- g_signal_emit_by_name( G_OBJECT( instance ), TAB_UPDATABLE_SIGNAL_ITEM_UPDATED, profile, FALSE );
+ if( profile ){
+ na_object_set_working_dir( profile, gtk_entry_get_text( entry ));
+ g_signal_emit_by_name( G_OBJECT( instance ), TAB_UPDATABLE_SIGNAL_ITEM_UPDATED, profile, FALSE );
+ }
}
}
diff --git a/src/nact/nact-ienvironment-tab.c b/src/nact/nact-ienvironment-tab.c
index 38d0d95..21be8c5 100644
--- a/src/nact/nact-ienvironment-tab.c
+++ b/src/nact/nact-ienvironment-tab.c
@@ -418,99 +418,97 @@ on_tab_updatable_selection_changed( NactIEnvironmentTab *instance, gint count_se
enable_tab = ( context != NULL );
nact_main_tab_enable_page( NACT_MAIN_WINDOW( instance ), TAB_ENVIRONMENT, enable_tab );
- if( context ){
+ st_on_selection_change = TRUE;
- st_on_selection_change = TRUE;
+ /* selection count
+ */
+ sel_count = context ? na_object_get_selection_count( context ) : g_strdup( "" );
+ na_core_utils_selcount_get_ope_int( sel_count, &selcount_ope, &selcount_int );
+ set_selection_count_selection( instance, selcount_ope, selcount_int );
+ g_free( selcount_int );
+ g_free( selcount_ope );
+ g_free( sel_count );
- /* selection count
- */
- sel_count = na_object_get_selection_count( context );
- na_core_utils_selcount_get_ope_int( sel_count, &selcount_ope, &selcount_int );
- set_selection_count_selection( instance, selcount_ope, selcount_int );
- g_free( selcount_int );
- g_free( selcount_ope );
- g_free( sel_count );
+ combo = base_window_get_widget( BASE_WINDOW( instance ), "SelectionCountSigneCombobox" );
+ nact_gtk_utils_set_editable( GTK_OBJECT( combo ), editable );
- combo = base_window_get_widget( BASE_WINDOW( instance ), "SelectionCountSigneCombobox" );
- nact_gtk_utils_set_editable( GTK_OBJECT( combo ), editable );
+ entry = base_window_get_widget( BASE_WINDOW( instance ), "SelectionCountNumberEntry" );
+ nact_gtk_utils_set_editable( GTK_OBJECT( entry ), editable );
- entry = base_window_get_widget( BASE_WINDOW( instance ), "SelectionCountNumberEntry" );
- nact_gtk_utils_set_editable( GTK_OBJECT( entry ), editable );
+ /* desktop environment
+ */
+ raz_desktop_listview( instance );
- /* desktop environment
- */
- raz_desktop_listview( instance );
+ always_button = base_window_get_widget( BASE_WINDOW( instance ), "ShowAlwaysButton" );
+ nact_gtk_utils_set_editable( GTK_OBJECT( always_button ), editable );
- always_button = base_window_get_widget( BASE_WINDOW( instance ), "ShowAlwaysButton" );
- nact_gtk_utils_set_editable( GTK_OBJECT( always_button ), editable );
+ show_button = base_window_get_widget( BASE_WINDOW( instance ), "OnlyShowButton" );
+ nact_gtk_utils_set_editable( GTK_OBJECT( show_button ), editable );
- show_button = base_window_get_widget( BASE_WINDOW( instance ), "OnlyShowButton" );
- nact_gtk_utils_set_editable( GTK_OBJECT( show_button ), editable );
+ notshow_button = base_window_get_widget( BASE_WINDOW( instance ), "DoNotShowButton" );
+ nact_gtk_utils_set_editable( GTK_OBJECT( notshow_button ), editable );
- notshow_button = base_window_get_widget( BASE_WINDOW( instance ), "DoNotShowButton" );
- nact_gtk_utils_set_editable( GTK_OBJECT( notshow_button ), editable );
+ desktops = context ? na_object_get_only_show_in( context ) : NULL;
+ listview = GTK_TREE_VIEW( base_window_get_widget( BASE_WINDOW( instance ), "EnvironmentsDesktopTreeView" ));
- desktops = na_object_get_only_show_in( context );
- listview = GTK_TREE_VIEW( base_window_get_widget( BASE_WINDOW( instance ), "EnvironmentsDesktopTreeView" ));
+ if( desktops && g_slist_length( desktops )){
+ gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( show_button ), TRUE );
+ gtk_widget_set_sensitive( GTK_WIDGET( listview ), TRUE );
+
+ } else {
+ desktops = context ? na_object_get_not_show_in( context ) : NULL;
if( desktops && g_slist_length( desktops )){
- gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( show_button ), TRUE );
+ gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( notshow_button ), TRUE );
gtk_widget_set_sensitive( GTK_WIDGET( listview ), TRUE );
} else {
- desktops = na_object_get_not_show_in( context );
+ gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( always_button ), context != NULL );
+ gtk_toggle_button_set_inconsistent( GTK_TOGGLE_BUTTON( always_button ), context == NULL );
+ gtk_widget_set_sensitive( GTK_WIDGET( listview ), FALSE );
+ desktops = NULL;
+ }
+ }
- if( desktops && g_slist_length( desktops )){
- gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( notshow_button ), TRUE );
- gtk_widget_set_sensitive( GTK_WIDGET( listview ), TRUE );
+ setup_desktop_listview( instance, desktops );
- } else {
- gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( always_button ), TRUE );
- gtk_widget_set_sensitive( GTK_WIDGET( listview ), FALSE );
- desktops = NULL;
- }
- }
+ /* execution environment
+ */
+ entry = base_window_get_widget( BASE_WINDOW( instance ), "TryExecEntry" );
+ text = context ? na_object_get_try_exec( context ) : g_strdup( "" );
+ text = text && strlen( text ) ? text : g_strdup( "" );
+ gtk_entry_set_text( GTK_ENTRY( entry ), text );
+ g_free( text );
+ nact_gtk_utils_set_editable( GTK_OBJECT( entry ), editable );
- setup_desktop_listview( instance, desktops );
-
- /* execution environment
- */
- entry = base_window_get_widget( BASE_WINDOW( instance ), "TryExecEntry" );
- text = na_object_get_try_exec( context );
- text = text && strlen( text ) ? text : g_strdup( "" );
- gtk_entry_set_text( GTK_ENTRY( entry ), text );
- g_free( text );
- nact_gtk_utils_set_editable( GTK_OBJECT( entry ), editable );
-
- entry = base_window_get_widget( BASE_WINDOW( instance ), "ShowIfRegisteredEntry" );
- text = na_object_get_show_if_registered( context );
- text = text && strlen( text ) ? text : g_strdup( "" );
- gtk_entry_set_text( GTK_ENTRY( entry ), text );
- g_free( text );
- nact_gtk_utils_set_editable( GTK_OBJECT( entry ), editable );
-
- entry = base_window_get_widget( BASE_WINDOW( instance ), "ShowIfTrueEntry" );
- text = na_object_get_show_if_true( context );
- text = text && strlen( text ) ? text : g_strdup( "" );
- gtk_entry_set_text( GTK_ENTRY( entry ), text );
- g_free( text );
- nact_gtk_utils_set_editable( GTK_OBJECT( entry ), editable );
-
- entry = base_window_get_widget( BASE_WINDOW( instance ), "ShowIfRunningEntry" );
- text = na_object_get_show_if_running( context );
- text = text && strlen( text ) ? text : g_strdup( "" );
- gtk_entry_set_text( GTK_ENTRY( entry ), text );
- g_free( text );
- nact_gtk_utils_set_editable( GTK_OBJECT( entry ), editable );
-
- st_on_selection_change = FALSE;
-
- path = gtk_tree_path_new_first();
- if( path ){
- selection = gtk_tree_view_get_selection( listview );
- gtk_tree_selection_select_path( selection, path );
- gtk_tree_path_free( path );
- }
+ entry = base_window_get_widget( BASE_WINDOW( instance ), "ShowIfRegisteredEntry" );
+ text = context ? na_object_get_show_if_registered( context ) : g_strdup( "" );
+ text = text && strlen( text ) ? text : g_strdup( "" );
+ gtk_entry_set_text( GTK_ENTRY( entry ), text );
+ g_free( text );
+ nact_gtk_utils_set_editable( GTK_OBJECT( entry ), editable );
+
+ entry = base_window_get_widget( BASE_WINDOW( instance ), "ShowIfTrueEntry" );
+ text = context ? na_object_get_show_if_true( context ) : g_strdup( "" );
+ text = text && strlen( text ) ? text : g_strdup( "" );
+ gtk_entry_set_text( GTK_ENTRY( entry ), text );
+ g_free( text );
+ nact_gtk_utils_set_editable( GTK_OBJECT( entry ), editable );
+
+ entry = base_window_get_widget( BASE_WINDOW( instance ), "ShowIfRunningEntry" );
+ text = context ? na_object_get_show_if_running( context ) : g_strdup( "" );
+ text = text && strlen( text ) ? text : g_strdup( "" );
+ gtk_entry_set_text( GTK_ENTRY( entry ), text );
+ g_free( text );
+ nact_gtk_utils_set_editable( GTK_OBJECT( entry ), editable );
+
+ st_on_selection_change = FALSE;
+
+ path = gtk_tree_path_new_first();
+ if( path ){
+ selection = gtk_tree_view_get_selection( listview );
+ gtk_tree_selection_select_path( selection, path );
+ gtk_tree_path_free( path );
}
}
}
@@ -534,14 +532,15 @@ on_selection_count_changed( NactIEnvironmentTab *instance )
gchar *selcount;
if( !st_on_selection_change ){
-
context = nact_main_tab_get_context( NACT_MAIN_WINDOW( instance ), NULL );
- g_return_if_fail( context != NULL );
- selcount = get_selection_count_selection( instance );
- na_object_set_selection_count( context, selcount );
- g_free( selcount );
- g_signal_emit_by_name( G_OBJECT( instance ), TAB_UPDATABLE_SIGNAL_ITEM_UPDATED, context, FALSE );
+ if( context ){
+ selcount = get_selection_count_selection( instance );
+ na_object_set_selection_count( context, selcount );
+ g_free( selcount );
+
+ g_signal_emit_by_name( G_OBJECT( instance ), TAB_UPDATABLE_SIGNAL_ITEM_UPDATED, context, FALSE );
+ }
}
}
@@ -572,23 +571,26 @@ on_show_always_toggled( GtkToggleButton *toggle_button, NactIEnvironmentTab *ins
( void * ) instance );
context = nact_main_tab_get_context( NACT_MAIN_WINDOW( instance ), &editable );
- active = gtk_toggle_button_get_active( toggle_button );
- if( editable ){
- listview = GTK_TREE_VIEW( base_window_get_widget( BASE_WINDOW( instance ), "EnvironmentsDesktopTreeView" ));
- gtk_widget_set_sensitive( GTK_WIDGET( listview ), !active );
+ if( context ){
+ active = gtk_toggle_button_get_active( toggle_button );
- if( active ){
- raz_desktop_listview( instance );
- na_object_set_only_show_in( context, NULL );
- na_object_set_not_show_in( context, NULL );
- g_signal_emit_by_name( G_OBJECT( instance ), TAB_UPDATABLE_SIGNAL_ITEM_UPDATED, context, FALSE );
- }
+ if( editable ){
+ listview = GTK_TREE_VIEW( base_window_get_widget( BASE_WINDOW( instance ), "EnvironmentsDesktopTreeView" ));
+ gtk_widget_set_sensitive( GTK_WIDGET( listview ), !active );
- } else {
- g_signal_handlers_block_by_func(( gpointer ) toggle_button, on_show_always_toggled, instance );
- gtk_toggle_button_set_active( toggle_button, !active );
- g_signal_handlers_unblock_by_func(( gpointer ) toggle_button, on_show_always_toggled, instance );
+ if( active ){
+ raz_desktop_listview( instance );
+ na_object_set_only_show_in( context, NULL );
+ na_object_set_not_show_in( context, NULL );
+ g_signal_emit_by_name( G_OBJECT( instance ), TAB_UPDATABLE_SIGNAL_ITEM_UPDATED, context, FALSE );
+ }
+
+ } else {
+ g_signal_handlers_block_by_func(( gpointer ) toggle_button, on_show_always_toggled, instance );
+ gtk_toggle_button_set_active( toggle_button, !active );
+ g_signal_handlers_unblock_by_func(( gpointer ) toggle_button, on_show_always_toggled, instance );
+ }
}
}
@@ -607,25 +609,28 @@ on_only_show_toggled( GtkToggleButton *toggle_button, NactIEnvironmentTab *insta
( void * ) instance );
context = nact_main_tab_get_context( NACT_MAIN_WINDOW( instance ), &editable );
- active = gtk_toggle_button_get_active( toggle_button );
-
- if( editable ){
- if( active ){
- raz_desktop_listview( instance );
- show = na_object_get_only_show_in( context );
- if( show && g_slist_length( show )){
- setup_desktop_listview( instance, show );
+
+ if( context ){
+ active = gtk_toggle_button_get_active( toggle_button );
+
+ if( editable ){
+ if( active ){
+ raz_desktop_listview( instance );
+ show = na_object_get_only_show_in( context );
+ if( show && g_slist_length( show )){
+ setup_desktop_listview( instance, show );
+ }
+
+ } else {
+ na_object_set_only_show_in( context, NULL );
+ g_signal_emit_by_name( G_OBJECT( instance ), TAB_UPDATABLE_SIGNAL_ITEM_UPDATED, context, FALSE );
}
} else {
- na_object_set_only_show_in( context, NULL );
- g_signal_emit_by_name( G_OBJECT( instance ), TAB_UPDATABLE_SIGNAL_ITEM_UPDATED, context, FALSE );
+ g_signal_handlers_block_by_func(( gpointer ) toggle_button, on_only_show_toggled, instance );
+ gtk_toggle_button_set_active( toggle_button, !active );
+ g_signal_handlers_unblock_by_func(( gpointer ) toggle_button, on_only_show_toggled, instance );
}
-
- } else {
- g_signal_handlers_block_by_func(( gpointer ) toggle_button, on_only_show_toggled, instance );
- gtk_toggle_button_set_active( toggle_button, !active );
- g_signal_handlers_unblock_by_func(( gpointer ) toggle_button, on_only_show_toggled, instance );
}
}
@@ -644,25 +649,28 @@ on_do_not_show_toggled( GtkToggleButton *toggle_button, NactIEnvironmentTab *ins
( void * ) instance );
context = nact_main_tab_get_context( NACT_MAIN_WINDOW( instance ), &editable );
- active = gtk_toggle_button_get_active( toggle_button );
-
- if( editable ){
- if( active ){
- raz_desktop_listview( instance );
- show = na_object_get_not_show_in( context );
- if( show && g_slist_length( show )){
- setup_desktop_listview( instance, show );
+
+ if( context ){
+ active = gtk_toggle_button_get_active( toggle_button );
+
+ if( editable ){
+ if( active ){
+ raz_desktop_listview( instance );
+ show = na_object_get_not_show_in( context );
+ if( show && g_slist_length( show )){
+ setup_desktop_listview( instance, show );
+ }
+
+ } else {
+ na_object_set_not_show_in( context, NULL );
+ g_signal_emit_by_name( G_OBJECT( instance ), TAB_UPDATABLE_SIGNAL_ITEM_UPDATED, context, FALSE );
}
} else {
- na_object_set_not_show_in( context, NULL );
- g_signal_emit_by_name( G_OBJECT( instance ), TAB_UPDATABLE_SIGNAL_ITEM_UPDATED, context, FALSE );
+ g_signal_handlers_block_by_func(( gpointer ) toggle_button, on_do_not_show_toggled, instance );
+ gtk_toggle_button_set_active( toggle_button, !active );
+ g_signal_handlers_unblock_by_func(( gpointer ) toggle_button, on_do_not_show_toggled, instance );
}
-
- } else {
- g_signal_handlers_block_by_func(( gpointer ) toggle_button, on_do_not_show_toggled, instance );
- gtk_toggle_button_set_active( toggle_button, !active );
- g_signal_handlers_unblock_by_func(( gpointer ) toggle_button, on_do_not_show_toggled, instance );
}
}
@@ -683,33 +691,34 @@ on_desktop_toggled( GtkCellRendererToggle *renderer, gchar *path, BaseWindow *wi
g_debug( "%s: renderer=%p, path=%s, window=%p", thisfn, ( void * ) renderer, path, ( void * ) window );
if( !st_on_selection_change ){
-
context = nact_main_tab_get_context( NACT_MAIN_WINDOW( window ), &editable );
- if( editable ){
- listview = GTK_TREE_VIEW( base_window_get_widget( window, "EnvironmentsDesktopTreeView" ));
- model = gtk_tree_view_get_model( listview );
- tree_path = gtk_tree_path_new_from_string( path );
- gtk_tree_model_get_iter( model, &iter, tree_path );
- gtk_tree_path_free( tree_path );
- gtk_tree_model_get( model, &iter, ENV_BOOL_COLUMN, &state, ENV_KEYWORD_COLUMN, &desktop, -1 );
- gtk_list_store_set( GTK_LIST_STORE( model ), &iter, ENV_BOOL_COLUMN, !state, -1 );
-
- show_button = base_window_get_widget( BASE_WINDOW( window ), "OnlyShowButton" );
- if( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( show_button ))){
- na_object_set_only_desktop( context, desktop, !state );
- } else {
- na_object_set_not_desktop( context, desktop, !state );
- }
+ if( context ){
+ if( editable ){
+ listview = GTK_TREE_VIEW( base_window_get_widget( window, "EnvironmentsDesktopTreeView" ));
+ model = gtk_tree_view_get_model( listview );
+ tree_path = gtk_tree_path_new_from_string( path );
+ gtk_tree_model_get_iter( model, &iter, tree_path );
+ gtk_tree_path_free( tree_path );
+ gtk_tree_model_get( model, &iter, ENV_BOOL_COLUMN, &state, ENV_KEYWORD_COLUMN, &desktop, -1 );
+ gtk_list_store_set( GTK_LIST_STORE( model ), &iter, ENV_BOOL_COLUMN, !state, -1 );
+
+ show_button = base_window_get_widget( BASE_WINDOW( window ), "OnlyShowButton" );
+ if( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( show_button ))){
+ na_object_set_only_desktop( context, desktop, !state );
+ } else {
+ na_object_set_not_desktop( context, desktop, !state );
+ }
- g_signal_emit_by_name( G_OBJECT( window ), TAB_UPDATABLE_SIGNAL_ITEM_UPDATED, context, FALSE );
+ g_signal_emit_by_name( G_OBJECT( window ), TAB_UPDATABLE_SIGNAL_ITEM_UPDATED, context, FALSE );
- g_free( desktop );
+ g_free( desktop );
- } else {
- g_signal_handlers_block_by_func(( gpointer ) renderer, on_desktop_toggled, window );
- gtk_cell_renderer_toggle_set_active( renderer, state );
- g_signal_handlers_unblock_by_func(( gpointer ) renderer, on_desktop_toggled, window );
+ } else {
+ g_signal_handlers_block_by_func(( gpointer ) renderer, on_desktop_toggled, window );
+ gtk_cell_renderer_toggle_set_active( renderer, state );
+ g_signal_handlers_unblock_by_func(( gpointer ) renderer, on_desktop_toggled, window );
+ }
}
}
}
@@ -721,8 +730,12 @@ on_try_exec_changed( GtkEntry *entry, NactIEnvironmentTab *instance )
const gchar *text;
context = nact_main_tab_get_context( NACT_MAIN_WINDOW( instance ), NULL );
- text = gtk_entry_get_text( entry );
- na_object_set_try_exec( context, text );
+
+ if( context ){
+ text = gtk_entry_get_text( entry );
+ na_object_set_try_exec( context, text );
+ g_signal_emit_by_name( G_OBJECT( instance ), TAB_UPDATABLE_SIGNAL_ITEM_UPDATED, context, FALSE );
+ }
}
static void
@@ -745,8 +758,12 @@ on_show_if_registered_changed( GtkEntry *entry, NactIEnvironmentTab *instance )
const gchar *text;
context = nact_main_tab_get_context( NACT_MAIN_WINDOW( instance ), NULL );
- text = gtk_entry_get_text( entry );
- na_object_set_show_if_registered( context, text );
+
+ if( context ){
+ text = gtk_entry_get_text( entry );
+ na_object_set_show_if_registered( context, text );
+ g_signal_emit_by_name( G_OBJECT( instance ), TAB_UPDATABLE_SIGNAL_ITEM_UPDATED, context, FALSE );
+ }
}
static void
@@ -756,8 +773,12 @@ on_show_if_true_changed( GtkEntry *entry, NactIEnvironmentTab *instance )
const gchar *text;
context = nact_main_tab_get_context( NACT_MAIN_WINDOW( instance ), NULL );
- text = gtk_entry_get_text( entry );
- na_object_set_show_if_true( context, text );
+
+ if( context ){
+ text = gtk_entry_get_text( entry );
+ na_object_set_show_if_true( context, text );
+ g_signal_emit_by_name( G_OBJECT( instance ), TAB_UPDATABLE_SIGNAL_ITEM_UPDATED, context, FALSE );
+ }
}
static void
@@ -767,8 +788,12 @@ on_show_if_running_changed( GtkEntry *entry, NactIEnvironmentTab *instance )
const gchar *text;
context = nact_main_tab_get_context( NACT_MAIN_WINDOW( instance ), NULL );
- text = gtk_entry_get_text( entry );
- na_object_set_show_if_running( context, text );
+
+ if( context ){
+ text = gtk_entry_get_text( entry );
+ na_object_set_show_if_running( context, text );
+ g_signal_emit_by_name( G_OBJECT( instance ), TAB_UPDATABLE_SIGNAL_ITEM_UPDATED, context, FALSE );
+ }
}
static void
diff --git a/src/nact/nact-iexecution-tab.c b/src/nact/nact-iexecution-tab.c
index 320a8d7..e922cb8 100644
--- a/src/nact/nact-iexecution-tab.c
+++ b/src/nact/nact-iexecution-tab.c
@@ -290,55 +290,54 @@ on_tab_updatable_selection_changed( NactIExecutionTab *instance, gint count_sele
enable_tab = ( profile != NULL );
nact_main_tab_enable_page( NACT_MAIN_WINDOW( instance ), TAB_EXECUTION, enable_tab );
- if( enable_tab ){
- st_on_selection_change = TRUE;
-
- normal_toggle = base_window_get_widget( BASE_WINDOW( instance ), "ExecutionModeNormal" );
- nact_gtk_utils_set_editable( GTK_OBJECT( normal_toggle ), editable );
-
- terminal_toggle = base_window_get_widget( BASE_WINDOW( instance ), "ExecutionModeTerminal" );
- nact_gtk_utils_set_editable( GTK_OBJECT( terminal_toggle ), editable );
-
- embedded_toggle = base_window_get_widget( BASE_WINDOW( instance ), "ExecutionModeEmbedded" );
- nact_gtk_utils_set_editable( GTK_OBJECT( embedded_toggle ), editable );
-
- display_toggle = base_window_get_widget( BASE_WINDOW( instance ), "ExecutionModeDisplayOutput" );
- nact_gtk_utils_set_editable( GTK_OBJECT( display_toggle ), editable );
-
- mode = na_object_get_execution_mode( profile );
- if( !strcmp( mode, "Normal" )){
- gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( normal_toggle ), TRUE );
- } else if( !strcmp( mode, "Terminal" )){
- gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( terminal_toggle ), TRUE );
- } else if( !strcmp( mode, "Embedded" )){
- gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( embedded_toggle ), TRUE );
- } else if( !strcmp( mode, "DisplayOutput" )){
- gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( display_toggle ), TRUE );
- } else {
- g_warning( "%s: unable to setup execution mode '%s'", thisfn, mode );
- }
- g_free( mode );
+ st_on_selection_change = TRUE;
+
+ normal_toggle = base_window_get_widget( BASE_WINDOW( instance ), "ExecutionModeNormal" );
+ nact_gtk_utils_set_editable( GTK_OBJECT( normal_toggle ), editable );
+
+ terminal_toggle = base_window_get_widget( BASE_WINDOW( instance ), "ExecutionModeTerminal" );
+ nact_gtk_utils_set_editable( GTK_OBJECT( terminal_toggle ), editable );
+
+ embedded_toggle = base_window_get_widget( BASE_WINDOW( instance ), "ExecutionModeEmbedded" );
+ nact_gtk_utils_set_editable( GTK_OBJECT( embedded_toggle ), editable );
+
+ display_toggle = base_window_get_widget( BASE_WINDOW( instance ), "ExecutionModeDisplayOutput" );
+ nact_gtk_utils_set_editable( GTK_OBJECT( display_toggle ), editable );
+
+ mode = profile ? na_object_get_execution_mode( profile ) : g_strdup( "Normal" );
+ if( !strcmp( mode, "Normal" )){
+ gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( normal_toggle ), TRUE );
+ gtk_toggle_button_set_inconsistent( GTK_TOGGLE_BUTTON( normal_toggle ), profile == NULL );
+ } else if( !strcmp( mode, "Terminal" )){
+ gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( terminal_toggle ), TRUE );
+ } else if( !strcmp( mode, "Embedded" )){
+ gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( embedded_toggle ), TRUE );
+ } else if( !strcmp( mode, "DisplayOutput" )){
+ gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( display_toggle ), TRUE );
+ } else {
+ g_warning( "%s: unable to setup execution mode '%s'", thisfn, mode );
+ }
+ g_free( mode );
- notify = na_object_get_startup_notify( profile );
- notify_check = base_window_get_widget( BASE_WINDOW( instance ), "StartupNotifyButton" );
- nact_gtk_utils_set_editable( GTK_OBJECT( notify_check ), editable );
- gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( notify_check ), notify );
+ notify = profile ? na_object_get_startup_notify( profile ) : FALSE;
+ notify_check = base_window_get_widget( BASE_WINDOW( instance ), "StartupNotifyButton" );
+ nact_gtk_utils_set_editable( GTK_OBJECT( notify_check ), editable );
+ gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( notify_check ), notify );
- class = na_object_get_startup_class( profile );
- entry = base_window_get_widget( BASE_WINDOW( instance ), "StartupWMClassEntry" );
- gtk_entry_set_text( GTK_ENTRY( entry ), class );
- nact_gtk_utils_set_editable( GTK_OBJECT( entry ), editable );
- gtk_widget_set_sensitive( entry, notify );
- g_free( class );
-
- user = na_object_get_execute_as( profile );
- entry = base_window_get_widget( BASE_WINDOW( instance ), "ExecuteAsEntry" );
- gtk_entry_set_text( GTK_ENTRY( entry ), user );
- nact_gtk_utils_set_editable( GTK_OBJECT( entry ), editable );
- g_free( user );
-
- st_on_selection_change = FALSE;
- }
+ class = profile ? na_object_get_startup_class( profile ) : g_strdup( "" );
+ entry = base_window_get_widget( BASE_WINDOW( instance ), "StartupWMClassEntry" );
+ gtk_entry_set_text( GTK_ENTRY( entry ), class );
+ nact_gtk_utils_set_editable( GTK_OBJECT( entry ), editable );
+ gtk_widget_set_sensitive( entry, notify );
+ g_free( class );
+
+ user = profile ? na_object_get_execute_as( profile ) : g_strdup( "" );
+ entry = base_window_get_widget( BASE_WINDOW( instance ), "ExecuteAsEntry" );
+ gtk_entry_set_text( GTK_ENTRY( entry ), user );
+ nact_gtk_utils_set_editable( GTK_OBJECT( entry ), editable );
+ g_free( user );
+
+ st_on_selection_change = FALSE;
}
}
@@ -379,18 +378,20 @@ execution_mode_toggle( NactIExecutionTab *instance, GtkToggleButton *toggle_butt
TAB_UPDATABLE_PROP_EDITABLE, &editable,
NULL );
- active = gtk_toggle_button_get_active( toggle_button );
+ if( profile ){
+ active = gtk_toggle_button_get_active( toggle_button );
- if( editable ){
- if( active ){
- na_object_set_execution_mode( profile, mode );
- g_signal_emit_by_name( G_OBJECT( instance ), TAB_UPDATABLE_SIGNAL_ITEM_UPDATED, profile, FALSE );
- }
+ if( editable ){
+ if( active ){
+ na_object_set_execution_mode( profile, mode );
+ g_signal_emit_by_name( G_OBJECT( instance ), TAB_UPDATABLE_SIGNAL_ITEM_UPDATED, profile, FALSE );
+ }
- } else {
- g_signal_handlers_block_by_func(( gpointer ) toggle_button, cb, instance );
- gtk_toggle_button_set_active( toggle_button, !active );
- g_signal_handlers_unblock_by_func(( gpointer ) toggle_button, cb, instance );
+ } else {
+ g_signal_handlers_block_by_func(( gpointer ) toggle_button, cb, instance );
+ gtk_toggle_button_set_active( toggle_button, !active );
+ g_signal_handlers_unblock_by_func(( gpointer ) toggle_button, cb, instance );
+ }
}
}
@@ -408,18 +409,20 @@ on_startup_notify_toggled( GtkToggleButton *toggle_button, NactIExecutionTab *in
TAB_UPDATABLE_PROP_EDITABLE, &editable,
NULL );
- active = gtk_toggle_button_get_active( toggle_button );
+ if( profile ){
+ active = gtk_toggle_button_get_active( toggle_button );
- if( editable ){
- na_object_set_startup_notify( profile, active );
- g_signal_emit_by_name( G_OBJECT( instance ), TAB_UPDATABLE_SIGNAL_ITEM_UPDATED, profile, FALSE );
- entry = base_window_get_widget( BASE_WINDOW( instance ), "StartupWMClassEntry" );
- gtk_widget_set_sensitive( entry, active );
+ if( editable ){
+ na_object_set_startup_notify( profile, active );
+ g_signal_emit_by_name( G_OBJECT( instance ), TAB_UPDATABLE_SIGNAL_ITEM_UPDATED, profile, FALSE );
+ entry = base_window_get_widget( BASE_WINDOW( instance ), "StartupWMClassEntry" );
+ gtk_widget_set_sensitive( entry, active );
- } else {
- g_signal_handlers_block_by_func(( gpointer ) toggle_button, on_startup_notify_toggled, instance );
- gtk_toggle_button_set_active( toggle_button, !active );
- g_signal_handlers_unblock_by_func(( gpointer ) toggle_button, on_startup_notify_toggled, instance );
+ } else {
+ g_signal_handlers_block_by_func(( gpointer ) toggle_button, on_startup_notify_toggled, instance );
+ gtk_toggle_button_set_active( toggle_button, !active );
+ g_signal_handlers_unblock_by_func(( gpointer ) toggle_button, on_startup_notify_toggled, instance );
+ }
}
}
@@ -434,8 +437,11 @@ on_startup_class_changed( GtkEntry *entry, NactIExecutionTab *instance )
TAB_UPDATABLE_PROP_SELECTED_PROFILE, &profile,
NULL );
- text = gtk_entry_get_text( entry );
- na_object_set_startup_class( profile, text );
+ if( profile ){
+ text = gtk_entry_get_text( entry );
+ na_object_set_startup_class( profile, text );
+ g_signal_emit_by_name( G_OBJECT( instance ), TAB_UPDATABLE_SIGNAL_ITEM_UPDATED, profile, FALSE );
+ }
}
static void
@@ -449,6 +455,9 @@ on_execute_as_changed( GtkEntry *entry, NactIExecutionTab *instance )
TAB_UPDATABLE_PROP_SELECTED_PROFILE, &profile,
NULL );
- text = gtk_entry_get_text( entry );
- na_object_set_execute_as( profile, text );
+ if( profile ){
+ text = gtk_entry_get_text( entry );
+ na_object_set_execute_as( profile, text );
+ g_signal_emit_by_name( G_OBJECT( instance ), TAB_UPDATABLE_SIGNAL_ITEM_UPDATED, profile, FALSE );
+ }
}
diff --git a/src/nact/nact-iproperties-tab.c b/src/nact/nact-iproperties-tab.c
index bc6f90b..0a15303 100644
--- a/src/nact/nact-iproperties-tab.c
+++ b/src/nact/nact-iproperties-tab.c
@@ -268,61 +268,60 @@ on_tab_updatable_selection_changed( NactIPropertiesTab *instance, gint count_sel
enable_tab = ( count_selected == 1 );
nact_main_tab_enable_page( NACT_MAIN_WINDOW( instance ), TAB_PROPERTIES, enable_tab );
- if( enable_tab ){
- st_on_selection_change = TRUE;
-
- notebook = GTK_NOTEBOOK( base_window_get_widget( BASE_WINDOW( instance ), "MainNotebook" ));
- page = gtk_notebook_get_nth_page( notebook, TAB_ACTION );
- title_widget = base_window_get_widget( BASE_WINDOW( instance ), "ActionPropertiesTitle" );
- label_widget = gtk_notebook_get_tab_label( notebook, page );
- if( item && NA_IS_OBJECT_MENU( item )){
- gtk_label_set_label( GTK_LABEL( label_widget ), _( "Me_nu" ));
- gtk_label_set_markup( GTK_LABEL( title_widget ), _( "<b>Menu editable properties</b>" ));
- } else {
- gtk_label_set_label( GTK_LABEL( label_widget ), _( "_Action" ));
- gtk_label_set_markup( GTK_LABEL( title_widget ), _( "<b>Action editable properties</b>" ));
- }
+ st_on_selection_change = TRUE;
+
+ notebook = GTK_NOTEBOOK( base_window_get_widget( BASE_WINDOW( instance ), "MainNotebook" ));
+ page = gtk_notebook_get_nth_page( notebook, TAB_ACTION );
+ title_widget = base_window_get_widget( BASE_WINDOW( instance ), "ActionPropertiesTitle" );
+ label_widget = gtk_notebook_get_tab_label( notebook, page );
+
+ if( item && NA_IS_OBJECT_MENU( item )){
+ gtk_label_set_label( GTK_LABEL( label_widget ), _( "Me_nu" ));
+ gtk_label_set_markup( GTK_LABEL( title_widget ), _( "<b>Menu editable properties</b>" ));
+ } else {
+ gtk_label_set_label( GTK_LABEL( label_widget ), _( "_Action" ));
+ gtk_label_set_markup( GTK_LABEL( title_widget ), _( "<b>Action editable properties</b>" ));
+ }
- enabled_button = get_enabled_button( instance );
- enabled_item = item ? na_object_is_enabled( NA_OBJECT_ITEM( item )) : FALSE;
- gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( enabled_button ), enabled_item );
- nact_gtk_utils_set_editable( GTK_OBJECT( enabled_button ), editable );
-
- label_widget = base_window_get_widget( BASE_WINDOW( instance ), "ActionDescriptionText" );
- buffer = gtk_text_view_get_buffer( GTK_TEXT_VIEW( label_widget ));
- label = item ? na_object_get_description( item ) : g_strdup( "" );
- gtk_text_buffer_set_text( buffer, label, -1 );
- g_free( label );
-
- shortcut_button = base_window_get_widget( BASE_WINDOW( instance ), "SuggestedShortcutButton" );
- shortcut = na_object_get_shortcut( item );
- if( !shortcut || !strlen( shortcut )){
- g_free( shortcut );
- shortcut = g_strdup( NO_SHORTCUT );
- }
- gtk_button_set_label( GTK_BUTTON( shortcut_button ), shortcut );
+ enabled_button = get_enabled_button( instance );
+ enabled_item = item ? na_object_is_enabled( NA_OBJECT_ITEM( item )) : FALSE;
+ gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( enabled_button ), enabled_item );
+ nact_gtk_utils_set_editable( GTK_OBJECT( enabled_button ), editable );
+
+ label_widget = base_window_get_widget( BASE_WINDOW( instance ), "ActionDescriptionText" );
+ buffer = gtk_text_view_get_buffer( GTK_TEXT_VIEW( label_widget ));
+ label = item ? na_object_get_description( item ) : g_strdup( "" );
+ gtk_text_buffer_set_text( buffer, label, -1 );
+ g_free( label );
+
+ shortcut_button = base_window_get_widget( BASE_WINDOW( instance ), "SuggestedShortcutButton" );
+ shortcut = item ? na_object_get_shortcut( item ) : g_strdup( "" );
+ if( !shortcut || !strlen( shortcut )){
g_free( shortcut );
- nact_gtk_utils_set_editable( GTK_OBJECT( shortcut_button ), editable );
+ shortcut = g_strdup( NO_SHORTCUT );
+ }
+ gtk_button_set_label( GTK_BUTTON( shortcut_button ), shortcut );
+ g_free( shortcut );
+ nact_gtk_utils_set_editable( GTK_OBJECT( shortcut_button ), editable );
- /* TODO: don't know how to edit a shortcut for now */
- gtk_widget_set_sensitive( shortcut_button, FALSE );
+ /* TODO: don't know how to edit a shortcut for now */
+ gtk_widget_set_sensitive( shortcut_button, FALSE );
- /* read-only toggle only indicates the intrinsic writability status of this item
- * _not_ the writability status of the provider
- */
- readonly_button = GTK_TOGGLE_BUTTON( base_window_get_widget( BASE_WINDOW( instance ), "ActionReadonlyButton" ));
- gtk_toggle_button_set_active( readonly_button, item ? na_object_is_readonly( item ) : FALSE );
- nact_gtk_utils_set_editable( GTK_OBJECT( readonly_button ), FALSE );
+ /* read-only toggle only indicates the intrinsic writability status of this item
+ * _not_ the writability status of the provider
+ */
+ readonly_button = GTK_TOGGLE_BUTTON( base_window_get_widget( BASE_WINDOW( instance ), "ActionReadonlyButton" ));
+ gtk_toggle_button_set_active( readonly_button, item ? na_object_is_readonly( item ) : FALSE );
+ nact_gtk_utils_set_editable( GTK_OBJECT( readonly_button ), FALSE );
- label_widget = base_window_get_widget( BASE_WINDOW( instance ), "ActionItemID" );
- label = item ? na_object_get_id( item ) : g_strdup( "" );
- gtk_label_set_text( GTK_LABEL( label_widget ), label );
- g_free( label );
+ label_widget = base_window_get_widget( BASE_WINDOW( instance ), "ActionItemID" );
+ label = item ? na_object_get_id( item ) : g_strdup( "" );
+ gtk_label_set_text( GTK_LABEL( label_widget ), label );
+ g_free( label );
- display_provider_name( instance, item );
+ display_provider_name( instance, item );
- st_on_selection_change = FALSE;
- }
+ st_on_selection_change = FALSE;
}
}
@@ -349,7 +348,7 @@ static void
on_enabled_toggled( GtkToggleButton *button, NactIPropertiesTab *instance )
{
static const gchar *thisfn = "nact_iproperties_tab_on_enabled_toggled";
- NAObjectItem *edited;
+ NAObjectItem *item;
gboolean enabled;
gboolean editable;
@@ -358,17 +357,16 @@ on_enabled_toggled( GtkToggleButton *button, NactIPropertiesTab *instance )
g_object_get(
G_OBJECT( instance ),
- TAB_UPDATABLE_PROP_SELECTED_ITEM, &edited,
+ TAB_UPDATABLE_PROP_SELECTED_ITEM, &item,
TAB_UPDATABLE_PROP_EDITABLE, &editable,
NULL );
- if( edited && NA_IS_OBJECT_ITEM( edited )){
-
+ if( item && NA_IS_OBJECT_ITEM( item )){
enabled = gtk_toggle_button_get_active( button );
if( editable ){
- na_object_set_enabled( edited, enabled );
- g_signal_emit_by_name( G_OBJECT( instance ), TAB_UPDATABLE_SIGNAL_ITEM_UPDATED, edited, FALSE );
+ na_object_set_enabled( item, enabled );
+ g_signal_emit_by_name( G_OBJECT( instance ), TAB_UPDATABLE_SIGNAL_ITEM_UPDATED, item, FALSE );
} else {
g_signal_handlers_block_by_func(( gpointer ) button, on_enabled_toggled, instance );
@@ -399,20 +397,22 @@ on_readonly_toggled( GtkToggleButton *button, NactIPropertiesTab *instance )
static void
on_description_changed( GtkTextBuffer *buffer, NactIPropertiesTab *instance )
{
- NAObjectItem *edited;
+ NAObjectItem *item;
GtkTextIter start, end;
gchar *text;
g_object_get(
G_OBJECT( instance ),
- TAB_UPDATABLE_PROP_SELECTED_ITEM, &edited,
+ TAB_UPDATABLE_PROP_SELECTED_ITEM, &item,
NULL );
- gtk_text_buffer_get_start_iter( buffer, &start );
- gtk_text_buffer_get_end_iter( buffer, &end );
- text = gtk_text_buffer_get_text( buffer, &start, &end, TRUE );
- na_object_set_description( edited, text );
- g_signal_emit_by_name( G_OBJECT( instance ), TAB_UPDATABLE_SIGNAL_ITEM_UPDATED, edited, FALSE );
+ if( item ){
+ gtk_text_buffer_get_start_iter( buffer, &start );
+ gtk_text_buffer_get_end_iter( buffer, &end );
+ text = gtk_text_buffer_get_text( buffer, &start, &end, TRUE );
+ na_object_set_description( item, text );
+ g_signal_emit_by_name( G_OBJECT( instance ), TAB_UPDATABLE_SIGNAL_ITEM_UPDATED, item, FALSE );
+ }
}
static void
@@ -425,7 +425,9 @@ on_shortcut_clicked( GtkButton *button, NactIPropertiesTab *instance )
TAB_UPDATABLE_PROP_SELECTED_ITEM, &item,
NULL );
- /*g_signal_emit_by_name( G_OBJECT( instance ), TAB_UPDATABLE_SIGNAL_ITEM_UPDATED, edited, FALSE );*/
+ if( item ){
+ /*g_signal_emit_by_name( G_OBJECT( instance ), TAB_UPDATABLE_SIGNAL_ITEM_UPDATED, edited, FALSE );*/
+ }
}
static void
diff --git a/src/nact/nact-main-tab.h b/src/nact/nact-main-tab.h
index 5f9cbff..1822e22 100644
--- a/src/nact/nact-main-tab.h
+++ b/src/nact/nact-main-tab.h
@@ -61,13 +61,13 @@
enum {
TAB_ACTION = 0,
TAB_COMMAND,
+ TAB_EXECUTION,
TAB_BASENAMES,
TAB_MIMETYPES,
TAB_FOLDERS,
TAB_SCHEMES,
TAB_CAPABILITIES,
TAB_ENVIRONMENT,
- TAB_EXECUTION,
TAB_PROPERTIES
};
diff --git a/src/nact/nact-match-list.c b/src/nact/nact-match-list.c
index 2e4dbd6..c5da795 100644
--- a/src/nact/nact-match-list.c
+++ b/src/nact/nact-match-list.c
@@ -324,38 +324,35 @@ nact_match_list_on_selection_changed( BaseWindow *window, const gchar *tab_name,
enable_tab = ( context != NULL );
nact_main_tab_enable_page( NACT_MAIN_WINDOW( data->window ), data->tab_id, enable_tab );
- if( enable_tab ){
+ st_on_selection_change = TRUE;
- st_on_selection_change = TRUE;
+ filters = context ? ( *data->pget )( context ) : NULL;
+ g_debug( "%s: filters=%p (count=%d)", thisfn, ( void * ) filters, filters ? g_slist_length( filters ) : -1 );
- filters = ( *data->pget )( context );
- g_debug( "%s: filters=%p (count=%d)", thisfn, ( void * ) filters, filters ? g_slist_length( filters ) : -1 );
-
- model = gtk_tree_view_get_model( data->listview );
- selection = gtk_tree_view_get_selection( data->listview );
- gtk_tree_selection_unselect_all( selection );
- gtk_list_store_clear( GTK_LIST_STORE( model ));
+ model = gtk_tree_view_get_model( data->listview );
+ selection = gtk_tree_view_get_selection( data->listview );
+ gtk_tree_selection_unselect_all( selection );
+ gtk_list_store_clear( GTK_LIST_STORE( model ));
- if( filters ){
- na_core_utils_slist_dump( filters );
- g_slist_foreach( filters, ( GFunc ) iter_for_setup, model );
- }
+ if( filters ){
+ na_core_utils_slist_dump( filters );
+ g_slist_foreach( filters, ( GFunc ) iter_for_setup, model );
+ }
- column = gtk_tree_view_get_column( data->listview, ITEM_COLUMN );
- nact_gtk_utils_set_editable( GTK_OBJECT( column ), data->editable );
+ column = gtk_tree_view_get_column( data->listview, ITEM_COLUMN );
+ nact_gtk_utils_set_editable( GTK_OBJECT( column ), data->editable );
- nact_gtk_utils_set_editable( GTK_OBJECT( data->addbutton ), data->editable );
- nact_gtk_utils_set_editable( GTK_OBJECT( data->removebutton ), data->editable );
- gtk_widget_set_sensitive( data->removebutton, FALSE );
+ nact_gtk_utils_set_editable( GTK_OBJECT( data->addbutton ), data->editable );
+ nact_gtk_utils_set_editable( GTK_OBJECT( data->removebutton ), data->editable );
+ gtk_widget_set_sensitive( data->removebutton, FALSE );
- st_on_selection_change = FALSE;
+ st_on_selection_change = FALSE;
- path = gtk_tree_path_new_first();
- if( path ){
- selection = gtk_tree_view_get_selection( data->listview );
- gtk_tree_selection_select_path( selection, path );
- gtk_tree_path_free( path );
- }
+ path = gtk_tree_path_new_first();
+ if( path ){
+ selection = gtk_tree_view_get_selection( data->listview );
+ gtk_tree_selection_select_path( selection, path );
+ gtk_tree_path_free( path );
}
}
@@ -432,22 +429,22 @@ on_filter_edited( GtkCellRendererText *renderer, const gchar *path_str, const gc
gchar *to_add, *to_remove;
GSList *filters;
- model = gtk_tree_view_get_model( data->listview );
- path = gtk_tree_path_new_from_string( path_str );
- gtk_tree_model_get_iter( model, &iter, path );
- gtk_tree_path_free( path );
+ context = nact_main_tab_get_context( NACT_MAIN_WINDOW( data->window ), NULL );
- gtk_tree_model_get( model, &iter,
- ITEM_COLUMN, &old_text,
- MUST_MATCH_COLUMN, &must_match,
- MUST_NOT_MATCH_COLUMN, &must_not_match,
- -1 );
+ if( context ){
+ model = gtk_tree_view_get_model( data->listview );
+ path = gtk_tree_path_new_from_string( path_str );
+ gtk_tree_model_get_iter( model, &iter, path );
+ gtk_tree_path_free( path );
- gtk_list_store_set( GTK_LIST_STORE( model ), &iter, ITEM_COLUMN, text, -1 );
+ gtk_tree_model_get( model, &iter,
+ ITEM_COLUMN, &old_text,
+ MUST_MATCH_COLUMN, &must_match,
+ MUST_NOT_MATCH_COLUMN, &must_not_match,
+ -1 );
- context = nact_main_tab_get_context( NACT_MAIN_WINDOW( data->window ), NULL );
+ gtk_list_store_set( GTK_LIST_STORE( model ), &iter, ITEM_COLUMN, text, -1 );
- if( context ){
filters = ( *data->pget )( context );
if( filters ){
@@ -469,11 +466,10 @@ on_filter_edited( GtkCellRendererText *renderer, const gchar *path_str, const gc
( *data->pset )( context, filters );
na_core_utils_slist_free( filters );
+ g_free( old_text );
g_signal_emit_by_name( G_OBJECT( data->window ), TAB_UPDATABLE_SIGNAL_ITEM_UPDATED, context, FALSE );
}
-
- g_free( old_text );
}
static gboolean
@@ -531,18 +527,17 @@ on_must_match_toggled( GtkCellRendererToggle *cell_renderer, gchar *path_str, Ma
g_debug( "%s: is_active=%s", thisfn, is_active ? "True":"False" );*/
if( !gtk_cell_renderer_toggle_get_active( cell_renderer )){
-
- model = gtk_tree_view_get_model( data->listview );
- path = gtk_tree_path_new_from_string( path_str );
- gtk_tree_model_get_iter( model, &iter, path );
- gtk_tree_path_free( path );
-
- gtk_tree_model_get( model, &iter, ITEM_COLUMN, &filter, -1 );
- gtk_list_store_set( GTK_LIST_STORE( model ), &iter, MUST_MATCH_COLUMN, TRUE, MUST_NOT_MATCH_COLUMN, FALSE, -1 );
-
context = nact_main_tab_get_context( NACT_MAIN_WINDOW( data->window ), NULL );
if( context ){
+ model = gtk_tree_view_get_model( data->listview );
+ path = gtk_tree_path_new_from_string( path_str );
+ gtk_tree_model_get_iter( model, &iter, path );
+ gtk_tree_path_free( path );
+
+ gtk_tree_model_get( model, &iter, ITEM_COLUMN, &filter, -1 );
+ gtk_list_store_set( GTK_LIST_STORE( model ), &iter, MUST_MATCH_COLUMN, TRUE, MUST_NOT_MATCH_COLUMN, FALSE, -1 );
+
filters = ( *data->pget )( context );
if( filters ){
to_remove = g_strdup_printf( "!%s", filter );
@@ -580,18 +575,17 @@ on_must_not_match_toggled( GtkCellRendererToggle *cell_renderer, gchar *path_str
g_debug( "%s: is_active=%s", thisfn, is_active ? "True":"False" );*/
if( !gtk_cell_renderer_toggle_get_active( cell_renderer )){
-
- model = gtk_tree_view_get_model( data->listview );
- path = gtk_tree_path_new_from_string( path_str );
- gtk_tree_model_get_iter( model, &iter, path );
- gtk_tree_path_free( path );
-
- gtk_tree_model_get( model, &iter, ITEM_COLUMN, &filter, -1 );
- gtk_list_store_set( GTK_LIST_STORE( model ), &iter, MUST_MATCH_COLUMN, FALSE, MUST_NOT_MATCH_COLUMN, TRUE, -1 );
-
context = nact_main_tab_get_context( NACT_MAIN_WINDOW( data->window ), NULL );
if( context ){
+ model = gtk_tree_view_get_model( data->listview );
+ path = gtk_tree_path_new_from_string( path_str );
+ gtk_tree_model_get_iter( model, &iter, path );
+ gtk_tree_path_free( path );
+
+ gtk_tree_model_get( model, &iter, ITEM_COLUMN, &filter, -1 );
+ gtk_list_store_set( GTK_LIST_STORE( model ), &iter, MUST_MATCH_COLUMN, FALSE, MUST_NOT_MATCH_COLUMN, TRUE, -1 );
+
filters = ( *data->pget )( context );
if( filters ){
@@ -602,11 +596,10 @@ on_must_not_match_toggled( GtkCellRendererToggle *cell_renderer, gchar *path_str
filters = g_slist_prepend( filters, to_add );
( *data->pset )( context, filters );
na_core_utils_slist_free( filters );
+ g_free( filter );
g_signal_emit_by_name( G_OBJECT( data->window ), TAB_UPDATABLE_SIGNAL_ITEM_UPDATED, context, FALSE );
}
-
- g_free( filter );
}
}
diff --git a/src/nact/nautilus-actions-config-tool.ui b/src/nact/nautilus-actions-config-tool.ui
index 552b7ff..c5af0f0 100644
--- a/src/nact/nautilus-actions-config-tool.ui
+++ b/src/nact/nautilus-actions-config-tool.ui
@@ -763,6 +763,288 @@ Defining several profiles lets you have several commands, each applying with a d
</packing>
</child>
<child>
+ <object class="GtkVBox" id="vbox15">
+ <property name="visible">True</property>
+ <property name="border_width">6</property>
+ <property name="orientation">vertical</property>
+ <property name="spacing">10</property>
+ <child>
+ <object class="GtkFrame" id="frame1">
+ <property name="visible">True</property>
+ <property name="label_xalign">0</property>
+ <property name="shadow_type">in</property>
+ <child>
+ <object class="GtkAlignment" id="alignment1">
+ <property name="visible">True</property>
+ <property name="top_padding">6</property>
+ <property name="bottom_padding">6</property>
+ <property name="left_padding">12</property>
+ <property name="right_padding">6</property>
+ <child>
+ <object class="GtkTable" id="table9">
+ <property name="visible">True</property>
+ <property name="n_rows">4</property>
+ <property name="n_columns">2</property>
+ <property name="column_spacing">6</property>
+ <child>
+ <object class="GtkRadioButton" id="ExecutionModeNormal">
+ <property name="label" translatable="yes">_Normal</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="use_underline">True</property>
+ <property name="active">True</property>
+ <property name="draw_indicator">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+ <property name="x_options">GTK_FILL</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkRadioButton" id="ExecutionModeTerminal">
+ <property name="label" translatable="yes">In a _terminal</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="use_underline">True</property>
+ <property name="draw_indicator">True</property>
+ <property name="group">ExecutionModeNormal</property>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+ <property name="top_attach">1</property>
+ <property name="bottom_attach">2</property>
+ <property name="x_options">GTK_FILL</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkRadioButton" id="ExecutionModeEmbedded">
+ <property name="label" translatable="yes">_Embedded</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="use_underline">True</property>
+ <property name="draw_indicator">True</property>
+ <property name="group">ExecutionModeNormal</property>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+ <property name="top_attach">2</property>
+ <property name="bottom_attach">3</property>
+ <property name="x_options">GTK_FILL</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkRadioButton" id="ExecutionModeDisplayOutput">
+ <property name="label" translatable="yes">_Display output</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="use_underline">True</property>
+ <property name="draw_indicator">True</property>
+ <property name="group">ExecutionModeNormal</property>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+ <property name="top_attach">3</property>
+ <property name="bottom_attach">4</property>
+ <property name="x_options">GTK_FILL</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="label45">
+ <property name="visible">True</property>
+ </object>
+ <packing>
+ <property name="x_options">GTK_FILL</property>
+ </packing>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child type="label">
+ <object class="GtkLabel" id="label40">
+ <property name="visible">True</property>
+ <property name="xpad">5</property>
+ <property name="label" translatable="yes"><b>Execution mode</b></property>
+ <property name="use_markup">True</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkFrame" id="frame3">
+ <property name="visible">True</property>
+ <property name="label_xalign">0</property>
+ <property name="shadow_type">in</property>
+ <child>
+ <object class="GtkAlignment" id="alignment3">
+ <property name="visible">True</property>
+ <property name="top_padding">6</property>
+ <property name="bottom_padding">6</property>
+ <property name="left_padding">12</property>
+ <property name="right_padding">6</property>
+ <child>
+ <object class="GtkTable" id="table8">
+ <property name="visible">True</property>
+ <property name="n_rows">2</property>
+ <property name="n_columns">2</property>
+ <property name="column_spacing">6</property>
+ <property name="row_spacing">3</property>
+ <child>
+ <object class="GtkCheckButton" id="StartupNotifyButton">
+ <property name="label" translatable="yes">_Startup notify</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="use_underline">True</property>
+ <property name="draw_indicator">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="label43">
+ <property name="visible">True</property>
+ <property name="xalign">1</property>
+ <property name="label" translatable="yes">Startup Window Manager _class :</property>
+ <property name="use_underline">True</property>
+ </object>
+ <packing>
+ <property name="top_attach">1</property>
+ <property name="bottom_attach">2</property>
+ <property name="x_options">GTK_FILL</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkEntry" id="StartupWMClassEntry">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="invisible_char">●</property>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+ <property name="top_attach">1</property>
+ <property name="bottom_attach">2</property>
+ </packing>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child type="label">
+ <object class="GtkLabel" id="label42">
+ <property name="visible">True</property>
+ <property name="xpad">5</property>
+ <property name="label" translatable="yes"><b>Startup mode</b></property>
+ <property name="use_markup">True</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkFrame" id="frame2">
+ <property name="visible">True</property>
+ <property name="label_xalign">0</property>
+ <property name="shadow_type">in</property>
+ <child>
+ <object class="GtkAlignment" id="alignment2">
+ <property name="visible">True</property>
+ <property name="top_padding">6</property>
+ <property name="bottom_padding">6</property>
+ <property name="left_padding">12</property>
+ <property name="right_padding">6</property>
+ <child>
+ <object class="GtkHBox" id="hbox13">
+ <property name="visible">True</property>
+ <property name="spacing">6</property>
+ <child>
+ <object class="GtkLabel" id="label44">
+ <property name="visible">True</property>
+ <property name="xalign">1</property>
+ <property name="label" translatable="yes">Executer as _user :</property>
+ <property name="use_underline">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkEntry" id="ExecuteAsEntry">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="invisible_char">●</property>
+ </object>
+ <packing>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child type="label">
+ <object class="GtkLabel" id="label41">
+ <property name="visible">True</property>
+ <property name="xpad">5</property>
+ <property name="label" translatable="yes"><b>Execute as user</b></property>
+ <property name="use_markup">True</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ <child type="tab">
+ <object class="GtkLabel" id="label15">
+ <property name="visible">True</property>
+ <property name="tooltip_text" translatable="yes">This advanced tab lets you precisely define how your command will be executed.</property>
+ <property name="label" translatable="yes">E_xecution</property>
+ <property name="use_underline">True</property>
+ </object>
+ <packing>
+ <property name="position">5</property>
+ <property name="tab_fill">False</property>
+ </packing>
+ </child>
+ <child>
<object class="GtkVBox" id="vbox40">
<property name="visible">True</property>
<property name="border_width">6</property>
@@ -909,7 +1191,7 @@ Defining several profiles lets you have several commands, each applying with a d
</child>
</object>
<packing>
- <property name="position">2</property>
+ <property name="position">3</property>
</packing>
</child>
<child type="tab">
@@ -1052,7 +1334,7 @@ Defining several profiles lets you have several commands, each applying with a d
</child>
</object>
<packing>
- <property name="position">3</property>
+ <property name="position">4</property>
</packing>
</child>
<child type="tab">
@@ -1221,7 +1503,7 @@ Defining several profiles lets you have several commands, each applying with a d
</child>
</object>
<packing>
- <property name="position">4</property>
+ <property name="position">5</property>
</packing>
</child>
<child type="tab">
@@ -1394,7 +1676,7 @@ Defining several profiles lets you have several commands, each applying with a d
</child>
</object>
<packing>
- <property name="position">5</property>
+ <property name="position">6</property>
</packing>
</child>
<child type="tab">
@@ -1537,7 +1819,7 @@ Defining several profiles lets you have several commands, each applying with a d
</child>
</object>
<packing>
- <property name="position">6</property>
+ <property name="position">7</property>
</packing>
</child>
<child type="tab">
@@ -1932,7 +2214,7 @@ Defining several profiles lets you have several commands, each applying with a d
</child>
</object>
<packing>
- <property name="position">7</property>
+ <property name="position">8</property>
</packing>
</child>
<child type="tab">
@@ -1947,288 +2229,6 @@ Defining several profiles lets you have several commands, each applying with a d
</packing>
</child>
<child>
- <object class="GtkVBox" id="vbox15">
- <property name="visible">True</property>
- <property name="border_width">6</property>
- <property name="orientation">vertical</property>
- <property name="spacing">10</property>
- <child>
- <object class="GtkFrame" id="frame1">
- <property name="visible">True</property>
- <property name="label_xalign">0</property>
- <property name="shadow_type">in</property>
- <child>
- <object class="GtkAlignment" id="alignment1">
- <property name="visible">True</property>
- <property name="top_padding">6</property>
- <property name="bottom_padding">6</property>
- <property name="left_padding">12</property>
- <property name="right_padding">6</property>
- <child>
- <object class="GtkTable" id="table9">
- <property name="visible">True</property>
- <property name="n_rows">4</property>
- <property name="n_columns">2</property>
- <property name="column_spacing">6</property>
- <child>
- <object class="GtkRadioButton" id="ExecutionModeNormal">
- <property name="label" translatable="yes">_Normal</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">False</property>
- <property name="use_underline">True</property>
- <property name="active">True</property>
- <property name="draw_indicator">True</property>
- </object>
- <packing>
- <property name="left_attach">1</property>
- <property name="right_attach">2</property>
- <property name="x_options">GTK_FILL</property>
- </packing>
- </child>
- <child>
- <object class="GtkRadioButton" id="ExecutionModeTerminal">
- <property name="label" translatable="yes">In a _terminal</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">False</property>
- <property name="use_underline">True</property>
- <property name="draw_indicator">True</property>
- <property name="group">ExecutionModeNormal</property>
- </object>
- <packing>
- <property name="left_attach">1</property>
- <property name="right_attach">2</property>
- <property name="top_attach">1</property>
- <property name="bottom_attach">2</property>
- <property name="x_options">GTK_FILL</property>
- </packing>
- </child>
- <child>
- <object class="GtkRadioButton" id="ExecutionModeEmbedded">
- <property name="label" translatable="yes">_Embedded</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">False</property>
- <property name="use_underline">True</property>
- <property name="draw_indicator">True</property>
- <property name="group">ExecutionModeNormal</property>
- </object>
- <packing>
- <property name="left_attach">1</property>
- <property name="right_attach">2</property>
- <property name="top_attach">2</property>
- <property name="bottom_attach">3</property>
- <property name="x_options">GTK_FILL</property>
- </packing>
- </child>
- <child>
- <object class="GtkRadioButton" id="ExecutionModeDisplayOutput">
- <property name="label" translatable="yes">_Display output</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">False</property>
- <property name="use_underline">True</property>
- <property name="draw_indicator">True</property>
- <property name="group">ExecutionModeNormal</property>
- </object>
- <packing>
- <property name="left_attach">1</property>
- <property name="right_attach">2</property>
- <property name="top_attach">3</property>
- <property name="bottom_attach">4</property>
- <property name="x_options">GTK_FILL</property>
- </packing>
- </child>
- <child>
- <object class="GtkLabel" id="label45">
- <property name="visible">True</property>
- </object>
- <packing>
- <property name="x_options">GTK_FILL</property>
- </packing>
- </child>
- <child>
- <placeholder/>
- </child>
- <child>
- <placeholder/>
- </child>
- <child>
- <placeholder/>
- </child>
- </object>
- </child>
- </object>
- </child>
- <child type="label">
- <object class="GtkLabel" id="label40">
- <property name="visible">True</property>
- <property name="xpad">5</property>
- <property name="label" translatable="yes"><b>Execution mode</b></property>
- <property name="use_markup">True</property>
- </object>
- </child>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="position">0</property>
- </packing>
- </child>
- <child>
- <object class="GtkFrame" id="frame3">
- <property name="visible">True</property>
- <property name="label_xalign">0</property>
- <property name="shadow_type">in</property>
- <child>
- <object class="GtkAlignment" id="alignment3">
- <property name="visible">True</property>
- <property name="top_padding">6</property>
- <property name="bottom_padding">6</property>
- <property name="left_padding">12</property>
- <property name="right_padding">6</property>
- <child>
- <object class="GtkTable" id="table8">
- <property name="visible">True</property>
- <property name="n_rows">2</property>
- <property name="n_columns">2</property>
- <property name="column_spacing">6</property>
- <property name="row_spacing">3</property>
- <child>
- <object class="GtkCheckButton" id="StartupNotifyButton">
- <property name="label" translatable="yes">_Startup notify</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">False</property>
- <property name="use_underline">True</property>
- <property name="draw_indicator">True</property>
- </object>
- <packing>
- <property name="left_attach">1</property>
- <property name="right_attach">2</property>
- </packing>
- </child>
- <child>
- <object class="GtkLabel" id="label43">
- <property name="visible">True</property>
- <property name="xalign">1</property>
- <property name="label" translatable="yes">Startup Window Manager _class :</property>
- <property name="use_underline">True</property>
- </object>
- <packing>
- <property name="top_attach">1</property>
- <property name="bottom_attach">2</property>
- <property name="x_options">GTK_FILL</property>
- </packing>
- </child>
- <child>
- <object class="GtkEntry" id="StartupWMClassEntry">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="invisible_char">●</property>
- </object>
- <packing>
- <property name="left_attach">1</property>
- <property name="right_attach">2</property>
- <property name="top_attach">1</property>
- <property name="bottom_attach">2</property>
- </packing>
- </child>
- <child>
- <placeholder/>
- </child>
- </object>
- </child>
- </object>
- </child>
- <child type="label">
- <object class="GtkLabel" id="label42">
- <property name="visible">True</property>
- <property name="xpad">5</property>
- <property name="label" translatable="yes"><b>Startup mode</b></property>
- <property name="use_markup">True</property>
- </object>
- </child>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="position">1</property>
- </packing>
- </child>
- <child>
- <object class="GtkFrame" id="frame2">
- <property name="visible">True</property>
- <property name="label_xalign">0</property>
- <property name="shadow_type">in</property>
- <child>
- <object class="GtkAlignment" id="alignment2">
- <property name="visible">True</property>
- <property name="top_padding">6</property>
- <property name="bottom_padding">6</property>
- <property name="left_padding">12</property>
- <property name="right_padding">6</property>
- <child>
- <object class="GtkHBox" id="hbox13">
- <property name="visible">True</property>
- <property name="spacing">6</property>
- <child>
- <object class="GtkLabel" id="label44">
- <property name="visible">True</property>
- <property name="xalign">1</property>
- <property name="label" translatable="yes">Executer as _user :</property>
- <property name="use_underline">True</property>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="position">0</property>
- </packing>
- </child>
- <child>
- <object class="GtkEntry" id="ExecuteAsEntry">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="invisible_char">●</property>
- </object>
- <packing>
- <property name="position">1</property>
- </packing>
- </child>
- </object>
- </child>
- </object>
- </child>
- <child type="label">
- <object class="GtkLabel" id="label41">
- <property name="visible">True</property>
- <property name="xpad">5</property>
- <property name="label" translatable="yes"><b>Execute as user</b></property>
- <property name="use_markup">True</property>
- </object>
- </child>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="position">2</property>
- </packing>
- </child>
- </object>
- <packing>
- <property name="position">8</property>
- </packing>
- </child>
- <child type="tab">
- <object class="GtkLabel" id="label15">
- <property name="visible">True</property>
- <property name="tooltip_text" translatable="yes">This advanced tab lets you precisely choose on which schemes the selection will apply.</property>
- <property name="label" translatable="yes">E_xecution</property>
- <property name="use_underline">True</property>
- </object>
- <packing>
- <property name="position">5</property>
- <property name="tab_fill">False</property>
- </packing>
- </child>
- <child>
<object class="GtkVBox" id="vbox17">
<property name="visible">True</property>
<property name="border_width">6</property>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]