gnome-commander r2345 - in branches/gcmd-1-3: . src/dialogs
- From: epiotr svn gnome org
- To: svn-commits-list gnome org
- Subject: gnome-commander r2345 - in branches/gcmd-1-3: . src/dialogs
- Date: Tue, 9 Dec 2008 19:24:51 +0000 (UTC)
Author: epiotr
Date: Tue Dec 9 19:24:50 2008
New Revision: 2345
URL: http://svn.gnome.org/viewvc/gnome-commander?rev=2345&view=rev
Log:
advrename: replaced 'Add' button with 'Duplicate' one
Modified:
branches/gcmd-1-3/ChangeLog
branches/gcmd-1-3/src/dialogs/gnome-cmd-advrename-profiles-dialog.cc
Modified: branches/gcmd-1-3/src/dialogs/gnome-cmd-advrename-profiles-dialog.cc
==============================================================================
--- branches/gcmd-1-3/src/dialogs/gnome-cmd-advrename-profiles-dialog.cc (original)
+++ branches/gcmd-1-3/src/dialogs/gnome-cmd-advrename-profiles-dialog.cc Tue Dec 9 19:24:50 2008
@@ -40,7 +40,7 @@
static GtkWidget *create_view_and_model (Profiles &profiles);
static void cell_edited_callback (GtkCellRendererText *cell, gchar *path_string, gchar *new_text, GtkWidget *view);
-static void add_clicked_callback (GtkButton *button, GtkWidget *view);
+static void duplicate_clicked_callback (GtkButton *button, GtkWidget *view);
static void edit_clicked_callback (GtkButton *button, GtkWidget *view);
static void remove_clicked_callback (GtkButton *button, GtkWidget *view);
static void import_clicked_callback (GtkButton *button, GtkWidget *view);
@@ -56,6 +56,25 @@
} ;
+inline void add_profile(GtkWidget *view, GnomeCmdData::AdvrenameConfig::Profile &p, guint idx)
+{
+ GtkTreeModel *model = gtk_tree_view_get_model (GTK_TREE_VIEW (view));
+ GtkTreeIter i;
+
+ gtk_list_store_append (GTK_LIST_STORE (model), &i);
+ gtk_list_store_set (GTK_LIST_STORE (model), &i,
+ COL_PROFILE_IDX, idx,
+ COL_NAME, p.name.c_str(),
+ COL_TEMPLATE, p.template_string.c_str(),
+ -1);
+
+ GtkTreePath *path = gtk_tree_model_get_path (model, &i);
+ gtk_widget_grab_focus (view);
+ gtk_tree_view_set_cursor (GTK_TREE_VIEW (view), path, gtk_tree_view_get_column (GTK_TREE_VIEW (view),0), TRUE);
+ gtk_tree_path_free(path);
+}
+
+
gboolean gnome_cmd_advrename_profiles_dialog_new (const gchar *title, GtkWindow *parent, GnomeCmdData::AdvrenameConfig &cfg, gboolean new_profile)
{
profiles = cfg.profiles;
@@ -101,8 +120,10 @@
vbox = gtk_vbox_new (FALSE, 12);
gtk_box_pack_start (GTK_BOX (hbox), vbox, FALSE, FALSE, 0);
- button = gtk_button_new_from_stock (GTK_STOCK_ADD);
- g_signal_connect (button, "clicked", G_CALLBACK (add_clicked_callback), view);
+ button = gtk_button_new_with_mnemonic (_("_Duplicate"));
+ gtk_button_set_image (GTK_BUTTON (button),
+ gtk_image_new_from_stock (GTK_STOCK_ADD, GTK_ICON_SIZE_BUTTON));
+ g_signal_connect (button, "clicked", G_CALLBACK (duplicate_clicked_callback), view);
gtk_box_pack_start (GTK_BOX (vbox), button, FALSE, FALSE, 0);
button = gtk_button_new_from_stock (GTK_STOCK_EDIT);
@@ -121,7 +142,7 @@
button = gtk_button_new_with_mnemonic (_("Import _remote..."));
gtk_button_set_image (GTK_BUTTON (button),
- gtk_image_new_from_stock (GTK_STOCK_OPEN, GTK_ICON_SIZE_BUTTON));
+ gtk_image_new_from_stock (GTK_STOCK_NETWORK, GTK_ICON_SIZE_BUTTON));
g_signal_connect (button, "clicked", G_CALLBACK (import_clicked_callback), view);
gtk_box_pack_start (GTK_BOX (vbox), button, FALSE, FALSE, 0);
@@ -132,7 +153,10 @@
g_signal_connect (dialog, "response", G_CALLBACK (response_callback), &profiles);
if (new_profile)
- add_clicked_callback (NULL, view);
+ {
+ profiles.push_back(default_profile);
+ add_profile(view, profiles.back(), profiles.size()-1);
+ }
gint result = gtk_dialog_run (GTK_DIALOG (dialog));
@@ -255,26 +279,21 @@
}
-static void add_clicked_callback (GtkButton *button, GtkWidget *view)
+static void duplicate_clicked_callback (GtkButton *button, GtkWidget *view)
{
- GtkTreeModel *model = gtk_tree_view_get_model (GTK_TREE_VIEW (view));
+ GtkTreeSelection *selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (view));
GtkTreeIter i;
- profiles.push_back(default_profile);
-
- GnomeCmdData::AdvrenameConfig::Profile &p = profiles.back();
+ if (gtk_tree_selection_get_selected (selection, NULL, &i))
+ {
+ guint idx;
- gtk_list_store_append (GTK_LIST_STORE (model), &i);
- gtk_list_store_set (GTK_LIST_STORE (model), &i,
- COL_PROFILE_IDX, profiles.size()-1,
- COL_NAME, p.name.c_str(),
- COL_TEMPLATE, p.template_string.c_str(),
- -1);
+ GtkTreeModel *model = gtk_tree_view_get_model (GTK_TREE_VIEW (view));
+ gtk_tree_model_get (model, &i, COL_PROFILE_IDX, &idx, -1);
- GtkTreePath *path = gtk_tree_model_get_path (model, &i);
- gtk_widget_grab_focus (view);
- gtk_tree_view_set_cursor (GTK_TREE_VIEW (view), path, gtk_tree_view_get_column (GTK_TREE_VIEW (view),0), TRUE);
- gtk_tree_path_free(path);
+ profiles.push_back(profiles[idx]);
+ add_profile(view, profiles.back(), profiles.size()-1);
+ }
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]