diff options
author | Alexey Yakovenko <wakeroid@gmail.com> | 2010-04-06 13:56:28 +0200 |
---|---|---|
committer | Alexey Yakovenko <wakeroid@gmail.com> | 2010-04-06 14:21:13 +0200 |
commit | bdc72d79ac75d88aedff946c778153492dadf471 (patch) | |
tree | fd87ff6259e069e99cf5ad090c7a9364d0ea784e | |
parent | f1da2ccca93bd28e7ee71247bdf05018782cb1a0 (diff) |
fixed duplicating columns in track properties
-rw-r--r-- | plugins/gtkui/trkproperties.c | 34 |
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; |