summaryrefslogtreecommitdiff
path: root/plugins/gtkui
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/gtkui')
-rw-r--r--plugins/gtkui/callbacks.c19
-rw-r--r--plugins/gtkui/callbacks.h4
-rw-r--r--plugins/gtkui/deadbeef.glade1
-rw-r--r--plugins/gtkui/interface.c3
-rw-r--r--plugins/gtkui/plcommon.c3
5 files changed, 30 insertions, 0 deletions
diff --git a/plugins/gtkui/callbacks.c b/plugins/gtkui/callbacks.c
index be18328c..d9533056 100644
--- a/plugins/gtkui/callbacks.c
+++ b/plugins/gtkui/callbacks.c
@@ -801,6 +801,16 @@ on_helpwindow_key_press_event (GtkWidget *widget,
return FALSE;
}
+// defined in plcommon.c
+extern int editcolumn_title_changed;
+
+void
+on_editcolumn_title_changed (GtkEditable *editable,
+ gpointer user_data)
+{
+ editcolumn_title_changed = 1;
+}
+
void
on_column_id_changed (GtkComboBox *combobox,
gpointer user_data)
@@ -817,6 +827,14 @@ on_column_id_changed (GtkComboBox *combobox,
return;
}
gtk_widget_set_sensitive (fmt, act >= DB_COLUMN_ID_MAX ? TRUE : FALSE);
+
+ if (!editcolumn_title_changed) {
+ GtkWidget *title= lookup_widget (toplevel, "title");
+ if (title) {
+ gtk_entry_set_text (GTK_ENTRY (title), gtk_combo_box_get_active_text (combobox));
+ editcolumn_title_changed = 0;
+ }
+ }
}
@@ -1273,3 +1291,4 @@ on_sort_by_custom_activate (GtkMenuItem *menuitem,
dlg = NULL;
}
+
diff --git a/plugins/gtkui/callbacks.h b/plugins/gtkui/callbacks.h
index a354baca..068cce0a 100644
--- a/plugins/gtkui/callbacks.h
+++ b/plugins/gtkui/callbacks.h
@@ -1163,3 +1163,7 @@ on_convert8to16_toggled (GtkToggleButton *togglebutton,
void
on_reset_autostop_toggled (GtkToggleButton *togglebutton,
gpointer user_data);
+
+void
+on_editcolumn_title_changed (GtkEditable *editable,
+ gpointer user_data);
diff --git a/plugins/gtkui/deadbeef.glade b/plugins/gtkui/deadbeef.glade
index 87f9bd6b..e86736ef 100644
--- a/plugins/gtkui/deadbeef.glade
+++ b/plugins/gtkui/deadbeef.glade
@@ -2153,6 +2153,7 @@
<property name="has_frame">True</property>
<property name="invisible_char">●</property>
<property name="activates_default">True</property>
+ <signal name="changed" handler="on_editcolumn_title_changed" last_modification_time="Sun, 05 Aug 2012 10:23:04 GMT"/>
</widget>
<packing>
<property name="padding">0</property>
diff --git a/plugins/gtkui/interface.c b/plugins/gtkui/interface.c
index 414a2d6c..b520fb34 100644
--- a/plugins/gtkui/interface.c
+++ b/plugins/gtkui/interface.c
@@ -1622,6 +1622,9 @@ create_editcolumndlg (void)
gtk_widget_show (label85);
gtk_box_pack_start (GTK_BOX (hbox49), label85, FALSE, FALSE, 0);
+ g_signal_connect ((gpointer) title, "changed",
+ G_CALLBACK (on_editcolumn_title_changed),
+ NULL);
g_signal_connect ((gpointer) id, "changed",
G_CALLBACK (on_column_id_changed),
NULL);
diff --git a/plugins/gtkui/plcommon.c b/plugins/gtkui/plcommon.c
index a7b1e21d..c633cb60 100644
--- a/plugins/gtkui/plcommon.c
+++ b/plugins/gtkui/plcommon.c
@@ -857,11 +857,13 @@ init_column (col_info_t *inf, int id, const char *format) {
}
}
+int editcolumn_title_changed = 0;
void
on_add_column_activate (GtkMenuItem *menuitem,
gpointer user_data)
{
+ editcolumn_title_changed = 0;
GtkWidget *dlg = create_editcolumndlg ();
gtk_dialog_set_default_response (GTK_DIALOG (dlg), GTK_RESPONSE_OK);
gtk_window_set_title (GTK_WINDOW (dlg), _("Add column"));
@@ -908,6 +910,7 @@ on_edit_column_activate (GtkMenuItem *menuitem,
}
gtk_entry_set_text (GTK_ENTRY (lookup_widget (dlg, "title")), title);
+ editcolumn_title_changed = 0;
int idx = 10;
if (inf->id == -1) {
if (inf->format) {