summaryrefslogtreecommitdiff
path: root/plugins
diff options
context:
space:
mode:
authorGravatar waker <wakeroid@gmail.com>2010-12-03 22:23:12 +0100
committerGravatar waker <wakeroid@gmail.com>2010-12-03 22:23:12 +0100
commitf45c578fb976909ec550032a0f4b77f5ba7efcf9 (patch)
treeebb46bbedadaa0f6bd4add2c1d13eea0cd09e3b8 /plugins
parentfeb5334dbf1ff90578652ec46eb0461d18b25a83 (diff)
added Edit->Sort By menu
Diffstat (limited to 'plugins')
-rw-r--r--plugins/gtkui/callbacks.c53
-rw-r--r--plugins/gtkui/callbacks.h16
-rw-r--r--plugins/gtkui/deadbeef.glade284
-rw-r--r--plugins/gtkui/interface.c238
-rw-r--r--plugins/gtkui/interface.h1
5 files changed, 538 insertions, 54 deletions
diff --git a/plugins/gtkui/callbacks.c b/plugins/gtkui/callbacks.c
index 3f50b2ec..1c0ae6d5 100644
--- a/plugins/gtkui/callbacks.c
+++ b/plugins/gtkui/callbacks.c
@@ -1092,3 +1092,56 @@ title_formatting_help_link_create (gchar *widget_name, gchar *string1, gchar *st
return link;
}
+
+void
+on_album1_activate (GtkMenuItem *menuitem,
+ gpointer user_data)
+{
+
+}
+
+
+void
+on_artist1_activate (GtkMenuItem *menuitem,
+ gpointer user_data)
+{
+
+}
+
+
+void
+on_date1_activate (GtkMenuItem *menuitem,
+ gpointer user_data)
+{
+
+}
+
+
+void
+on_custom2_activate (GtkMenuItem *menuitem,
+ gpointer user_data)
+{
+ GtkWidget *dlg = create_sortbydlg ();
+
+ GtkComboBox *combo = GTK_COMBO_BOX (lookup_widget (dlg, "sortorder"));
+ GtkEntry *entry = GTK_ENTRY (lookup_widget (dlg, "sortfmt"));
+
+ gtk_combo_box_set_active (combo, deadbeef->conf_get_int ("gtkui.sortby_order", 0));
+ gtk_entry_set_text (entry, deadbeef->conf_get_str ("gtkui.sortby_fmt", ""));
+
+ int r = gtk_dialog_run (GTK_DIALOG (dlg));
+
+ int order = gtk_combo_box_get_active (combo);
+ const char *fmt = gtk_entry_get_text (entry);
+
+ deadbeef->conf_set_int ("gtkui.sortby_order", order);
+ deadbeef->conf_set_str ("gtkui.sortby_fmt", fmt);
+
+ deadbeef->pl_sort (PL_MAIN, -1, fmt, order == 0 ? 1 : 0);
+
+ gtk_widget_destroy (dlg);
+
+ 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 05453586..2f867856 100644
--- a/plugins/gtkui/callbacks.h
+++ b/plugins/gtkui/callbacks.h
@@ -1013,3 +1013,19 @@ on_converterdlg_delete_event (GtkWidget *widget,
GtkWidget*
title_formatting_help_link_create (gchar *widget_name, gchar *string1, gchar *string2,
gint int1, gint int2);
+
+void
+on_album1_activate (GtkMenuItem *menuitem,
+ gpointer user_data);
+
+void
+on_artist1_activate (GtkMenuItem *menuitem,
+ gpointer user_data);
+
+void
+on_date1_activate (GtkMenuItem *menuitem,
+ gpointer user_data);
+
+void
+on_custom2_activate (GtkMenuItem *menuitem,
+ gpointer user_data);
diff --git a/plugins/gtkui/deadbeef.glade b/plugins/gtkui/deadbeef.glade
index 9a7250ec..9ed15de2 100644
--- a/plugins/gtkui/deadbeef.glade
+++ b/plugins/gtkui/deadbeef.glade
@@ -62,7 +62,7 @@
<accelerator key="O" modifiers="GDK_CONTROL_MASK" signal="activate"/>
<child internal-child="image">
- <widget class="GtkImage" id="image452">
+ <widget class="GtkImage" id="image460">
<property name="visible">True</property>
<property name="stock">gtk-open</property>
<property name="icon_size">1</property>
@@ -89,7 +89,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="image453">
+ <widget class="GtkImage" id="image461">
<property name="visible">True</property>
<property name="stock">gtk-add</property>
<property name="icon_size">1</property>
@@ -110,7 +110,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="image454">
+ <widget class="GtkImage" id="image462">
<property name="visible">True</property>
<property name="stock">gtk-add</property>
<property name="icon_size">1</property>
@@ -190,7 +190,7 @@
<accelerator key="Q" modifiers="GDK_CONTROL_MASK" signal="activate"/>
<child internal-child="image">
- <widget class="GtkImage" id="image455">
+ <widget class="GtkImage" id="image463">
<property name="visible">True</property>
<property name="stock">gtk-quit</property>
<property name="icon_size">1</property>
@@ -224,7 +224,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="image456">
+ <widget class="GtkImage" id="image464">
<property name="visible">True</property>
<property name="stock">gtk-clear</property>
<property name="icon_size">1</property>
@@ -283,7 +283,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="image457">
+ <widget class="GtkImage" id="image465">
<property name="visible">True</property>
<property name="stock">gtk-remove</property>
<property name="icon_size">1</property>
@@ -320,6 +320,55 @@
</child>
<child>
+ <widget class="GtkMenuItem" id="sort_by1">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Sort By</property>
+ <property name="use_underline">True</property>
+
+ <child>
+ <widget class="GtkMenu" id="sort_by1_menu">
+
+ <child>
+ <widget class="GtkMenuItem" id="album1">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Album</property>
+ <property name="use_underline">True</property>
+ <signal name="activate" handler="on_album1_activate" last_modification_time="Fri, 03 Dec 2010 21:03:21 GMT"/>
+ </widget>
+ </child>
+
+ <child>
+ <widget class="GtkMenuItem" id="artist1">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Artist</property>
+ <property name="use_underline">True</property>
+ <signal name="activate" handler="on_artist1_activate" last_modification_time="Fri, 03 Dec 2010 21:03:21 GMT"/>
+ </widget>
+ </child>
+
+ <child>
+ <widget class="GtkMenuItem" id="date1">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Date</property>
+ <property name="use_underline">True</property>
+ <signal name="activate" handler="on_date1_activate" last_modification_time="Fri, 03 Dec 2010 21:03:21 GMT"/>
+ </widget>
+ </child>
+
+ <child>
+ <widget class="GtkMenuItem" id="custom2">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Custom</property>
+ <property name="use_underline">True</property>
+ <signal name="activate" handler="on_custom2_activate" last_modification_time="Fri, 03 Dec 2010 21:03:21 GMT"/>
+ </widget>
+ </child>
+ </widget>
+ </child>
+ </widget>
+ </child>
+
+ <child>
<widget class="GtkSeparatorMenuItem" id="separator5">
<property name="visible">True</property>
</widget>
@@ -558,7 +607,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="image458">
+ <widget class="GtkImage" id="image466">
<property name="visible">True</property>
<property name="stock">gtk-help</property>
<property name="icon_size">1</property>
@@ -618,7 +667,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="image459">
+ <widget class="GtkImage" id="image467">
<property name="visible">True</property>
<property name="stock">gtk-about</property>
<property name="icon_size">1</property>
@@ -639,7 +688,7 @@
<signal name="activate" handler="on_translators1_activate" last_modification_time="Sun, 19 Sep 2010 13:38:07 GMT"/>
<child internal-child="image">
- <widget class="GtkImage" id="image460">
+ <widget class="GtkImage" id="image468">
<property name="visible">True</property>
<property name="stock">gtk-about</property>
<property name="icon_size">1</property>
@@ -6522,4 +6571,221 @@ Temporary file</property>
</child>
</widget>
+<widget class="GtkDialog" id="sortbydlg">
+ <property name="visible">True</property>
+ <property name="title" translatable="yes">Sort by...</property>
+ <property name="type">GTK_WINDOW_TOPLEVEL</property>
+ <property name="window_position">GTK_WIN_POS_NONE</property>
+ <property name="modal">True</property>
+ <property name="resizable">True</property>
+ <property name="destroy_with_parent">False</property>
+ <property name="decorated">True</property>
+ <property name="skip_taskbar_hint">False</property>
+ <property name="skip_pager_hint">False</property>
+ <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
+ <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
+ <property name="focus_on_map">True</property>
+ <property name="urgency_hint">False</property>
+ <property name="has_separator">True</property>
+
+ <child internal-child="vbox">
+ <widget class="GtkVBox" id="dialog-vbox8">
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">0</property>
+
+ <child internal-child="action_area">
+ <widget class="GtkHButtonBox" id="dialog-action_area7">
+ <property name="visible">True</property>
+ <property name="layout_style">GTK_BUTTONBOX_END</property>
+
+ <child>
+ <widget class="GtkButton" id="cancelbutton5">
+ <property name="visible">True</property>
+ <property name="can_default">True</property>
+ <property name="can_focus">True</property>
+ <property name="label">gtk-cancel</property>
+ <property name="use_stock">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <property name="response_id">-6</property>
+ </widget>
+ </child>
+
+ <child>
+ <widget class="GtkButton" id="okbutton5">
+ <property name="visible">True</property>
+ <property name="can_default">True</property>
+ <property name="can_focus">True</property>
+ <property name="label">gtk-ok</property>
+ <property name="use_stock">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <property name="response_id">-5</property>
+ </widget>
+ </child>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="pack_type">GTK_PACK_END</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkVBox" id="vbox28">
+ <property name="border_width">12</property>
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">8</property>
+
+ <child>
+ <widget class="GtkHBox" id="hbox76">
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">8</property>
+
+ <child>
+ <widget class="GtkLabel" id="label108">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Format</property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+ <property name="width_chars">-1</property>
+ <property name="single_line_mode">False</property>
+ <property name="angle">0</property>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkHBox" id="hbox77">
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">0</property>
+
+ <child>
+ <widget class="GtkEntry" id="sortfmt">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="editable">True</property>
+ <property name="visibility">True</property>
+ <property name="max_length">0</property>
+ <property name="text" translatable="yes"></property>
+ <property name="has_frame">True</property>
+ <property name="invisible_char">●</property>
+ <property name="activates_default">False</property>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="Custom" id="custom3">
+ <property name="visible">True</property>
+ <property name="creation_function">title_formatting_help_link_create</property>
+ <property name="int1">0</property>
+ <property name="int2">0</property>
+ <property name="last_modification_time">Fri, 03 Dec 2010 20:39:24 GMT</property>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ </packing>
+ </child>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ </packing>
+ </child>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkHBox" id="hbox78">
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">8</property>
+
+ <child>
+ <widget class="GtkLabel" id="label109">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Order</property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+ <property name="width_chars">-1</property>
+ <property name="single_line_mode">False</property>
+ <property name="angle">0</property>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkComboBox" id="sortorder">
+ <property name="visible">True</property>
+ <property name="items" translatable="yes">Ascending
+Descending</property>
+ <property name="add_tearoffs">False</property>
+ <property name="focus_on_click">True</property>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ </packing>
+ </child>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ </packing>
+ </child>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+ </widget>
+ </child>
+</widget>
+
</glade-interface>
diff --git a/plugins/gtkui/interface.c b/plugins/gtkui/interface.c
index 4970ab44..42befd14 100644
--- a/plugins/gtkui/interface.c
+++ b/plugins/gtkui/interface.c
@@ -35,12 +35,12 @@ create_mainwin (void)
GtkWidget *File;
GtkWidget *File_menu;
GtkWidget *open;
- GtkWidget *image452;
+ GtkWidget *image460;
GtkWidget *separator2;
GtkWidget *add_files;
- GtkWidget *image453;
+ GtkWidget *image461;
GtkWidget *add_folders;
- GtkWidget *image454;
+ GtkWidget *image462;
GtkWidget *add_location1;
GtkWidget *separatormenuitem1;
GtkWidget *new_playlist1;
@@ -49,20 +49,26 @@ create_mainwin (void)
GtkWidget *playlist_save_as;
GtkWidget *separator8;
GtkWidget *quit;
- GtkWidget *image455;
+ GtkWidget *image463;
GtkWidget *Edit;
GtkWidget *Edit_menu;
GtkWidget *clear1;
- GtkWidget *image456;
+ GtkWidget *image464;
GtkWidget *select_all1;
GtkWidget *deselect_all1;
GtkWidget *invert_selection1;
GtkWidget *Selection;
GtkWidget *Selection_menu;
GtkWidget *remove1;
- GtkWidget *image457;
+ GtkWidget *image465;
GtkWidget *crop1;
GtkWidget *find1;
+ GtkWidget *sort_by1;
+ GtkWidget *sort_by1_menu;
+ GtkWidget *album1;
+ GtkWidget *artist1;
+ GtkWidget *date1;
+ GtkWidget *custom2;
GtkWidget *separator5;
GtkWidget *preferences;
GtkWidget *View;
@@ -93,16 +99,16 @@ create_mainwin (void)
GtkWidget *Help;
GtkWidget *Help_menu;
GtkWidget *help1;
- GtkWidget *image458;
+ GtkWidget *image466;
GtkWidget *changelog1;
GtkWidget *separator10;
GtkWidget *gpl1;
GtkWidget *lgpl1;
GtkWidget *separator9;
GtkWidget *about1;
- GtkWidget *image459;
+ GtkWidget *image467;
GtkWidget *translators1;
- GtkWidget *image460;
+ GtkWidget *image468;
GtkWidget *hbox2;
GtkWidget *hbox3;
GtkWidget *stopbtn;
@@ -153,9 +159,9 @@ create_mainwin (void)
GDK_O, (GdkModifierType) GDK_CONTROL_MASK,
GTK_ACCEL_VISIBLE);
- image452 = gtk_image_new_from_stock ("gtk-open", GTK_ICON_SIZE_MENU);
- gtk_widget_show (image452);
- gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (open), image452);
+ image460 = gtk_image_new_from_stock ("gtk-open", GTK_ICON_SIZE_MENU);
+ gtk_widget_show (image460);
+ gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (open), image460);
separator2 = gtk_separator_menu_item_new ();
gtk_widget_show (separator2);
@@ -166,17 +172,17 @@ create_mainwin (void)
gtk_widget_show (add_files);
gtk_container_add (GTK_CONTAINER (File_menu), add_files);
- image453 = gtk_image_new_from_stock ("gtk-add", GTK_ICON_SIZE_MENU);
- gtk_widget_show (image453);
- gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (add_files), image453);
+ image461 = gtk_image_new_from_stock ("gtk-add", GTK_ICON_SIZE_MENU);
+ gtk_widget_show (image461);
+ gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (add_files), image461);
add_folders = gtk_image_menu_item_new_with_mnemonic (_("Add folder(s)"));
gtk_widget_show (add_folders);
gtk_container_add (GTK_CONTAINER (File_menu), add_folders);
- image454 = gtk_image_new_from_stock ("gtk-add", GTK_ICON_SIZE_MENU);
- gtk_widget_show (image454);
- gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (add_folders), image454);
+ image462 = gtk_image_new_from_stock ("gtk-add", GTK_ICON_SIZE_MENU);
+ gtk_widget_show (image462);
+ gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (add_folders), image462);
add_location1 = gtk_menu_item_new_with_mnemonic (_("Add location"));
gtk_widget_show (add_location1);
@@ -218,9 +224,9 @@ create_mainwin (void)
GDK_Q, (GdkModifierType) GDK_CONTROL_MASK,
GTK_ACCEL_VISIBLE);
- image455 = gtk_image_new_from_stock ("gtk-quit", GTK_ICON_SIZE_MENU);
- gtk_widget_show (image455);
- gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (quit), image455);
+ image463 = gtk_image_new_from_stock ("gtk-quit", GTK_ICON_SIZE_MENU);
+ gtk_widget_show (image463);
+ gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (quit), image463);
Edit = gtk_menu_item_new_with_mnemonic (_("_Edit"));
gtk_widget_show (Edit);
@@ -233,9 +239,9 @@ create_mainwin (void)
gtk_widget_show (clear1);
gtk_container_add (GTK_CONTAINER (Edit_menu), clear1);
- image456 = gtk_image_new_from_stock ("gtk-clear", GTK_ICON_SIZE_MENU);
- gtk_widget_show (image456);
- gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (clear1), image456);
+ image464 = gtk_image_new_from_stock ("gtk-clear", GTK_ICON_SIZE_MENU);
+ gtk_widget_show (image464);
+ gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (clear1), image464);
select_all1 = gtk_menu_item_new_with_mnemonic (_("Select all"));
gtk_widget_show (select_all1);
@@ -266,9 +272,9 @@ create_mainwin (void)
gtk_widget_show (remove1);
gtk_container_add (GTK_CONTAINER (Selection_menu), remove1);
- image457 = gtk_image_new_from_stock ("gtk-remove", GTK_ICON_SIZE_MENU);
- gtk_widget_show (image457);
- gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (remove1), image457);
+ image465 = gtk_image_new_from_stock ("gtk-remove", GTK_ICON_SIZE_MENU);
+ gtk_widget_show (image465);
+ gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (remove1), image465);
crop1 = gtk_menu_item_new_with_mnemonic (_("Crop"));
gtk_widget_show (crop1);
@@ -281,6 +287,29 @@ create_mainwin (void)
GDK_F, (GdkModifierType) GDK_CONTROL_MASK,
GTK_ACCEL_VISIBLE);
+ sort_by1 = gtk_menu_item_new_with_mnemonic (_("Sort By"));
+ gtk_widget_show (sort_by1);
+ gtk_container_add (GTK_CONTAINER (Edit_menu), sort_by1);
+
+ sort_by1_menu = gtk_menu_new ();
+ gtk_menu_item_set_submenu (GTK_MENU_ITEM (sort_by1), sort_by1_menu);
+
+ album1 = gtk_menu_item_new_with_mnemonic (_("Album"));
+ gtk_widget_show (album1);
+ gtk_container_add (GTK_CONTAINER (sort_by1_menu), album1);
+
+ artist1 = gtk_menu_item_new_with_mnemonic (_("Artist"));
+ gtk_widget_show (artist1);
+ gtk_container_add (GTK_CONTAINER (sort_by1_menu), artist1);
+
+ date1 = gtk_menu_item_new_with_mnemonic (_("Date"));
+ gtk_widget_show (date1);
+ gtk_container_add (GTK_CONTAINER (sort_by1_menu), date1);
+
+ custom2 = gtk_menu_item_new_with_mnemonic (_("Custom"));
+ gtk_widget_show (custom2);
+ gtk_container_add (GTK_CONTAINER (sort_by1_menu), custom2);
+
separator5 = gtk_separator_menu_item_new ();
gtk_widget_show (separator5);
gtk_container_add (GTK_CONTAINER (Edit_menu), separator5);
@@ -409,9 +438,9 @@ create_mainwin (void)
gtk_widget_show (help1);
gtk_container_add (GTK_CONTAINER (Help_menu), help1);
- image458 = gtk_image_new_from_stock ("gtk-help", GTK_ICON_SIZE_MENU);
- gtk_widget_show (image458);
- gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (help1), image458);
+ image466 = gtk_image_new_from_stock ("gtk-help", GTK_ICON_SIZE_MENU);
+ gtk_widget_show (image466);
+ gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (help1), image466);
changelog1 = gtk_menu_item_new_with_mnemonic (_("_ChangeLog"));
gtk_widget_show (changelog1);
@@ -439,17 +468,17 @@ create_mainwin (void)
gtk_widget_show (about1);
gtk_container_add (GTK_CONTAINER (Help_menu), about1);
- image459 = gtk_image_new_from_stock ("gtk-about", GTK_ICON_SIZE_MENU);
- gtk_widget_show (image459);
- gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (about1), image459);
+ image467 = gtk_image_new_from_stock ("gtk-about", GTK_ICON_SIZE_MENU);
+ gtk_widget_show (image467);
+ gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (about1), image467);
translators1 = gtk_image_menu_item_new_with_mnemonic (_("_Translators"));
gtk_widget_show (translators1);
gtk_container_add (GTK_CONTAINER (Help_menu), translators1);
- image460 = gtk_image_new_from_stock ("gtk-about", GTK_ICON_SIZE_MENU);
- gtk_widget_show (image460);
- gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (translators1), image460);
+ image468 = gtk_image_new_from_stock ("gtk-about", GTK_ICON_SIZE_MENU);
+ gtk_widget_show (image468);
+ gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (translators1), image468);
hbox2 = gtk_hbox_new (FALSE, 0);
gtk_widget_show (hbox2);
@@ -645,6 +674,18 @@ create_mainwin (void)
g_signal_connect ((gpointer) find1, "activate",
G_CALLBACK (on_find_activate),
NULL);
+ g_signal_connect ((gpointer) album1, "activate",
+ G_CALLBACK (on_album1_activate),
+ NULL);
+ g_signal_connect ((gpointer) artist1, "activate",
+ G_CALLBACK (on_artist1_activate),
+ NULL);
+ g_signal_connect ((gpointer) date1, "activate",
+ G_CALLBACK (on_date1_activate),
+ NULL);
+ g_signal_connect ((gpointer) custom2, "activate",
+ G_CALLBACK (on_custom2_activate),
+ NULL);
g_signal_connect ((gpointer) preferences, "activate",
G_CALLBACK (on_preferences_activate),
NULL);
@@ -731,12 +772,12 @@ create_mainwin (void)
GLADE_HOOKUP_OBJECT (mainwin, File, "File");
GLADE_HOOKUP_OBJECT (mainwin, File_menu, "File_menu");
GLADE_HOOKUP_OBJECT (mainwin, open, "open");
- GLADE_HOOKUP_OBJECT (mainwin, image452, "image452");
+ GLADE_HOOKUP_OBJECT (mainwin, image460, "image460");
GLADE_HOOKUP_OBJECT (mainwin, separator2, "separator2");
GLADE_HOOKUP_OBJECT (mainwin, add_files, "add_files");
- GLADE_HOOKUP_OBJECT (mainwin, image453, "image453");
+ GLADE_HOOKUP_OBJECT (mainwin, image461, "image461");
GLADE_HOOKUP_OBJECT (mainwin, add_folders, "add_folders");
- GLADE_HOOKUP_OBJECT (mainwin, image454, "image454");
+ GLADE_HOOKUP_OBJECT (mainwin, image462, "image462");
GLADE_HOOKUP_OBJECT (mainwin, add_location1, "add_location1");
GLADE_HOOKUP_OBJECT (mainwin, separatormenuitem1, "separatormenuitem1");
GLADE_HOOKUP_OBJECT (mainwin, new_playlist1, "new_playlist1");
@@ -745,20 +786,26 @@ 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, image455, "image455");
+ GLADE_HOOKUP_OBJECT (mainwin, image463, "image463");
GLADE_HOOKUP_OBJECT (mainwin, Edit, "Edit");
GLADE_HOOKUP_OBJECT (mainwin, Edit_menu, "Edit_menu");
GLADE_HOOKUP_OBJECT (mainwin, clear1, "clear1");
- GLADE_HOOKUP_OBJECT (mainwin, image456, "image456");
+ GLADE_HOOKUP_OBJECT (mainwin, image464, "image464");
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, Selection, "Selection");
GLADE_HOOKUP_OBJECT (mainwin, Selection_menu, "Selection_menu");
GLADE_HOOKUP_OBJECT (mainwin, remove1, "remove1");
- GLADE_HOOKUP_OBJECT (mainwin, image457, "image457");
+ GLADE_HOOKUP_OBJECT (mainwin, image465, "image465");
GLADE_HOOKUP_OBJECT (mainwin, crop1, "crop1");
GLADE_HOOKUP_OBJECT (mainwin, find1, "find1");
+ GLADE_HOOKUP_OBJECT (mainwin, sort_by1, "sort_by1");
+ GLADE_HOOKUP_OBJECT (mainwin, sort_by1_menu, "sort_by1_menu");
+ GLADE_HOOKUP_OBJECT (mainwin, album1, "album1");
+ GLADE_HOOKUP_OBJECT (mainwin, artist1, "artist1");
+ GLADE_HOOKUP_OBJECT (mainwin, date1, "date1");
+ GLADE_HOOKUP_OBJECT (mainwin, custom2, "custom2");
GLADE_HOOKUP_OBJECT (mainwin, separator5, "separator5");
GLADE_HOOKUP_OBJECT (mainwin, preferences, "preferences");
GLADE_HOOKUP_OBJECT (mainwin, View, "View");
@@ -787,16 +834,16 @@ create_mainwin (void)
GLADE_HOOKUP_OBJECT (mainwin, Help, "Help");
GLADE_HOOKUP_OBJECT (mainwin, Help_menu, "Help_menu");
GLADE_HOOKUP_OBJECT (mainwin, help1, "help1");
- GLADE_HOOKUP_OBJECT (mainwin, image458, "image458");
+ GLADE_HOOKUP_OBJECT (mainwin, image466, "image466");
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, image459, "image459");
+ GLADE_HOOKUP_OBJECT (mainwin, image467, "image467");
GLADE_HOOKUP_OBJECT (mainwin, translators1, "translators1");
- GLADE_HOOKUP_OBJECT (mainwin, image460, "image460");
+ GLADE_HOOKUP_OBJECT (mainwin, image468, "image468");
GLADE_HOOKUP_OBJECT (mainwin, hbox2, "hbox2");
GLADE_HOOKUP_OBJECT (mainwin, hbox3, "hbox3");
GLADE_HOOKUP_OBJECT (mainwin, stopbtn, "stopbtn");
@@ -3409,3 +3456,104 @@ create_convpreset_editor (void)
return convpreset_editor;
}
+GtkWidget*
+create_sortbydlg (void)
+{
+ GtkWidget *sortbydlg;
+ GtkWidget *dialog_vbox8;
+ GtkWidget *vbox28;
+ GtkWidget *hbox76;
+ GtkWidget *label108;
+ GtkWidget *hbox77;
+ GtkWidget *sortfmt;
+ GtkWidget *custom3;
+ GtkWidget *hbox78;
+ GtkWidget *label109;
+ GtkWidget *sortorder;
+ GtkWidget *dialog_action_area7;
+ GtkWidget *cancelbutton5;
+ GtkWidget *okbutton5;
+
+ sortbydlg = gtk_dialog_new ();
+ gtk_window_set_title (GTK_WINDOW (sortbydlg), _("Sort by..."));
+ gtk_window_set_modal (GTK_WINDOW (sortbydlg), TRUE);
+ gtk_window_set_type_hint (GTK_WINDOW (sortbydlg), GDK_WINDOW_TYPE_HINT_DIALOG);
+
+ dialog_vbox8 = GTK_DIALOG (sortbydlg)->vbox;
+ gtk_widget_show (dialog_vbox8);
+
+ vbox28 = gtk_vbox_new (FALSE, 8);
+ gtk_widget_show (vbox28);
+ gtk_box_pack_start (GTK_BOX (dialog_vbox8), vbox28, FALSE, FALSE, 0);
+ gtk_container_set_border_width (GTK_CONTAINER (vbox28), 12);
+
+ hbox76 = gtk_hbox_new (FALSE, 8);
+ gtk_widget_show (hbox76);
+ gtk_box_pack_start (GTK_BOX (vbox28), hbox76, FALSE, TRUE, 0);
+
+ label108 = gtk_label_new (_("Format"));
+ gtk_widget_show (label108);
+ gtk_box_pack_start (GTK_BOX (hbox76), label108, FALSE, FALSE, 0);
+
+ hbox77 = gtk_hbox_new (FALSE, 0);
+ gtk_widget_show (hbox77);
+ gtk_box_pack_start (GTK_BOX (hbox76), hbox77, TRUE, TRUE, 0);
+
+ sortfmt = gtk_entry_new ();
+ gtk_widget_show (sortfmt);
+ gtk_box_pack_start (GTK_BOX (hbox77), sortfmt, TRUE, TRUE, 0);
+ gtk_entry_set_invisible_char (GTK_ENTRY (sortfmt), 9679);
+
+ custom3 = title_formatting_help_link_create ("custom3", "", "", 0, 0);
+ gtk_widget_show (custom3);
+ gtk_box_pack_start (GTK_BOX (hbox77), custom3, TRUE, TRUE, 0);
+ GTK_WIDGET_UNSET_FLAGS (custom3, GTK_CAN_FOCUS);
+ GTK_WIDGET_UNSET_FLAGS (custom3, GTK_CAN_DEFAULT);
+
+ hbox78 = gtk_hbox_new (FALSE, 8);
+ gtk_widget_show (hbox78);
+ gtk_box_pack_start (GTK_BOX (vbox28), hbox78, TRUE, TRUE, 0);
+
+ label109 = gtk_label_new (_("Order"));
+ gtk_widget_show (label109);
+ gtk_box_pack_start (GTK_BOX (hbox78), label109, FALSE, FALSE, 0);
+
+ sortorder = gtk_combo_box_new_text ();
+ gtk_widget_show (sortorder);
+ gtk_box_pack_start (GTK_BOX (hbox78), sortorder, TRUE, TRUE, 0);
+ gtk_combo_box_append_text (GTK_COMBO_BOX (sortorder), _("Ascending"));
+ gtk_combo_box_append_text (GTK_COMBO_BOX (sortorder), _("Descending"));
+
+ dialog_action_area7 = GTK_DIALOG (sortbydlg)->action_area;
+ gtk_widget_show (dialog_action_area7);
+ gtk_button_box_set_layout (GTK_BUTTON_BOX (dialog_action_area7), GTK_BUTTONBOX_END);
+
+ cancelbutton5 = gtk_button_new_from_stock ("gtk-cancel");
+ gtk_widget_show (cancelbutton5);
+ gtk_dialog_add_action_widget (GTK_DIALOG (sortbydlg), cancelbutton5, GTK_RESPONSE_CANCEL);
+ GTK_WIDGET_SET_FLAGS (cancelbutton5, GTK_CAN_DEFAULT);
+
+ okbutton5 = gtk_button_new_from_stock ("gtk-ok");
+ gtk_widget_show (okbutton5);
+ gtk_dialog_add_action_widget (GTK_DIALOG (sortbydlg), okbutton5, GTK_RESPONSE_OK);
+ GTK_WIDGET_SET_FLAGS (okbutton5, GTK_CAN_DEFAULT);
+
+ /* Store pointers to all widgets, for use by lookup_widget(). */
+ GLADE_HOOKUP_OBJECT_NO_REF (sortbydlg, sortbydlg, "sortbydlg");
+ GLADE_HOOKUP_OBJECT_NO_REF (sortbydlg, dialog_vbox8, "dialog_vbox8");
+ GLADE_HOOKUP_OBJECT (sortbydlg, vbox28, "vbox28");
+ GLADE_HOOKUP_OBJECT (sortbydlg, hbox76, "hbox76");
+ GLADE_HOOKUP_OBJECT (sortbydlg, label108, "label108");
+ GLADE_HOOKUP_OBJECT (sortbydlg, hbox77, "hbox77");
+ GLADE_HOOKUP_OBJECT (sortbydlg, sortfmt, "sortfmt");
+ GLADE_HOOKUP_OBJECT (sortbydlg, custom3, "custom3");
+ GLADE_HOOKUP_OBJECT (sortbydlg, hbox78, "hbox78");
+ GLADE_HOOKUP_OBJECT (sortbydlg, label109, "label109");
+ GLADE_HOOKUP_OBJECT (sortbydlg, sortorder, "sortorder");
+ GLADE_HOOKUP_OBJECT_NO_REF (sortbydlg, dialog_action_area7, "dialog_action_area7");
+ GLADE_HOOKUP_OBJECT (sortbydlg, cancelbutton5, "cancelbutton5");
+ GLADE_HOOKUP_OBJECT (sortbydlg, okbutton5, "okbutton5");
+
+ return sortbydlg;
+}
+
diff --git a/plugins/gtkui/interface.h b/plugins/gtkui/interface.h
index eb76a137..bf6b9bea 100644
--- a/plugins/gtkui/interface.h
+++ b/plugins/gtkui/interface.h
@@ -15,3 +15,4 @@ GtkWidget* create_addlocationdlg (void);
GtkWidget* create_groupbydlg (void);
GtkWidget* create_converterdlg (void);
GtkWidget* create_convpreset_editor (void);
+GtkWidget* create_sortbydlg (void);