[nautilus-actions] Define the four new tab interfaces
- From: Pierre Wieser <pwieser src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [nautilus-actions] Define the four new tab interfaces
- Date: Thu, 10 Jun 2010 22:35:35 +0000 (UTC)
commit 3e5ece8ddedf4eec7345f90f394d37ec0e398295
Author: Pierre Wieser <pwieser trychlos org>
Date: Mon May 31 07:01:57 2010 +0200
Define the four new tab interfaces
ChangeLog | 29 ++
src/nact/nact-ibasenames-tab.c | 710 ++----------------------------
src/nact/nact-ibasenames-tab.h | 42 +-
src/nact/nact-icommand-tab.c | 1 -
src/nact/nact-ienvironment-tab.c | 710 ++----------------------------
src/nact/nact-ienvironment-tab.h | 40 +-
src/nact/nact-iexecution-tab.c | 710 ++----------------------------
src/nact/nact-iexecution-tab.h | 40 +-
src/nact/nact-ifolders-tab.c | 3 +-
src/nact/nact-imimetypes-tab.c | 710 ++----------------------------
src/nact/nact-imimetypes-tab.h | 42 +-
src/nact/nact-iproperties-tab.c | 9 +-
src/nact/nact-ischemes-tab.c | 3 +-
src/nact/nact-main-tab.h | 5 +-
src/nact/nact-main-window.c | 106 ++++-
src/nact/nautilus-actions-config-tool.ui | 216 ++++++----
16 files changed, 499 insertions(+), 2877 deletions(-)
---
diff --git a/ChangeLog b/ChangeLog
index 173b7de..507d93e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -6,6 +6,35 @@
* src/core/na-iabout.c: Update copyright notice.
+2010-05-30 Pierre Wieser <pwieser trychlos org>
+
+ * src/nact/nact-ibasenames-tab.c:
+ * src/nact/nact-ibasenames-tab.h: Define NactIBasenamesTabInterface interface.
+
+ * src/nact/nact-icommand-tab.c:
+ No more include removed nact-iconditions-tab.h file.
+
+ * src/nact/nact-ienvironment-tab.c:
+ * src/nact/nact-ienvironment-tab.h: Define NactIEnvironmentTabInterface interface.
+
+ * src/nact/nact-iexecution-tab.c:
+ * src/nact/nact-iexecution-tab.h: Define NactIExecutionTabInterface interface.
+
+ * src/nact/nact-ifolders-tab.c (on_tab_updatable_selection_changed):
+ * src/nact/nact-ischemes-tab.c (on_tab_updatable_selection_changed):
+ tab_set_sensitive() returned value is not used here.
+
+ * src/nact/nact-imimetypes-tab.c:
+ * src/nact/nact-imimetypes-tab.h: Define NactIMimetypesTabInterface interface.
+
+ * src/nact/nact-iproperties-tab.c (on_tab_updatable_selection_changed):
+ Set a mnemonic in the tab label.
+
+ * src/nact/nact-main-tab.h:
+ * src/nact/nact-main-window.c: Add the four new tabs, remove the old one.
+
+ * src/nact/nautilus-actions-config-tool.ui: Fix some size groups.
+
2010-05-29 Pierre Wieser <pwieser trychlos org>
* configure.ac: Define GSEAL_ENABLED.
diff --git a/src/nact/nact-ibasenames-tab.c b/src/nact/nact-ibasenames-tab.c
index 24401c8..0ae3255 100644
--- a/src/nact/nact-ibasenames-tab.c
+++ b/src/nact/nact-ibasenames-tab.c
@@ -32,75 +32,30 @@
#include <config.h>
#endif
-#include <glib/gi18n.h>
-#include <string.h>
-
-#include <api/na-core-utils.h>
#include <api/na-object-api.h>
-#include <core/na-iprefs.h>
-
-#include "base-window.h"
-#include "base-iprefs.h"
-#include "nact-application.h"
-#include "nact-main-statusbar.h"
-#include "nact-gtk-utils.h"
-#include "nact-iprefs.h"
-#include "nact-iactions-list.h"
#include "nact-main-tab.h"
-#include "nact-icommand-tab.h"
-#include "nact-iconditions-tab.h"
-#include "nact-ischemes-tab.h"
+#include "nact-ibasenames-tab.h"
/* private interface data
*/
-struct NactICommandTabInterfacePrivate {
+struct NactIBasenamesTabInterfacePrivate {
void *empty; /* so that gcc -pedantic is happy */
};
-/* the GConf key used to read/write size and position of auxiliary dialogs
- */
-#define IPREFS_LEGEND_DIALOG "icommand-legend-dialog"
-#define IPREFS_COMMAND_CHOOSER "icommand-command-chooser"
-#define IPREFS_FOLDER_URI "icommand-folder-uri"
-
-/* a data set in the LegendDialog GObject
- */
-#define ICOMMAND_TAB_LEGEND_VISIBLE "nact-icommand-tab-legend-dialog-visible"
-#define ICOMMAND_TAB_STATUSBAR_CONTEXT "nact-icommand-tab-statusbar-context"
-
static gboolean st_initialized = FALSE;
static gboolean st_finalized = FALSE;
static gboolean st_on_selection_change = FALSE;
-static GType register_type( void );
-static void interface_base_init( NactICommandTabInterface *klass );
-static void interface_base_finalize( NactICommandTabInterface *klass );
-
-static void on_iactions_list_column_edited( NactICommandTab *instance, NAObject *object, gchar *text, gint column );
-static void on_tab_updatable_selection_changed( NactICommandTab *instance, gint count_selected );
-static gboolean tab_set_sensitive( NactICommandTab *instance );
-
-static void check_for_label( NactICommandTab *instance, GtkEntry *entry, const gchar *label );
-static GtkWidget *get_label_entry( NactICommandTab *instance );
-static GtkButton *get_legend_button( NactICommandTab *instance );
-static GtkWindow *get_legend_dialog( NactICommandTab *instance );
-static GtkWidget *get_parameters_entry( NactICommandTab *instance );
-static GtkButton *get_path_button( NactICommandTab *instance );
-static GtkWidget *get_path_entry( NactICommandTab *instance );
-static void legend_dialog_show( NactICommandTab *instance );
-static void legend_dialog_hide( NactICommandTab *instance );
-static void on_label_changed( GtkEntry *entry, NactICommandTab *instance );
-static void on_legend_clicked( GtkButton *button, NactICommandTab *instance );
-static void on_parameters_changed( GtkEntry *entry, NactICommandTab *instance );
-static void on_path_browse( GtkButton *button, NactICommandTab *instance );
-static void on_path_changed( GtkEntry *entry, NactICommandTab *instance );
-static gchar *parse_parameters( NactICommandTab *instance );
-static void set_label_label( NactICommandTab *instance, const gchar *color );
-static void update_example_label( NactICommandTab *instance, NAObjectProfile *profile );
+static GType register_type( void );
+static void interface_base_init( NactIBasenamesTabInterface *klass );
+static void interface_base_finalize( NactIBasenamesTabInterface *klass );
+
+static void on_tab_updatable_selection_changed( NactIBasenamesTab *instance, gint count_selected );
+static gboolean tab_set_sensitive( NactIBasenamesTab *instance );
GType
-nact_icommand_tab_get_type( void )
+nact_ibasenames_tab_get_type( void )
{
static GType iface_type = 0;
@@ -114,11 +69,11 @@ nact_icommand_tab_get_type( void )
static GType
register_type( void )
{
- static const gchar *thisfn = "nact_icommand_tab_register_type";
+ static const gchar *thisfn = "nact_ibasenames_tab_register_type";
GType type;
static const GTypeInfo info = {
- sizeof( NactICommandTabInterface ),
+ sizeof( NactIBasenamesTabInterface ),
( GBaseInitFunc ) interface_base_init,
( GBaseFinalizeFunc ) interface_base_finalize,
NULL,
@@ -131,7 +86,7 @@ register_type( void )
g_debug( "%s", thisfn );
- type = g_type_register_static( G_TYPE_INTERFACE, "NactICommandTab", &info, 0 );
+ type = g_type_register_static( G_TYPE_INTERFACE, "NactIBasenamesTab", &info, 0 );
g_type_interface_add_prerequisite( type, BASE_WINDOW_TYPE );
@@ -139,24 +94,24 @@ register_type( void )
}
static void
-interface_base_init( NactICommandTabInterface *klass )
+interface_base_init( NactIBasenamesTabInterface *klass )
{
- static const gchar *thisfn = "nact_icommand_tab_interface_base_init";
+ static const gchar *thisfn = "nact_ibasenames_tab_interface_base_init";
if( !st_initialized ){
g_debug( "%s: klass=%p", thisfn, ( void * ) klass );
- klass->private = g_new0( NactICommandTabInterfacePrivate, 1 );
+ klass->private = g_new0( NactIBasenamesTabInterfacePrivate, 1 );
st_initialized = TRUE;
}
}
static void
-interface_base_finalize( NactICommandTabInterface *klass )
+interface_base_finalize( NactIBasenamesTabInterface *klass )
{
- static const gchar *thisfn = "nact_icommand_tab_interface_base_finalize";
+ static const gchar *thisfn = "nact_ibasenames_tab_interface_base_finalize";
if( st_initialized && !st_finalized ){
@@ -169,213 +124,98 @@ interface_base_finalize( NactICommandTabInterface *klass )
}
/**
- * nact_icommand_tab_initial_load:
- * @window: this #NactICommandTab instance.
+ * nact_ibasenames_tab_initial_load:
+ * @window: this #NactIBasenamesTab instance.
*
* Initializes the tab widget at initial load.
- *
- * The GConf preference keys used in this tab were misnamed from v1.11.1
- * up to and including v1.12.0. Starting with v1.12.1, these are migrated
- * here, so that the normal code only makes use of 'good' keys.
*/
void
-nact_icommand_tab_initial_load_toplevel( NactICommandTab *instance )
+nact_ibasenames_tab_initial_load_toplevel( NactIBasenamesTab *instance )
{
- static const gchar *thisfn = "nact_icommand_tab_initial_load_toplevel";
+ static const gchar *thisfn = "nact_ibasenames_tab_initial_load_toplevel";
g_debug( "%s: instance=%p", thisfn, ( void * ) instance );
- g_return_if_fail( NACT_IS_ICOMMAND_TAB( instance ));
+ g_return_if_fail( NACT_IS_IBASENAMES_TAB( instance ));
if( st_initialized && !st_finalized ){
-
- nact_iprefs_migrate_key( BASE_WINDOW( instance ), "iconditions-legend-dialog", IPREFS_LEGEND_DIALOG );
- nact_iprefs_migrate_key( BASE_WINDOW( instance ), "iconditions-command-chooser", IPREFS_COMMAND_CHOOSER );
- nact_iprefs_migrate_key( BASE_WINDOW( instance ), "iconditions-folder-uri", IPREFS_FOLDER_URI );
}
}
/**
- * nact_icommand_tab_runtime_init:
- * @window: this #NactICommandTab instance.
+ * nact_ibasenames_tab_runtime_init:
+ * @window: this #NactIBasenamesTab instance.
*
* Initializes the tab widget at each time the widget will be displayed.
* Connect signals and setup runtime values.
*/
void
-nact_icommand_tab_runtime_init_toplevel( NactICommandTab *instance )
+nact_ibasenames_tab_runtime_init_toplevel( NactIBasenamesTab *instance )
{
- static const gchar *thisfn = "nact_icommand_tab_runtime_init_toplevel";
- GtkWidget *label_entry, *path_entry, *parameters_entry;
- GtkButton *path_button, *legend_button;
+ static const gchar *thisfn = "nact_ibasenames_tab_runtime_init_toplevel";
g_debug( "%s: instance=%p", thisfn, ( void * ) instance );
- g_return_if_fail( NACT_IS_ICOMMAND_TAB( instance ));
+ g_return_if_fail( NACT_IS_IBASENAMES_TAB( instance ));
if( st_initialized && !st_finalized ){
- label_entry = get_label_entry( instance );
- base_window_signal_connect(
- BASE_WINDOW( instance ),
- G_OBJECT( label_entry ),
- "changed",
- G_CALLBACK( on_label_changed ));
-
- path_entry = get_path_entry( instance );
- base_window_signal_connect(
- BASE_WINDOW( instance ),
- G_OBJECT( path_entry ),
- "changed",
- G_CALLBACK( on_path_changed ));
-
- path_button = get_path_button( instance );
- base_window_signal_connect(
- BASE_WINDOW( instance ),
- G_OBJECT( path_button ),
- "clicked",
- G_CALLBACK( on_path_browse ));
-
- parameters_entry = get_parameters_entry( instance );
- base_window_signal_connect(
- BASE_WINDOW( instance ),
- G_OBJECT( parameters_entry ),
- "changed",
- G_CALLBACK( on_parameters_changed ));
-
- legend_button = get_legend_button( instance );
- base_window_signal_connect(
- BASE_WINDOW( instance ),
- G_OBJECT( legend_button ),
- "clicked",
- G_CALLBACK( on_legend_clicked ));
-
base_window_signal_connect(
BASE_WINDOW( instance ),
G_OBJECT( instance ),
MAIN_WINDOW_SIGNAL_SELECTION_CHANGED,
G_CALLBACK( on_tab_updatable_selection_changed ));
-
- base_window_signal_connect(
- BASE_WINDOW( instance ),
- G_OBJECT( instance ),
- IACTIONS_LIST_SIGNAL_COLUMN_EDITED,
- G_CALLBACK( on_iactions_list_column_edited ));
}
}
void
-nact_icommand_tab_all_widgets_showed( NactICommandTab *instance )
+nact_ibasenames_tab_all_widgets_showed( NactIBasenamesTab *instance )
{
- static const gchar *thisfn = "nact_icommand_tab_all_widgets_showed";
+ static const gchar *thisfn = "nact_ibasenames_tab_all_widgets_showed";
g_debug( "%s: instance=%p", thisfn, ( void * ) instance );
- g_return_if_fail( NACT_IS_ICOMMAND_TAB( instance ));
+ g_return_if_fail( NACT_IS_IBASENAMES_TAB( instance ));
if( st_initialized && !st_finalized ){
}
}
/**
- * nact_icommand_tab_dispose:
- * @window: this #NactICommandTab instance.
+ * nact_ibasenames_tab_dispose:
+ * @window: this #NactIBasenamesTab instance.
*
* Called at instance_dispose time.
*/
void
-nact_icommand_tab_dispose( NactICommandTab *instance )
+nact_ibasenames_tab_dispose( NactIBasenamesTab *instance )
{
- static const gchar *thisfn = "nact_icommand_tab_dispose";
+ static const gchar *thisfn = "nact_ibasenames_tab_dispose";
g_debug( "%s: instance=%p", thisfn, ( void * ) instance );
- g_return_if_fail( NACT_IS_ICOMMAND_TAB( instance ));
+ g_return_if_fail( NACT_IS_IBASENAMES_TAB( instance ));
if( st_initialized && !st_finalized ){
- legend_dialog_hide( instance );
}
}
static void
-on_iactions_list_column_edited( NactICommandTab *instance, NAObject *object, gchar *text, gint column )
+on_tab_updatable_selection_changed( NactIBasenamesTab *instance, gint count_selected )
{
- GtkWidget *label_widget;
-
- g_return_if_fail( NACT_IS_ICOMMAND_TAB( instance ));
-
- if( st_initialized && !st_finalized ){
-
- if( NA_IS_OBJECT_PROFILE( object )){
- label_widget = get_label_entry( instance );
- gtk_entry_set_text( GTK_ENTRY( label_widget ), text );
- }
- }
-}
-
-static void
-on_tab_updatable_selection_changed( NactICommandTab *instance, gint count_selected )
-{
- static const gchar *thisfn = "nact_icommand_tab_on_tab_updatable_selection_changed";
- NAObjectItem *item;
- NAObjectProfile *profile;
- gboolean enable_tab;
- GtkWidget *label_entry, *path_entry, *parameters_entry;
- gchar *label, *path, *parameters;
- gboolean editable;
- GtkButton *path_button;
- GtkButton *legend_button;
+ static const gchar *thisfn = "nact_ibasenames_tab_on_tab_updatable_selection_changed";
g_debug( "%s: instance=%p, count_selected=%d", thisfn, ( void * ) instance, count_selected );
- g_return_if_fail( NACT_IS_ICOMMAND_TAB( instance ));
+ g_return_if_fail( NACT_IS_IBASENAMES_TAB( instance ));
if( st_initialized && !st_finalized ){
st_on_selection_change = TRUE;
- g_object_get(
- G_OBJECT( instance ),
- TAB_UPDATABLE_PROP_EDITED_ACTION, &item,
- TAB_UPDATABLE_PROP_EDITED_PROFILE, &profile,
- TAB_UPDATABLE_PROP_EDITABLE, &editable,
- NULL );
-
- enable_tab = tab_set_sensitive( instance );
-
- 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 );
+ tab_set_sensitive( instance );
st_on_selection_change = FALSE;
}
}
static gboolean
-tab_set_sensitive( NactICommandTab *instance )
+tab_set_sensitive( NactIBasenamesTab *instance )
{
NAObjectProfile *profile;
gboolean enable_tab;
@@ -386,475 +226,7 @@ tab_set_sensitive( NactICommandTab *instance )
NULL );
enable_tab = ( profile != NULL );
- nact_main_tab_enable_page( NACT_MAIN_WINDOW( instance ), TAB_COMMAND, enable_tab );
+ nact_main_tab_enable_page( NACT_MAIN_WINDOW( instance ), TAB_BASENAMES, enable_tab );
return( enable_tab );
}
-
-static void
-check_for_label( NactICommandTab *instance, GtkEntry *entry, const gchar *label )
-{
- NAObjectProfile *edited;
-
- nact_main_statusbar_hide_status(
- NACT_MAIN_WINDOW( instance ),
- ICOMMAND_TAB_STATUSBAR_CONTEXT );
-
- set_label_label( instance, "black" );
-
- g_object_get(
- G_OBJECT( instance ),
- TAB_UPDATABLE_PROP_EDITED_PROFILE, &edited,
- NULL );
-
- if( edited && g_utf8_strlen( label, -1 ) == 0 ){
-
- /* i18n: status bar message when the profile label is empty */
- nact_main_statusbar_display_status(
- NACT_MAIN_WINDOW( instance ),
- ICOMMAND_TAB_STATUSBAR_CONTEXT,
- _( "Caution: a label is mandatory for the profile." ));
-
- set_label_label( instance, "red" );
- }
-}
-
-static GtkWidget *
-get_label_entry( NactICommandTab *instance )
-{
- return( base_window_get_widget( BASE_WINDOW( instance ), "ProfileLabelEntry" ));
-}
-
-static GtkButton *
-get_legend_button( NactICommandTab *instance )
-{
- return( GTK_BUTTON( base_window_get_widget( BASE_WINDOW( instance ), "CommandLegendButton" )));
-}
-
-static GtkWindow *
-get_legend_dialog( NactICommandTab *instance )
-{
- return( base_window_get_named_toplevel( BASE_WINDOW( instance ), "LegendDialog" ));
-}
-
-static GtkWidget *
-get_parameters_entry( NactICommandTab *instance )
-{
- return( base_window_get_widget( BASE_WINDOW( instance ), "CommandParametersEntry" ));
-}
-
-static GtkButton *
-get_path_button( NactICommandTab *instance )
-{
- return( GTK_BUTTON( base_window_get_widget( BASE_WINDOW( instance ), "CommandPathButton" )));
-}
-
-static GtkWidget *
-get_path_entry( NactICommandTab *instance )
-{
- return( base_window_get_widget( BASE_WINDOW( instance ), "CommandPathEntry" ));
-}
-
-static void
-legend_dialog_hide( NactICommandTab *instance )
-{
- GtkWindow *legend_dialog;
- GtkButton *legend_button;
- gboolean is_visible;
-
- legend_dialog = get_legend_dialog( instance );
- is_visible = ( gboolean ) GPOINTER_TO_INT(
- g_object_get_data( G_OBJECT( legend_dialog ), ICOMMAND_TAB_LEGEND_VISIBLE ));
-
- if( is_visible ){
- g_assert( 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)
- */
- legend_button = get_legend_button( instance );
- gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( legend_button ), FALSE );
-
- g_object_set_data( G_OBJECT( legend_dialog ), ICOMMAND_TAB_LEGEND_VISIBLE, GINT_TO_POINTER( FALSE ));
- }
-}
-
-static void
-legend_dialog_show( NactICommandTab *instance )
-{
- GtkWindow *legend_dialog;
- GtkWindow *toplevel;
-
- legend_dialog = get_legend_dialog( instance );
- gtk_window_set_deletable( legend_dialog, FALSE );
-
- toplevel = base_window_get_toplevel( BASE_WINDOW( instance ));
- gtk_window_set_transient_for( GTK_WINDOW( legend_dialog ), toplevel );
-
- base_iprefs_position_named_window( BASE_WINDOW( instance ), legend_dialog, IPREFS_LEGEND_DIALOG );
- gtk_widget_show( GTK_WIDGET( legend_dialog ));
-
- g_object_set_data( G_OBJECT( legend_dialog ), ICOMMAND_TAB_LEGEND_VISIBLE, GINT_TO_POINTER( TRUE ));
-}
-
-static void
-on_label_changed( GtkEntry *entry, NactICommandTab *instance )
-{
- NAObjectProfile *edited;
- const gchar *label;
-
- if( !st_on_selection_change ){
-
- g_object_get(
- G_OBJECT( instance ),
- TAB_UPDATABLE_PROP_EDITED_PROFILE, &edited,
- NULL );
-
- if( edited ){
- label = gtk_entry_get_text( entry );
- na_object_set_label( edited, label );
- g_signal_emit_by_name( G_OBJECT( instance ), TAB_UPDATABLE_SIGNAL_ITEM_UPDATED, edited, TRUE );
- check_for_label( instance, entry, label );
- }
- }
-}
-
-static void
-on_legend_clicked( GtkButton *button, NactICommandTab *instance )
-{
- if( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( button ))){
- legend_dialog_show( instance );
-
- } else {
- legend_dialog_hide( instance );
- }
-}
-
-static void
-on_parameters_changed( GtkEntry *entry, NactICommandTab *instance )
-{
- NAObjectProfile *edited;
-
- if( !st_on_selection_change ){
-
- g_object_get(
- G_OBJECT( instance ),
- TAB_UPDATABLE_PROP_EDITED_PROFILE, &edited,
- NULL );
-
- if( edited ){
- na_object_set_parameters( edited, gtk_entry_get_text( entry ));
- g_signal_emit_by_name( G_OBJECT( instance ), TAB_UPDATABLE_SIGNAL_ITEM_UPDATED, edited, FALSE );
- update_example_label( instance, edited );
- }
- }
-}
-
-static void
-on_path_browse( GtkButton *button, NactICommandTab *instance )
-{
- gboolean set_current_location = FALSE;
- gchar *uri = NULL;
- NactApplication *application;
- NAUpdater *updater;
- GtkWindow *toplevel;
- GtkWidget *dialog;
- GtkWidget *path_entry;
- const gchar *path;
- gchar *filename;
-
- application = NACT_APPLICATION( base_window_get_application( BASE_WINDOW( instance )));
- updater = nact_application_get_updater( application );
- toplevel = base_window_get_toplevel( BASE_WINDOW( instance ));
-
- dialog = gtk_file_chooser_dialog_new(
- _( "Choosing a command" ),
- toplevel,
- GTK_FILE_CHOOSER_ACTION_OPEN,
- GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
- GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT,
- NULL
- );
-
- base_iprefs_position_named_window( BASE_WINDOW( instance ), GTK_WINDOW( dialog ), IPREFS_COMMAND_CHOOSER );
-
- path_entry = get_path_entry( instance );
- path = gtk_entry_get_text( GTK_ENTRY( path_entry ));
-
- if( path && strlen( path )){
- set_current_location = gtk_file_chooser_set_filename( GTK_FILE_CHOOSER( dialog ), path );
-
- } else {
- uri = na_iprefs_read_string( NA_IPREFS( updater ), IPREFS_FOLDER_URI, "file:///bin" );
- gtk_file_chooser_set_current_folder_uri( GTK_FILE_CHOOSER( dialog ), uri );
- g_free( uri );
- }
-
- if( gtk_dialog_run( GTK_DIALOG( dialog )) == GTK_RESPONSE_ACCEPT ){
- filename = gtk_file_chooser_get_filename( GTK_FILE_CHOOSER( dialog ));
- gtk_entry_set_text( GTK_ENTRY( path_entry ), filename );
- g_free (filename);
- }
-
- uri = gtk_file_chooser_get_current_folder_uri( GTK_FILE_CHOOSER( dialog ));
- nact_iprefs_write_string( BASE_WINDOW( instance ), IPREFS_FOLDER_URI, uri );
- g_free( uri );
-
- base_iprefs_save_named_window_position( BASE_WINDOW( instance ), GTK_WINDOW( dialog ), IPREFS_COMMAND_CHOOSER );
-
- gtk_widget_destroy( dialog );
-}
-
-static void
-on_path_changed( GtkEntry *entry, NactICommandTab *instance )
-{
- NAObjectProfile *edited;
-
- if( !st_on_selection_change ){
-
- g_object_get(
- G_OBJECT( instance ),
- TAB_UPDATABLE_PROP_EDITED_PROFILE, &edited,
- NULL );
-
- if( edited ){
-
- na_object_set_path( edited, gtk_entry_get_text( entry ));
- g_signal_emit_by_name( G_OBJECT( instance ), TAB_UPDATABLE_SIGNAL_ITEM_UPDATED, edited, FALSE );
- update_example_label( instance, edited );
- }
- }
-}
-
-/*
- * Valid parameters :
- *
- * %d : base dir of the (first) selected file(s)/folder(s)
- * %f : the name of the (firstà selected file/folder
- * %h : hostname of the (first) URI
- * %m : list of the basename of the selected files/directories separated by space.
- * %M : list of the selected files/directories with their complete path separated by space.
- * %p : port number of the (first) URI
- * %R : space-separated list of selected URIs
- * %s : scheme of the (first) URI
- * %u : (first) URI
- * %U : username of the (first) URI
- * %% : a percent sign
- */
-static gchar *
-parse_parameters( NactICommandTab *instance )
-{
- GString *tmp_string = g_string_new( "" );
-
- /* i18n notes: example strings for the command preview */
- gchar *ex_path = _( "/path/to" );
- gchar *ex_files[] = { N_( "file1.txt" ), N_( "file2.txt" ), NULL };
- gchar *ex_dirs[] = { N_(" folder1" ), N_( "folder2" ), NULL };
- gchar *ex_mixed[] = { N_(" file1.txt" ), N_( "folder1" ), NULL };
- gchar *ex_scheme_default = "file";
- gchar *ex_host_default = _( "test.example.net" );
- gchar *ex_one_file = _( "file.txt" );
- gchar *ex_one_dir = _( "folder" );
- gchar *ex_port_default = _( "8080" );
- gchar *ex_one = NULL;
- gchar *ex_list = NULL;
- gchar *ex_path_list = NULL;
- gchar *ex_uri_file1 = _( "file:///path/to/file1.text" );
- gchar *ex_uri_file2 = _( "file:///path/to/file2.text" );
- gchar *ex_uri_folder1 = _( "file:///path/to/a/dir" );
- gchar *ex_uri_folder2 = _( "file:///path/to/another/dir" );
- gchar *ex_uri_list = NULL;
- gchar *ex_scheme;
- gchar *ex_host;
- gboolean is_file, is_dir;
- gboolean accept_multiple;
- GSList *scheme_list;
- guint iter_inc;
-
- const gchar *command = gtk_entry_get_text( GTK_ENTRY( get_path_entry( instance )));
- const gchar *param_template = gtk_entry_get_text( GTK_ENTRY( get_parameters_entry( instance )));
-
- gchar *iter = g_strdup( param_template );
- gchar *old_iter = iter;
- gchar *tmp;
- gchar *separator;
- gchar *start;
-
- g_string_append_printf( tmp_string, "%s ", command );
-
- /*nact_iconditions_tab_get_isfiledir( NACT_ICONDITIONS_TAB( instance ), &is_file, &is_dir );
- accept_multiple = nact_iconditions_tab_get_multiple( NACT_ICONDITIONS_TAB( instance ));*/
- is_file = TRUE;
- is_dir = TRUE;
- accept_multiple = TRUE;
-
- scheme_list = nact_ischemes_tab_get_schemes( NACT_ISCHEMES_TAB( instance ));
-
- separator = g_strdup_printf( " %s/", ex_path );
- start = g_strdup_printf( "%s/", ex_path );
-
- if( accept_multiple ){
- if( is_file && is_dir ){
- ex_one = ex_files[0];
- ex_list = na_core_utils_gstring_joinv( NULL, " ", ex_mixed );
- ex_path_list = na_core_utils_gstring_joinv( start, separator, ex_mixed );
- ex_uri_list = g_strjoin( " ", ex_uri_file1, ex_uri_folder1, NULL );
-
- } else if( is_dir ){
- ex_one = ex_dirs[0];
- ex_list = na_core_utils_gstring_joinv( NULL, " ", ex_dirs );
- ex_path_list = na_core_utils_gstring_joinv( start, separator, ex_dirs );
- ex_uri_list = g_strjoin( " ", ex_uri_folder1, ex_uri_folder2, NULL );
-
- } else if( is_file ){
- ex_one = ex_files[0];
- ex_list = na_core_utils_gstring_joinv( NULL, " ", ex_files );
- ex_path_list = na_core_utils_gstring_joinv( start, separator, ex_files );
- ex_uri_list = g_strjoin( " ", ex_uri_file1, ex_uri_file2, NULL );
- }
- } else {
- if( is_dir && !is_file ){
- ex_one = ex_one_dir;
- ex_uri_list = g_strdup( ex_uri_folder1 );
-
- } else {
- ex_one = ex_one_file;
- ex_uri_list = g_strdup( ex_uri_file1 );
- }
- ex_list = g_strdup( ex_one );
- ex_path_list = g_strjoin( "/", ex_path, ex_one, NULL );
- }
-
- g_free (start);
- g_free (separator);
-
- if( scheme_list != NULL ){
- ex_scheme = ( gchar * ) scheme_list->data;
- if( g_ascii_strcasecmp( ex_scheme, "file" ) == 0 ){
- if( g_slist_length( scheme_list ) > 1 ){
- ex_scheme = ( gchar * ) scheme_list->next->data;
- ex_host = ex_host_default;
- } else {
- ex_host = "";
- }
- } else {
- ex_host = ex_host_default;
- }
- } else {
- ex_scheme = ex_scheme_default;
- ex_host = "";
- }
-
- while(( iter = g_strstr_len( iter, strlen( iter ), "%" ))){
- tmp_string = g_string_append_len( tmp_string, old_iter, strlen( old_iter ) - strlen( iter ));
- iter_inc = 1;
- switch( iter[1] ){
-
- case 'd': /* base dir of the (first) selected file(s)/folder(s) */
- tmp_string = g_string_append( tmp_string, ex_path );
- break;
-
- case 'f': /* the basename of the (first) selected file/folder */
- tmp_string = g_string_append( tmp_string, ex_one );
- break;
-
- case 'h': /* hostname of the (first) URI */
- tmp_string = g_string_append( tmp_string, ex_host );
- break;
-
- case 'm': /* list of the basename of the selected files/directories separated by space */
- tmp_string = g_string_append( tmp_string, ex_list );
- break;
-
- case 'M': /* list of the selected files/directories with their complete path separated by space. */
- tmp_string = g_string_append( tmp_string, ex_path_list );
- break;
-
- case 'p': /* port number of the (first) URI */
- tmp_string = g_string_append( tmp_string, ex_port_default );
- break;
-
- case 'R': /* space-separated list of selected URIs */
- tmp_string = g_string_append( tmp_string, ex_uri_list );
- break;
-
- case 's': /* scheme of the (first) URI */
- tmp_string = g_string_append( tmp_string, ex_scheme );
- break;
-
- case 'u': /* (first) URI */
- tmp = g_strjoin( NULL, ex_scheme, "://", ex_path, "/", ex_one, NULL );
- tmp_string = g_string_append( tmp_string, tmp );
- g_free( tmp );
- break;
-
- case 'U': /* username of the GVfs URI */
- tmp_string = g_string_append( tmp_string, "root" );
- break;
-
- case '%': /* a percent sign */
- tmp_string = g_string_append_c( tmp_string, '%' );
- break;
-
- default:
- iter_inc = 1;
- break;
- }
- iter += iter_inc; /* skip the % sign and the character after. */
- old_iter = iter; /* store the new start of the string */
- }
- tmp_string = g_string_append_len( tmp_string, old_iter, strlen( old_iter ));
-
- na_core_utils_slist_free( scheme_list );
-
- g_free( ex_list );
- g_free( ex_path_list );
- g_free( ex_uri_list );
- g_free( iter );
-
- return( g_string_free( tmp_string, FALSE ));
-}
-
-static void
-set_label_label( NactICommandTab *instance, const gchar *color_str )
-{
- GtkWidget *label;
- GdkColor color;
-
- label = base_window_get_widget( BASE_WINDOW( instance ), "ProfileLabelLabel" );
- gdk_color_parse( color_str, &color );
- gtk_widget_modify_fg( label, GTK_STATE_NORMAL, &color );
-}
-
-static void
-update_example_label( NactICommandTab *instance, NAObjectProfile *profile )
-{
- /*static const char *thisfn = "nact_iconditions_update_example_label";*/
- gchar *newlabel;
- gchar *parameters;
- GtkWidget *example_widget;
-
- example_widget = base_window_get_widget( BASE_WINDOW( instance ), "CommandExampleLabel" );
-
- if( profile ){
- parameters = parse_parameters( instance );
- /*g_debug( "%s: parameters=%s", thisfn, parameters );*/
-
- /* convert special xml chars (&, <, >,...) to avoid warnings
- * generated by Pango parser
- */
- /* i18n: command-line example: e.g., /bin/ls file1.txt file2.txt */
- newlabel = g_markup_printf_escaped(
- "<i><b><span size=\"small\">%s %s</span></b></i>", _( "e.g.," ), parameters );
-
- g_free( parameters );
-
- } else {
- newlabel = g_strdup( "" );
- }
-
- gtk_label_set_label( GTK_LABEL( example_widget ), newlabel );
- g_free( newlabel );
-}
diff --git a/src/nact/nact-ibasenames-tab.h b/src/nact/nact-ibasenames-tab.h
index 122725d..342e15d 100644
--- a/src/nact/nact-ibasenames-tab.h
+++ b/src/nact/nact-ibasenames-tab.h
@@ -28,44 +28,44 @@
* ... and many others (see AUTHORS)
*/
-#ifndef __NACT_ICOMMAND_TAB_H__
-#define __NACT_ICOMMAND_TAB_H__
+#ifndef __NACT_IBASENAMES_TAB_H__
+#define __NACT_IBASENAMES_TAB_H__
/**
- * SECTION: nact_icommand_tab
- * @short_description: #NactICommandTab interface declaration.
- * @include: nact/nact-icommand-tab.h
+ * SECTION: nact_ibasenames_tab
+ * @short_description: #NactIBasenamesTab interface declaration.
+ * @include: nact/nact-ibasenames-tab.h
*
* This interface implements all the widgets which define the
- * actual action to be executed.
+ * basenames-based conditions.
*/
#include <glib-object.h>
G_BEGIN_DECLS
-#define NACT_ICOMMAND_TAB_TYPE ( nact_icommand_tab_get_type())
-#define NACT_ICOMMAND_TAB( object ) ( G_TYPE_CHECK_INSTANCE_CAST( object, NACT_ICOMMAND_TAB_TYPE, NactICommandTab ))
-#define NACT_IS_ICOMMAND_TAB( object ) ( G_TYPE_CHECK_INSTANCE_TYPE( object, NACT_ICOMMAND_TAB_TYPE ))
-#define NACT_ICOMMAND_TAB_GET_INTERFACE( instance ) ( G_TYPE_INSTANCE_GET_INTERFACE(( instance ), NACT_ICOMMAND_TAB_TYPE, NactICommandTabInterface ))
+#define NACT_IBASENAMES_TAB_TYPE ( nact_ibasenames_tab_get_type())
+#define NACT_IBASENAMES_TAB( object ) ( G_TYPE_CHECK_INSTANCE_CAST( object, NACT_IBASENAMES_TAB_TYPE, NactIBasenamesTab ))
+#define NACT_IS_IBASENAMES_TAB( object ) ( G_TYPE_CHECK_INSTANCE_TYPE( object, NACT_IBASENAMES_TAB_TYPE ))
+#define NACT_IBASENAMES_TAB_GET_INTERFACE( instance ) ( G_TYPE_INSTANCE_GET_INTERFACE(( instance ), NACT_IBASENAMES_TAB_TYPE, NactIBasenamesTabInterface ))
-typedef struct NactICommandTab NactICommandTab;
+typedef struct NactIBasenamesTab NactIBasenamesTab;
-typedef struct NactICommandTabInterfacePrivate NactICommandTabInterfacePrivate;
+typedef struct NactIBasenamesTabInterfacePrivate NactIBasenamesTabInterfacePrivate;
typedef struct {
- GTypeInterface parent;
- NactICommandTabInterfacePrivate *private;
+ GTypeInterface parent;
+ NactIBasenamesTabInterfacePrivate *private;
}
- NactICommandTabInterface;
+ NactIBasenamesTabInterface;
-GType nact_icommand_tab_get_type( void );
+GType nact_ibasenames_tab_get_type( void );
-void nact_icommand_tab_initial_load_toplevel( NactICommandTab *instance );
-void nact_icommand_tab_runtime_init_toplevel( NactICommandTab *instance );
-void nact_icommand_tab_all_widgets_showed( NactICommandTab *instance );
-void nact_icommand_tab_dispose( NactICommandTab *instance );
+void nact_ibasenames_tab_initial_load_toplevel( NactIBasenamesTab *instance );
+void nact_ibasenames_tab_runtime_init_toplevel( NactIBasenamesTab *instance );
+void nact_ibasenames_tab_all_widgets_showed ( NactIBasenamesTab *instance );
+void nact_ibasenames_tab_dispose ( NactIBasenamesTab *instance );
G_END_DECLS
-#endif /* __NACT_ICOMMAND_TAB_H__ */
+#endif /* __NACT_IBASENAMES_TAB_H__ */
diff --git a/src/nact/nact-icommand-tab.c b/src/nact/nact-icommand-tab.c
index 24401c8..ab39ed4 100644
--- a/src/nact/nact-icommand-tab.c
+++ b/src/nact/nact-icommand-tab.c
@@ -49,7 +49,6 @@
#include "nact-iactions-list.h"
#include "nact-main-tab.h"
#include "nact-icommand-tab.h"
-#include "nact-iconditions-tab.h"
#include "nact-ischemes-tab.h"
/* private interface data
diff --git a/src/nact/nact-ienvironment-tab.c b/src/nact/nact-ienvironment-tab.c
index 24401c8..8951eef 100644
--- a/src/nact/nact-ienvironment-tab.c
+++ b/src/nact/nact-ienvironment-tab.c
@@ -32,75 +32,30 @@
#include <config.h>
#endif
-#include <glib/gi18n.h>
-#include <string.h>
-
-#include <api/na-core-utils.h>
#include <api/na-object-api.h>
-#include <core/na-iprefs.h>
-
-#include "base-window.h"
-#include "base-iprefs.h"
-#include "nact-application.h"
-#include "nact-main-statusbar.h"
-#include "nact-gtk-utils.h"
-#include "nact-iprefs.h"
-#include "nact-iactions-list.h"
#include "nact-main-tab.h"
-#include "nact-icommand-tab.h"
-#include "nact-iconditions-tab.h"
-#include "nact-ischemes-tab.h"
+#include "nact-ienvironment-tab.h"
/* private interface data
*/
-struct NactICommandTabInterfacePrivate {
+struct NactIEnvironmentTabInterfacePrivate {
void *empty; /* so that gcc -pedantic is happy */
};
-/* the GConf key used to read/write size and position of auxiliary dialogs
- */
-#define IPREFS_LEGEND_DIALOG "icommand-legend-dialog"
-#define IPREFS_COMMAND_CHOOSER "icommand-command-chooser"
-#define IPREFS_FOLDER_URI "icommand-folder-uri"
-
-/* a data set in the LegendDialog GObject
- */
-#define ICOMMAND_TAB_LEGEND_VISIBLE "nact-icommand-tab-legend-dialog-visible"
-#define ICOMMAND_TAB_STATUSBAR_CONTEXT "nact-icommand-tab-statusbar-context"
-
static gboolean st_initialized = FALSE;
static gboolean st_finalized = FALSE;
static gboolean st_on_selection_change = FALSE;
-static GType register_type( void );
-static void interface_base_init( NactICommandTabInterface *klass );
-static void interface_base_finalize( NactICommandTabInterface *klass );
-
-static void on_iactions_list_column_edited( NactICommandTab *instance, NAObject *object, gchar *text, gint column );
-static void on_tab_updatable_selection_changed( NactICommandTab *instance, gint count_selected );
-static gboolean tab_set_sensitive( NactICommandTab *instance );
-
-static void check_for_label( NactICommandTab *instance, GtkEntry *entry, const gchar *label );
-static GtkWidget *get_label_entry( NactICommandTab *instance );
-static GtkButton *get_legend_button( NactICommandTab *instance );
-static GtkWindow *get_legend_dialog( NactICommandTab *instance );
-static GtkWidget *get_parameters_entry( NactICommandTab *instance );
-static GtkButton *get_path_button( NactICommandTab *instance );
-static GtkWidget *get_path_entry( NactICommandTab *instance );
-static void legend_dialog_show( NactICommandTab *instance );
-static void legend_dialog_hide( NactICommandTab *instance );
-static void on_label_changed( GtkEntry *entry, NactICommandTab *instance );
-static void on_legend_clicked( GtkButton *button, NactICommandTab *instance );
-static void on_parameters_changed( GtkEntry *entry, NactICommandTab *instance );
-static void on_path_browse( GtkButton *button, NactICommandTab *instance );
-static void on_path_changed( GtkEntry *entry, NactICommandTab *instance );
-static gchar *parse_parameters( NactICommandTab *instance );
-static void set_label_label( NactICommandTab *instance, const gchar *color );
-static void update_example_label( NactICommandTab *instance, NAObjectProfile *profile );
+static GType register_type( void );
+static void interface_base_init( NactIEnvironmentTabInterface *klass );
+static void interface_base_finalize( NactIEnvironmentTabInterface *klass );
+
+static void on_tab_updatable_selection_changed( NactIEnvironmentTab *instance, gint count_selected );
+static gboolean tab_set_sensitive( NactIEnvironmentTab *instance );
GType
-nact_icommand_tab_get_type( void )
+nact_ienvironment_tab_get_type( void )
{
static GType iface_type = 0;
@@ -114,11 +69,11 @@ nact_icommand_tab_get_type( void )
static GType
register_type( void )
{
- static const gchar *thisfn = "nact_icommand_tab_register_type";
+ static const gchar *thisfn = "nact_ienvironment_tab_register_type";
GType type;
static const GTypeInfo info = {
- sizeof( NactICommandTabInterface ),
+ sizeof( NactIEnvironmentTabInterface ),
( GBaseInitFunc ) interface_base_init,
( GBaseFinalizeFunc ) interface_base_finalize,
NULL,
@@ -131,7 +86,7 @@ register_type( void )
g_debug( "%s", thisfn );
- type = g_type_register_static( G_TYPE_INTERFACE, "NactICommandTab", &info, 0 );
+ type = g_type_register_static( G_TYPE_INTERFACE, "NactIEnvironmentTab", &info, 0 );
g_type_interface_add_prerequisite( type, BASE_WINDOW_TYPE );
@@ -139,24 +94,24 @@ register_type( void )
}
static void
-interface_base_init( NactICommandTabInterface *klass )
+interface_base_init( NactIEnvironmentTabInterface *klass )
{
- static const gchar *thisfn = "nact_icommand_tab_interface_base_init";
+ static const gchar *thisfn = "nact_ienvironment_tab_interface_base_init";
if( !st_initialized ){
g_debug( "%s: klass=%p", thisfn, ( void * ) klass );
- klass->private = g_new0( NactICommandTabInterfacePrivate, 1 );
+ klass->private = g_new0( NactIEnvironmentTabInterfacePrivate, 1 );
st_initialized = TRUE;
}
}
static void
-interface_base_finalize( NactICommandTabInterface *klass )
+interface_base_finalize( NactIEnvironmentTabInterface *klass )
{
- static const gchar *thisfn = "nact_icommand_tab_interface_base_finalize";
+ static const gchar *thisfn = "nact_ienvironment_tab_interface_base_finalize";
if( st_initialized && !st_finalized ){
@@ -169,213 +124,98 @@ interface_base_finalize( NactICommandTabInterface *klass )
}
/**
- * nact_icommand_tab_initial_load:
- * @window: this #NactICommandTab instance.
+ * nact_ienvironment_tab_initial_load:
+ * @window: this #NactIEnvironmentTab instance.
*
* Initializes the tab widget at initial load.
- *
- * The GConf preference keys used in this tab were misnamed from v1.11.1
- * up to and including v1.12.0. Starting with v1.12.1, these are migrated
- * here, so that the normal code only makes use of 'good' keys.
*/
void
-nact_icommand_tab_initial_load_toplevel( NactICommandTab *instance )
+nact_ienvironment_tab_initial_load_toplevel( NactIEnvironmentTab *instance )
{
- static const gchar *thisfn = "nact_icommand_tab_initial_load_toplevel";
+ static const gchar *thisfn = "nact_ienvironment_tab_initial_load_toplevel";
g_debug( "%s: instance=%p", thisfn, ( void * ) instance );
- g_return_if_fail( NACT_IS_ICOMMAND_TAB( instance ));
+ g_return_if_fail( NACT_IS_IENVIRONMENT_TAB( instance ));
if( st_initialized && !st_finalized ){
-
- nact_iprefs_migrate_key( BASE_WINDOW( instance ), "iconditions-legend-dialog", IPREFS_LEGEND_DIALOG );
- nact_iprefs_migrate_key( BASE_WINDOW( instance ), "iconditions-command-chooser", IPREFS_COMMAND_CHOOSER );
- nact_iprefs_migrate_key( BASE_WINDOW( instance ), "iconditions-folder-uri", IPREFS_FOLDER_URI );
}
}
/**
- * nact_icommand_tab_runtime_init:
- * @window: this #NactICommandTab instance.
+ * nact_ienvironment_tab_runtime_init:
+ * @window: this #NactIEnvironmentTab instance.
*
* Initializes the tab widget at each time the widget will be displayed.
* Connect signals and setup runtime values.
*/
void
-nact_icommand_tab_runtime_init_toplevel( NactICommandTab *instance )
+nact_ienvironment_tab_runtime_init_toplevel( NactIEnvironmentTab *instance )
{
- static const gchar *thisfn = "nact_icommand_tab_runtime_init_toplevel";
- GtkWidget *label_entry, *path_entry, *parameters_entry;
- GtkButton *path_button, *legend_button;
+ static const gchar *thisfn = "nact_ienvironment_tab_runtime_init_toplevel";
g_debug( "%s: instance=%p", thisfn, ( void * ) instance );
- g_return_if_fail( NACT_IS_ICOMMAND_TAB( instance ));
+ g_return_if_fail( NACT_IS_IENVIRONMENT_TAB( instance ));
if( st_initialized && !st_finalized ){
- label_entry = get_label_entry( instance );
- base_window_signal_connect(
- BASE_WINDOW( instance ),
- G_OBJECT( label_entry ),
- "changed",
- G_CALLBACK( on_label_changed ));
-
- path_entry = get_path_entry( instance );
- base_window_signal_connect(
- BASE_WINDOW( instance ),
- G_OBJECT( path_entry ),
- "changed",
- G_CALLBACK( on_path_changed ));
-
- path_button = get_path_button( instance );
- base_window_signal_connect(
- BASE_WINDOW( instance ),
- G_OBJECT( path_button ),
- "clicked",
- G_CALLBACK( on_path_browse ));
-
- parameters_entry = get_parameters_entry( instance );
- base_window_signal_connect(
- BASE_WINDOW( instance ),
- G_OBJECT( parameters_entry ),
- "changed",
- G_CALLBACK( on_parameters_changed ));
-
- legend_button = get_legend_button( instance );
- base_window_signal_connect(
- BASE_WINDOW( instance ),
- G_OBJECT( legend_button ),
- "clicked",
- G_CALLBACK( on_legend_clicked ));
-
base_window_signal_connect(
BASE_WINDOW( instance ),
G_OBJECT( instance ),
MAIN_WINDOW_SIGNAL_SELECTION_CHANGED,
G_CALLBACK( on_tab_updatable_selection_changed ));
-
- base_window_signal_connect(
- BASE_WINDOW( instance ),
- G_OBJECT( instance ),
- IACTIONS_LIST_SIGNAL_COLUMN_EDITED,
- G_CALLBACK( on_iactions_list_column_edited ));
}
}
void
-nact_icommand_tab_all_widgets_showed( NactICommandTab *instance )
+nact_ienvironment_tab_all_widgets_showed( NactIEnvironmentTab *instance )
{
- static const gchar *thisfn = "nact_icommand_tab_all_widgets_showed";
+ static const gchar *thisfn = "nact_ienvironment_tab_all_widgets_showed";
g_debug( "%s: instance=%p", thisfn, ( void * ) instance );
- g_return_if_fail( NACT_IS_ICOMMAND_TAB( instance ));
+ g_return_if_fail( NACT_IS_IENVIRONMENT_TAB( instance ));
if( st_initialized && !st_finalized ){
}
}
/**
- * nact_icommand_tab_dispose:
- * @window: this #NactICommandTab instance.
+ * nact_ienvironment_tab_dispose:
+ * @window: this #NactIEnvironmentTab instance.
*
* Called at instance_dispose time.
*/
void
-nact_icommand_tab_dispose( NactICommandTab *instance )
+nact_ienvironment_tab_dispose( NactIEnvironmentTab *instance )
{
- static const gchar *thisfn = "nact_icommand_tab_dispose";
+ static const gchar *thisfn = "nact_ienvironment_tab_dispose";
g_debug( "%s: instance=%p", thisfn, ( void * ) instance );
- g_return_if_fail( NACT_IS_ICOMMAND_TAB( instance ));
+ g_return_if_fail( NACT_IS_IENVIRONMENT_TAB( instance ));
if( st_initialized && !st_finalized ){
- legend_dialog_hide( instance );
}
}
static void
-on_iactions_list_column_edited( NactICommandTab *instance, NAObject *object, gchar *text, gint column )
+on_tab_updatable_selection_changed( NactIEnvironmentTab *instance, gint count_selected )
{
- GtkWidget *label_widget;
-
- g_return_if_fail( NACT_IS_ICOMMAND_TAB( instance ));
-
- if( st_initialized && !st_finalized ){
-
- if( NA_IS_OBJECT_PROFILE( object )){
- label_widget = get_label_entry( instance );
- gtk_entry_set_text( GTK_ENTRY( label_widget ), text );
- }
- }
-}
-
-static void
-on_tab_updatable_selection_changed( NactICommandTab *instance, gint count_selected )
-{
- static const gchar *thisfn = "nact_icommand_tab_on_tab_updatable_selection_changed";
- NAObjectItem *item;
- NAObjectProfile *profile;
- gboolean enable_tab;
- GtkWidget *label_entry, *path_entry, *parameters_entry;
- gchar *label, *path, *parameters;
- gboolean editable;
- GtkButton *path_button;
- GtkButton *legend_button;
+ static const gchar *thisfn = "nact_ienvironment_tab_on_tab_updatable_selection_changed";
g_debug( "%s: instance=%p, count_selected=%d", thisfn, ( void * ) instance, count_selected );
- g_return_if_fail( NACT_IS_ICOMMAND_TAB( instance ));
+ g_return_if_fail( NACT_IS_IENVIRONMENT_TAB( instance ));
if( st_initialized && !st_finalized ){
st_on_selection_change = TRUE;
- g_object_get(
- G_OBJECT( instance ),
- TAB_UPDATABLE_PROP_EDITED_ACTION, &item,
- TAB_UPDATABLE_PROP_EDITED_PROFILE, &profile,
- TAB_UPDATABLE_PROP_EDITABLE, &editable,
- NULL );
-
- enable_tab = tab_set_sensitive( instance );
-
- 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 );
+ tab_set_sensitive( instance );
st_on_selection_change = FALSE;
}
}
static gboolean
-tab_set_sensitive( NactICommandTab *instance )
+tab_set_sensitive( NactIEnvironmentTab *instance )
{
NAObjectProfile *profile;
gboolean enable_tab;
@@ -386,475 +226,7 @@ tab_set_sensitive( NactICommandTab *instance )
NULL );
enable_tab = ( profile != NULL );
- nact_main_tab_enable_page( NACT_MAIN_WINDOW( instance ), TAB_COMMAND, enable_tab );
+ nact_main_tab_enable_page( NACT_MAIN_WINDOW( instance ), TAB_ENVIRONMENT, enable_tab );
return( enable_tab );
}
-
-static void
-check_for_label( NactICommandTab *instance, GtkEntry *entry, const gchar *label )
-{
- NAObjectProfile *edited;
-
- nact_main_statusbar_hide_status(
- NACT_MAIN_WINDOW( instance ),
- ICOMMAND_TAB_STATUSBAR_CONTEXT );
-
- set_label_label( instance, "black" );
-
- g_object_get(
- G_OBJECT( instance ),
- TAB_UPDATABLE_PROP_EDITED_PROFILE, &edited,
- NULL );
-
- if( edited && g_utf8_strlen( label, -1 ) == 0 ){
-
- /* i18n: status bar message when the profile label is empty */
- nact_main_statusbar_display_status(
- NACT_MAIN_WINDOW( instance ),
- ICOMMAND_TAB_STATUSBAR_CONTEXT,
- _( "Caution: a label is mandatory for the profile." ));
-
- set_label_label( instance, "red" );
- }
-}
-
-static GtkWidget *
-get_label_entry( NactICommandTab *instance )
-{
- return( base_window_get_widget( BASE_WINDOW( instance ), "ProfileLabelEntry" ));
-}
-
-static GtkButton *
-get_legend_button( NactICommandTab *instance )
-{
- return( GTK_BUTTON( base_window_get_widget( BASE_WINDOW( instance ), "CommandLegendButton" )));
-}
-
-static GtkWindow *
-get_legend_dialog( NactICommandTab *instance )
-{
- return( base_window_get_named_toplevel( BASE_WINDOW( instance ), "LegendDialog" ));
-}
-
-static GtkWidget *
-get_parameters_entry( NactICommandTab *instance )
-{
- return( base_window_get_widget( BASE_WINDOW( instance ), "CommandParametersEntry" ));
-}
-
-static GtkButton *
-get_path_button( NactICommandTab *instance )
-{
- return( GTK_BUTTON( base_window_get_widget( BASE_WINDOW( instance ), "CommandPathButton" )));
-}
-
-static GtkWidget *
-get_path_entry( NactICommandTab *instance )
-{
- return( base_window_get_widget( BASE_WINDOW( instance ), "CommandPathEntry" ));
-}
-
-static void
-legend_dialog_hide( NactICommandTab *instance )
-{
- GtkWindow *legend_dialog;
- GtkButton *legend_button;
- gboolean is_visible;
-
- legend_dialog = get_legend_dialog( instance );
- is_visible = ( gboolean ) GPOINTER_TO_INT(
- g_object_get_data( G_OBJECT( legend_dialog ), ICOMMAND_TAB_LEGEND_VISIBLE ));
-
- if( is_visible ){
- g_assert( 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)
- */
- legend_button = get_legend_button( instance );
- gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( legend_button ), FALSE );
-
- g_object_set_data( G_OBJECT( legend_dialog ), ICOMMAND_TAB_LEGEND_VISIBLE, GINT_TO_POINTER( FALSE ));
- }
-}
-
-static void
-legend_dialog_show( NactICommandTab *instance )
-{
- GtkWindow *legend_dialog;
- GtkWindow *toplevel;
-
- legend_dialog = get_legend_dialog( instance );
- gtk_window_set_deletable( legend_dialog, FALSE );
-
- toplevel = base_window_get_toplevel( BASE_WINDOW( instance ));
- gtk_window_set_transient_for( GTK_WINDOW( legend_dialog ), toplevel );
-
- base_iprefs_position_named_window( BASE_WINDOW( instance ), legend_dialog, IPREFS_LEGEND_DIALOG );
- gtk_widget_show( GTK_WIDGET( legend_dialog ));
-
- g_object_set_data( G_OBJECT( legend_dialog ), ICOMMAND_TAB_LEGEND_VISIBLE, GINT_TO_POINTER( TRUE ));
-}
-
-static void
-on_label_changed( GtkEntry *entry, NactICommandTab *instance )
-{
- NAObjectProfile *edited;
- const gchar *label;
-
- if( !st_on_selection_change ){
-
- g_object_get(
- G_OBJECT( instance ),
- TAB_UPDATABLE_PROP_EDITED_PROFILE, &edited,
- NULL );
-
- if( edited ){
- label = gtk_entry_get_text( entry );
- na_object_set_label( edited, label );
- g_signal_emit_by_name( G_OBJECT( instance ), TAB_UPDATABLE_SIGNAL_ITEM_UPDATED, edited, TRUE );
- check_for_label( instance, entry, label );
- }
- }
-}
-
-static void
-on_legend_clicked( GtkButton *button, NactICommandTab *instance )
-{
- if( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( button ))){
- legend_dialog_show( instance );
-
- } else {
- legend_dialog_hide( instance );
- }
-}
-
-static void
-on_parameters_changed( GtkEntry *entry, NactICommandTab *instance )
-{
- NAObjectProfile *edited;
-
- if( !st_on_selection_change ){
-
- g_object_get(
- G_OBJECT( instance ),
- TAB_UPDATABLE_PROP_EDITED_PROFILE, &edited,
- NULL );
-
- if( edited ){
- na_object_set_parameters( edited, gtk_entry_get_text( entry ));
- g_signal_emit_by_name( G_OBJECT( instance ), TAB_UPDATABLE_SIGNAL_ITEM_UPDATED, edited, FALSE );
- update_example_label( instance, edited );
- }
- }
-}
-
-static void
-on_path_browse( GtkButton *button, NactICommandTab *instance )
-{
- gboolean set_current_location = FALSE;
- gchar *uri = NULL;
- NactApplication *application;
- NAUpdater *updater;
- GtkWindow *toplevel;
- GtkWidget *dialog;
- GtkWidget *path_entry;
- const gchar *path;
- gchar *filename;
-
- application = NACT_APPLICATION( base_window_get_application( BASE_WINDOW( instance )));
- updater = nact_application_get_updater( application );
- toplevel = base_window_get_toplevel( BASE_WINDOW( instance ));
-
- dialog = gtk_file_chooser_dialog_new(
- _( "Choosing a command" ),
- toplevel,
- GTK_FILE_CHOOSER_ACTION_OPEN,
- GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
- GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT,
- NULL
- );
-
- base_iprefs_position_named_window( BASE_WINDOW( instance ), GTK_WINDOW( dialog ), IPREFS_COMMAND_CHOOSER );
-
- path_entry = get_path_entry( instance );
- path = gtk_entry_get_text( GTK_ENTRY( path_entry ));
-
- if( path && strlen( path )){
- set_current_location = gtk_file_chooser_set_filename( GTK_FILE_CHOOSER( dialog ), path );
-
- } else {
- uri = na_iprefs_read_string( NA_IPREFS( updater ), IPREFS_FOLDER_URI, "file:///bin" );
- gtk_file_chooser_set_current_folder_uri( GTK_FILE_CHOOSER( dialog ), uri );
- g_free( uri );
- }
-
- if( gtk_dialog_run( GTK_DIALOG( dialog )) == GTK_RESPONSE_ACCEPT ){
- filename = gtk_file_chooser_get_filename( GTK_FILE_CHOOSER( dialog ));
- gtk_entry_set_text( GTK_ENTRY( path_entry ), filename );
- g_free (filename);
- }
-
- uri = gtk_file_chooser_get_current_folder_uri( GTK_FILE_CHOOSER( dialog ));
- nact_iprefs_write_string( BASE_WINDOW( instance ), IPREFS_FOLDER_URI, uri );
- g_free( uri );
-
- base_iprefs_save_named_window_position( BASE_WINDOW( instance ), GTK_WINDOW( dialog ), IPREFS_COMMAND_CHOOSER );
-
- gtk_widget_destroy( dialog );
-}
-
-static void
-on_path_changed( GtkEntry *entry, NactICommandTab *instance )
-{
- NAObjectProfile *edited;
-
- if( !st_on_selection_change ){
-
- g_object_get(
- G_OBJECT( instance ),
- TAB_UPDATABLE_PROP_EDITED_PROFILE, &edited,
- NULL );
-
- if( edited ){
-
- na_object_set_path( edited, gtk_entry_get_text( entry ));
- g_signal_emit_by_name( G_OBJECT( instance ), TAB_UPDATABLE_SIGNAL_ITEM_UPDATED, edited, FALSE );
- update_example_label( instance, edited );
- }
- }
-}
-
-/*
- * Valid parameters :
- *
- * %d : base dir of the (first) selected file(s)/folder(s)
- * %f : the name of the (firstà selected file/folder
- * %h : hostname of the (first) URI
- * %m : list of the basename of the selected files/directories separated by space.
- * %M : list of the selected files/directories with their complete path separated by space.
- * %p : port number of the (first) URI
- * %R : space-separated list of selected URIs
- * %s : scheme of the (first) URI
- * %u : (first) URI
- * %U : username of the (first) URI
- * %% : a percent sign
- */
-static gchar *
-parse_parameters( NactICommandTab *instance )
-{
- GString *tmp_string = g_string_new( "" );
-
- /* i18n notes: example strings for the command preview */
- gchar *ex_path = _( "/path/to" );
- gchar *ex_files[] = { N_( "file1.txt" ), N_( "file2.txt" ), NULL };
- gchar *ex_dirs[] = { N_(" folder1" ), N_( "folder2" ), NULL };
- gchar *ex_mixed[] = { N_(" file1.txt" ), N_( "folder1" ), NULL };
- gchar *ex_scheme_default = "file";
- gchar *ex_host_default = _( "test.example.net" );
- gchar *ex_one_file = _( "file.txt" );
- gchar *ex_one_dir = _( "folder" );
- gchar *ex_port_default = _( "8080" );
- gchar *ex_one = NULL;
- gchar *ex_list = NULL;
- gchar *ex_path_list = NULL;
- gchar *ex_uri_file1 = _( "file:///path/to/file1.text" );
- gchar *ex_uri_file2 = _( "file:///path/to/file2.text" );
- gchar *ex_uri_folder1 = _( "file:///path/to/a/dir" );
- gchar *ex_uri_folder2 = _( "file:///path/to/another/dir" );
- gchar *ex_uri_list = NULL;
- gchar *ex_scheme;
- gchar *ex_host;
- gboolean is_file, is_dir;
- gboolean accept_multiple;
- GSList *scheme_list;
- guint iter_inc;
-
- const gchar *command = gtk_entry_get_text( GTK_ENTRY( get_path_entry( instance )));
- const gchar *param_template = gtk_entry_get_text( GTK_ENTRY( get_parameters_entry( instance )));
-
- gchar *iter = g_strdup( param_template );
- gchar *old_iter = iter;
- gchar *tmp;
- gchar *separator;
- gchar *start;
-
- g_string_append_printf( tmp_string, "%s ", command );
-
- /*nact_iconditions_tab_get_isfiledir( NACT_ICONDITIONS_TAB( instance ), &is_file, &is_dir );
- accept_multiple = nact_iconditions_tab_get_multiple( NACT_ICONDITIONS_TAB( instance ));*/
- is_file = TRUE;
- is_dir = TRUE;
- accept_multiple = TRUE;
-
- scheme_list = nact_ischemes_tab_get_schemes( NACT_ISCHEMES_TAB( instance ));
-
- separator = g_strdup_printf( " %s/", ex_path );
- start = g_strdup_printf( "%s/", ex_path );
-
- if( accept_multiple ){
- if( is_file && is_dir ){
- ex_one = ex_files[0];
- ex_list = na_core_utils_gstring_joinv( NULL, " ", ex_mixed );
- ex_path_list = na_core_utils_gstring_joinv( start, separator, ex_mixed );
- ex_uri_list = g_strjoin( " ", ex_uri_file1, ex_uri_folder1, NULL );
-
- } else if( is_dir ){
- ex_one = ex_dirs[0];
- ex_list = na_core_utils_gstring_joinv( NULL, " ", ex_dirs );
- ex_path_list = na_core_utils_gstring_joinv( start, separator, ex_dirs );
- ex_uri_list = g_strjoin( " ", ex_uri_folder1, ex_uri_folder2, NULL );
-
- } else if( is_file ){
- ex_one = ex_files[0];
- ex_list = na_core_utils_gstring_joinv( NULL, " ", ex_files );
- ex_path_list = na_core_utils_gstring_joinv( start, separator, ex_files );
- ex_uri_list = g_strjoin( " ", ex_uri_file1, ex_uri_file2, NULL );
- }
- } else {
- if( is_dir && !is_file ){
- ex_one = ex_one_dir;
- ex_uri_list = g_strdup( ex_uri_folder1 );
-
- } else {
- ex_one = ex_one_file;
- ex_uri_list = g_strdup( ex_uri_file1 );
- }
- ex_list = g_strdup( ex_one );
- ex_path_list = g_strjoin( "/", ex_path, ex_one, NULL );
- }
-
- g_free (start);
- g_free (separator);
-
- if( scheme_list != NULL ){
- ex_scheme = ( gchar * ) scheme_list->data;
- if( g_ascii_strcasecmp( ex_scheme, "file" ) == 0 ){
- if( g_slist_length( scheme_list ) > 1 ){
- ex_scheme = ( gchar * ) scheme_list->next->data;
- ex_host = ex_host_default;
- } else {
- ex_host = "";
- }
- } else {
- ex_host = ex_host_default;
- }
- } else {
- ex_scheme = ex_scheme_default;
- ex_host = "";
- }
-
- while(( iter = g_strstr_len( iter, strlen( iter ), "%" ))){
- tmp_string = g_string_append_len( tmp_string, old_iter, strlen( old_iter ) - strlen( iter ));
- iter_inc = 1;
- switch( iter[1] ){
-
- case 'd': /* base dir of the (first) selected file(s)/folder(s) */
- tmp_string = g_string_append( tmp_string, ex_path );
- break;
-
- case 'f': /* the basename of the (first) selected file/folder */
- tmp_string = g_string_append( tmp_string, ex_one );
- break;
-
- case 'h': /* hostname of the (first) URI */
- tmp_string = g_string_append( tmp_string, ex_host );
- break;
-
- case 'm': /* list of the basename of the selected files/directories separated by space */
- tmp_string = g_string_append( tmp_string, ex_list );
- break;
-
- case 'M': /* list of the selected files/directories with their complete path separated by space. */
- tmp_string = g_string_append( tmp_string, ex_path_list );
- break;
-
- case 'p': /* port number of the (first) URI */
- tmp_string = g_string_append( tmp_string, ex_port_default );
- break;
-
- case 'R': /* space-separated list of selected URIs */
- tmp_string = g_string_append( tmp_string, ex_uri_list );
- break;
-
- case 's': /* scheme of the (first) URI */
- tmp_string = g_string_append( tmp_string, ex_scheme );
- break;
-
- case 'u': /* (first) URI */
- tmp = g_strjoin( NULL, ex_scheme, "://", ex_path, "/", ex_one, NULL );
- tmp_string = g_string_append( tmp_string, tmp );
- g_free( tmp );
- break;
-
- case 'U': /* username of the GVfs URI */
- tmp_string = g_string_append( tmp_string, "root" );
- break;
-
- case '%': /* a percent sign */
- tmp_string = g_string_append_c( tmp_string, '%' );
- break;
-
- default:
- iter_inc = 1;
- break;
- }
- iter += iter_inc; /* skip the % sign and the character after. */
- old_iter = iter; /* store the new start of the string */
- }
- tmp_string = g_string_append_len( tmp_string, old_iter, strlen( old_iter ));
-
- na_core_utils_slist_free( scheme_list );
-
- g_free( ex_list );
- g_free( ex_path_list );
- g_free( ex_uri_list );
- g_free( iter );
-
- return( g_string_free( tmp_string, FALSE ));
-}
-
-static void
-set_label_label( NactICommandTab *instance, const gchar *color_str )
-{
- GtkWidget *label;
- GdkColor color;
-
- label = base_window_get_widget( BASE_WINDOW( instance ), "ProfileLabelLabel" );
- gdk_color_parse( color_str, &color );
- gtk_widget_modify_fg( label, GTK_STATE_NORMAL, &color );
-}
-
-static void
-update_example_label( NactICommandTab *instance, NAObjectProfile *profile )
-{
- /*static const char *thisfn = "nact_iconditions_update_example_label";*/
- gchar *newlabel;
- gchar *parameters;
- GtkWidget *example_widget;
-
- example_widget = base_window_get_widget( BASE_WINDOW( instance ), "CommandExampleLabel" );
-
- if( profile ){
- parameters = parse_parameters( instance );
- /*g_debug( "%s: parameters=%s", thisfn, parameters );*/
-
- /* convert special xml chars (&, <, >,...) to avoid warnings
- * generated by Pango parser
- */
- /* i18n: command-line example: e.g., /bin/ls file1.txt file2.txt */
- newlabel = g_markup_printf_escaped(
- "<i><b><span size=\"small\">%s %s</span></b></i>", _( "e.g.," ), parameters );
-
- g_free( parameters );
-
- } else {
- newlabel = g_strdup( "" );
- }
-
- gtk_label_set_label( GTK_LABEL( example_widget ), newlabel );
- g_free( newlabel );
-}
diff --git a/src/nact/nact-ienvironment-tab.h b/src/nact/nact-ienvironment-tab.h
index 122725d..9ca7092 100644
--- a/src/nact/nact-ienvironment-tab.h
+++ b/src/nact/nact-ienvironment-tab.h
@@ -28,13 +28,13 @@
* ... and many others (see AUTHORS)
*/
-#ifndef __NACT_ICOMMAND_TAB_H__
-#define __NACT_ICOMMAND_TAB_H__
+#ifndef __NACT_IENVIRONMENT_TAB_H__
+#define __NACT_IENVIRONMENT_TAB_H__
/**
- * SECTION: nact_icommand_tab
- * @short_description: #NactICommandTab interface declaration.
- * @include: nact/nact-icommand-tab.h
+ * SECTION: nact_ienvironment_tab
+ * @short_description: #NactIEnvironmentTab interface declaration.
+ * @include: nact/nact-ienvironment-tab.h
*
* This interface implements all the widgets which define the
* actual action to be executed.
@@ -44,28 +44,28 @@
G_BEGIN_DECLS
-#define NACT_ICOMMAND_TAB_TYPE ( nact_icommand_tab_get_type())
-#define NACT_ICOMMAND_TAB( object ) ( G_TYPE_CHECK_INSTANCE_CAST( object, NACT_ICOMMAND_TAB_TYPE, NactICommandTab ))
-#define NACT_IS_ICOMMAND_TAB( object ) ( G_TYPE_CHECK_INSTANCE_TYPE( object, NACT_ICOMMAND_TAB_TYPE ))
-#define NACT_ICOMMAND_TAB_GET_INTERFACE( instance ) ( G_TYPE_INSTANCE_GET_INTERFACE(( instance ), NACT_ICOMMAND_TAB_TYPE, NactICommandTabInterface ))
+#define NACT_IENVIRONMENT_TAB_TYPE ( nact_ienvironment_tab_get_type())
+#define NACT_IENVIRONMENT_TAB( object ) ( G_TYPE_CHECK_INSTANCE_CAST( object, NACT_IENVIRONMENT_TAB_TYPE, NactIEnvironmentTab ))
+#define NACT_IS_IENVIRONMENT_TAB( object ) ( G_TYPE_CHECK_INSTANCE_TYPE( object, NACT_IENVIRONMENT_TAB_TYPE ))
+#define NACT_IENVIRONMENT_TAB_GET_INTERFACE( instance ) ( G_TYPE_INSTANCE_GET_INTERFACE(( instance ), NACT_IENVIRONMENT_TAB_TYPE, NactIEnvironmentTabInterface ))
-typedef struct NactICommandTab NactICommandTab;
+typedef struct NactIEnvironmentTab NactIEnvironmentTab;
-typedef struct NactICommandTabInterfacePrivate NactICommandTabInterfacePrivate;
+typedef struct NactIEnvironmentTabInterfacePrivate NactIEnvironmentTabInterfacePrivate;
typedef struct {
- GTypeInterface parent;
- NactICommandTabInterfacePrivate *private;
+ GTypeInterface parent;
+ NactIEnvironmentTabInterfacePrivate *private;
}
- NactICommandTabInterface;
+ NactIEnvironmentTabInterface;
-GType nact_icommand_tab_get_type( void );
+GType nact_ienvironment_tab_get_type( void );
-void nact_icommand_tab_initial_load_toplevel( NactICommandTab *instance );
-void nact_icommand_tab_runtime_init_toplevel( NactICommandTab *instance );
-void nact_icommand_tab_all_widgets_showed( NactICommandTab *instance );
-void nact_icommand_tab_dispose( NactICommandTab *instance );
+void nact_ienvironment_tab_initial_load_toplevel( NactIEnvironmentTab *instance );
+void nact_ienvironment_tab_runtime_init_toplevel( NactIEnvironmentTab *instance );
+void nact_ienvironment_tab_all_widgets_showed ( NactIEnvironmentTab *instance );
+void nact_ienvironment_tab_dispose ( NactIEnvironmentTab *instance );
G_END_DECLS
-#endif /* __NACT_ICOMMAND_TAB_H__ */
+#endif /* __NACT_IENVIRONMENT_TAB_H__ */
diff --git a/src/nact/nact-iexecution-tab.c b/src/nact/nact-iexecution-tab.c
index 24401c8..52b444e 100644
--- a/src/nact/nact-iexecution-tab.c
+++ b/src/nact/nact-iexecution-tab.c
@@ -32,75 +32,30 @@
#include <config.h>
#endif
-#include <glib/gi18n.h>
-#include <string.h>
-
-#include <api/na-core-utils.h>
#include <api/na-object-api.h>
-#include <core/na-iprefs.h>
-
-#include "base-window.h"
-#include "base-iprefs.h"
-#include "nact-application.h"
-#include "nact-main-statusbar.h"
-#include "nact-gtk-utils.h"
-#include "nact-iprefs.h"
-#include "nact-iactions-list.h"
#include "nact-main-tab.h"
-#include "nact-icommand-tab.h"
-#include "nact-iconditions-tab.h"
-#include "nact-ischemes-tab.h"
+#include "nact-iexecution-tab.h"
/* private interface data
*/
-struct NactICommandTabInterfacePrivate {
+struct NactIExecutionTabInterfacePrivate {
void *empty; /* so that gcc -pedantic is happy */
};
-/* the GConf key used to read/write size and position of auxiliary dialogs
- */
-#define IPREFS_LEGEND_DIALOG "icommand-legend-dialog"
-#define IPREFS_COMMAND_CHOOSER "icommand-command-chooser"
-#define IPREFS_FOLDER_URI "icommand-folder-uri"
-
-/* a data set in the LegendDialog GObject
- */
-#define ICOMMAND_TAB_LEGEND_VISIBLE "nact-icommand-tab-legend-dialog-visible"
-#define ICOMMAND_TAB_STATUSBAR_CONTEXT "nact-icommand-tab-statusbar-context"
-
static gboolean st_initialized = FALSE;
static gboolean st_finalized = FALSE;
static gboolean st_on_selection_change = FALSE;
-static GType register_type( void );
-static void interface_base_init( NactICommandTabInterface *klass );
-static void interface_base_finalize( NactICommandTabInterface *klass );
-
-static void on_iactions_list_column_edited( NactICommandTab *instance, NAObject *object, gchar *text, gint column );
-static void on_tab_updatable_selection_changed( NactICommandTab *instance, gint count_selected );
-static gboolean tab_set_sensitive( NactICommandTab *instance );
-
-static void check_for_label( NactICommandTab *instance, GtkEntry *entry, const gchar *label );
-static GtkWidget *get_label_entry( NactICommandTab *instance );
-static GtkButton *get_legend_button( NactICommandTab *instance );
-static GtkWindow *get_legend_dialog( NactICommandTab *instance );
-static GtkWidget *get_parameters_entry( NactICommandTab *instance );
-static GtkButton *get_path_button( NactICommandTab *instance );
-static GtkWidget *get_path_entry( NactICommandTab *instance );
-static void legend_dialog_show( NactICommandTab *instance );
-static void legend_dialog_hide( NactICommandTab *instance );
-static void on_label_changed( GtkEntry *entry, NactICommandTab *instance );
-static void on_legend_clicked( GtkButton *button, NactICommandTab *instance );
-static void on_parameters_changed( GtkEntry *entry, NactICommandTab *instance );
-static void on_path_browse( GtkButton *button, NactICommandTab *instance );
-static void on_path_changed( GtkEntry *entry, NactICommandTab *instance );
-static gchar *parse_parameters( NactICommandTab *instance );
-static void set_label_label( NactICommandTab *instance, const gchar *color );
-static void update_example_label( NactICommandTab *instance, NAObjectProfile *profile );
+static GType register_type( void );
+static void interface_base_init( NactIExecutionTabInterface *klass );
+static void interface_base_finalize( NactIExecutionTabInterface *klass );
+
+static void on_tab_updatable_selection_changed( NactIExecutionTab *instance, gint count_selected );
+static gboolean tab_set_sensitive( NactIExecutionTab *instance );
GType
-nact_icommand_tab_get_type( void )
+nact_iexecution_tab_get_type( void )
{
static GType iface_type = 0;
@@ -114,11 +69,11 @@ nact_icommand_tab_get_type( void )
static GType
register_type( void )
{
- static const gchar *thisfn = "nact_icommand_tab_register_type";
+ static const gchar *thisfn = "nact_iexecution_tab_register_type";
GType type;
static const GTypeInfo info = {
- sizeof( NactICommandTabInterface ),
+ sizeof( NactIExecutionTabInterface ),
( GBaseInitFunc ) interface_base_init,
( GBaseFinalizeFunc ) interface_base_finalize,
NULL,
@@ -131,7 +86,7 @@ register_type( void )
g_debug( "%s", thisfn );
- type = g_type_register_static( G_TYPE_INTERFACE, "NactICommandTab", &info, 0 );
+ type = g_type_register_static( G_TYPE_INTERFACE, "NactIExecutionTab", &info, 0 );
g_type_interface_add_prerequisite( type, BASE_WINDOW_TYPE );
@@ -139,24 +94,24 @@ register_type( void )
}
static void
-interface_base_init( NactICommandTabInterface *klass )
+interface_base_init( NactIExecutionTabInterface *klass )
{
- static const gchar *thisfn = "nact_icommand_tab_interface_base_init";
+ static const gchar *thisfn = "nact_iexecution_tab_interface_base_init";
if( !st_initialized ){
g_debug( "%s: klass=%p", thisfn, ( void * ) klass );
- klass->private = g_new0( NactICommandTabInterfacePrivate, 1 );
+ klass->private = g_new0( NactIExecutionTabInterfacePrivate, 1 );
st_initialized = TRUE;
}
}
static void
-interface_base_finalize( NactICommandTabInterface *klass )
+interface_base_finalize( NactIExecutionTabInterface *klass )
{
- static const gchar *thisfn = "nact_icommand_tab_interface_base_finalize";
+ static const gchar *thisfn = "nact_iexecution_tab_interface_base_finalize";
if( st_initialized && !st_finalized ){
@@ -169,213 +124,98 @@ interface_base_finalize( NactICommandTabInterface *klass )
}
/**
- * nact_icommand_tab_initial_load:
- * @window: this #NactICommandTab instance.
+ * nact_iexecution_tab_initial_load:
+ * @window: this #NactIExecutionTab instance.
*
* Initializes the tab widget at initial load.
- *
- * The GConf preference keys used in this tab were misnamed from v1.11.1
- * up to and including v1.12.0. Starting with v1.12.1, these are migrated
- * here, so that the normal code only makes use of 'good' keys.
*/
void
-nact_icommand_tab_initial_load_toplevel( NactICommandTab *instance )
+nact_iexecution_tab_initial_load_toplevel( NactIExecutionTab *instance )
{
- static const gchar *thisfn = "nact_icommand_tab_initial_load_toplevel";
+ static const gchar *thisfn = "nact_iexecution_tab_initial_load_toplevel";
g_debug( "%s: instance=%p", thisfn, ( void * ) instance );
- g_return_if_fail( NACT_IS_ICOMMAND_TAB( instance ));
+ g_return_if_fail( NACT_IS_IEXECUTION_TAB( instance ));
if( st_initialized && !st_finalized ){
-
- nact_iprefs_migrate_key( BASE_WINDOW( instance ), "iconditions-legend-dialog", IPREFS_LEGEND_DIALOG );
- nact_iprefs_migrate_key( BASE_WINDOW( instance ), "iconditions-command-chooser", IPREFS_COMMAND_CHOOSER );
- nact_iprefs_migrate_key( BASE_WINDOW( instance ), "iconditions-folder-uri", IPREFS_FOLDER_URI );
}
}
/**
- * nact_icommand_tab_runtime_init:
- * @window: this #NactICommandTab instance.
+ * nact_iexecution_tab_runtime_init:
+ * @window: this #NactIExecutionTab instance.
*
* Initializes the tab widget at each time the widget will be displayed.
* Connect signals and setup runtime values.
*/
void
-nact_icommand_tab_runtime_init_toplevel( NactICommandTab *instance )
+nact_iexecution_tab_runtime_init_toplevel( NactIExecutionTab *instance )
{
- static const gchar *thisfn = "nact_icommand_tab_runtime_init_toplevel";
- GtkWidget *label_entry, *path_entry, *parameters_entry;
- GtkButton *path_button, *legend_button;
+ static const gchar *thisfn = "nact_iexecution_tab_runtime_init_toplevel";
g_debug( "%s: instance=%p", thisfn, ( void * ) instance );
- g_return_if_fail( NACT_IS_ICOMMAND_TAB( instance ));
+ g_return_if_fail( NACT_IS_IEXECUTION_TAB( instance ));
if( st_initialized && !st_finalized ){
- label_entry = get_label_entry( instance );
- base_window_signal_connect(
- BASE_WINDOW( instance ),
- G_OBJECT( label_entry ),
- "changed",
- G_CALLBACK( on_label_changed ));
-
- path_entry = get_path_entry( instance );
- base_window_signal_connect(
- BASE_WINDOW( instance ),
- G_OBJECT( path_entry ),
- "changed",
- G_CALLBACK( on_path_changed ));
-
- path_button = get_path_button( instance );
- base_window_signal_connect(
- BASE_WINDOW( instance ),
- G_OBJECT( path_button ),
- "clicked",
- G_CALLBACK( on_path_browse ));
-
- parameters_entry = get_parameters_entry( instance );
- base_window_signal_connect(
- BASE_WINDOW( instance ),
- G_OBJECT( parameters_entry ),
- "changed",
- G_CALLBACK( on_parameters_changed ));
-
- legend_button = get_legend_button( instance );
- base_window_signal_connect(
- BASE_WINDOW( instance ),
- G_OBJECT( legend_button ),
- "clicked",
- G_CALLBACK( on_legend_clicked ));
-
base_window_signal_connect(
BASE_WINDOW( instance ),
G_OBJECT( instance ),
MAIN_WINDOW_SIGNAL_SELECTION_CHANGED,
G_CALLBACK( on_tab_updatable_selection_changed ));
-
- base_window_signal_connect(
- BASE_WINDOW( instance ),
- G_OBJECT( instance ),
- IACTIONS_LIST_SIGNAL_COLUMN_EDITED,
- G_CALLBACK( on_iactions_list_column_edited ));
}
}
void
-nact_icommand_tab_all_widgets_showed( NactICommandTab *instance )
+nact_iexecution_tab_all_widgets_showed( NactIExecutionTab *instance )
{
- static const gchar *thisfn = "nact_icommand_tab_all_widgets_showed";
+ static const gchar *thisfn = "nact_iexecution_tab_all_widgets_showed";
g_debug( "%s: instance=%p", thisfn, ( void * ) instance );
- g_return_if_fail( NACT_IS_ICOMMAND_TAB( instance ));
+ g_return_if_fail( NACT_IS_IEXECUTION_TAB( instance ));
if( st_initialized && !st_finalized ){
}
}
/**
- * nact_icommand_tab_dispose:
- * @window: this #NactICommandTab instance.
+ * nact_iexecution_tab_dispose:
+ * @window: this #NactIExecutionTab instance.
*
* Called at instance_dispose time.
*/
void
-nact_icommand_tab_dispose( NactICommandTab *instance )
+nact_iexecution_tab_dispose( NactIExecutionTab *instance )
{
- static const gchar *thisfn = "nact_icommand_tab_dispose";
+ static const gchar *thisfn = "nact_iexecution_tab_dispose";
g_debug( "%s: instance=%p", thisfn, ( void * ) instance );
- g_return_if_fail( NACT_IS_ICOMMAND_TAB( instance ));
+ g_return_if_fail( NACT_IS_IEXECUTION_TAB( instance ));
if( st_initialized && !st_finalized ){
- legend_dialog_hide( instance );
}
}
static void
-on_iactions_list_column_edited( NactICommandTab *instance, NAObject *object, gchar *text, gint column )
+on_tab_updatable_selection_changed( NactIExecutionTab *instance, gint count_selected )
{
- GtkWidget *label_widget;
-
- g_return_if_fail( NACT_IS_ICOMMAND_TAB( instance ));
-
- if( st_initialized && !st_finalized ){
-
- if( NA_IS_OBJECT_PROFILE( object )){
- label_widget = get_label_entry( instance );
- gtk_entry_set_text( GTK_ENTRY( label_widget ), text );
- }
- }
-}
-
-static void
-on_tab_updatable_selection_changed( NactICommandTab *instance, gint count_selected )
-{
- static const gchar *thisfn = "nact_icommand_tab_on_tab_updatable_selection_changed";
- NAObjectItem *item;
- NAObjectProfile *profile;
- gboolean enable_tab;
- GtkWidget *label_entry, *path_entry, *parameters_entry;
- gchar *label, *path, *parameters;
- gboolean editable;
- GtkButton *path_button;
- GtkButton *legend_button;
+ static const gchar *thisfn = "nact_iexecution_tab_on_tab_updatable_selection_changed";
g_debug( "%s: instance=%p, count_selected=%d", thisfn, ( void * ) instance, count_selected );
- g_return_if_fail( NACT_IS_ICOMMAND_TAB( instance ));
+ g_return_if_fail( NACT_IS_IEXECUTION_TAB( instance ));
if( st_initialized && !st_finalized ){
st_on_selection_change = TRUE;
- g_object_get(
- G_OBJECT( instance ),
- TAB_UPDATABLE_PROP_EDITED_ACTION, &item,
- TAB_UPDATABLE_PROP_EDITED_PROFILE, &profile,
- TAB_UPDATABLE_PROP_EDITABLE, &editable,
- NULL );
-
- enable_tab = tab_set_sensitive( instance );
-
- 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 );
+ tab_set_sensitive( instance );
st_on_selection_change = FALSE;
}
}
static gboolean
-tab_set_sensitive( NactICommandTab *instance )
+tab_set_sensitive( NactIExecutionTab *instance )
{
NAObjectProfile *profile;
gboolean enable_tab;
@@ -386,475 +226,7 @@ tab_set_sensitive( NactICommandTab *instance )
NULL );
enable_tab = ( profile != NULL );
- nact_main_tab_enable_page( NACT_MAIN_WINDOW( instance ), TAB_COMMAND, enable_tab );
+ nact_main_tab_enable_page( NACT_MAIN_WINDOW( instance ), TAB_EXECUTION, enable_tab );
return( enable_tab );
}
-
-static void
-check_for_label( NactICommandTab *instance, GtkEntry *entry, const gchar *label )
-{
- NAObjectProfile *edited;
-
- nact_main_statusbar_hide_status(
- NACT_MAIN_WINDOW( instance ),
- ICOMMAND_TAB_STATUSBAR_CONTEXT );
-
- set_label_label( instance, "black" );
-
- g_object_get(
- G_OBJECT( instance ),
- TAB_UPDATABLE_PROP_EDITED_PROFILE, &edited,
- NULL );
-
- if( edited && g_utf8_strlen( label, -1 ) == 0 ){
-
- /* i18n: status bar message when the profile label is empty */
- nact_main_statusbar_display_status(
- NACT_MAIN_WINDOW( instance ),
- ICOMMAND_TAB_STATUSBAR_CONTEXT,
- _( "Caution: a label is mandatory for the profile." ));
-
- set_label_label( instance, "red" );
- }
-}
-
-static GtkWidget *
-get_label_entry( NactICommandTab *instance )
-{
- return( base_window_get_widget( BASE_WINDOW( instance ), "ProfileLabelEntry" ));
-}
-
-static GtkButton *
-get_legend_button( NactICommandTab *instance )
-{
- return( GTK_BUTTON( base_window_get_widget( BASE_WINDOW( instance ), "CommandLegendButton" )));
-}
-
-static GtkWindow *
-get_legend_dialog( NactICommandTab *instance )
-{
- return( base_window_get_named_toplevel( BASE_WINDOW( instance ), "LegendDialog" ));
-}
-
-static GtkWidget *
-get_parameters_entry( NactICommandTab *instance )
-{
- return( base_window_get_widget( BASE_WINDOW( instance ), "CommandParametersEntry" ));
-}
-
-static GtkButton *
-get_path_button( NactICommandTab *instance )
-{
- return( GTK_BUTTON( base_window_get_widget( BASE_WINDOW( instance ), "CommandPathButton" )));
-}
-
-static GtkWidget *
-get_path_entry( NactICommandTab *instance )
-{
- return( base_window_get_widget( BASE_WINDOW( instance ), "CommandPathEntry" ));
-}
-
-static void
-legend_dialog_hide( NactICommandTab *instance )
-{
- GtkWindow *legend_dialog;
- GtkButton *legend_button;
- gboolean is_visible;
-
- legend_dialog = get_legend_dialog( instance );
- is_visible = ( gboolean ) GPOINTER_TO_INT(
- g_object_get_data( G_OBJECT( legend_dialog ), ICOMMAND_TAB_LEGEND_VISIBLE ));
-
- if( is_visible ){
- g_assert( 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)
- */
- legend_button = get_legend_button( instance );
- gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( legend_button ), FALSE );
-
- g_object_set_data( G_OBJECT( legend_dialog ), ICOMMAND_TAB_LEGEND_VISIBLE, GINT_TO_POINTER( FALSE ));
- }
-}
-
-static void
-legend_dialog_show( NactICommandTab *instance )
-{
- GtkWindow *legend_dialog;
- GtkWindow *toplevel;
-
- legend_dialog = get_legend_dialog( instance );
- gtk_window_set_deletable( legend_dialog, FALSE );
-
- toplevel = base_window_get_toplevel( BASE_WINDOW( instance ));
- gtk_window_set_transient_for( GTK_WINDOW( legend_dialog ), toplevel );
-
- base_iprefs_position_named_window( BASE_WINDOW( instance ), legend_dialog, IPREFS_LEGEND_DIALOG );
- gtk_widget_show( GTK_WIDGET( legend_dialog ));
-
- g_object_set_data( G_OBJECT( legend_dialog ), ICOMMAND_TAB_LEGEND_VISIBLE, GINT_TO_POINTER( TRUE ));
-}
-
-static void
-on_label_changed( GtkEntry *entry, NactICommandTab *instance )
-{
- NAObjectProfile *edited;
- const gchar *label;
-
- if( !st_on_selection_change ){
-
- g_object_get(
- G_OBJECT( instance ),
- TAB_UPDATABLE_PROP_EDITED_PROFILE, &edited,
- NULL );
-
- if( edited ){
- label = gtk_entry_get_text( entry );
- na_object_set_label( edited, label );
- g_signal_emit_by_name( G_OBJECT( instance ), TAB_UPDATABLE_SIGNAL_ITEM_UPDATED, edited, TRUE );
- check_for_label( instance, entry, label );
- }
- }
-}
-
-static void
-on_legend_clicked( GtkButton *button, NactICommandTab *instance )
-{
- if( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( button ))){
- legend_dialog_show( instance );
-
- } else {
- legend_dialog_hide( instance );
- }
-}
-
-static void
-on_parameters_changed( GtkEntry *entry, NactICommandTab *instance )
-{
- NAObjectProfile *edited;
-
- if( !st_on_selection_change ){
-
- g_object_get(
- G_OBJECT( instance ),
- TAB_UPDATABLE_PROP_EDITED_PROFILE, &edited,
- NULL );
-
- if( edited ){
- na_object_set_parameters( edited, gtk_entry_get_text( entry ));
- g_signal_emit_by_name( G_OBJECT( instance ), TAB_UPDATABLE_SIGNAL_ITEM_UPDATED, edited, FALSE );
- update_example_label( instance, edited );
- }
- }
-}
-
-static void
-on_path_browse( GtkButton *button, NactICommandTab *instance )
-{
- gboolean set_current_location = FALSE;
- gchar *uri = NULL;
- NactApplication *application;
- NAUpdater *updater;
- GtkWindow *toplevel;
- GtkWidget *dialog;
- GtkWidget *path_entry;
- const gchar *path;
- gchar *filename;
-
- application = NACT_APPLICATION( base_window_get_application( BASE_WINDOW( instance )));
- updater = nact_application_get_updater( application );
- toplevel = base_window_get_toplevel( BASE_WINDOW( instance ));
-
- dialog = gtk_file_chooser_dialog_new(
- _( "Choosing a command" ),
- toplevel,
- GTK_FILE_CHOOSER_ACTION_OPEN,
- GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
- GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT,
- NULL
- );
-
- base_iprefs_position_named_window( BASE_WINDOW( instance ), GTK_WINDOW( dialog ), IPREFS_COMMAND_CHOOSER );
-
- path_entry = get_path_entry( instance );
- path = gtk_entry_get_text( GTK_ENTRY( path_entry ));
-
- if( path && strlen( path )){
- set_current_location = gtk_file_chooser_set_filename( GTK_FILE_CHOOSER( dialog ), path );
-
- } else {
- uri = na_iprefs_read_string( NA_IPREFS( updater ), IPREFS_FOLDER_URI, "file:///bin" );
- gtk_file_chooser_set_current_folder_uri( GTK_FILE_CHOOSER( dialog ), uri );
- g_free( uri );
- }
-
- if( gtk_dialog_run( GTK_DIALOG( dialog )) == GTK_RESPONSE_ACCEPT ){
- filename = gtk_file_chooser_get_filename( GTK_FILE_CHOOSER( dialog ));
- gtk_entry_set_text( GTK_ENTRY( path_entry ), filename );
- g_free (filename);
- }
-
- uri = gtk_file_chooser_get_current_folder_uri( GTK_FILE_CHOOSER( dialog ));
- nact_iprefs_write_string( BASE_WINDOW( instance ), IPREFS_FOLDER_URI, uri );
- g_free( uri );
-
- base_iprefs_save_named_window_position( BASE_WINDOW( instance ), GTK_WINDOW( dialog ), IPREFS_COMMAND_CHOOSER );
-
- gtk_widget_destroy( dialog );
-}
-
-static void
-on_path_changed( GtkEntry *entry, NactICommandTab *instance )
-{
- NAObjectProfile *edited;
-
- if( !st_on_selection_change ){
-
- g_object_get(
- G_OBJECT( instance ),
- TAB_UPDATABLE_PROP_EDITED_PROFILE, &edited,
- NULL );
-
- if( edited ){
-
- na_object_set_path( edited, gtk_entry_get_text( entry ));
- g_signal_emit_by_name( G_OBJECT( instance ), TAB_UPDATABLE_SIGNAL_ITEM_UPDATED, edited, FALSE );
- update_example_label( instance, edited );
- }
- }
-}
-
-/*
- * Valid parameters :
- *
- * %d : base dir of the (first) selected file(s)/folder(s)
- * %f : the name of the (firstà selected file/folder
- * %h : hostname of the (first) URI
- * %m : list of the basename of the selected files/directories separated by space.
- * %M : list of the selected files/directories with their complete path separated by space.
- * %p : port number of the (first) URI
- * %R : space-separated list of selected URIs
- * %s : scheme of the (first) URI
- * %u : (first) URI
- * %U : username of the (first) URI
- * %% : a percent sign
- */
-static gchar *
-parse_parameters( NactICommandTab *instance )
-{
- GString *tmp_string = g_string_new( "" );
-
- /* i18n notes: example strings for the command preview */
- gchar *ex_path = _( "/path/to" );
- gchar *ex_files[] = { N_( "file1.txt" ), N_( "file2.txt" ), NULL };
- gchar *ex_dirs[] = { N_(" folder1" ), N_( "folder2" ), NULL };
- gchar *ex_mixed[] = { N_(" file1.txt" ), N_( "folder1" ), NULL };
- gchar *ex_scheme_default = "file";
- gchar *ex_host_default = _( "test.example.net" );
- gchar *ex_one_file = _( "file.txt" );
- gchar *ex_one_dir = _( "folder" );
- gchar *ex_port_default = _( "8080" );
- gchar *ex_one = NULL;
- gchar *ex_list = NULL;
- gchar *ex_path_list = NULL;
- gchar *ex_uri_file1 = _( "file:///path/to/file1.text" );
- gchar *ex_uri_file2 = _( "file:///path/to/file2.text" );
- gchar *ex_uri_folder1 = _( "file:///path/to/a/dir" );
- gchar *ex_uri_folder2 = _( "file:///path/to/another/dir" );
- gchar *ex_uri_list = NULL;
- gchar *ex_scheme;
- gchar *ex_host;
- gboolean is_file, is_dir;
- gboolean accept_multiple;
- GSList *scheme_list;
- guint iter_inc;
-
- const gchar *command = gtk_entry_get_text( GTK_ENTRY( get_path_entry( instance )));
- const gchar *param_template = gtk_entry_get_text( GTK_ENTRY( get_parameters_entry( instance )));
-
- gchar *iter = g_strdup( param_template );
- gchar *old_iter = iter;
- gchar *tmp;
- gchar *separator;
- gchar *start;
-
- g_string_append_printf( tmp_string, "%s ", command );
-
- /*nact_iconditions_tab_get_isfiledir( NACT_ICONDITIONS_TAB( instance ), &is_file, &is_dir );
- accept_multiple = nact_iconditions_tab_get_multiple( NACT_ICONDITIONS_TAB( instance ));*/
- is_file = TRUE;
- is_dir = TRUE;
- accept_multiple = TRUE;
-
- scheme_list = nact_ischemes_tab_get_schemes( NACT_ISCHEMES_TAB( instance ));
-
- separator = g_strdup_printf( " %s/", ex_path );
- start = g_strdup_printf( "%s/", ex_path );
-
- if( accept_multiple ){
- if( is_file && is_dir ){
- ex_one = ex_files[0];
- ex_list = na_core_utils_gstring_joinv( NULL, " ", ex_mixed );
- ex_path_list = na_core_utils_gstring_joinv( start, separator, ex_mixed );
- ex_uri_list = g_strjoin( " ", ex_uri_file1, ex_uri_folder1, NULL );
-
- } else if( is_dir ){
- ex_one = ex_dirs[0];
- ex_list = na_core_utils_gstring_joinv( NULL, " ", ex_dirs );
- ex_path_list = na_core_utils_gstring_joinv( start, separator, ex_dirs );
- ex_uri_list = g_strjoin( " ", ex_uri_folder1, ex_uri_folder2, NULL );
-
- } else if( is_file ){
- ex_one = ex_files[0];
- ex_list = na_core_utils_gstring_joinv( NULL, " ", ex_files );
- ex_path_list = na_core_utils_gstring_joinv( start, separator, ex_files );
- ex_uri_list = g_strjoin( " ", ex_uri_file1, ex_uri_file2, NULL );
- }
- } else {
- if( is_dir && !is_file ){
- ex_one = ex_one_dir;
- ex_uri_list = g_strdup( ex_uri_folder1 );
-
- } else {
- ex_one = ex_one_file;
- ex_uri_list = g_strdup( ex_uri_file1 );
- }
- ex_list = g_strdup( ex_one );
- ex_path_list = g_strjoin( "/", ex_path, ex_one, NULL );
- }
-
- g_free (start);
- g_free (separator);
-
- if( scheme_list != NULL ){
- ex_scheme = ( gchar * ) scheme_list->data;
- if( g_ascii_strcasecmp( ex_scheme, "file" ) == 0 ){
- if( g_slist_length( scheme_list ) > 1 ){
- ex_scheme = ( gchar * ) scheme_list->next->data;
- ex_host = ex_host_default;
- } else {
- ex_host = "";
- }
- } else {
- ex_host = ex_host_default;
- }
- } else {
- ex_scheme = ex_scheme_default;
- ex_host = "";
- }
-
- while(( iter = g_strstr_len( iter, strlen( iter ), "%" ))){
- tmp_string = g_string_append_len( tmp_string, old_iter, strlen( old_iter ) - strlen( iter ));
- iter_inc = 1;
- switch( iter[1] ){
-
- case 'd': /* base dir of the (first) selected file(s)/folder(s) */
- tmp_string = g_string_append( tmp_string, ex_path );
- break;
-
- case 'f': /* the basename of the (first) selected file/folder */
- tmp_string = g_string_append( tmp_string, ex_one );
- break;
-
- case 'h': /* hostname of the (first) URI */
- tmp_string = g_string_append( tmp_string, ex_host );
- break;
-
- case 'm': /* list of the basename of the selected files/directories separated by space */
- tmp_string = g_string_append( tmp_string, ex_list );
- break;
-
- case 'M': /* list of the selected files/directories with their complete path separated by space. */
- tmp_string = g_string_append( tmp_string, ex_path_list );
- break;
-
- case 'p': /* port number of the (first) URI */
- tmp_string = g_string_append( tmp_string, ex_port_default );
- break;
-
- case 'R': /* space-separated list of selected URIs */
- tmp_string = g_string_append( tmp_string, ex_uri_list );
- break;
-
- case 's': /* scheme of the (first) URI */
- tmp_string = g_string_append( tmp_string, ex_scheme );
- break;
-
- case 'u': /* (first) URI */
- tmp = g_strjoin( NULL, ex_scheme, "://", ex_path, "/", ex_one, NULL );
- tmp_string = g_string_append( tmp_string, tmp );
- g_free( tmp );
- break;
-
- case 'U': /* username of the GVfs URI */
- tmp_string = g_string_append( tmp_string, "root" );
- break;
-
- case '%': /* a percent sign */
- tmp_string = g_string_append_c( tmp_string, '%' );
- break;
-
- default:
- iter_inc = 1;
- break;
- }
- iter += iter_inc; /* skip the % sign and the character after. */
- old_iter = iter; /* store the new start of the string */
- }
- tmp_string = g_string_append_len( tmp_string, old_iter, strlen( old_iter ));
-
- na_core_utils_slist_free( scheme_list );
-
- g_free( ex_list );
- g_free( ex_path_list );
- g_free( ex_uri_list );
- g_free( iter );
-
- return( g_string_free( tmp_string, FALSE ));
-}
-
-static void
-set_label_label( NactICommandTab *instance, const gchar *color_str )
-{
- GtkWidget *label;
- GdkColor color;
-
- label = base_window_get_widget( BASE_WINDOW( instance ), "ProfileLabelLabel" );
- gdk_color_parse( color_str, &color );
- gtk_widget_modify_fg( label, GTK_STATE_NORMAL, &color );
-}
-
-static void
-update_example_label( NactICommandTab *instance, NAObjectProfile *profile )
-{
- /*static const char *thisfn = "nact_iconditions_update_example_label";*/
- gchar *newlabel;
- gchar *parameters;
- GtkWidget *example_widget;
-
- example_widget = base_window_get_widget( BASE_WINDOW( instance ), "CommandExampleLabel" );
-
- if( profile ){
- parameters = parse_parameters( instance );
- /*g_debug( "%s: parameters=%s", thisfn, parameters );*/
-
- /* convert special xml chars (&, <, >,...) to avoid warnings
- * generated by Pango parser
- */
- /* i18n: command-line example: e.g., /bin/ls file1.txt file2.txt */
- newlabel = g_markup_printf_escaped(
- "<i><b><span size=\"small\">%s %s</span></b></i>", _( "e.g.," ), parameters );
-
- g_free( parameters );
-
- } else {
- newlabel = g_strdup( "" );
- }
-
- gtk_label_set_label( GTK_LABEL( example_widget ), newlabel );
- g_free( newlabel );
-}
diff --git a/src/nact/nact-iexecution-tab.h b/src/nact/nact-iexecution-tab.h
index 122725d..d42fbc2 100644
--- a/src/nact/nact-iexecution-tab.h
+++ b/src/nact/nact-iexecution-tab.h
@@ -28,13 +28,13 @@
* ... and many others (see AUTHORS)
*/
-#ifndef __NACT_ICOMMAND_TAB_H__
-#define __NACT_ICOMMAND_TAB_H__
+#ifndef __NACT_IEXECUTION_TAB_H__
+#define __NACT_IEXECUTION_TAB_H__
/**
- * SECTION: nact_icommand_tab
- * @short_description: #NactICommandTab interface declaration.
- * @include: nact/nact-icommand-tab.h
+ * SECTION: nact_iexecution_tab
+ * @short_description: #NactIExecutionTab interface declaration.
+ * @include: nact/nact-iexecution-tab.h
*
* This interface implements all the widgets which define the
* actual action to be executed.
@@ -44,28 +44,28 @@
G_BEGIN_DECLS
-#define NACT_ICOMMAND_TAB_TYPE ( nact_icommand_tab_get_type())
-#define NACT_ICOMMAND_TAB( object ) ( G_TYPE_CHECK_INSTANCE_CAST( object, NACT_ICOMMAND_TAB_TYPE, NactICommandTab ))
-#define NACT_IS_ICOMMAND_TAB( object ) ( G_TYPE_CHECK_INSTANCE_TYPE( object, NACT_ICOMMAND_TAB_TYPE ))
-#define NACT_ICOMMAND_TAB_GET_INTERFACE( instance ) ( G_TYPE_INSTANCE_GET_INTERFACE(( instance ), NACT_ICOMMAND_TAB_TYPE, NactICommandTabInterface ))
+#define NACT_IEXECUTION_TAB_TYPE ( nact_iexecution_tab_get_type())
+#define NACT_IEXECUTION_TAB( object ) ( G_TYPE_CHECK_INSTANCE_CAST( object, NACT_IEXECUTION_TAB_TYPE, NactIExecutionTab ))
+#define NACT_IS_IEXECUTION_TAB( object ) ( G_TYPE_CHECK_INSTANCE_TYPE( object, NACT_IEXECUTION_TAB_TYPE ))
+#define NACT_IEXECUTION_TAB_GET_INTERFACE( instance ) ( G_TYPE_INSTANCE_GET_INTERFACE(( instance ), NACT_IEXECUTION_TAB_TYPE, NactIExecutionTabInterface ))
-typedef struct NactICommandTab NactICommandTab;
+typedef struct NactIExecutionTab NactIExecutionTab;
-typedef struct NactICommandTabInterfacePrivate NactICommandTabInterfacePrivate;
+typedef struct NactIExecutionTabInterfacePrivate NactIExecutionTabInterfacePrivate;
typedef struct {
- GTypeInterface parent;
- NactICommandTabInterfacePrivate *private;
+ GTypeInterface parent;
+ NactIExecutionTabInterfacePrivate *private;
}
- NactICommandTabInterface;
+ NactIExecutionTabInterface;
-GType nact_icommand_tab_get_type( void );
+GType nact_iexecution_tab_get_type( void );
-void nact_icommand_tab_initial_load_toplevel( NactICommandTab *instance );
-void nact_icommand_tab_runtime_init_toplevel( NactICommandTab *instance );
-void nact_icommand_tab_all_widgets_showed( NactICommandTab *instance );
-void nact_icommand_tab_dispose( NactICommandTab *instance );
+void nact_iexecution_tab_initial_load_toplevel( NactIExecutionTab *instance );
+void nact_iexecution_tab_runtime_init_toplevel( NactIExecutionTab *instance );
+void nact_iexecution_tab_all_widgets_showed ( NactIExecutionTab *instance );
+void nact_iexecution_tab_dispose ( NactIExecutionTab *instance );
G_END_DECLS
-#endif /* __NACT_ICOMMAND_TAB_H__ */
+#endif /* __NACT_IEXECUTION_TAB_H__ */
diff --git a/src/nact/nact-ifolders-tab.c b/src/nact/nact-ifolders-tab.c
index b1666a5..5926184 100644
--- a/src/nact/nact-ifolders-tab.c
+++ b/src/nact/nact-ifolders-tab.c
@@ -294,7 +294,6 @@ on_tab_updatable_selection_changed( NactIFoldersTab *instance, gint count_select
static const gchar *thisfn = "nact_ifolders_tab_on_tab_updatable_selection_changed";
NAObjectItem *item;
NAObjectProfile *profile;
- gboolean enable_tab;
gboolean editable;
GtkTreeView *treeview;
GtkTreeViewColumn *column;
@@ -318,7 +317,7 @@ on_tab_updatable_selection_changed( NactIFoldersTab *instance, gint count_select
g_return_if_fail( !item || NA_IS_OBJECT_ITEM( item ));
- enable_tab = tab_set_sensitive( instance );
+ tab_set_sensitive( instance );
if( item && NA_IS_OBJECT_ACTION( item )){
setup_folders( instance );
diff --git a/src/nact/nact-imimetypes-tab.c b/src/nact/nact-imimetypes-tab.c
index 24401c8..70eb112 100644
--- a/src/nact/nact-imimetypes-tab.c
+++ b/src/nact/nact-imimetypes-tab.c
@@ -32,75 +32,30 @@
#include <config.h>
#endif
-#include <glib/gi18n.h>
-#include <string.h>
-
-#include <api/na-core-utils.h>
#include <api/na-object-api.h>
-#include <core/na-iprefs.h>
-
-#include "base-window.h"
-#include "base-iprefs.h"
-#include "nact-application.h"
-#include "nact-main-statusbar.h"
-#include "nact-gtk-utils.h"
-#include "nact-iprefs.h"
-#include "nact-iactions-list.h"
#include "nact-main-tab.h"
-#include "nact-icommand-tab.h"
-#include "nact-iconditions-tab.h"
-#include "nact-ischemes-tab.h"
+#include "nact-imimetypes-tab.h"
/* private interface data
*/
-struct NactICommandTabInterfacePrivate {
+struct NactIMimetypesTabInterfacePrivate {
void *empty; /* so that gcc -pedantic is happy */
};
-/* the GConf key used to read/write size and position of auxiliary dialogs
- */
-#define IPREFS_LEGEND_DIALOG "icommand-legend-dialog"
-#define IPREFS_COMMAND_CHOOSER "icommand-command-chooser"
-#define IPREFS_FOLDER_URI "icommand-folder-uri"
-
-/* a data set in the LegendDialog GObject
- */
-#define ICOMMAND_TAB_LEGEND_VISIBLE "nact-icommand-tab-legend-dialog-visible"
-#define ICOMMAND_TAB_STATUSBAR_CONTEXT "nact-icommand-tab-statusbar-context"
-
static gboolean st_initialized = FALSE;
static gboolean st_finalized = FALSE;
static gboolean st_on_selection_change = FALSE;
-static GType register_type( void );
-static void interface_base_init( NactICommandTabInterface *klass );
-static void interface_base_finalize( NactICommandTabInterface *klass );
-
-static void on_iactions_list_column_edited( NactICommandTab *instance, NAObject *object, gchar *text, gint column );
-static void on_tab_updatable_selection_changed( NactICommandTab *instance, gint count_selected );
-static gboolean tab_set_sensitive( NactICommandTab *instance );
-
-static void check_for_label( NactICommandTab *instance, GtkEntry *entry, const gchar *label );
-static GtkWidget *get_label_entry( NactICommandTab *instance );
-static GtkButton *get_legend_button( NactICommandTab *instance );
-static GtkWindow *get_legend_dialog( NactICommandTab *instance );
-static GtkWidget *get_parameters_entry( NactICommandTab *instance );
-static GtkButton *get_path_button( NactICommandTab *instance );
-static GtkWidget *get_path_entry( NactICommandTab *instance );
-static void legend_dialog_show( NactICommandTab *instance );
-static void legend_dialog_hide( NactICommandTab *instance );
-static void on_label_changed( GtkEntry *entry, NactICommandTab *instance );
-static void on_legend_clicked( GtkButton *button, NactICommandTab *instance );
-static void on_parameters_changed( GtkEntry *entry, NactICommandTab *instance );
-static void on_path_browse( GtkButton *button, NactICommandTab *instance );
-static void on_path_changed( GtkEntry *entry, NactICommandTab *instance );
-static gchar *parse_parameters( NactICommandTab *instance );
-static void set_label_label( NactICommandTab *instance, const gchar *color );
-static void update_example_label( NactICommandTab *instance, NAObjectProfile *profile );
+static GType register_type( void );
+static void interface_base_init( NactIMimetypesTabInterface *klass );
+static void interface_base_finalize( NactIMimetypesTabInterface *klass );
+
+static void on_tab_updatable_selection_changed( NactIMimetypesTab *instance, gint count_selected );
+static gboolean tab_set_sensitive( NactIMimetypesTab *instance );
GType
-nact_icommand_tab_get_type( void )
+nact_imimetypes_tab_get_type( void )
{
static GType iface_type = 0;
@@ -114,11 +69,11 @@ nact_icommand_tab_get_type( void )
static GType
register_type( void )
{
- static const gchar *thisfn = "nact_icommand_tab_register_type";
+ static const gchar *thisfn = "nact_imimetypes_tab_register_type";
GType type;
static const GTypeInfo info = {
- sizeof( NactICommandTabInterface ),
+ sizeof( NactIMimetypesTabInterface ),
( GBaseInitFunc ) interface_base_init,
( GBaseFinalizeFunc ) interface_base_finalize,
NULL,
@@ -131,7 +86,7 @@ register_type( void )
g_debug( "%s", thisfn );
- type = g_type_register_static( G_TYPE_INTERFACE, "NactICommandTab", &info, 0 );
+ type = g_type_register_static( G_TYPE_INTERFACE, "NactIMimetypesTab", &info, 0 );
g_type_interface_add_prerequisite( type, BASE_WINDOW_TYPE );
@@ -139,24 +94,24 @@ register_type( void )
}
static void
-interface_base_init( NactICommandTabInterface *klass )
+interface_base_init( NactIMimetypesTabInterface *klass )
{
- static const gchar *thisfn = "nact_icommand_tab_interface_base_init";
+ static const gchar *thisfn = "nact_imimetypes_tab_interface_base_init";
if( !st_initialized ){
g_debug( "%s: klass=%p", thisfn, ( void * ) klass );
- klass->private = g_new0( NactICommandTabInterfacePrivate, 1 );
+ klass->private = g_new0( NactIMimetypesTabInterfacePrivate, 1 );
st_initialized = TRUE;
}
}
static void
-interface_base_finalize( NactICommandTabInterface *klass )
+interface_base_finalize( NactIMimetypesTabInterface *klass )
{
- static const gchar *thisfn = "nact_icommand_tab_interface_base_finalize";
+ static const gchar *thisfn = "nact_imimetypes_tab_interface_base_finalize";
if( st_initialized && !st_finalized ){
@@ -169,213 +124,98 @@ interface_base_finalize( NactICommandTabInterface *klass )
}
/**
- * nact_icommand_tab_initial_load:
- * @window: this #NactICommandTab instance.
+ * nact_imimetypes_tab_initial_load:
+ * @window: this #NactIMimetypesTab instance.
*
* Initializes the tab widget at initial load.
- *
- * The GConf preference keys used in this tab were misnamed from v1.11.1
- * up to and including v1.12.0. Starting with v1.12.1, these are migrated
- * here, so that the normal code only makes use of 'good' keys.
*/
void
-nact_icommand_tab_initial_load_toplevel( NactICommandTab *instance )
+nact_imimetypes_tab_initial_load_toplevel( NactIMimetypesTab *instance )
{
- static const gchar *thisfn = "nact_icommand_tab_initial_load_toplevel";
+ static const gchar *thisfn = "nact_imimetypes_tab_initial_load_toplevel";
g_debug( "%s: instance=%p", thisfn, ( void * ) instance );
- g_return_if_fail( NACT_IS_ICOMMAND_TAB( instance ));
+ g_return_if_fail( NACT_IS_IMIMETYPES_TAB( instance ));
if( st_initialized && !st_finalized ){
-
- nact_iprefs_migrate_key( BASE_WINDOW( instance ), "iconditions-legend-dialog", IPREFS_LEGEND_DIALOG );
- nact_iprefs_migrate_key( BASE_WINDOW( instance ), "iconditions-command-chooser", IPREFS_COMMAND_CHOOSER );
- nact_iprefs_migrate_key( BASE_WINDOW( instance ), "iconditions-folder-uri", IPREFS_FOLDER_URI );
}
}
/**
- * nact_icommand_tab_runtime_init:
- * @window: this #NactICommandTab instance.
+ * nact_imimetypes_tab_runtime_init:
+ * @window: this #NactIMimetypesTab instance.
*
* Initializes the tab widget at each time the widget will be displayed.
* Connect signals and setup runtime values.
*/
void
-nact_icommand_tab_runtime_init_toplevel( NactICommandTab *instance )
+nact_imimetypes_tab_runtime_init_toplevel( NactIMimetypesTab *instance )
{
- static const gchar *thisfn = "nact_icommand_tab_runtime_init_toplevel";
- GtkWidget *label_entry, *path_entry, *parameters_entry;
- GtkButton *path_button, *legend_button;
+ static const gchar *thisfn = "nact_imimetypes_tab_runtime_init_toplevel";
g_debug( "%s: instance=%p", thisfn, ( void * ) instance );
- g_return_if_fail( NACT_IS_ICOMMAND_TAB( instance ));
+ g_return_if_fail( NACT_IS_IMIMETYPES_TAB( instance ));
if( st_initialized && !st_finalized ){
- label_entry = get_label_entry( instance );
- base_window_signal_connect(
- BASE_WINDOW( instance ),
- G_OBJECT( label_entry ),
- "changed",
- G_CALLBACK( on_label_changed ));
-
- path_entry = get_path_entry( instance );
- base_window_signal_connect(
- BASE_WINDOW( instance ),
- G_OBJECT( path_entry ),
- "changed",
- G_CALLBACK( on_path_changed ));
-
- path_button = get_path_button( instance );
- base_window_signal_connect(
- BASE_WINDOW( instance ),
- G_OBJECT( path_button ),
- "clicked",
- G_CALLBACK( on_path_browse ));
-
- parameters_entry = get_parameters_entry( instance );
- base_window_signal_connect(
- BASE_WINDOW( instance ),
- G_OBJECT( parameters_entry ),
- "changed",
- G_CALLBACK( on_parameters_changed ));
-
- legend_button = get_legend_button( instance );
- base_window_signal_connect(
- BASE_WINDOW( instance ),
- G_OBJECT( legend_button ),
- "clicked",
- G_CALLBACK( on_legend_clicked ));
-
base_window_signal_connect(
BASE_WINDOW( instance ),
G_OBJECT( instance ),
MAIN_WINDOW_SIGNAL_SELECTION_CHANGED,
G_CALLBACK( on_tab_updatable_selection_changed ));
-
- base_window_signal_connect(
- BASE_WINDOW( instance ),
- G_OBJECT( instance ),
- IACTIONS_LIST_SIGNAL_COLUMN_EDITED,
- G_CALLBACK( on_iactions_list_column_edited ));
}
}
void
-nact_icommand_tab_all_widgets_showed( NactICommandTab *instance )
+nact_imimetypes_tab_all_widgets_showed( NactIMimetypesTab *instance )
{
- static const gchar *thisfn = "nact_icommand_tab_all_widgets_showed";
+ static const gchar *thisfn = "nact_imimetypes_tab_all_widgets_showed";
g_debug( "%s: instance=%p", thisfn, ( void * ) instance );
- g_return_if_fail( NACT_IS_ICOMMAND_TAB( instance ));
+ g_return_if_fail( NACT_IS_IMIMETYPES_TAB( instance ));
if( st_initialized && !st_finalized ){
}
}
/**
- * nact_icommand_tab_dispose:
- * @window: this #NactICommandTab instance.
+ * nact_imimetypes_tab_dispose:
+ * @window: this #NactIMimetypesTab instance.
*
* Called at instance_dispose time.
*/
void
-nact_icommand_tab_dispose( NactICommandTab *instance )
+nact_imimetypes_tab_dispose( NactIMimetypesTab *instance )
{
- static const gchar *thisfn = "nact_icommand_tab_dispose";
+ static const gchar *thisfn = "nact_imimetypes_tab_dispose";
g_debug( "%s: instance=%p", thisfn, ( void * ) instance );
- g_return_if_fail( NACT_IS_ICOMMAND_TAB( instance ));
+ g_return_if_fail( NACT_IS_IMIMETYPES_TAB( instance ));
if( st_initialized && !st_finalized ){
- legend_dialog_hide( instance );
}
}
static void
-on_iactions_list_column_edited( NactICommandTab *instance, NAObject *object, gchar *text, gint column )
+on_tab_updatable_selection_changed( NactIMimetypesTab *instance, gint count_selected )
{
- GtkWidget *label_widget;
-
- g_return_if_fail( NACT_IS_ICOMMAND_TAB( instance ));
-
- if( st_initialized && !st_finalized ){
-
- if( NA_IS_OBJECT_PROFILE( object )){
- label_widget = get_label_entry( instance );
- gtk_entry_set_text( GTK_ENTRY( label_widget ), text );
- }
- }
-}
-
-static void
-on_tab_updatable_selection_changed( NactICommandTab *instance, gint count_selected )
-{
- static const gchar *thisfn = "nact_icommand_tab_on_tab_updatable_selection_changed";
- NAObjectItem *item;
- NAObjectProfile *profile;
- gboolean enable_tab;
- GtkWidget *label_entry, *path_entry, *parameters_entry;
- gchar *label, *path, *parameters;
- gboolean editable;
- GtkButton *path_button;
- GtkButton *legend_button;
+ static const gchar *thisfn = "nact_imimetypes_tab_on_tab_updatable_selection_changed";
g_debug( "%s: instance=%p, count_selected=%d", thisfn, ( void * ) instance, count_selected );
- g_return_if_fail( NACT_IS_ICOMMAND_TAB( instance ));
+ g_return_if_fail( NACT_IS_IMIMETYPES_TAB( instance ));
if( st_initialized && !st_finalized ){
st_on_selection_change = TRUE;
- g_object_get(
- G_OBJECT( instance ),
- TAB_UPDATABLE_PROP_EDITED_ACTION, &item,
- TAB_UPDATABLE_PROP_EDITED_PROFILE, &profile,
- TAB_UPDATABLE_PROP_EDITABLE, &editable,
- NULL );
-
- enable_tab = tab_set_sensitive( instance );
-
- 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 );
+ tab_set_sensitive( instance );
st_on_selection_change = FALSE;
}
}
static gboolean
-tab_set_sensitive( NactICommandTab *instance )
+tab_set_sensitive( NactIMimetypesTab *instance )
{
NAObjectProfile *profile;
gboolean enable_tab;
@@ -386,475 +226,7 @@ tab_set_sensitive( NactICommandTab *instance )
NULL );
enable_tab = ( profile != NULL );
- nact_main_tab_enable_page( NACT_MAIN_WINDOW( instance ), TAB_COMMAND, enable_tab );
+ nact_main_tab_enable_page( NACT_MAIN_WINDOW( instance ), TAB_MIMETYPES, enable_tab );
return( enable_tab );
}
-
-static void
-check_for_label( NactICommandTab *instance, GtkEntry *entry, const gchar *label )
-{
- NAObjectProfile *edited;
-
- nact_main_statusbar_hide_status(
- NACT_MAIN_WINDOW( instance ),
- ICOMMAND_TAB_STATUSBAR_CONTEXT );
-
- set_label_label( instance, "black" );
-
- g_object_get(
- G_OBJECT( instance ),
- TAB_UPDATABLE_PROP_EDITED_PROFILE, &edited,
- NULL );
-
- if( edited && g_utf8_strlen( label, -1 ) == 0 ){
-
- /* i18n: status bar message when the profile label is empty */
- nact_main_statusbar_display_status(
- NACT_MAIN_WINDOW( instance ),
- ICOMMAND_TAB_STATUSBAR_CONTEXT,
- _( "Caution: a label is mandatory for the profile." ));
-
- set_label_label( instance, "red" );
- }
-}
-
-static GtkWidget *
-get_label_entry( NactICommandTab *instance )
-{
- return( base_window_get_widget( BASE_WINDOW( instance ), "ProfileLabelEntry" ));
-}
-
-static GtkButton *
-get_legend_button( NactICommandTab *instance )
-{
- return( GTK_BUTTON( base_window_get_widget( BASE_WINDOW( instance ), "CommandLegendButton" )));
-}
-
-static GtkWindow *
-get_legend_dialog( NactICommandTab *instance )
-{
- return( base_window_get_named_toplevel( BASE_WINDOW( instance ), "LegendDialog" ));
-}
-
-static GtkWidget *
-get_parameters_entry( NactICommandTab *instance )
-{
- return( base_window_get_widget( BASE_WINDOW( instance ), "CommandParametersEntry" ));
-}
-
-static GtkButton *
-get_path_button( NactICommandTab *instance )
-{
- return( GTK_BUTTON( base_window_get_widget( BASE_WINDOW( instance ), "CommandPathButton" )));
-}
-
-static GtkWidget *
-get_path_entry( NactICommandTab *instance )
-{
- return( base_window_get_widget( BASE_WINDOW( instance ), "CommandPathEntry" ));
-}
-
-static void
-legend_dialog_hide( NactICommandTab *instance )
-{
- GtkWindow *legend_dialog;
- GtkButton *legend_button;
- gboolean is_visible;
-
- legend_dialog = get_legend_dialog( instance );
- is_visible = ( gboolean ) GPOINTER_TO_INT(
- g_object_get_data( G_OBJECT( legend_dialog ), ICOMMAND_TAB_LEGEND_VISIBLE ));
-
- if( is_visible ){
- g_assert( 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)
- */
- legend_button = get_legend_button( instance );
- gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( legend_button ), FALSE );
-
- g_object_set_data( G_OBJECT( legend_dialog ), ICOMMAND_TAB_LEGEND_VISIBLE, GINT_TO_POINTER( FALSE ));
- }
-}
-
-static void
-legend_dialog_show( NactICommandTab *instance )
-{
- GtkWindow *legend_dialog;
- GtkWindow *toplevel;
-
- legend_dialog = get_legend_dialog( instance );
- gtk_window_set_deletable( legend_dialog, FALSE );
-
- toplevel = base_window_get_toplevel( BASE_WINDOW( instance ));
- gtk_window_set_transient_for( GTK_WINDOW( legend_dialog ), toplevel );
-
- base_iprefs_position_named_window( BASE_WINDOW( instance ), legend_dialog, IPREFS_LEGEND_DIALOG );
- gtk_widget_show( GTK_WIDGET( legend_dialog ));
-
- g_object_set_data( G_OBJECT( legend_dialog ), ICOMMAND_TAB_LEGEND_VISIBLE, GINT_TO_POINTER( TRUE ));
-}
-
-static void
-on_label_changed( GtkEntry *entry, NactICommandTab *instance )
-{
- NAObjectProfile *edited;
- const gchar *label;
-
- if( !st_on_selection_change ){
-
- g_object_get(
- G_OBJECT( instance ),
- TAB_UPDATABLE_PROP_EDITED_PROFILE, &edited,
- NULL );
-
- if( edited ){
- label = gtk_entry_get_text( entry );
- na_object_set_label( edited, label );
- g_signal_emit_by_name( G_OBJECT( instance ), TAB_UPDATABLE_SIGNAL_ITEM_UPDATED, edited, TRUE );
- check_for_label( instance, entry, label );
- }
- }
-}
-
-static void
-on_legend_clicked( GtkButton *button, NactICommandTab *instance )
-{
- if( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( button ))){
- legend_dialog_show( instance );
-
- } else {
- legend_dialog_hide( instance );
- }
-}
-
-static void
-on_parameters_changed( GtkEntry *entry, NactICommandTab *instance )
-{
- NAObjectProfile *edited;
-
- if( !st_on_selection_change ){
-
- g_object_get(
- G_OBJECT( instance ),
- TAB_UPDATABLE_PROP_EDITED_PROFILE, &edited,
- NULL );
-
- if( edited ){
- na_object_set_parameters( edited, gtk_entry_get_text( entry ));
- g_signal_emit_by_name( G_OBJECT( instance ), TAB_UPDATABLE_SIGNAL_ITEM_UPDATED, edited, FALSE );
- update_example_label( instance, edited );
- }
- }
-}
-
-static void
-on_path_browse( GtkButton *button, NactICommandTab *instance )
-{
- gboolean set_current_location = FALSE;
- gchar *uri = NULL;
- NactApplication *application;
- NAUpdater *updater;
- GtkWindow *toplevel;
- GtkWidget *dialog;
- GtkWidget *path_entry;
- const gchar *path;
- gchar *filename;
-
- application = NACT_APPLICATION( base_window_get_application( BASE_WINDOW( instance )));
- updater = nact_application_get_updater( application );
- toplevel = base_window_get_toplevel( BASE_WINDOW( instance ));
-
- dialog = gtk_file_chooser_dialog_new(
- _( "Choosing a command" ),
- toplevel,
- GTK_FILE_CHOOSER_ACTION_OPEN,
- GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
- GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT,
- NULL
- );
-
- base_iprefs_position_named_window( BASE_WINDOW( instance ), GTK_WINDOW( dialog ), IPREFS_COMMAND_CHOOSER );
-
- path_entry = get_path_entry( instance );
- path = gtk_entry_get_text( GTK_ENTRY( path_entry ));
-
- if( path && strlen( path )){
- set_current_location = gtk_file_chooser_set_filename( GTK_FILE_CHOOSER( dialog ), path );
-
- } else {
- uri = na_iprefs_read_string( NA_IPREFS( updater ), IPREFS_FOLDER_URI, "file:///bin" );
- gtk_file_chooser_set_current_folder_uri( GTK_FILE_CHOOSER( dialog ), uri );
- g_free( uri );
- }
-
- if( gtk_dialog_run( GTK_DIALOG( dialog )) == GTK_RESPONSE_ACCEPT ){
- filename = gtk_file_chooser_get_filename( GTK_FILE_CHOOSER( dialog ));
- gtk_entry_set_text( GTK_ENTRY( path_entry ), filename );
- g_free (filename);
- }
-
- uri = gtk_file_chooser_get_current_folder_uri( GTK_FILE_CHOOSER( dialog ));
- nact_iprefs_write_string( BASE_WINDOW( instance ), IPREFS_FOLDER_URI, uri );
- g_free( uri );
-
- base_iprefs_save_named_window_position( BASE_WINDOW( instance ), GTK_WINDOW( dialog ), IPREFS_COMMAND_CHOOSER );
-
- gtk_widget_destroy( dialog );
-}
-
-static void
-on_path_changed( GtkEntry *entry, NactICommandTab *instance )
-{
- NAObjectProfile *edited;
-
- if( !st_on_selection_change ){
-
- g_object_get(
- G_OBJECT( instance ),
- TAB_UPDATABLE_PROP_EDITED_PROFILE, &edited,
- NULL );
-
- if( edited ){
-
- na_object_set_path( edited, gtk_entry_get_text( entry ));
- g_signal_emit_by_name( G_OBJECT( instance ), TAB_UPDATABLE_SIGNAL_ITEM_UPDATED, edited, FALSE );
- update_example_label( instance, edited );
- }
- }
-}
-
-/*
- * Valid parameters :
- *
- * %d : base dir of the (first) selected file(s)/folder(s)
- * %f : the name of the (firstà selected file/folder
- * %h : hostname of the (first) URI
- * %m : list of the basename of the selected files/directories separated by space.
- * %M : list of the selected files/directories with their complete path separated by space.
- * %p : port number of the (first) URI
- * %R : space-separated list of selected URIs
- * %s : scheme of the (first) URI
- * %u : (first) URI
- * %U : username of the (first) URI
- * %% : a percent sign
- */
-static gchar *
-parse_parameters( NactICommandTab *instance )
-{
- GString *tmp_string = g_string_new( "" );
-
- /* i18n notes: example strings for the command preview */
- gchar *ex_path = _( "/path/to" );
- gchar *ex_files[] = { N_( "file1.txt" ), N_( "file2.txt" ), NULL };
- gchar *ex_dirs[] = { N_(" folder1" ), N_( "folder2" ), NULL };
- gchar *ex_mixed[] = { N_(" file1.txt" ), N_( "folder1" ), NULL };
- gchar *ex_scheme_default = "file";
- gchar *ex_host_default = _( "test.example.net" );
- gchar *ex_one_file = _( "file.txt" );
- gchar *ex_one_dir = _( "folder" );
- gchar *ex_port_default = _( "8080" );
- gchar *ex_one = NULL;
- gchar *ex_list = NULL;
- gchar *ex_path_list = NULL;
- gchar *ex_uri_file1 = _( "file:///path/to/file1.text" );
- gchar *ex_uri_file2 = _( "file:///path/to/file2.text" );
- gchar *ex_uri_folder1 = _( "file:///path/to/a/dir" );
- gchar *ex_uri_folder2 = _( "file:///path/to/another/dir" );
- gchar *ex_uri_list = NULL;
- gchar *ex_scheme;
- gchar *ex_host;
- gboolean is_file, is_dir;
- gboolean accept_multiple;
- GSList *scheme_list;
- guint iter_inc;
-
- const gchar *command = gtk_entry_get_text( GTK_ENTRY( get_path_entry( instance )));
- const gchar *param_template = gtk_entry_get_text( GTK_ENTRY( get_parameters_entry( instance )));
-
- gchar *iter = g_strdup( param_template );
- gchar *old_iter = iter;
- gchar *tmp;
- gchar *separator;
- gchar *start;
-
- g_string_append_printf( tmp_string, "%s ", command );
-
- /*nact_iconditions_tab_get_isfiledir( NACT_ICONDITIONS_TAB( instance ), &is_file, &is_dir );
- accept_multiple = nact_iconditions_tab_get_multiple( NACT_ICONDITIONS_TAB( instance ));*/
- is_file = TRUE;
- is_dir = TRUE;
- accept_multiple = TRUE;
-
- scheme_list = nact_ischemes_tab_get_schemes( NACT_ISCHEMES_TAB( instance ));
-
- separator = g_strdup_printf( " %s/", ex_path );
- start = g_strdup_printf( "%s/", ex_path );
-
- if( accept_multiple ){
- if( is_file && is_dir ){
- ex_one = ex_files[0];
- ex_list = na_core_utils_gstring_joinv( NULL, " ", ex_mixed );
- ex_path_list = na_core_utils_gstring_joinv( start, separator, ex_mixed );
- ex_uri_list = g_strjoin( " ", ex_uri_file1, ex_uri_folder1, NULL );
-
- } else if( is_dir ){
- ex_one = ex_dirs[0];
- ex_list = na_core_utils_gstring_joinv( NULL, " ", ex_dirs );
- ex_path_list = na_core_utils_gstring_joinv( start, separator, ex_dirs );
- ex_uri_list = g_strjoin( " ", ex_uri_folder1, ex_uri_folder2, NULL );
-
- } else if( is_file ){
- ex_one = ex_files[0];
- ex_list = na_core_utils_gstring_joinv( NULL, " ", ex_files );
- ex_path_list = na_core_utils_gstring_joinv( start, separator, ex_files );
- ex_uri_list = g_strjoin( " ", ex_uri_file1, ex_uri_file2, NULL );
- }
- } else {
- if( is_dir && !is_file ){
- ex_one = ex_one_dir;
- ex_uri_list = g_strdup( ex_uri_folder1 );
-
- } else {
- ex_one = ex_one_file;
- ex_uri_list = g_strdup( ex_uri_file1 );
- }
- ex_list = g_strdup( ex_one );
- ex_path_list = g_strjoin( "/", ex_path, ex_one, NULL );
- }
-
- g_free (start);
- g_free (separator);
-
- if( scheme_list != NULL ){
- ex_scheme = ( gchar * ) scheme_list->data;
- if( g_ascii_strcasecmp( ex_scheme, "file" ) == 0 ){
- if( g_slist_length( scheme_list ) > 1 ){
- ex_scheme = ( gchar * ) scheme_list->next->data;
- ex_host = ex_host_default;
- } else {
- ex_host = "";
- }
- } else {
- ex_host = ex_host_default;
- }
- } else {
- ex_scheme = ex_scheme_default;
- ex_host = "";
- }
-
- while(( iter = g_strstr_len( iter, strlen( iter ), "%" ))){
- tmp_string = g_string_append_len( tmp_string, old_iter, strlen( old_iter ) - strlen( iter ));
- iter_inc = 1;
- switch( iter[1] ){
-
- case 'd': /* base dir of the (first) selected file(s)/folder(s) */
- tmp_string = g_string_append( tmp_string, ex_path );
- break;
-
- case 'f': /* the basename of the (first) selected file/folder */
- tmp_string = g_string_append( tmp_string, ex_one );
- break;
-
- case 'h': /* hostname of the (first) URI */
- tmp_string = g_string_append( tmp_string, ex_host );
- break;
-
- case 'm': /* list of the basename of the selected files/directories separated by space */
- tmp_string = g_string_append( tmp_string, ex_list );
- break;
-
- case 'M': /* list of the selected files/directories with their complete path separated by space. */
- tmp_string = g_string_append( tmp_string, ex_path_list );
- break;
-
- case 'p': /* port number of the (first) URI */
- tmp_string = g_string_append( tmp_string, ex_port_default );
- break;
-
- case 'R': /* space-separated list of selected URIs */
- tmp_string = g_string_append( tmp_string, ex_uri_list );
- break;
-
- case 's': /* scheme of the (first) URI */
- tmp_string = g_string_append( tmp_string, ex_scheme );
- break;
-
- case 'u': /* (first) URI */
- tmp = g_strjoin( NULL, ex_scheme, "://", ex_path, "/", ex_one, NULL );
- tmp_string = g_string_append( tmp_string, tmp );
- g_free( tmp );
- break;
-
- case 'U': /* username of the GVfs URI */
- tmp_string = g_string_append( tmp_string, "root" );
- break;
-
- case '%': /* a percent sign */
- tmp_string = g_string_append_c( tmp_string, '%' );
- break;
-
- default:
- iter_inc = 1;
- break;
- }
- iter += iter_inc; /* skip the % sign and the character after. */
- old_iter = iter; /* store the new start of the string */
- }
- tmp_string = g_string_append_len( tmp_string, old_iter, strlen( old_iter ));
-
- na_core_utils_slist_free( scheme_list );
-
- g_free( ex_list );
- g_free( ex_path_list );
- g_free( ex_uri_list );
- g_free( iter );
-
- return( g_string_free( tmp_string, FALSE ));
-}
-
-static void
-set_label_label( NactICommandTab *instance, const gchar *color_str )
-{
- GtkWidget *label;
- GdkColor color;
-
- label = base_window_get_widget( BASE_WINDOW( instance ), "ProfileLabelLabel" );
- gdk_color_parse( color_str, &color );
- gtk_widget_modify_fg( label, GTK_STATE_NORMAL, &color );
-}
-
-static void
-update_example_label( NactICommandTab *instance, NAObjectProfile *profile )
-{
- /*static const char *thisfn = "nact_iconditions_update_example_label";*/
- gchar *newlabel;
- gchar *parameters;
- GtkWidget *example_widget;
-
- example_widget = base_window_get_widget( BASE_WINDOW( instance ), "CommandExampleLabel" );
-
- if( profile ){
- parameters = parse_parameters( instance );
- /*g_debug( "%s: parameters=%s", thisfn, parameters );*/
-
- /* convert special xml chars (&, <, >,...) to avoid warnings
- * generated by Pango parser
- */
- /* i18n: command-line example: e.g., /bin/ls file1.txt file2.txt */
- newlabel = g_markup_printf_escaped(
- "<i><b><span size=\"small\">%s %s</span></b></i>", _( "e.g.," ), parameters );
-
- g_free( parameters );
-
- } else {
- newlabel = g_strdup( "" );
- }
-
- gtk_label_set_label( GTK_LABEL( example_widget ), newlabel );
- g_free( newlabel );
-}
diff --git a/src/nact/nact-imimetypes-tab.h b/src/nact/nact-imimetypes-tab.h
index 122725d..ae2ffbd 100644
--- a/src/nact/nact-imimetypes-tab.h
+++ b/src/nact/nact-imimetypes-tab.h
@@ -28,44 +28,44 @@
* ... and many others (see AUTHORS)
*/
-#ifndef __NACT_ICOMMAND_TAB_H__
-#define __NACT_ICOMMAND_TAB_H__
+#ifndef __NACT_IMIMETYPES_TAB_H__
+#define __NACT_IMIMETYPES_TAB_H__
/**
- * SECTION: nact_icommand_tab
- * @short_description: #NactICommandTab interface declaration.
- * @include: nact/nact-icommand-tab.h
+ * SECTION: nact_imimetypes_tab
+ * @short_description: #NactIMimetypesTab interface declaration.
+ * @include: nact/nact-imimetypes-tab.h
*
* This interface implements all the widgets which define the
- * actual action to be executed.
+ * mimetypes-based conditions.
*/
#include <glib-object.h>
G_BEGIN_DECLS
-#define NACT_ICOMMAND_TAB_TYPE ( nact_icommand_tab_get_type())
-#define NACT_ICOMMAND_TAB( object ) ( G_TYPE_CHECK_INSTANCE_CAST( object, NACT_ICOMMAND_TAB_TYPE, NactICommandTab ))
-#define NACT_IS_ICOMMAND_TAB( object ) ( G_TYPE_CHECK_INSTANCE_TYPE( object, NACT_ICOMMAND_TAB_TYPE ))
-#define NACT_ICOMMAND_TAB_GET_INTERFACE( instance ) ( G_TYPE_INSTANCE_GET_INTERFACE(( instance ), NACT_ICOMMAND_TAB_TYPE, NactICommandTabInterface ))
+#define NACT_IMIMETYPES_TAB_TYPE ( nact_imimetypes_tab_get_type())
+#define NACT_IMIMETYPES_TAB( object ) ( G_TYPE_CHECK_INSTANCE_CAST( object, NACT_IMIMETYPES_TAB_TYPE, NactIMimetypesTab ))
+#define NACT_IS_IMIMETYPES_TAB( object ) ( G_TYPE_CHECK_INSTANCE_TYPE( object, NACT_IMIMETYPES_TAB_TYPE ))
+#define NACT_IMIMETYPES_TAB_GET_INTERFACE( instance ) ( G_TYPE_INSTANCE_GET_INTERFACE(( instance ), NACT_IMIMETYPES_TAB_TYPE, NactIMimetypesTabInterface ))
-typedef struct NactICommandTab NactICommandTab;
+typedef struct NactIMimetypesTab NactIMimetypesTab;
-typedef struct NactICommandTabInterfacePrivate NactICommandTabInterfacePrivate;
+typedef struct NactIMimetypesTabInterfacePrivate NactIMimetypesTabInterfacePrivate;
typedef struct {
- GTypeInterface parent;
- NactICommandTabInterfacePrivate *private;
+ GTypeInterface parent;
+ NactIMimetypesTabInterfacePrivate *private;
}
- NactICommandTabInterface;
+ NactIMimetypesTabInterface;
-GType nact_icommand_tab_get_type( void );
+GType nact_imimetypes_tab_get_type( void );
-void nact_icommand_tab_initial_load_toplevel( NactICommandTab *instance );
-void nact_icommand_tab_runtime_init_toplevel( NactICommandTab *instance );
-void nact_icommand_tab_all_widgets_showed( NactICommandTab *instance );
-void nact_icommand_tab_dispose( NactICommandTab *instance );
+void nact_imimetypes_tab_initial_load_toplevel( NactIMimetypesTab *instance );
+void nact_imimetypes_tab_runtime_init_toplevel( NactIMimetypesTab *instance );
+void nact_imimetypes_tab_all_widgets_showed ( NactIMimetypesTab *instance );
+void nact_imimetypes_tab_dispose ( NactIMimetypesTab *instance );
G_END_DECLS
-#endif /* __NACT_ICOMMAND_TAB_H__ */
+#endif /* __NACT_IMIMETYPES_TAB_H__ */
diff --git a/src/nact/nact-iproperties-tab.c b/src/nact/nact-iproperties-tab.c
index 7e382f1..f31d3fe 100644
--- a/src/nact/nact-iproperties-tab.c
+++ b/src/nact/nact-iproperties-tab.c
@@ -260,12 +260,13 @@ on_tab_updatable_selection_changed( NactIPropertiesTab *instance, gint count_sel
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_notebook_set_tab_label_text( notebook, page, _( "Menu" ));
- gtk_label_set_markup( GTK_LABEL( title_widget ), _( "<b>Menu properties</b>" ));
+ 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_notebook_set_tab_label_text( notebook, page, _( "Action" ));
- gtk_label_set_markup( GTK_LABEL( title_widget ), _( "<b>Action properties</b>" ));
+ gtk_label_set_label( GTK_LABEL( label_widget ), _( "_Action" ));
+ gtk_label_set_markup( GTK_LABEL( title_widget ), _( "<b>Action editable properties</b>" ));
}
}
diff --git a/src/nact/nact-ischemes-tab.c b/src/nact/nact-ischemes-tab.c
index 0532195..9f8f1ec 100644
--- a/src/nact/nact-ischemes-tab.c
+++ b/src/nact/nact-ischemes-tab.c
@@ -234,7 +234,6 @@ on_tab_updatable_selection_changed( NactISchemesTab *instance, gint count_select
static const gchar *thisfn = "nact_ischemes_tab_on_tab_updatable_selection_changed";
NAObjectItem *item;
NAObjectProfile *profile;
- gboolean enable_tab;
GSList *schemes;
gboolean editable;
@@ -251,7 +250,7 @@ on_tab_updatable_selection_changed( NactISchemesTab *instance, gint count_select
TAB_UPDATABLE_PROP_EDITABLE, &editable,
NULL );
- enable_tab = tab_set_sensitive( instance );
+ tab_set_sensitive( instance );
if( profile ){
schemes = na_object_get_schemes( profile );
diff --git a/src/nact/nact-main-tab.h b/src/nact/nact-main-tab.h
index 657d4b1..6edf574 100644
--- a/src/nact/nact-main-tab.h
+++ b/src/nact/nact-main-tab.h
@@ -61,9 +61,12 @@
enum {
TAB_ACTION = 0,
TAB_COMMAND,
+ TAB_BASENAMES,
+ TAB_MIMETYPES,
TAB_FOLDERS,
- TAB_CONDITIONS,
TAB_SCHEMES,
+ TAB_ENVIRONMENT,
+ TAB_EXECUTION,
TAB_PROPERTIES
};
diff --git a/src/nact/nact-main-window.c b/src/nact/nact-main-window.c
index 48e7dc0..1817d0b 100644
--- a/src/nact/nact-main-window.c
+++ b/src/nact/nact-main-window.c
@@ -49,10 +49,13 @@
#include "nact-iactions-list.h"
#include "nact-iaction-tab.h"
#include "nact-icommand-tab.h"
+#include "nact-ibasenames-tab.h"
+#include "nact-imimetypes-tab.h"
#include "nact-ifolders-tab.h"
-#include "nact-iconditions-tab.h"
-#include "nact-iproperties-tab.h"
#include "nact-ischemes-tab.h"
+#include "nact-ienvironment-tab.h"
+#include "nact-iexecution-tab.h"
+#include "nact-iproperties-tab.h"
#include "nact-main-tab.h"
#include "nact-main-menubar.h"
#include "nact-main-statusbar.h"
@@ -146,9 +149,12 @@ static void class_init( NactMainWindowClass *klass );
static void iactions_list_iface_init( NactIActionsListInterface *iface );
static void iaction_tab_iface_init( NactIActionTabInterface *iface );
static void icommand_tab_iface_init( NactICommandTabInterface *iface );
+static void ibasenames_tab_iface_init( NactIBasenamesTabInterface *iface );
+static void imimetypes_tab_iface_init( NactIMimetypesTabInterface *iface );
static void ifolders_tab_iface_init( NactIFoldersTabInterface *iface );
-static void iconditions_tab_iface_init( NactIConditionsTabInterface *iface );
static void ischemes_tab_iface_init( NactISchemesTabInterface *iface );
+static void ienvironment_tab_iface_init( NactIEnvironmentTabInterface *iface );
+static void iexecution_tab_iface_init( NactIExecutionTabInterface *iface );
static void iproperties_tab_iface_init( NactIPropertiesTabInterface *iface );
static void iabout_iface_init( NAIAboutInterface *iface );
static void ipivot_consumer_iface_init( NAIPivotConsumerInterface *iface );
@@ -235,14 +241,20 @@ register_type( void )
NULL
};
- static const GInterfaceInfo ifolders_tab_iface_info = {
- ( GInterfaceInitFunc ) ifolders_tab_iface_init,
+ static const GInterfaceInfo ibasenames_tab_iface_info = {
+ ( GInterfaceInitFunc ) ibasenames_tab_iface_init,
+ NULL,
+ NULL
+ };
+
+ static const GInterfaceInfo imimetypes_tab_iface_info = {
+ ( GInterfaceInitFunc ) imimetypes_tab_iface_init,
NULL,
NULL
};
- static const GInterfaceInfo iconditions_tab_iface_info = {
- ( GInterfaceInitFunc ) iconditions_tab_iface_init,
+ static const GInterfaceInfo ifolders_tab_iface_info = {
+ ( GInterfaceInitFunc ) ifolders_tab_iface_init,
NULL,
NULL
};
@@ -253,6 +265,18 @@ register_type( void )
NULL
};
+ static const GInterfaceInfo ienvironment_tab_iface_info = {
+ ( GInterfaceInitFunc ) ienvironment_tab_iface_init,
+ NULL,
+ NULL
+ };
+
+ static const GInterfaceInfo iexecution_tab_iface_info = {
+ ( GInterfaceInitFunc ) iexecution_tab_iface_init,
+ NULL,
+ NULL
+ };
+
static const GInterfaceInfo iproperties_tab_iface_info = {
( GInterfaceInitFunc ) iproperties_tab_iface_init,
NULL,
@@ -287,12 +311,18 @@ register_type( void )
g_type_add_interface_static( type, NACT_ICOMMAND_TAB_TYPE, &icommand_tab_iface_info );
- g_type_add_interface_static( type, NACT_IFOLDERS_TAB_TYPE, &ifolders_tab_iface_info );
+ g_type_add_interface_static( type, NACT_IBASENAMES_TAB_TYPE, &ibasenames_tab_iface_info );
+
+ g_type_add_interface_static( type, NACT_IMIMETYPES_TAB_TYPE, &imimetypes_tab_iface_info );
- g_type_add_interface_static( type, NACT_ICONDITIONS_TAB_TYPE, &iconditions_tab_iface_info );
+ g_type_add_interface_static( type, NACT_IFOLDERS_TAB_TYPE, &ifolders_tab_iface_info );
g_type_add_interface_static( type, NACT_ISCHEMES_TAB_TYPE, &ischemes_tab_iface_info );
+ g_type_add_interface_static( type, NACT_IENVIRONMENT_TAB_TYPE, &ienvironment_tab_iface_info );
+
+ g_type_add_interface_static( type, NACT_IEXECUTION_TAB_TYPE, &iexecution_tab_iface_info );
+
g_type_add_interface_static( type, NACT_IPROPERTIES_TAB_TYPE, &iproperties_tab_iface_info );
g_type_add_interface_static( type, NA_IABOUT_TYPE, &iabout_iface_info );
@@ -517,17 +547,25 @@ icommand_tab_iface_init( NactICommandTabInterface *iface )
}
static void
-ifolders_tab_iface_init( NactIFoldersTabInterface *iface )
+ibasenames_tab_iface_init( NactIBasenamesTabInterface *iface )
{
- static const gchar *thisfn = "nact_main_window_ifolders_tab_iface_init";
+ static const gchar *thisfn = "nact_main_window_ibasenames_tab_iface_init";
+
+ g_debug( "%s: iface=%p", thisfn, ( void * ) iface );
+}
+
+static void
+imimetypes_tab_iface_init( NactIMimetypesTabInterface *iface )
+{
+ static const gchar *thisfn = "nact_main_window_imimetypes_tab_iface_init";
g_debug( "%s: iface=%p", thisfn, ( void * ) iface );
}
static void
-iconditions_tab_iface_init( NactIConditionsTabInterface *iface )
+ifolders_tab_iface_init( NactIFoldersTabInterface *iface )
{
- static const gchar *thisfn = "nact_main_window_iconditions_tab_iface_init";
+ static const gchar *thisfn = "nact_main_window_ifolders_tab_iface_init";
g_debug( "%s: iface=%p", thisfn, ( void * ) iface );
}
@@ -541,6 +579,22 @@ ischemes_tab_iface_init( NactISchemesTabInterface *iface )
}
static void
+ienvironment_tab_iface_init( NactIEnvironmentTabInterface *iface )
+{
+ static const gchar *thisfn = "nact_main_window_ienvironment_tab_iface_init";
+
+ g_debug( "%s: iface=%p", thisfn, ( void * ) iface );
+}
+
+static void
+iexecution_tab_iface_init( NactIExecutionTabInterface *iface )
+{
+ static const gchar *thisfn = "nact_main_window_iexecution_tab_iface_init";
+
+ g_debug( "%s: iface=%p", thisfn, ( void * ) iface );
+}
+
+static void
iproperties_tab_iface_init( NactIPropertiesTabInterface *iface )
{
static const gchar *thisfn = "nact_main_window_iproperties_tab_iface_init";
@@ -728,9 +782,12 @@ instance_dispose( GObject *window )
nact_sort_buttons_dispose( self );
nact_iaction_tab_dispose( NACT_IACTION_TAB( window ));
nact_icommand_tab_dispose( NACT_ICOMMAND_TAB( window ));
+ nact_ibasenames_tab_dispose( NACT_IBASENAMES_TAB( window ));
+ nact_imimetypes_tab_dispose( NACT_IMIMETYPES_TAB( window ));
nact_ifolders_tab_dispose( NACT_IFOLDERS_TAB( window ));
- nact_iconditions_tab_dispose( NACT_ICONDITIONS_TAB( window ));
nact_ischemes_tab_dispose( NACT_ISCHEMES_TAB( window ));
+ nact_ienvironment_tab_dispose( NACT_IENVIRONMENT_TAB( window ));
+ nact_iexecution_tab_dispose( NACT_IEXECUTION_TAB( window ));
nact_iproperties_tab_dispose( NACT_IPROPERTIES_TAB( window ));
nact_main_menubar_dispose( self );
@@ -1052,9 +1109,12 @@ on_base_initial_load_toplevel( NactMainWindow *window, gpointer user_data )
nact_iaction_tab_initial_load_toplevel( NACT_IACTION_TAB( window ));
nact_icommand_tab_initial_load_toplevel( NACT_ICOMMAND_TAB( window ));
+ nact_ibasenames_tab_initial_load_toplevel( NACT_IBASENAMES_TAB( window ));
+ nact_imimetypes_tab_initial_load_toplevel( NACT_IMIMETYPES_TAB( window ));
nact_ifolders_tab_initial_load_toplevel( NACT_IFOLDERS_TAB( window ));
- nact_iconditions_tab_initial_load_toplevel( NACT_ICONDITIONS_TAB( window ));
nact_ischemes_tab_initial_load_toplevel( NACT_ISCHEMES_TAB( window ));
+ nact_ienvironment_tab_initial_load_toplevel( NACT_IENVIRONMENT_TAB( window ));
+ nact_iexecution_tab_initial_load_toplevel( NACT_IEXECUTION_TAB( window ));
nact_iproperties_tab_initial_load_toplevel( NACT_IPROPERTIES_TAB( window ));
nact_main_statusbar_initial_load_toplevel( window );
@@ -1090,10 +1150,14 @@ on_base_runtime_init_toplevel( NactMainWindow *window, gpointer user_data )
nact_iaction_tab_runtime_init_toplevel( NACT_IACTION_TAB( window ));
nact_icommand_tab_runtime_init_toplevel( NACT_ICOMMAND_TAB( window ));
+ nact_ibasenames_tab_runtime_init_toplevel( NACT_IBASENAMES_TAB( window ));
+ nact_imimetypes_tab_runtime_init_toplevel( NACT_IMIMETYPES_TAB( window ));
nact_ifolders_tab_runtime_init_toplevel( NACT_IFOLDERS_TAB( window ));
- nact_iconditions_tab_runtime_init_toplevel( NACT_ICONDITIONS_TAB( window ));
nact_ischemes_tab_runtime_init_toplevel( NACT_ISCHEMES_TAB( window ));
+ nact_ienvironment_tab_runtime_init_toplevel( NACT_IENVIRONMENT_TAB( window ));
+ nact_iexecution_tab_runtime_init_toplevel( NACT_IEXECUTION_TAB( window ));
nact_iproperties_tab_runtime_init_toplevel( NACT_IPROPERTIES_TAB( window ));
+
nact_main_menubar_runtime_init( window );
order_mode = na_iprefs_get_order_mode( NA_IPREFS( updater ));
@@ -1130,18 +1194,24 @@ on_base_all_widgets_showed( NactMainWindow *window, gpointer user_data )
g_return_if_fail( NACT_IS_IACTIONS_LIST( window ));
g_return_if_fail( NACT_IS_IACTION_TAB( window ));
g_return_if_fail( NACT_IS_ICOMMAND_TAB( window ));
+ g_return_if_fail( NACT_IS_IBASENAMES_TAB( window ));
+ g_return_if_fail( NACT_IS_IMIMETYPES_TAB( window ));
g_return_if_fail( NACT_IS_IFOLDERS_TAB( window ));
- g_return_if_fail( NACT_IS_ICONDITIONS_TAB( window ));
g_return_if_fail( NACT_IS_ISCHEMES_TAB( window ));
+ g_return_if_fail( NACT_IS_IENVIRONMENT_TAB( window ));
+ g_return_if_fail( NACT_IS_IEXECUTION_TAB( window ));
g_return_if_fail( NACT_IS_IPROPERTIES_TAB( window ));
if( !window->private->dispose_has_run ){
nact_iaction_tab_all_widgets_showed( NACT_IACTION_TAB( window ));
nact_icommand_tab_all_widgets_showed( NACT_ICOMMAND_TAB( window ));
+ nact_ibasenames_tab_all_widgets_showed( NACT_IBASENAMES_TAB( window ));
+ nact_imimetypes_tab_all_widgets_showed( NACT_IMIMETYPES_TAB( window ));
nact_ifolders_tab_all_widgets_showed( NACT_IFOLDERS_TAB( window ));
- nact_iconditions_tab_all_widgets_showed( NACT_ICONDITIONS_TAB( window ));
nact_ischemes_tab_all_widgets_showed( NACT_ISCHEMES_TAB( window ));
+ nact_ienvironment_tab_all_widgets_showed( NACT_IENVIRONMENT_TAB( window ));
+ nact_iexecution_tab_all_widgets_showed( NACT_IEXECUTION_TAB( window ));
nact_iproperties_tab_all_widgets_showed( NACT_IPROPERTIES_TAB( window ));
nact_iactions_list_all_widgets_showed( NACT_IACTIONS_LIST( window ));
diff --git a/src/nact/nautilus-actions-config-tool.ui b/src/nact/nautilus-actions-config-tool.ui
index e1b9955..84c055c 100644
--- a/src/nact/nautilus-actions-config-tool.ui
+++ b/src/nact/nautilus-actions-config-tool.ui
@@ -210,7 +210,6 @@ Menus are always candidate if they contain at least one action.</property>
<property name="top_attach">2</property>
<property name="bottom_attach">3</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
</packing>
</child>
<child>
@@ -342,7 +341,6 @@ Menus are never displayed in the toolbar.</property>
</object>
<packing>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
</packing>
</child>
<child>
@@ -357,7 +355,6 @@ Menus are never displayed in the toolbar.</property>
<property name="top_attach">1</property>
<property name="bottom_attach">2</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
</packing>
</child>
<child>
@@ -2420,63 +2417,12 @@ Defining several profiles lets you have several commands, each applying with a d
<child>
<object class="GtkTable" id="table4">
<property name="visible">True</property>
- <property name="n_rows">6</property>
+ <property name="n_rows">3</property>
<property name="n_columns">2</property>
<property name="column_spacing">6</property>
<property name="row_spacing">3</property>
<child>
- <object class="GtkLabel" id="ActionItemID">
- <property name="visible">True</property>
- <property name="xalign">0</property>
- <property name="yalign">1</property>
- <property name="ypad">6</property>
- </object>
- <packing>
- <property name="left_attach">1</property>
- <property name="right_attach">2</property>
- <property name="top_attach">4</property>
- <property name="bottom_attach">5</property>
- <property name="y_options">GTK_FILL</property>
- </packing>
- </child>
- <child>
- <object class="GtkLabel" id="ActionIdLabel">
- <property name="visible">True</property>
- <property name="xalign">1</property>
- <property name="label" translatable="yes">Id. :</property>
- </object>
- <packing>
- <property name="top_attach">4</property>
- <property name="bottom_attach">5</property>
- <property name="x_options">GTK_FILL</property>
- </packing>
- </child>
- <child>
- <object class="GtkLabel" id="label19">
- <property name="visible">True</property>
- <property name="xalign">1</property>
- <property name="label" translatable="yes">I/O provider :</property>
- </object>
- <packing>
- <property name="top_attach">5</property>
- <property name="bottom_attach">6</property>
- <property name="x_options">GTK_FILL</property>
- </packing>
- </child>
- <child>
- <object class="GtkLabel" id="ActionItemProvider">
- <property name="visible">True</property>
- <property name="xalign">0</property>
- </object>
- <packing>
- <property name="left_attach">1</property>
- <property name="right_attach">2</property>
- <property name="top_attach">5</property>
- <property name="bottom_attach">6</property>
- </packing>
- </child>
- <child>
- <object class="GtkLabel" id="ActionDescriptionLabel">
+ <object class="GtkLabel" id="label18">
<property name="visible">True</property>
<property name="xalign">1</property>
<property name="yalign">0</property>
@@ -2525,22 +2471,6 @@ Defining several profiles lets you have several commands, each applying with a d
</packing>
</child>
<child>
- <object class="GtkCheckButton" id="ActionReadonlyButton">
- <property name="label" translatable="yes">Read-only</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">False</property>
- <property name="focus_on_click">False</property>
- <property name="draw_indicator">True</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>
- </packing>
- </child>
- <child>
<object class="GtkLabel" id="label39">
<property name="visible">True</property>
<property name="xalign">1</property>
@@ -2550,6 +2480,7 @@ Defining several profiles lets you have several commands, each applying with a d
<packing>
<property name="top_attach">2</property>
<property name="bottom_attach">3</property>
+ <property name="x_options">GTK_FILL</property>
</packing>
</child>
<child>
@@ -2581,6 +2512,106 @@ Defining several profiles lets you have several commands, each applying with a d
<child>
<placeholder/>
</child>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child type="label">
+ <object class="GtkLabel" id="ActionPropertiesTitle">
+ <property name="visible">True</property>
+ <property name="xpad">5</property>
+ <property name="label" translatable="yes"><b>Action editable properties</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="frame6">
+ <property name="visible">True</property>
+ <property name="label_xalign">0</property>
+ <property name="shadow_type">in</property>
+ <child>
+ <object class="GtkAlignment" id="alignment6">
+ <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="table3">
+ <property name="visible">True</property>
+ <property name="n_rows">3</property>
+ <property name="n_columns">2</property>
+ <property name="column_spacing">6</property>
+ <property name="row_spacing">6</property>
+ <child>
+ <object class="GtkLabel" id="ActionItemID">
+ <property name="visible">True</property>
+ <property name="xalign">0</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="y_options">GTK_FILL</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="label49">
+ <property name="visible">True</property>
+ <property name="xalign">1</property>
+ <property name="label" translatable="yes">Id. :</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="GtkLabel" id="label19">
+ <property name="visible">True</property>
+ <property name="xalign">1</property>
+ <property name="label" translatable="yes">I/O provider :</property>
+ </object>
+ <packing>
+ <property name="top_attach">2</property>
+ <property name="bottom_attach">3</property>
+ <property name="x_options">GTK_FILL</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="ActionItemProvider">
+ <property name="visible">True</property>
+ <property name="xalign">0</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>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkCheckButton" id="ActionReadonlyButton">
+ <property name="label" translatable="yes">Read-only</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="focus_on_click">False</property>
+ <property name="draw_indicator">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+ </packing>
+ </child>
<child>
<placeholder/>
</child>
@@ -2589,17 +2620,17 @@ Defining several profiles lets you have several commands, each applying with a d
</object>
</child>
<child type="label">
- <object class="GtkLabel" id="ActionPropertiesTitle">
+ <object class="GtkLabel" id="label10">
<property name="visible">True</property>
<property name="xpad">5</property>
- <property name="label" translatable="yes"><b>Action properties</b></property>
+ <property name="label" translatable="yes"><b>Read-only properties</b></property>
<property name="use_markup">True</property>
</object>
</child>
</object>
<packing>
<property name="expand">False</property>
- <property name="position">0</property>
+ <property name="position">1</property>
</packing>
</child>
</object>
@@ -2763,6 +2794,9 @@ Defining several profiles lets you have several commands, each applying with a d
<placeholder/>
</child>
<child>
+ <placeholder/>
+ </child>
+ <child>
<object class="GtkLabel" id="label3">
<property name="visible">True</property>
<property name="label" translatable="yes">This assistant will guide you through the process of importing items, actions or menus.</property>
@@ -2778,10 +2812,10 @@ Defining several profiles lets you have several commands, each applying with a d
<child>
<object class="GtkFileChooserWidget" id="ImportFileChooser">
<property name="visible">True</property>
- <property name="preview_widget_active">False</property>
<property name="local_only">False</property>
- <property name="select_multiple">True</property>
+ <property name="preview_widget_active">False</property>
<property name="use_preview_label">False</property>
+ <property name="select_multiple">True</property>
</object>
<packing>
<property name="position">0</property>
@@ -3587,39 +3621,39 @@ Be warned: this mode may be dangerous. You will not be prompted another time.</p
</object>
<object class="GtkSizeGroup" id="CommandLabelSizeGroup">
<widgets>
- <widget name="ProfileLabelLabel"/>
- <widget name="CommandPathLabel"/>
- <widget name="CommandParametersLabel"/>
<widget name="label4"/>
+ <widget name="CommandParametersLabel"/>
+ <widget name="CommandPathLabel"/>
+ <widget name="ProfileLabelLabel"/>
</widgets>
</object>
<object class="GtkSizeGroup" id="CommandButtonSizeGroup">
<widgets>
- <widget name="CommandPathButton"/>
<widget name="CommandLegendButton"/>
+ <widget name="CommandPathButton"/>
</widgets>
</object>
<object class="GtkSizeGroup" id="ActionLabelSizeGroup">
<widgets>
- <widget name="ActionToolbarLabelLabel"/>
<widget name="ActionMenuLabelLabel"/>
- <widget name="ActionIdLabel"/>
+ <widget name="ActionToolbarLabelLabel"/>
<widget name="ActionTooltipLabel"/>
<widget name="ActionIconLabel"/>
</widgets>
</object>
- <object class="GtkSizeGroup" id="ConditionsLabelSizeGroup">
+ <object class="GtkSizeGroup" id="ExecutionModeSizeGroup">
<widgets>
- <widget name="label17"/>
- <widget name="ConditionsMimetypesLabel"/>
- <widget name="ConditionsFilenamesLabel"/>
+ <widget name="label43"/>
+ <widget name="label44"/>
+ <widget name="label45"/>
</widgets>
</object>
- <object class="GtkSizeGroup" id="ExecutionModeSizeGroup">
+ <object class="GtkSizeGroup" id="PropertiesLabelSizeGroup">
<widgets>
- <widget name="label45"/>
- <widget name="label44"/>
- <widget name="label43"/>
+ <widget name="label18"/>
+ <widget name="label39"/>
+ <widget name="label49"/>
+ <widget name="label19"/>
</widgets>
</object>
</interface>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]