summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Alexey Yakovenko <wakeroid@gmail.com>2010-04-06 13:56:28 +0200
committerGravatar Alexey Yakovenko <wakeroid@gmail.com>2010-04-06 14:21:13 +0200
commitbdc72d79ac75d88aedff946c778153492dadf471 (patch)
treefd87ff6259e069e99cf5ad090c7a9364d0ea784e
parentf1da2ccca93bd28e7ee71247bdf05018782cb1a0 (diff)
fixed duplicating columns in track properties
-rw-r--r--plugins/gtkui/trkproperties.c34
1 files changed, 21 insertions, 13 deletions
diff --git a/plugins/gtkui/trkproperties.c b/plugins/gtkui/trkproperties.c
index 61df69f0..5a9c5fb9 100644
--- a/plugins/gtkui/trkproperties.c
+++ b/plugins/gtkui/trkproperties.c
@@ -106,10 +106,30 @@ show_track_properties_dlg (DB_playItem_t *it) {
deadbeef->pl_item_ref (it);
}
track = it;
-
+ GtkTreeView *tree;
+ GtkListStore *store;
if (!trackproperties) {
trackproperties = create_trackproperties ();
gtk_window_set_transient_for (GTK_WINDOW (trackproperties), GTK_WINDOW (mainwin));
+ tree = GTK_TREE_VIEW (lookup_widget (trackproperties, "metalist"));
+ store = gtk_list_store_new (2, G_TYPE_STRING, G_TYPE_STRING);
+ GtkCellRenderer *rend_text = gtk_cell_renderer_text_new ();
+ GtkCellRenderer *rend_text2 = gtk_cell_renderer_text_new ();
+ g_object_set (G_OBJECT (rend_text2), "editable", TRUE, NULL);
+ g_signal_connect ((gpointer)rend_text2, "edited",
+ G_CALLBACK (on_metadata_edited),
+ store);
+ GtkTreeViewColumn *col1 = gtk_tree_view_column_new_with_attributes ("Key", rend_text, "text", 0, NULL);
+ GtkTreeViewColumn *col2 = gtk_tree_view_column_new_with_attributes ("Value", rend_text2, "text", 1, NULL);
+ gtk_tree_view_append_column (tree, col1);
+ gtk_tree_view_append_column (tree, col2);
+ }
+ else {
+ tree = GTK_TREE_VIEW (lookup_widget (trackproperties, "metalist"));
+ store = GTK_LIST_STORE (gtk_tree_view_get_model (tree));
+
+ // remove everything from store
+ gtk_list_store_clear (store);
}
GtkWidget *widget = trackproperties;
GtkWidget *w;
@@ -118,18 +138,6 @@ show_track_properties_dlg (DB_playItem_t *it) {
w = lookup_widget (widget, "location");
gtk_entry_set_text (GTK_ENTRY (w), it->fname);
- GtkTreeView *tree = GTK_TREE_VIEW (lookup_widget (widget, "metalist"));
- GtkListStore *store = gtk_list_store_new (2, G_TYPE_STRING, G_TYPE_STRING);
- GtkCellRenderer *rend_text = gtk_cell_renderer_text_new ();
- GtkCellRenderer *rend_text2 = gtk_cell_renderer_text_new ();
- g_object_set (G_OBJECT (rend_text2), "editable", TRUE, NULL);
- g_signal_connect ((gpointer)rend_text2, "edited",
- G_CALLBACK (on_metadata_edited),
- store);
- GtkTreeViewColumn *col1 = gtk_tree_view_column_new_with_attributes ("Key", rend_text, "text", 0, NULL);
- GtkTreeViewColumn *col2 = gtk_tree_view_column_new_with_attributes ("Value", rend_text2, "text", 1, NULL);
- gtk_tree_view_append_column (tree, col1);
- gtk_tree_view_append_column (tree, col2);
deadbeef->pl_lock ();
int i = 0;