summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Alexey Yakovenko <wakeroid@gmail.com>2010-04-02 14:16:13 +0200
committerGravatar Alexey Yakovenko <wakeroid@gmail.com>2010-04-02 14:16:13 +0200
commitd132b87d271260d77fbf3fb73324c72699c4ad03 (patch)
treeaf481ed287f1116185efc4eddf3dfe992e5d0d70
parent88b4b6520c32066b088d2777372245aa8ba346f3 (diff)
added reload metadata context menu entry;
added invert selection and deselect all menu entries
-rw-r--r--plugins/gtkui/callbacks.c43
-rw-r--r--plugins/gtkui/callbacks.h8
-rw-r--r--plugins/gtkui/deadbeef.glade36
-rw-r--r--plugins/gtkui/interface.c108
-rw-r--r--plugins/gtkui/plcommon.c36
5 files changed, 177 insertions, 54 deletions
diff --git a/plugins/gtkui/callbacks.c b/plugins/gtkui/callbacks.c
index 7e7c09fd..02abba62 100644
--- a/plugins/gtkui/callbacks.c
+++ b/plugins/gtkui/callbacks.c
@@ -1021,3 +1021,46 @@ on_toggle_eq (GtkMenuItem *menuitem,
}
+
+void
+on_deselect_all1_activate (GtkMenuItem *menuitem,
+ gpointer user_data)
+{
+ deadbeef->pl_lock ();
+ DB_playItem_t *it = deadbeef->pl_get_first (PL_MAIN);
+ while (it) {
+ if (deadbeef->pl_is_selected (it)) {
+ deadbeef->pl_set_selected (it, 0);
+ }
+ DB_playItem_t *next = deadbeef->pl_get_next (it, PL_MAIN);
+ deadbeef->pl_item_unref (it);
+ it = next;
+ }
+ deadbeef->pl_unlock ();
+ DdbListview *pl = DDB_LISTVIEW (lookup_widget (mainwin, "playlist"));
+ ddb_listview_refresh (pl, DDB_REFRESH_LIST | DDB_EXPOSE_LIST);
+}
+
+
+void
+on_invert_selection1_activate (GtkMenuItem *menuitem,
+ gpointer user_data)
+{
+ deadbeef->pl_lock ();
+ DB_playItem_t *it = deadbeef->pl_get_first (PL_MAIN);
+ while (it) {
+ if (deadbeef->pl_is_selected (it)) {
+ deadbeef->pl_set_selected (it, 0);
+ }
+ else {
+ deadbeef->pl_set_selected (it, 1);
+ }
+ DB_playItem_t *next = deadbeef->pl_get_next (it, PL_MAIN);
+ deadbeef->pl_item_unref (it);
+ it = next;
+ }
+ deadbeef->pl_unlock ();
+ DdbListview *pl = DDB_LISTVIEW (lookup_widget (mainwin, "playlist"));
+ ddb_listview_refresh (pl, DDB_REFRESH_LIST | DDB_EXPOSE_LIST);
+}
+
diff --git a/plugins/gtkui/callbacks.h b/plugins/gtkui/callbacks.h
index 1502eb1a..e81e6c10 100644
--- a/plugins/gtkui/callbacks.h
+++ b/plugins/gtkui/callbacks.h
@@ -833,3 +833,11 @@ on_ape_strip_apev2_toggled (GtkToggleButton *togglebutton,
void
on_closebtn_clicked (GtkButton *button,
gpointer user_data);
+
+void
+on_deselect_all1_activate (GtkMenuItem *menuitem,
+ gpointer user_data);
+
+void
+on_invert_selection1_activate (GtkMenuItem *menuitem,
+ gpointer user_data);
diff --git a/plugins/gtkui/deadbeef.glade b/plugins/gtkui/deadbeef.glade
index adda7e68..810550cb 100644
--- a/plugins/gtkui/deadbeef.glade
+++ b/plugins/gtkui/deadbeef.glade
@@ -58,7 +58,7 @@
<accelerator key="O" modifiers="GDK_CONTROL_MASK" signal="activate"/>
<child internal-child="image">
- <widget class="GtkImage" id="image344">
+ <widget class="GtkImage" id="image360">
<property name="visible">True</property>
<property name="stock">gtk-open</property>
<property name="icon_size">1</property>
@@ -85,7 +85,7 @@
<signal name="activate" handler="on_add_files_activate" last_modification_time="Sat, 04 Jul 2009 13:04:01 GMT"/>
<child internal-child="image">
- <widget class="GtkImage" id="image345">
+ <widget class="GtkImage" id="image361">
<property name="visible">True</property>
<property name="stock">gtk-add</property>
<property name="icon_size">1</property>
@@ -106,7 +106,7 @@
<signal name="activate" handler="on_add_folders_activate" last_modification_time="Sun, 06 Sep 2009 17:51:40 GMT"/>
<child internal-child="image">
- <widget class="GtkImage" id="image346">
+ <widget class="GtkImage" id="image362">
<property name="visible">True</property>
<property name="stock">gtk-add</property>
<property name="icon_size">1</property>
@@ -127,7 +127,7 @@
<signal name="activate" handler="on_add_audio_cd_activate" last_modification_time="Sat, 10 Oct 2009 15:29:22 GMT"/>
<child internal-child="image">
- <widget class="GtkImage" id="image347">
+ <widget class="GtkImage" id="image363">
<property name="visible">True</property>
<property name="stock">gtk-add</property>
<property name="icon_size">1</property>
@@ -197,7 +197,7 @@
<accelerator key="Q" modifiers="GDK_CONTROL_MASK" signal="activate"/>
<child internal-child="image">
- <widget class="GtkImage" id="image348">
+ <widget class="GtkImage" id="image364">
<property name="visible">True</property>
<property name="stock">gtk-quit</property>
<property name="icon_size">1</property>
@@ -231,7 +231,7 @@
<signal name="activate" handler="on_clear1_activate" last_modification_time="Sun, 06 Sep 2009 18:30:03 GMT"/>
<child internal-child="image">
- <widget class="GtkImage" id="image349">
+ <widget class="GtkImage" id="image365">
<property name="visible">True</property>
<property name="stock">gtk-clear</property>
<property name="icon_size">1</property>
@@ -255,6 +255,24 @@
</child>
<child>
+ <widget class="GtkMenuItem" id="deselect_all1">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Deselect all</property>
+ <property name="use_underline">True</property>
+ <signal name="activate" handler="on_deselect_all1_activate" last_modification_time="Fri, 02 Apr 2010 11:30:31 GMT"/>
+ </widget>
+ </child>
+
+ <child>
+ <widget class="GtkMenuItem" id="invert_selection1">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Invert selection</property>
+ <property name="use_underline">True</property>
+ <signal name="activate" handler="on_invert_selection1_activate" last_modification_time="Fri, 02 Apr 2010 11:30:31 GMT"/>
+ </widget>
+ </child>
+
+ <child>
<widget class="GtkMenuItem" id="selection1">
<property name="visible">True</property>
<property name="label" translatable="yes">Selection</property>
@@ -271,7 +289,7 @@
<signal name="activate" handler="on_remove1_activate" last_modification_time="Sun, 06 Sep 2009 18:30:03 GMT"/>
<child internal-child="image">
- <widget class="GtkImage" id="image350">
+ <widget class="GtkImage" id="image366">
<property name="visible">True</property>
<property name="stock">gtk-remove</property>
<property name="icon_size">1</property>
@@ -530,7 +548,7 @@
<signal name="activate" handler="on_help1_activate" last_modification_time="Tue, 08 Sep 2009 17:32:06 GMT"/>
<child internal-child="image">
- <widget class="GtkImage" id="image351">
+ <widget class="GtkImage" id="image367">
<property name="visible">True</property>
<property name="stock">gtk-help</property>
<property name="icon_size">1</property>
@@ -590,7 +608,7 @@
<signal name="activate" handler="on_about1_activate" last_modification_time="Sat, 04 Jul 2009 12:57:58 GMT"/>
<child internal-child="image">
- <widget class="GtkImage" id="image352">
+ <widget class="GtkImage" id="image368">
<property name="visible">True</property>
<property name="stock">gtk-about</property>
<property name="icon_size">1</property>
diff --git a/plugins/gtkui/interface.c b/plugins/gtkui/interface.c
index c9fffcc2..fa793897 100644
--- a/plugins/gtkui/interface.c
+++ b/plugins/gtkui/interface.c
@@ -35,14 +35,14 @@ create_mainwin (void)
GtkWidget *menuitem1;
GtkWidget *menuitem1_menu;
GtkWidget *open;
- GtkWidget *image344;
+ GtkWidget *image360;
GtkWidget *separator2;
GtkWidget *add_files;
- GtkWidget *image345;
+ GtkWidget *image361;
GtkWidget *add_folders;
- GtkWidget *image346;
+ GtkWidget *image362;
GtkWidget *add_audio_cd;
- GtkWidget *image347;
+ GtkWidget *image363;
GtkWidget *add_location1;
GtkWidget *separatormenuitem1;
GtkWidget *playlist_load;
@@ -50,16 +50,18 @@ create_mainwin (void)
GtkWidget *playlist_save_as;
GtkWidget *separator8;
GtkWidget *quit;
- GtkWidget *image348;
+ GtkWidget *image364;
GtkWidget *edit1;
GtkWidget *edit1_menu;
GtkWidget *clear1;
- GtkWidget *image349;
+ GtkWidget *image365;
GtkWidget *select_all1;
+ GtkWidget *deselect_all1;
+ GtkWidget *invert_selection1;
GtkWidget *selection1;
GtkWidget *selection1_menu;
GtkWidget *remove1;
- GtkWidget *image350;
+ GtkWidget *image366;
GtkWidget *crop1;
GtkWidget *find1;
GtkWidget *separator5;
@@ -90,14 +92,14 @@ create_mainwin (void)
GtkWidget *menuitem4;
GtkWidget *menuitem4_menu;
GtkWidget *help1;
- GtkWidget *image351;
+ GtkWidget *image367;
GtkWidget *changelog1;
GtkWidget *separator10;
GtkWidget *gpl1;
GtkWidget *lgpl1;
GtkWidget *separator9;
GtkWidget *about1;
- GtkWidget *image352;
+ GtkWidget *image368;
GtkWidget *hbox2;
GtkWidget *hbox3;
GtkWidget *stopbtn;
@@ -147,9 +149,9 @@ create_mainwin (void)
GDK_O, (GdkModifierType) GDK_CONTROL_MASK,
GTK_ACCEL_VISIBLE);
- image344 = gtk_image_new_from_stock ("gtk-open", GTK_ICON_SIZE_MENU);
- gtk_widget_show (image344);
- gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (open), image344);
+ image360 = gtk_image_new_from_stock ("gtk-open", GTK_ICON_SIZE_MENU);
+ gtk_widget_show (image360);
+ gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (open), image360);
separator2 = gtk_separator_menu_item_new ();
gtk_widget_show (separator2);
@@ -160,25 +162,25 @@ create_mainwin (void)
gtk_widget_show (add_files);
gtk_container_add (GTK_CONTAINER (menuitem1_menu), add_files);
- image345 = gtk_image_new_from_stock ("gtk-add", GTK_ICON_SIZE_MENU);
- gtk_widget_show (image345);
- gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (add_files), image345);
+ image361 = gtk_image_new_from_stock ("gtk-add", GTK_ICON_SIZE_MENU);
+ gtk_widget_show (image361);
+ gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (add_files), image361);
add_folders = gtk_image_menu_item_new_with_mnemonic ("Add folder(s)");
gtk_widget_show (add_folders);
gtk_container_add (GTK_CONTAINER (menuitem1_menu), add_folders);
- image346 = gtk_image_new_from_stock ("gtk-add", GTK_ICON_SIZE_MENU);
- gtk_widget_show (image346);
- gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (add_folders), image346);
+ image362 = gtk_image_new_from_stock ("gtk-add", GTK_ICON_SIZE_MENU);
+ gtk_widget_show (image362);
+ gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (add_folders), image362);
add_audio_cd = gtk_image_menu_item_new_with_mnemonic ("Add Audio CD");
gtk_widget_show (add_audio_cd);
gtk_container_add (GTK_CONTAINER (menuitem1_menu), add_audio_cd);
- image347 = gtk_image_new_from_stock ("gtk-add", GTK_ICON_SIZE_MENU);
- gtk_widget_show (image347);
- gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (add_audio_cd), image347);
+ image363 = gtk_image_new_from_stock ("gtk-add", GTK_ICON_SIZE_MENU);
+ gtk_widget_show (image363);
+ gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (add_audio_cd), image363);
add_location1 = gtk_menu_item_new_with_mnemonic ("Add location");
gtk_widget_show (add_location1);
@@ -213,9 +215,9 @@ create_mainwin (void)
GDK_Q, (GdkModifierType) GDK_CONTROL_MASK,
GTK_ACCEL_VISIBLE);
- image348 = gtk_image_new_from_stock ("gtk-quit", GTK_ICON_SIZE_MENU);
- gtk_widget_show (image348);
- gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (quit), image348);
+ image364 = gtk_image_new_from_stock ("gtk-quit", GTK_ICON_SIZE_MENU);
+ gtk_widget_show (image364);
+ gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (quit), image364);
edit1 = gtk_menu_item_new_with_mnemonic ("_Edit");
gtk_widget_show (edit1);
@@ -228,9 +230,9 @@ create_mainwin (void)
gtk_widget_show (clear1);
gtk_container_add (GTK_CONTAINER (edit1_menu), clear1);
- image349 = gtk_image_new_from_stock ("gtk-clear", GTK_ICON_SIZE_MENU);
- gtk_widget_show (image349);
- gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (clear1), image349);
+ image365 = gtk_image_new_from_stock ("gtk-clear", GTK_ICON_SIZE_MENU);
+ gtk_widget_show (image365);
+ gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (clear1), image365);
select_all1 = gtk_menu_item_new_with_mnemonic ("Select all");
gtk_widget_show (select_all1);
@@ -239,6 +241,14 @@ create_mainwin (void)
GDK_A, (GdkModifierType) GDK_CONTROL_MASK,
GTK_ACCEL_VISIBLE);
+ deselect_all1 = gtk_menu_item_new_with_mnemonic ("Deselect all");
+ gtk_widget_show (deselect_all1);
+ gtk_container_add (GTK_CONTAINER (edit1_menu), deselect_all1);
+
+ invert_selection1 = gtk_menu_item_new_with_mnemonic ("Invert selection");
+ gtk_widget_show (invert_selection1);
+ gtk_container_add (GTK_CONTAINER (edit1_menu), invert_selection1);
+
selection1 = gtk_menu_item_new_with_mnemonic ("Selection");
gtk_widget_show (selection1);
gtk_container_add (GTK_CONTAINER (edit1_menu), selection1);
@@ -250,9 +260,9 @@ create_mainwin (void)
gtk_widget_show (remove1);
gtk_container_add (GTK_CONTAINER (selection1_menu), remove1);
- image350 = gtk_image_new_from_stock ("gtk-remove", GTK_ICON_SIZE_MENU);
- gtk_widget_show (image350);
- gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (remove1), image350);
+ image366 = gtk_image_new_from_stock ("gtk-remove", GTK_ICON_SIZE_MENU);
+ gtk_widget_show (image366);
+ gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (remove1), image366);
crop1 = gtk_menu_item_new_with_mnemonic ("Crop");
gtk_widget_show (crop1);
@@ -381,9 +391,9 @@ create_mainwin (void)
gtk_widget_show (help1);
gtk_container_add (GTK_CONTAINER (menuitem4_menu), help1);
- image351 = gtk_image_new_from_stock ("gtk-help", GTK_ICON_SIZE_MENU);
- gtk_widget_show (image351);
- gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (help1), image351);
+ image367 = gtk_image_new_from_stock ("gtk-help", GTK_ICON_SIZE_MENU);
+ gtk_widget_show (image367);
+ gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (help1), image367);
changelog1 = gtk_menu_item_new_with_mnemonic ("_ChangeLog");
gtk_widget_show (changelog1);
@@ -411,9 +421,9 @@ create_mainwin (void)
gtk_widget_show (about1);
gtk_container_add (GTK_CONTAINER (menuitem4_menu), about1);
- image352 = gtk_image_new_from_stock ("gtk-about", GTK_ICON_SIZE_MENU);
- gtk_widget_show (image352);
- gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (about1), image352);
+ image368 = gtk_image_new_from_stock ("gtk-about", GTK_ICON_SIZE_MENU);
+ gtk_widget_show (image368);
+ gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (about1), image368);
hbox2 = gtk_hbox_new (FALSE, 0);
gtk_widget_show (hbox2);
@@ -577,6 +587,12 @@ create_mainwin (void)
g_signal_connect ((gpointer) select_all1, "activate",
G_CALLBACK (on_select_all1_activate),
NULL);
+ g_signal_connect ((gpointer) deselect_all1, "activate",
+ G_CALLBACK (on_deselect_all1_activate),
+ NULL);
+ g_signal_connect ((gpointer) invert_selection1, "activate",
+ G_CALLBACK (on_invert_selection1_activate),
+ NULL);
g_signal_connect ((gpointer) remove1, "activate",
G_CALLBACK (on_remove1_activate),
NULL);
@@ -681,14 +697,14 @@ create_mainwin (void)
GLADE_HOOKUP_OBJECT (mainwin, menuitem1, "menuitem1");
GLADE_HOOKUP_OBJECT (mainwin, menuitem1_menu, "menuitem1_menu");
GLADE_HOOKUP_OBJECT (mainwin, open, "open");
- GLADE_HOOKUP_OBJECT (mainwin, image344, "image344");
+ GLADE_HOOKUP_OBJECT (mainwin, image360, "image360");
GLADE_HOOKUP_OBJECT (mainwin, separator2, "separator2");
GLADE_HOOKUP_OBJECT (mainwin, add_files, "add_files");
- GLADE_HOOKUP_OBJECT (mainwin, image345, "image345");
+ GLADE_HOOKUP_OBJECT (mainwin, image361, "image361");
GLADE_HOOKUP_OBJECT (mainwin, add_folders, "add_folders");
- GLADE_HOOKUP_OBJECT (mainwin, image346, "image346");
+ GLADE_HOOKUP_OBJECT (mainwin, image362, "image362");
GLADE_HOOKUP_OBJECT (mainwin, add_audio_cd, "add_audio_cd");
- GLADE_HOOKUP_OBJECT (mainwin, image347, "image347");
+ GLADE_HOOKUP_OBJECT (mainwin, image363, "image363");
GLADE_HOOKUP_OBJECT (mainwin, add_location1, "add_location1");
GLADE_HOOKUP_OBJECT (mainwin, separatormenuitem1, "separatormenuitem1");
GLADE_HOOKUP_OBJECT (mainwin, playlist_load, "playlist_load");
@@ -696,16 +712,18 @@ create_mainwin (void)
GLADE_HOOKUP_OBJECT (mainwin, playlist_save_as, "playlist_save_as");
GLADE_HOOKUP_OBJECT (mainwin, separator8, "separator8");
GLADE_HOOKUP_OBJECT (mainwin, quit, "quit");
- GLADE_HOOKUP_OBJECT (mainwin, image348, "image348");
+ GLADE_HOOKUP_OBJECT (mainwin, image364, "image364");
GLADE_HOOKUP_OBJECT (mainwin, edit1, "edit1");
GLADE_HOOKUP_OBJECT (mainwin, edit1_menu, "edit1_menu");
GLADE_HOOKUP_OBJECT (mainwin, clear1, "clear1");
- GLADE_HOOKUP_OBJECT (mainwin, image349, "image349");
+ GLADE_HOOKUP_OBJECT (mainwin, image365, "image365");
GLADE_HOOKUP_OBJECT (mainwin, select_all1, "select_all1");
+ GLADE_HOOKUP_OBJECT (mainwin, deselect_all1, "deselect_all1");
+ GLADE_HOOKUP_OBJECT (mainwin, invert_selection1, "invert_selection1");
GLADE_HOOKUP_OBJECT (mainwin, selection1, "selection1");
GLADE_HOOKUP_OBJECT (mainwin, selection1_menu, "selection1_menu");
GLADE_HOOKUP_OBJECT (mainwin, remove1, "remove1");
- GLADE_HOOKUP_OBJECT (mainwin, image350, "image350");
+ GLADE_HOOKUP_OBJECT (mainwin, image366, "image366");
GLADE_HOOKUP_OBJECT (mainwin, crop1, "crop1");
GLADE_HOOKUP_OBJECT (mainwin, find1, "find1");
GLADE_HOOKUP_OBJECT (mainwin, separator5, "separator5");
@@ -734,14 +752,14 @@ create_mainwin (void)
GLADE_HOOKUP_OBJECT (mainwin, menuitem4, "menuitem4");
GLADE_HOOKUP_OBJECT (mainwin, menuitem4_menu, "menuitem4_menu");
GLADE_HOOKUP_OBJECT (mainwin, help1, "help1");
- GLADE_HOOKUP_OBJECT (mainwin, image351, "image351");
+ GLADE_HOOKUP_OBJECT (mainwin, image367, "image367");
GLADE_HOOKUP_OBJECT (mainwin, changelog1, "changelog1");
GLADE_HOOKUP_OBJECT (mainwin, separator10, "separator10");
GLADE_HOOKUP_OBJECT (mainwin, gpl1, "gpl1");
GLADE_HOOKUP_OBJECT (mainwin, lgpl1, "lgpl1");
GLADE_HOOKUP_OBJECT (mainwin, separator9, "separator9");
GLADE_HOOKUP_OBJECT (mainwin, about1, "about1");
- GLADE_HOOKUP_OBJECT (mainwin, image352, "image352");
+ GLADE_HOOKUP_OBJECT (mainwin, image368, "image368");
GLADE_HOOKUP_OBJECT (mainwin, hbox2, "hbox2");
GLADE_HOOKUP_OBJECT (mainwin, hbox3, "hbox3");
GLADE_HOOKUP_OBJECT (mainwin, stopbtn, "stopbtn");
diff --git a/plugins/gtkui/plcommon.c b/plugins/gtkui/plcommon.c
index 6c1cf8f6..937948d9 100644
--- a/plugins/gtkui/plcommon.c
+++ b/plugins/gtkui/plcommon.c
@@ -191,6 +191,32 @@ main_remove_from_playback_queue_activate
playlist_refresh ();
}
+void
+main_reload_metadata_activate
+ (GtkMenuItem *menuitem,
+ gpointer user_data)
+{
+ DdbListview *ps = DDB_LISTVIEW (gtk_object_get_data (GTK_OBJECT (menuitem), "ps"));
+ DB_playItem_t *it = deadbeef->pl_get_first (PL_MAIN);
+ while (it) {
+ if (deadbeef->pl_is_selected (it) && it->decoder_id) {
+ DB_decoder_t **decoders = deadbeef->plug_get_decoder_list ();
+ for (int i = 0; decoders[i]; i++) {
+ if (!strcmp (decoders[i]->plugin.id, it->decoder_id)) {
+ if (decoders[i]->read_metadata) {
+ decoders[i]->read_metadata (it);
+ }
+ break;
+ }
+ }
+ }
+ DB_playItem_t *next = deadbeef->pl_get_next (it, PL_MAIN);
+ deadbeef->pl_item_unref (it);
+ it = next;
+ }
+ playlist_refresh ();
+}
+
int clicked_idx = -1;
void
@@ -255,6 +281,7 @@ list_context_menu (DdbListview *listview, DdbListviewIter it, int idx) {
GtkWidget *remove2;
GtkWidget *separator8;
GtkWidget *properties1;
+ GtkWidget *reload_metadata;
playlist_menu = gtk_menu_new ();
add_to_playback_queue1 = gtk_menu_item_new_with_mnemonic ("Add to playback queue");
@@ -270,6 +297,12 @@ list_context_menu (DdbListview *listview, DdbListviewIter it, int idx) {
gtk_container_add (GTK_CONTAINER (playlist_menu), remove_from_playback_queue1);
gtk_object_set_data (GTK_OBJECT (remove_from_playback_queue1), "ps", listview);
+ reload_metadata = gtk_menu_item_new_with_mnemonic ("Reload metadata");
+ gtk_widget_show (reload_metadata);
+ gtk_container_add (GTK_CONTAINER (playlist_menu), reload_metadata);
+ gtk_object_set_data (GTK_OBJECT (reload_metadata), "ps", listview);
+
+
separator9 = gtk_separator_menu_item_new ();
gtk_widget_show (separator9);
gtk_container_add (GTK_CONTAINER (playlist_menu), separator9);
@@ -296,6 +329,9 @@ list_context_menu (DdbListview *listview, DdbListviewIter it, int idx) {
g_signal_connect ((gpointer) remove_from_playback_queue1, "activate",
G_CALLBACK (main_remove_from_playback_queue_activate),
NULL);
+ g_signal_connect ((gpointer) reload_metadata, "activate",
+ G_CALLBACK (main_reload_metadata_activate),
+ NULL);
g_signal_connect ((gpointer) remove2, "activate",
G_CALLBACK (on_remove2_activate),
NULL);