gui/collection: add button for adding library paths
This is easier than responding to events from the treeview. Let's just pop up a dialog and let the user select from there, rather than doing something complicated with a stack. Signed-off-by: Anna Schumaker <Anna@OcarinaProject.net>
This commit is contained in:
parent
62e1b27b6c
commit
73c70678bb
|
@ -10,6 +10,7 @@
|
||||||
#include <gui/idle.h>
|
#include <gui/idle.h>
|
||||||
#include <gui/playlist.h>
|
#include <gui/playlist.h>
|
||||||
#include <gui/sidebar.h>
|
#include <gui/sidebar.h>
|
||||||
|
#include <glib/gi18n.h>
|
||||||
|
|
||||||
enum collection_sidebar_columns {
|
enum collection_sidebar_columns {
|
||||||
C_SB_IMAGE,
|
C_SB_IMAGE,
|
||||||
|
@ -155,6 +156,31 @@ void __collection_add(GtkButton *button, GtkFileChooser *chooser)
|
||||||
g_free(filename);
|
g_free(filename);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void __collection_choose(GtkButton *button, gpointer data)
|
||||||
|
{
|
||||||
|
GtkFileFilter *filter;
|
||||||
|
GtkWidget *dialog;
|
||||||
|
gint res;
|
||||||
|
|
||||||
|
filter = gtk_file_filter_new();
|
||||||
|
gtk_file_filter_add_mime_type(filter, "inode/directory");
|
||||||
|
|
||||||
|
dialog = gtk_file_chooser_dialog_new("Chooser a Path",
|
||||||
|
GTK_WINDOW(gui_builder_widget("o_window")),
|
||||||
|
GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER,
|
||||||
|
_("_Cancel"), GTK_RESPONSE_CANCEL,
|
||||||
|
_("_Open"), GTK_RESPONSE_ACCEPT,
|
||||||
|
NULL);
|
||||||
|
gtk_file_chooser_set_filter(GTK_FILE_CHOOSER(dialog), filter);
|
||||||
|
|
||||||
|
res = gtk_dialog_run(GTK_DIALOG(dialog));
|
||||||
|
if (res == GTK_RESPONSE_ACCEPT)
|
||||||
|
__collection_add(button, GTK_FILE_CHOOSER(dialog));
|
||||||
|
|
||||||
|
gtk_widget_destroy(dialog);
|
||||||
|
g_object_unref(filter);
|
||||||
|
}
|
||||||
|
|
||||||
void __collection_selection_changed(GtkTreeSelection *selection,
|
void __collection_selection_changed(GtkTreeSelection *selection,
|
||||||
GtkFileChooser *chooser)
|
GtkFileChooser *chooser)
|
||||||
{
|
{
|
||||||
|
|
|
@ -215,6 +215,11 @@
|
||||||
</object>
|
</object>
|
||||||
</child>
|
</child>
|
||||||
</object>
|
</object>
|
||||||
|
<object class="GtkImage" id="image3">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can_focus">False</property>
|
||||||
|
<property name="icon_name">folder-new</property>
|
||||||
|
</object>
|
||||||
<object class="GtkImage" id="image9">
|
<object class="GtkImage" id="image9">
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
<property name="can_focus">False</property>
|
<property name="can_focus">False</property>
|
||||||
|
@ -322,8 +327,8 @@
|
||||||
<property name="icon_name">media-skip-backward</property>
|
<property name="icon_name">media-skip-backward</property>
|
||||||
</object>
|
</object>
|
||||||
</child>
|
</child>
|
||||||
<accelerator key="n" signal="clicked" modifiers="GDK_SHIFT_MASK"/>
|
|
||||||
<accelerator key="AudioPrev" signal="clicked"/>
|
<accelerator key="AudioPrev" signal="clicked"/>
|
||||||
|
<accelerator key="n" signal="clicked" modifiers="GDK_SHIFT_MASK"/>
|
||||||
</object>
|
</object>
|
||||||
<packing>
|
<packing>
|
||||||
<property name="expand">False</property>
|
<property name="expand">False</property>
|
||||||
|
@ -357,8 +362,8 @@
|
||||||
<property name="icon_size">5</property>
|
<property name="icon_size">5</property>
|
||||||
</object>
|
</object>
|
||||||
</child>
|
</child>
|
||||||
<accelerator key="space" signal="clicked"/>
|
|
||||||
<accelerator key="AudioPlay" signal="clicked"/>
|
<accelerator key="AudioPlay" signal="clicked"/>
|
||||||
|
<accelerator key="space" signal="clicked"/>
|
||||||
</object>
|
</object>
|
||||||
<packing>
|
<packing>
|
||||||
<property name="expand">False</property>
|
<property name="expand">False</property>
|
||||||
|
@ -391,8 +396,8 @@
|
||||||
<property name="icon_size">5</property>
|
<property name="icon_size">5</property>
|
||||||
</object>
|
</object>
|
||||||
</child>
|
</child>
|
||||||
<accelerator key="space" signal="clicked"/>
|
|
||||||
<accelerator key="AudioPlay" signal="clicked"/>
|
<accelerator key="AudioPlay" signal="clicked"/>
|
||||||
|
<accelerator key="space" signal="clicked"/>
|
||||||
</object>
|
</object>
|
||||||
<packing>
|
<packing>
|
||||||
<property name="expand">False</property>
|
<property name="expand">False</property>
|
||||||
|
@ -425,8 +430,8 @@
|
||||||
<property name="icon_name">media-skip-forward</property>
|
<property name="icon_name">media-skip-forward</property>
|
||||||
</object>
|
</object>
|
||||||
</child>
|
</child>
|
||||||
<accelerator key="n" signal="clicked"/>
|
|
||||||
<accelerator key="AudioNext" signal="clicked"/>
|
<accelerator key="AudioNext" signal="clicked"/>
|
||||||
|
<accelerator key="n" signal="clicked"/>
|
||||||
</object>
|
</object>
|
||||||
<packing>
|
<packing>
|
||||||
<property name="expand">False</property>
|
<property name="expand">False</property>
|
||||||
|
@ -825,6 +830,7 @@
|
||||||
<property name="margin_left">2</property>
|
<property name="margin_left">2</property>
|
||||||
<property name="margin_right">3</property>
|
<property name="margin_right">3</property>
|
||||||
<property name="orientation">vertical</property>
|
<property name="orientation">vertical</property>
|
||||||
|
<property name="spacing">5</property>
|
||||||
<child>
|
<child>
|
||||||
<object class="GtkButtonBox" id="buttonbox2">
|
<object class="GtkButtonBox" id="buttonbox2">
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
|
@ -842,7 +848,7 @@
|
||||||
<property name="inconsistent">True</property>
|
<property name="inconsistent">True</property>
|
||||||
<signal name="toggled" handler="__audio_favorite" swapped="no"/>
|
<signal name="toggled" handler="__audio_favorite" swapped="no"/>
|
||||||
<child>
|
<child>
|
||||||
<object class="GtkImage" id="image6">
|
<object class="GtkImage" id="image8">
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
<property name="can_focus">False</property>
|
<property name="can_focus">False</property>
|
||||||
<property name="icon_name">emblem-favorite</property>
|
<property name="icon_name">emblem-favorite</property>
|
||||||
|
@ -864,7 +870,7 @@
|
||||||
<property name="tooltip_text" translatable="yes">Hide this track from the Collection</property>
|
<property name="tooltip_text" translatable="yes">Hide this track from the Collection</property>
|
||||||
<signal name="toggled" handler="__audio_hide" swapped="no"/>
|
<signal name="toggled" handler="__audio_hide" swapped="no"/>
|
||||||
<child>
|
<child>
|
||||||
<object class="GtkImage" id="image7">
|
<object class="GtkImage" id="image14">
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
<property name="can_focus">False</property>
|
<property name="can_focus">False</property>
|
||||||
<property name="icon_name">window-close</property>
|
<property name="icon_name">window-close</property>
|
||||||
|
@ -890,6 +896,7 @@
|
||||||
<property name="can_focus">True</property>
|
<property name="can_focus">True</property>
|
||||||
<property name="margin_top">5</property>
|
<property name="margin_top">5</property>
|
||||||
<property name="margin_bottom">5</property>
|
<property name="margin_bottom">5</property>
|
||||||
|
<property name="margin_right">1</property>
|
||||||
<property name="shadow_type">in</property>
|
<property name="shadow_type">in</property>
|
||||||
<child>
|
<child>
|
||||||
<object class="GtkViewport" id="viewport1">
|
<object class="GtkViewport" id="viewport1">
|
||||||
|
@ -1048,6 +1055,22 @@
|
||||||
<property name="position">1</property>
|
<property name="position">1</property>
|
||||||
</packing>
|
</packing>
|
||||||
</child>
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkButton">
|
||||||
|
<property name="label" translatable="yes">Add Library Path</property>
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can_focus">True</property>
|
||||||
|
<property name="receives_default">True</property>
|
||||||
|
<property name="image">image3</property>
|
||||||
|
<property name="always_show_image">True</property>
|
||||||
|
<signal name="clicked" handler="__collection_choose" swapped="no"/>
|
||||||
|
</object>
|
||||||
|
<packing>
|
||||||
|
<property name="expand">False</property>
|
||||||
|
<property name="fill">True</property>
|
||||||
|
<property name="position">2</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
</object>
|
</object>
|
||||||
<packing>
|
<packing>
|
||||||
<property name="resize">False</property>
|
<property name="resize">False</property>
|
||||||
|
|
Loading…
Reference in New Issue