summaryrefslogtreecommitdiff
path: root/plugins/gtkui/interface.c
diff options
context:
space:
mode:
authorGravatar Alexey Yakovenko <wakeroid@gmail.com>2009-11-11 20:33:51 +0100
committerGravatar Alexey Yakovenko <wakeroid@gmail.com>2009-11-11 20:33:51 +0100
commit526cbb98cf3f38657afc75ba9e468e3d9dd5232f (patch)
tree970e3bb1394379805758d3da6bc02369306eaa42 /plugins/gtkui/interface.c
parent69e0ddb79f353cbf67cbf8db9517e2e71ed87d5c (diff)
created gtkui plugin, started moving stuff out
Diffstat (limited to 'plugins/gtkui/interface.c')
-rw-r--r--plugins/gtkui/interface.c1737
1 files changed, 1737 insertions, 0 deletions
diff --git a/plugins/gtkui/interface.c b/plugins/gtkui/interface.c
new file mode 100644
index 00000000..88acb8d0
--- /dev/null
+++ b/plugins/gtkui/interface.c
@@ -0,0 +1,1737 @@
+/*
+ * DO NOT EDIT THIS FILE - it is generated by Glade.
+ */
+
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <unistd.h>
+#include <string.h>
+#include <stdio.h>
+
+#include <gdk/gdkkeysyms.h>
+#include <gtk/gtk.h>
+
+#include "callbacks.h"
+#include "interface.h"
+#include "support.h"
+
+#define GLADE_HOOKUP_OBJECT(component,widget,name) \
+ g_object_set_data_full (G_OBJECT (component), name, \
+ gtk_widget_ref (widget), (GDestroyNotify) gtk_widget_unref)
+
+#define GLADE_HOOKUP_OBJECT_NO_REF(component,widget,name) \
+ g_object_set_data (G_OBJECT (component), name, widget)
+
+GtkWidget*
+create_mainwin (void)
+{
+ GtkWidget *mainwin;
+ GtkWidget *vbox1;
+ GtkWidget *menubar1;
+ GtkWidget *menuitem1;
+ GtkWidget *menuitem1_menu;
+ GtkWidget *open;
+ GtkWidget *image120;
+ GtkWidget *separator2;
+ GtkWidget *add_files;
+ GtkWidget *image121;
+ GtkWidget *add_folders;
+ GtkWidget *image122;
+ GtkWidget *add_audio_cd;
+ GtkWidget *image123;
+ GtkWidget *add_location1;
+ GtkWidget *separatormenuitem1;
+ GtkWidget *quit;
+ GtkWidget *image124;
+ GtkWidget *edit1;
+ GtkWidget *edit1_menu;
+ GtkWidget *clear1;
+ GtkWidget *image125;
+ GtkWidget *select_all1;
+ GtkWidget *selection1;
+ GtkWidget *selection1_menu;
+ GtkWidget *remove1;
+ GtkWidget *image126;
+ GtkWidget *crop1;
+ GtkWidget *find1;
+ GtkWidget *separator5;
+ GtkWidget *preferences;
+ GtkWidget *playlist1;
+ GtkWidget *playlist1_menu;
+ GtkWidget *playlist_load;
+ GtkWidget *playlist_save;
+ GtkWidget *playlist_save_as;
+ GtkWidget *order1;
+ GtkWidget *order1_menu;
+ GSList *order_linear_group = NULL;
+ GtkWidget *order_linear;
+ GtkWidget *order_shuffle;
+ GtkWidget *order_random;
+ GtkWidget *looping1;
+ GtkWidget *looping1_menu;
+ GSList *loop_all_group = NULL;
+ GtkWidget *loop_all;
+ GtkWidget *loop_single;
+ GtkWidget *loop_disable;
+ GtkWidget *scroll_follows_playback;
+ GtkWidget *menuitem4;
+ GtkWidget *menuitem4_menu;
+ GtkWidget *about1;
+ GtkWidget *help1;
+ GtkWidget *image127;
+ GtkWidget *hbox2;
+ GtkWidget *hbox3;
+ GtkWidget *stopbtn;
+ GtkWidget *image7;
+ GtkWidget *playbtn;
+ GtkWidget *image2;
+ GtkWidget *pausebtn;
+ GtkWidget *image3;
+ GtkWidget *prevbtn;
+ GtkWidget *image4;
+ GtkWidget *nextbtn;
+ GtkWidget *image5;
+ GtkWidget *playrand;
+ GtkWidget *image6;
+ GtkWidget *volumebar;
+ GtkWidget *seekbar;
+ GtkWidget *table1;
+ GtkWidget *_;
+ GtkWidget *vbox3;
+ GtkWidget *header;
+ GtkWidget *playlist;
+ GtkWidget *playscroll;
+ GtkWidget *playhscroll;
+ GtkWidget *statusbar;
+ GtkAccelGroup *accel_group;
+
+ accel_group = gtk_accel_group_new ();
+
+ mainwin = gtk_window_new (GTK_WINDOW_TOPLEVEL);
+ gtk_widget_set_events (mainwin, GDK_KEY_PRESS_MASK);
+ gtk_window_set_title (GTK_WINDOW (mainwin), "DeaDBeeF");
+ gtk_window_set_default_size (GTK_WINDOW (mainwin), 500, 300);
+
+ vbox1 = gtk_vbox_new (FALSE, 0);
+ gtk_widget_show (vbox1);
+ gtk_container_add (GTK_CONTAINER (mainwin), vbox1);
+
+ menubar1 = gtk_menu_bar_new ();
+ gtk_widget_show (menubar1);
+ gtk_box_pack_start (GTK_BOX (vbox1), menubar1, FALSE, FALSE, 0);
+
+ menuitem1 = gtk_menu_item_new_with_mnemonic ("_File");
+ gtk_widget_show (menuitem1);
+ gtk_container_add (GTK_CONTAINER (menubar1), menuitem1);
+
+ menuitem1_menu = gtk_menu_new ();
+ gtk_menu_item_set_submenu (GTK_MENU_ITEM (menuitem1), menuitem1_menu);
+
+ open = gtk_image_menu_item_new_with_mnemonic ("_Open file(s)");
+ gtk_widget_show (open);
+ gtk_container_add (GTK_CONTAINER (menuitem1_menu), open);
+ gtk_widget_add_accelerator (open, "activate", accel_group,
+ GDK_O, (GdkModifierType) GDK_CONTROL_MASK,
+ GTK_ACCEL_VISIBLE);
+
+ image120 = gtk_image_new_from_stock ("gtk-open", GTK_ICON_SIZE_MENU);
+ gtk_widget_show (image120);
+ gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (open), image120);
+
+ separator2 = gtk_separator_menu_item_new ();
+ gtk_widget_show (separator2);
+ gtk_container_add (GTK_CONTAINER (menuitem1_menu), separator2);
+ gtk_widget_set_sensitive (separator2, FALSE);
+
+ add_files = gtk_image_menu_item_new_with_mnemonic ("Add file(s)");
+ gtk_widget_show (add_files);
+ gtk_container_add (GTK_CONTAINER (menuitem1_menu), add_files);
+
+ image121 = gtk_image_new_from_stock ("gtk-add", GTK_ICON_SIZE_MENU);
+ gtk_widget_show (image121);
+ gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (add_files), image121);
+
+ 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);
+
+ image122 = gtk_image_new_from_stock ("gtk-add", GTK_ICON_SIZE_MENU);
+ gtk_widget_show (image122);
+ gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (add_folders), image122);
+
+ 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);
+
+ image123 = gtk_image_new_from_stock ("gtk-add", GTK_ICON_SIZE_MENU);
+ gtk_widget_show (image123);
+ gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (add_audio_cd), image123);
+
+ add_location1 = gtk_menu_item_new_with_mnemonic ("Add location");
+ gtk_widget_show (add_location1);
+ gtk_container_add (GTK_CONTAINER (menuitem1_menu), add_location1);
+
+ separatormenuitem1 = gtk_separator_menu_item_new ();
+ gtk_widget_show (separatormenuitem1);
+ gtk_container_add (GTK_CONTAINER (menuitem1_menu), separatormenuitem1);
+ gtk_widget_set_sensitive (separatormenuitem1, FALSE);
+
+ quit = gtk_image_menu_item_new_with_mnemonic ("_Quit");
+ gtk_widget_show (quit);
+ gtk_container_add (GTK_CONTAINER (menuitem1_menu), quit);
+ gtk_widget_add_accelerator (quit, "activate", accel_group,
+ GDK_Q, (GdkModifierType) GDK_CONTROL_MASK,
+ GTK_ACCEL_VISIBLE);
+
+ image124 = gtk_image_new_from_stock ("gtk-quit", GTK_ICON_SIZE_MENU);
+ gtk_widget_show (image124);
+ gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (quit), image124);
+
+ edit1 = gtk_menu_item_new_with_mnemonic ("Edit");
+ gtk_widget_show (edit1);
+ gtk_container_add (GTK_CONTAINER (menubar1), edit1);
+
+ edit1_menu = gtk_menu_new ();
+ gtk_menu_item_set_submenu (GTK_MENU_ITEM (edit1), edit1_menu);
+
+ clear1 = gtk_image_menu_item_new_with_mnemonic ("_Clear");
+ gtk_widget_show (clear1);
+ gtk_container_add (GTK_CONTAINER (edit1_menu), clear1);
+
+ image125 = gtk_image_new_from_stock ("gtk-clear", GTK_ICON_SIZE_MENU);
+ gtk_widget_show (image125);
+ gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (clear1), image125);
+
+ select_all1 = gtk_menu_item_new_with_mnemonic ("Select all");
+ gtk_widget_show (select_all1);
+ gtk_container_add (GTK_CONTAINER (edit1_menu), select_all1);
+ gtk_widget_add_accelerator (select_all1, "activate", accel_group,
+ GDK_A, (GdkModifierType) GDK_CONTROL_MASK,
+ GTK_ACCEL_VISIBLE);
+
+ selection1 = gtk_menu_item_new_with_mnemonic ("Selection");
+ gtk_widget_show (selection1);
+ gtk_container_add (GTK_CONTAINER (edit1_menu), selection1);
+
+ selection1_menu = gtk_menu_new ();
+ gtk_menu_item_set_submenu (GTK_MENU_ITEM (selection1), selection1_menu);
+
+ remove1 = gtk_image_menu_item_new_with_mnemonic ("Remove");
+ gtk_widget_show (remove1);
+ gtk_container_add (GTK_CONTAINER (selection1_menu), remove1);
+ gtk_widget_add_accelerator (remove1, "activate", accel_group,
+ GDK_Delete, (GdkModifierType) 0,
+ GTK_ACCEL_VISIBLE);
+
+ image126 = gtk_image_new_from_stock ("gtk-remove", GTK_ICON_SIZE_MENU);
+ gtk_widget_show (image126);
+ gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (remove1), image126);
+
+ crop1 = gtk_menu_item_new_with_mnemonic ("Crop");
+ gtk_widget_show (crop1);
+ gtk_container_add (GTK_CONTAINER (selection1_menu), crop1);
+
+ find1 = gtk_menu_item_new_with_mnemonic ("_Find");
+ gtk_widget_show (find1);
+ gtk_container_add (GTK_CONTAINER (edit1_menu), find1);
+ gtk_widget_add_accelerator (find1, "activate", accel_group,
+ GDK_F, (GdkModifierType) GDK_CONTROL_MASK,
+ GTK_ACCEL_VISIBLE);
+
+ separator5 = gtk_separator_menu_item_new ();
+ gtk_widget_show (separator5);
+ gtk_container_add (GTK_CONTAINER (edit1_menu), separator5);
+ gtk_widget_set_sensitive (separator5, FALSE);
+
+ preferences = gtk_menu_item_new_with_mnemonic ("Preferences");
+ gtk_widget_show (preferences);
+ gtk_container_add (GTK_CONTAINER (edit1_menu), preferences);
+
+ playlist1 = gtk_menu_item_new_with_mnemonic ("Playlist");
+ gtk_widget_show (playlist1);
+ gtk_container_add (GTK_CONTAINER (menubar1), playlist1);
+
+ playlist1_menu = gtk_menu_new ();
+ gtk_menu_item_set_submenu (GTK_MENU_ITEM (playlist1), playlist1_menu);
+
+ playlist_load = gtk_menu_item_new_with_mnemonic ("Load");
+ gtk_widget_show (playlist_load);
+ gtk_container_add (GTK_CONTAINER (playlist1_menu), playlist_load);
+
+ playlist_save = gtk_menu_item_new_with_mnemonic ("Save");
+ gtk_widget_show (playlist_save);
+ gtk_container_add (GTK_CONTAINER (playlist1_menu), playlist_save);
+
+ playlist_save_as = gtk_menu_item_new_with_mnemonic ("Save As");
+ gtk_widget_show (playlist_save_as);
+ gtk_container_add (GTK_CONTAINER (playlist1_menu), playlist_save_as);
+
+ order1 = gtk_menu_item_new_with_mnemonic ("Order");
+ gtk_widget_show (order1);
+ gtk_container_add (GTK_CONTAINER (playlist1_menu), order1);
+
+ order1_menu = gtk_menu_new ();
+ gtk_menu_item_set_submenu (GTK_MENU_ITEM (order1), order1_menu);
+
+ order_linear = gtk_radio_menu_item_new_with_mnemonic (order_linear_group, "Linear");
+ order_linear_group = gtk_radio_menu_item_get_group (GTK_RADIO_MENU_ITEM (order_linear));
+ gtk_widget_show (order_linear);
+ gtk_container_add (GTK_CONTAINER (order1_menu), order_linear);
+ gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (order_linear), TRUE);
+
+ order_shuffle = gtk_radio_menu_item_new_with_mnemonic (order_linear_group, "Shuffle");
+ order_linear_group = gtk_radio_menu_item_get_group (GTK_RADIO_MENU_ITEM (order_shuffle));
+ gtk_widget_show (order_shuffle);
+ gtk_container_add (GTK_CONTAINER (order1_menu), order_shuffle);
+ gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (order_shuffle), TRUE);
+
+ order_random = gtk_radio_menu_item_new_with_mnemonic (order_linear_group, "Random");
+ order_linear_group = gtk_radio_menu_item_get_group (GTK_RADIO_MENU_ITEM (order_random));
+ gtk_widget_show (order_random);
+ gtk_container_add (GTK_CONTAINER (order1_menu), order_random);
+ gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (order_random), TRUE);
+
+ looping1 = gtk_menu_item_new_with_mnemonic ("Looping");
+ gtk_widget_show (looping1);
+ gtk_container_add (GTK_CONTAINER (playlist1_menu), looping1);
+
+ looping1_menu = gtk_menu_new ();
+ gtk_menu_item_set_submenu (GTK_MENU_ITEM (looping1), looping1_menu);
+
+ loop_all = gtk_radio_menu_item_new_with_mnemonic (loop_all_group, "Loop All");
+ loop_all_group = gtk_radio_menu_item_get_group (GTK_RADIO_MENU_ITEM (loop_all));
+ gtk_widget_show (loop_all);
+ gtk_container_add (GTK_CONTAINER (looping1_menu), loop_all);
+ gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (loop_all), TRUE);
+
+ loop_single = gtk_radio_menu_item_new_with_mnemonic (loop_all_group, "Loop Single Song");
+ loop_all_group = gtk_radio_menu_item_get_group (GTK_RADIO_MENU_ITEM (loop_single));
+ gtk_widget_show (loop_single);
+ gtk_container_add (GTK_CONTAINER (looping1_menu), loop_single);
+ gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (loop_single), TRUE);
+
+ loop_disable = gtk_radio_menu_item_new_with_mnemonic (loop_all_group, "Don't Loop");
+ loop_all_group = gtk_radio_menu_item_get_group (GTK_RADIO_MENU_ITEM (loop_disable));
+ gtk_widget_show (loop_disable);
+ gtk_container_add (GTK_CONTAINER (looping1_menu), loop_disable);
+ gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (loop_disable), TRUE);
+
+ scroll_follows_playback = gtk_check_menu_item_new_with_mnemonic ("Scroll follows playback");
+ gtk_widget_show (scroll_follows_playback);
+ gtk_container_add (GTK_CONTAINER (playlist1_menu), scroll_follows_playback);
+ gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (scroll_follows_playback), TRUE);
+
+ menuitem4 = gtk_menu_item_new_with_mnemonic ("_Help");
+ gtk_widget_show (menuitem4);
+ gtk_container_add (GTK_CONTAINER (menubar1), menuitem4);
+
+ menuitem4_menu = gtk_menu_new ();
+ gtk_menu_item_set_submenu (GTK_MENU_ITEM (menuitem4), menuitem4_menu);
+
+ about1 = gtk_menu_item_new_with_mnemonic ("_About");
+ gtk_widget_show (about1);
+ gtk_container_add (GTK_CONTAINER (menuitem4_menu), about1);
+
+ help1 = gtk_image_menu_item_new_with_mnemonic ("Help");
+ gtk_widget_show (help1);
+ gtk_container_add (GTK_CONTAINER (menuitem4_menu), help1);
+
+ image127 = gtk_image_new_from_stock ("gtk-help", GTK_ICON_SIZE_MENU);
+ gtk_widget_show (image127);
+ gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (help1), image127);
+
+ hbox2 = gtk_hbox_new (FALSE, 0);
+ gtk_widget_show (hbox2);
+ gtk_box_pack_start (GTK_BOX (vbox1), hbox2, FALSE, FALSE, 0);
+
+ hbox3 = gtk_hbox_new (FALSE, 0);
+ gtk_widget_show (hbox3);
+ gtk_box_pack_start (GTK_BOX (hbox2), hbox3, TRUE, TRUE, 0);
+
+ stopbtn = gtk_button_new ();
+ gtk_widget_show (stopbtn);
+ gtk_box_pack_start (GTK_BOX (hbox3), stopbtn, FALSE, FALSE, 0);
+ GTK_WIDGET_UNSET_FLAGS (stopbtn, GTK_CAN_FOCUS);
+ gtk_widget_add_accelerator (stopbtn, "activate", accel_group,
+ GDK_v, (GdkModifierType) 0,
+ GTK_ACCEL_VISIBLE);
+ gtk_button_set_relief (GTK_BUTTON (stopbtn), GTK_RELIEF_NONE);
+
+ image7 = create_pixmap (mainwin, "stop_24.png");
+ gtk_widget_show (image7);
+ gtk_container_add (GTK_CONTAINER (stopbtn), image7);
+
+ playbtn = gtk_button_new ();
+ gtk_widget_show (playbtn);
+ gtk_box_pack_start (GTK_BOX (hbox3), playbtn, FALSE, FALSE, 0);
+ GTK_WIDGET_UNSET_FLAGS (playbtn, GTK_CAN_FOCUS);
+ gtk_widget_add_accelerator (playbtn, "activate", accel_group,
+ GDK_x, (GdkModifierType) 0,
+ GTK_ACCEL_VISIBLE);
+ gtk_widget_add_accelerator (playbtn, "activate", accel_group,
+ GDK_Return, (GdkModifierType) 0,
+ GTK_ACCEL_VISIBLE);
+ gtk_button_set_relief (GTK_BUTTON (playbtn), GTK_RELIEF_NONE);
+
+ image2 = create_pixmap (mainwin, "play_24.png");
+ gtk_widget_show (image2);
+ gtk_container_add (GTK_CONTAINER (playbtn), image2);
+
+ pausebtn = gtk_button_new ();
+ gtk_widget_show (pausebtn);
+ gtk_box_pack_start (GTK_BOX (hbox3), pausebtn, FALSE, FALSE, 0);
+ GTK_WIDGET_UNSET_FLAGS (pausebtn, GTK_CAN_FOCUS);
+ gtk_widget_add_accelerator (pausebtn, "activate", accel_group,
+ GDK_c, (GdkModifierType) 0,
+ GTK_ACCEL_VISIBLE);
+ gtk_widget_add_accelerator (pausebtn, "activate", accel_group,
+ GDK_p, (GdkModifierType) GDK_CONTROL_MASK,
+ GTK_ACCEL_VISIBLE);
+ gtk_button_set_relief (GTK_BUTTON (pausebtn), GTK_RELIEF_NONE);
+
+ image3 = create_pixmap (mainwin, "pause_24.png");
+ gtk_widget_show (image3);
+ gtk_container_add (GTK_CONTAINER (pausebtn), image3);
+
+ prevbtn = gtk_button_new ();
+ gtk_widget_show (prevbtn);
+ gtk_box_pack_start (GTK_BOX (hbox3), prevbtn, FALSE, FALSE, 0);
+ GTK_WIDGET_UNSET_FLAGS (prevbtn, GTK_CAN_FOCUS);
+ gtk_widget_add_accelerator (prevbtn, "activate", accel_group,
+ GDK_z, (GdkModifierType) 0,
+ GTK_ACCEL_VISIBLE);
+ gtk_button_set_relief (GTK_BUTTON (prevbtn), GTK_RELIEF_NONE);
+
+ image4 = create_pixmap (mainwin, "prev_24.png");
+ gtk_widget_show (image4);
+ gtk_container_add (GTK_CONTAINER (prevbtn), image4);
+
+ nextbtn = gtk_button_new ();
+ gtk_widget_show (nextbtn);
+ gtk_box_pack_start (GTK_BOX (hbox3), nextbtn, FALSE, FALSE, 0);
+ GTK_WIDGET_UNSET_FLAGS (nextbtn, GTK_CAN_FOCUS);
+ gtk_widget_add_accelerator (nextbtn, "activate", accel_group,
+ GDK_b, (GdkModifierType) 0,
+ GTK_ACCEL_VISIBLE);
+ gtk_button_set_relief (GTK_BUTTON (nextbtn), GTK_RELIEF_NONE);
+
+ image5 = create_pixmap (mainwin, "next_24.png");
+ gtk_widget_show (image5);
+ gtk_container_add (GTK_CONTAINER (nextbtn), image5);
+
+ playrand = gtk_button_new ();
+ gtk_widget_show (playrand);
+ gtk_box_pack_start (GTK_BOX (hbox3), playrand, FALSE, FALSE, 0);
+ GTK_WIDGET_UNSET_FLAGS (playrand, GTK_CAN_FOCUS);
+ gtk_widget_add_accelerator (playrand, "activate", accel_group,
+ GDK_n, (GdkModifierType) 0,
+ GTK_ACCEL_VISIBLE);
+ gtk_button_set_relief (GTK_BUTTON (playrand), GTK_RELIEF_NONE);
+
+ image6 = create_pixmap (mainwin, "random_24.png");
+ gtk_widget_show (image6);
+ gtk_container_add (GTK_CONTAINER (playrand), image6);
+
+ volumebar = gtk_drawing_area_new ();
+ gtk_widget_show (volumebar);
+ gtk_box_pack_start (GTK_BOX (hbox2), volumebar, FALSE, TRUE, 2);
+ gtk_widget_set_size_request (volumebar, 70, -1);
+ gtk_widget_set_events (volumebar, GDK_EXPOSURE_MASK | GDK_POINTER_MOTION_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK);
+
+ seekbar = gtk_drawing_area_new ();
+ gtk_widget_show (seekbar);
+ gtk_box_pack_start (GTK_BOX (hbox2), seekbar, FALSE, TRUE, 2);
+ gtk_widget_set_size_request (seekbar, 200, -1);
+ gtk_widget_set_events (seekbar, GDK_EXPOSURE_MASK | GDK_POINTER_MOTION_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK);
+
+ table1 = gtk_table_new (2, 2, FALSE);
+ gtk_widget_show (table1);
+ gtk_box_pack_start (GTK_BOX (vbox1), table1, TRUE, TRUE, 0);
+
+ _ = gtk_hbox_new (FALSE, 0);
+ gtk_widget_show (_);
+ gtk_table_attach (GTK_TABLE (table1), _, 0, 1, 0, 1,
+ (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
+ (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 0, 0);
+ gtk_container_set_border_width (GTK_CONTAINER (_), 3);
+
+ vbox3 = gtk_vbox_new (FALSE, 0);
+ gtk_widget_show (vbox3);
+ gtk_box_pack_start (GTK_BOX (_), vbox3, TRUE, TRUE, 0);
+
+ header = gtk_drawing_area_new ();
+ gtk_widget_show (header);
+ gtk_box_pack_start (GTK_BOX (vbox3), header, FALSE, TRUE, 0);
+ gtk_widget_set_size_request (header, -1, 24);
+ gtk_widget_set_events (header, GDK_POINTER_MOTION_MASK | GDK_BUTTON_MOTION_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK);
+
+ playlist = gtk_drawing_area_new ();
+ gtk_widget_show (playlist);
+ gtk_box_pack_start (GTK_BOX (vbox3), playlist, TRUE, TRUE, 0);
+ gtk_widget_set_events (playlist, GDK_EXPOSURE_MASK | GDK_POINTER_MOTION_MASK | GDK_BUTTON_MOTION_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK | GDK_KEY_PRESS_MASK | GDK_KEY_RELEASE_MASK);
+
+ playscroll = gtk_vscrollbar_new (GTK_ADJUSTMENT (gtk_adjustment_new (0, 0, 1, 1, 0, 0)));
+ gtk_widget_show (playscroll);
+ gtk_table_attach (GTK_TABLE (table1), playscroll, 1, 2, 0, 1,
+ (GtkAttachOptions) (GTK_FILL),
+ (GtkAttachOptions) (GTK_FILL), 0, 0);
+
+ playhscroll = gtk_hscrollbar_new (GTK_ADJUSTMENT (gtk_adjustment_new (0, 0, 0, 0, 0, 0)));
+ gtk_widget_show (playhscroll);
+ gtk_table_attach (GTK_TABLE (table1), playhscroll, 0, 1, 1, 2,
+ (GtkAttachOptions) (GTK_FILL),
+ (GtkAttachOptions) (GTK_FILL), 0, 0);
+
+ statusbar = gtk_statusbar_new ();
+ gtk_widget_show (statusbar);
+ gtk_box_pack_start (GTK_BOX (vbox1), statusbar, FALSE, FALSE, 0);
+
+ g_signal_connect ((gpointer) mainwin, "key_press_event",
+ G_CALLBACK (on_mainwin_key_press_event),
+ NULL);
+ g_signal_connect ((gpointer) mainwin, "delete_event",
+ G_CALLBACK (on_mainwin_delete_event),
+ NULL);
+ g_signal_connect ((gpointer) mainwin, "configure_event",
+ G_CALLBACK (on_mainwin_configure_event),
+ NULL);
+ g_signal_connect ((gpointer) open, "activate",
+ G_CALLBACK (on_open_activate),
+ NULL);
+ g_signal_connect ((gpointer) add_files, "activate",
+ G_CALLBACK (on_add_files_activate),
+ NULL);
+ g_signal_connect ((gpointer) add_folders, "activate",
+ G_CALLBACK (on_add_folders_activate),
+ NULL);
+ g_signal_connect ((gpointer) add_audio_cd, "activate",
+ G_CALLBACK (on_add_audio_cd_activate),
+ NULL);
+ g_signal_connect ((gpointer) add_location1, "activate",
+ G_CALLBACK (on_add_location_activate),
+ NULL);
+ g_signal_connect ((gpointer) quit, "activate",
+ G_CALLBACK (on_quit_activate),
+ NULL);
+ g_signal_connect ((gpointer) clear1, "activate",
+ G_CALLBACK (on_clear1_activate),
+ NULL);
+ g_signal_connect ((gpointer) select_all1, "activate",
+ G_CALLBACK (on_select_all1_activate),
+ NULL);
+ g_signal_connect ((gpointer) remove1, "activate",
+ G_CALLBACK (on_remove1_activate),
+ NULL);
+ g_signal_connect ((gpointer) crop1, "activate",
+ G_CALLBACK (on_crop1_activate),
+ NULL);
+ g_signal_connect ((gpointer) find1, "activate",
+ G_CALLBACK (on_find_activate),
+ NULL);
+ g_signal_connect ((gpointer) preferences, "activate",
+ G_CALLBACK (on_preferences_activate),
+ NULL);
+ g_signal_connect ((gpointer) playlist_load, "activate",
+ G_CALLBACK (on_playlist_load_activate),
+ NULL);
+ g_signal_connect ((gpointer) playlist_save, "activate",
+ G_CALLBACK (on_playlist_save_activate),
+ NULL);
+ g_signal_connect ((gpointer) playlist_save_as, "activate",
+ G_CALLBACK (on_playlist_save_as_activate),
+ NULL);
+ g_signal_connect ((gpointer) order_linear, "activate",
+ G_CALLBACK (on_order_linear_activate),
+ NULL);
+ g_signal_connect ((gpointer) order_shuffle, "activate",
+ G_CALLBACK (on_order_shuffle_activate),
+ NULL);
+ g_signal_connect ((gpointer) order_random, "activate",
+ G_CALLBACK (on_order_random_activate),
+ NULL);
+ g_signal_connect ((gpointer) loop_all, "activate",
+ G_CALLBACK (on_loop_all_activate),
+ NULL);
+ g_signal_connect ((gpointer) loop_single, "activate",
+ G_CALLBACK (on_loop_single_activate),
+ NULL);
+ g_signal_connect ((gpointer) loop_disable, "activate",
+ G_CALLBACK (on_loop_disable_activate),
+ NULL);
+ g_signal_connect ((gpointer) scroll_follows_playback, "activate",
+ G_CALLBACK (on_scroll_follows_playback_activate),
+ NULL);
+ g_signal_connect ((gpointer) about1, "activate",
+ G_CALLBACK (on_about1_activate),
+ NULL);
+ g_signal_connect ((gpointer) help1, "activate",
+ G_CALLBACK (on_help1_activate),
+ NULL);
+ g_signal_connect ((gpointer) stopbtn, "clicked",
+ G_CALLBACK (on_stopbtn_clicked),
+ NULL);
+ g_signal_connect ((gpointer) playbtn, "clicked",
+ G_CALLBACK (on_playbtn_clicked),
+ NULL);
+ g_signal_connect ((gpointer) pausebtn, "clicked",
+ G_CALLBACK (on_pausebtn_clicked),
+ NULL);
+ g_signal_connect ((gpointer) prevbtn, "clicked",
+ G_CALLBACK (on_prevbtn_clicked),
+ NULL);
+ g_signal_connect ((gpointer) nextbtn, "clicked",
+ G_CALLBACK (on_nextbtn_clicked),
+ NULL);
+ g_signal_connect ((gpointer) playrand, "clicked",
+ G_CALLBACK (on_playrand_clicked),
+ NULL);
+ g_signal_connect ((gpointer) volumebar, "button_press_event",
+ G_CALLBACK (on_volumebar_button_press_event),
+ NULL);
+ g_signal_connect ((gpointer) volumebar, "button_release_event",
+ G_CALLBACK (on_volumebar_button_release_event),
+ NULL);
+ g_signal_connect ((gpointer) volumebar, "configure_event",
+ G_CALLBACK (on_volumebar_configure_event),
+ NULL);
+ g_signal_connect ((gpointer) volumebar, "expose_event",
+ G_CALLBACK (on_volumebar_expose_event),
+ NULL);
+ g_signal_connect ((gpointer) volumebar, "motion_notify_event",
+ G_CALLBACK (on_volumebar_motion_notify_event),
+ NULL);
+ g_signal_connect ((gpointer) volumebar, "scroll_event",
+ G_CALLBACK (on_volumebar_scroll_event),
+ NULL);
+ g_signal_connect ((gpointer) seekbar, "button_press_event",
+ G_CALLBACK (on_seekbar_button_press_event),
+ NULL);
+ g_signal_connect ((gpointer) seekbar, "button_release_event",
+ G_CALLBACK (on_seekbar_button_release_event),
+ NULL);
+ g_signal_connect ((gpointer) seekbar, "configure_event",
+ G_CALLBACK (on_seekbar_configure_event),
+ NULL);
+ g_signal_connect ((gpointer) seekbar, "expose_event",
+ G_CALLBACK (on_seekbar_expose_event),
+ NULL);
+ g_signal_connect ((gpointer) seekbar, "motion_notify_event",
+ G_CALLBACK (on_seekbar_motion_notify_event),
+ NULL);
+ g_signal_connect ((gpointer) header, "expose_event",
+ G_CALLBACK (on_header_expose_event),
+ NULL);
+ g_signal_connect ((gpointer) header, "configure_event",
+ G_CALLBACK (on_header_configure_event),
+ NULL);
+ g_signal_connect ((gpointer) header, "realize",
+ G_CALLBACK (on_header_realize),
+ NULL);
+ g_signal_connect ((gpointer) header, "motion_notify_event",
+ G_CALLBACK (on_header_motion_notify_event),
+ NULL);
+ g_signal_connect ((gpointer) header, "button_press_event",
+ G_CALLBACK (on_header_button_press_event),
+ NULL);
+ g_signal_connect ((gpointer) header, "button_release_event",
+ G_CALLBACK (on_header_button_release_event),
+ NULL);
+ g_signal_connect ((gpointer) playlist, "configure_event",
+ G_CALLBACK (on_playlist_configure_event),
+ NULL);
+ g_signal_connect ((gpointer) playlist, "expose_event",
+ G_CALLBACK (on_playlist_expose_event),
+ NULL);
+ g_signal_connect ((gpointer) playlist, "realize",
+ G_CALLBACK (on_playlist_realize),
+ NULL);
+ g_signal_connect ((gpointer) playlist, "button_press_event",
+ G_CALLBACK (on_playlist_button_press_event),
+ NULL);
+ g_signal_connect ((gpointer) playlist, "scroll_event",
+ G_CALLBACK (on_playlist_scroll_event),
+ NULL);
+ g_signal_connect ((gpointer) playlist, "drag_begin",
+ G_CALLBACK (on_playlist_drag_begin),
+ NULL);
+ g_signal_connect ((gpointer) playlist, "drag_motion",
+ G_CALLBACK (on_playlist_drag_motion),
+ NULL);
+ g_signal_connect ((gpointer) playlist, "drag_drop",
+ G_CALLBACK (on_playlist_drag_drop),
+ NULL);
+ g_signal_connect ((gpointer) playlist, "drag_data_get",
+ G_CALLBACK (on_playlist_drag_data_get),
+ NULL);
+ g_signal_connect ((gpointer) playlist, "drag_end",
+ G_CALLBACK (on_playlist_drag_end),
+ NULL);
+ g_signal_connect ((gpointer) playlist, "drag_failed",
+ G_CALLBACK (on_playlist_drag_failed),
+ NULL);
+ g_signal_connect ((gpointer) playlist, "drag_leave",
+ G_CALLBACK (on_playlist_drag_leave),
+ NULL);
+ g_signal_connect ((gpointer) playlist, "button_release_event",
+ G_CALLBACK (on_playlist_button_release_event),
+ NULL);
+ g_signal_connect ((gpointer) playlist, "motion_notify_event",
+ G_CALLBACK (on_playlist_motion_notify_event),
+ NULL);
+ g_signal_connect ((gpointer) playlist, "drag_data_received",
+ G_CALLBACK (on_playlist_drag_data_received),
+ NULL);
+ g_signal_connect ((gpointer) playlist, "drag_data_delete",
+ G_CALLBACK (on_playlist_drag_data_delete),
+ NULL);
+ g_signal_connect ((gpointer) playscroll, "value_changed",
+ G_CALLBACK (on_playscroll_value_changed),
+ NULL);
+ g_signal_connect ((gpointer) playhscroll, "value_changed",
+ G_CALLBACK (on_playhscroll_value_changed),
+ NULL);
+
+ /* Store pointers to all widgets, for use by lookup_widget(). */
+ GLADE_HOOKUP_OBJECT_NO_REF (mainwin, mainwin, "mainwin");
+ GLADE_HOOKUP_OBJECT (mainwin, vbox1, "vbox1");
+ GLADE_HOOKUP_OBJECT (mainwin, menubar1, "menubar1");
+ GLADE_HOOKUP_OBJECT (mainwin, menuitem1, "menuitem1");
+ GLADE_HOOKUP_OBJECT (mainwin, menuitem1_menu, "menuitem1_menu");
+ GLADE_HOOKUP_OBJECT (mainwin, open, "open");
+ GLADE_HOOKUP_OBJECT (mainwin, image120, "image120");
+ GLADE_HOOKUP_OBJECT (mainwin, separator2, "separator2");
+ GLADE_HOOKUP_OBJECT (mainwin, add_files, "add_files");
+ GLADE_HOOKUP_OBJECT (mainwin, image121, "image121");
+ GLADE_HOOKUP_OBJECT (mainwin, add_folders, "add_folders");
+ GLADE_HOOKUP_OBJECT (mainwin, image122, "image122");
+ GLADE_HOOKUP_OBJECT (mainwin, add_audio_cd, "add_audio_cd");
+ GLADE_HOOKUP_OBJECT (mainwin, image123, "image123");
+ GLADE_HOOKUP_OBJECT (mainwin, add_location1, "add_location1");
+ GLADE_HOOKUP_OBJECT (mainwin, separatormenuitem1, "separatormenuitem1");
+ GLADE_HOOKUP_OBJECT (mainwin, quit, "quit");
+ GLADE_HOOKUP_OBJECT (mainwin, image124, "image124");
+ GLADE_HOOKUP_OBJECT (mainwin, edit1, "edit1");
+ GLADE_HOOKUP_OBJECT (mainwin, edit1_menu, "edit1_menu");
+ GLADE_HOOKUP_OBJECT (mainwin, clear1, "clear1");
+ GLADE_HOOKUP_OBJECT (mainwin, image125, "image125");
+ GLADE_HOOKUP_OBJECT (mainwin, select_all1, "select_all1");
+ GLADE_HOOKUP_OBJECT (mainwin, selection1, "selection1");
+ GLADE_HOOKUP_OBJECT (mainwin, selection1_menu, "selection1_menu");
+ GLADE_HOOKUP_OBJECT (mainwin, remove1, "remove1");
+ GLADE_HOOKUP_OBJECT (mainwin, image126, "image126");
+ GLADE_HOOKUP_OBJECT (mainwin, crop1, "crop1");
+ GLADE_HOOKUP_OBJECT (mainwin, find1, "find1");
+ GLADE_HOOKUP_OBJECT (mainwin, separator5, "separator5");
+ GLADE_HOOKUP_OBJECT (mainwin, preferences, "preferences");
+ GLADE_HOOKUP_OBJECT (mainwin, playlist1, "playlist1");
+ GLADE_HOOKUP_OBJECT (mainwin, playlist1_menu, "playlist1_menu");
+ GLADE_HOOKUP_OBJECT (mainwin, playlist_load, "playlist_load");
+ GLADE_HOOKUP_OBJECT (mainwin, playlist_save, "playlist_save");
+ GLADE_HOOKUP_OBJECT (mainwin, playlist_save_as, "playlist_save_as");
+ GLADE_HOOKUP_OBJECT (mainwin, order1, "order1");
+ GLADE_HOOKUP_OBJECT (mainwin, order1_menu, "order1_menu");
+ GLADE_HOOKUP_OBJECT (mainwin, order_linear, "order_linear");
+ GLADE_HOOKUP_OBJECT (mainwin, order_shuffle, "order_shuffle");
+ GLADE_HOOKUP_OBJECT (mainwin, order_random, "order_random");
+ GLADE_HOOKUP_OBJECT (mainwin, looping1, "looping1");
+ GLADE_HOOKUP_OBJECT (mainwin, looping1_menu, "looping1_menu");
+ GLADE_HOOKUP_OBJECT (mainwin, loop_all, "loop_all");
+ GLADE_HOOKUP_OBJECT (mainwin, loop_single, "loop_single");
+ GLADE_HOOKUP_OBJECT (mainwin, loop_disable, "loop_disable");
+ GLADE_HOOKUP_OBJECT (mainwin, scroll_follows_playback, "scroll_follows_playback");
+ GLADE_HOOKUP_OBJECT (mainwin, menuitem4, "menuitem4");
+ GLADE_HOOKUP_OBJECT (mainwin, menuitem4_menu, "menuitem4_menu");
+ GLADE_HOOKUP_OBJECT (mainwin, about1, "about1");
+ GLADE_HOOKUP_OBJECT (mainwin, help1, "help1");
+ GLADE_HOOKUP_OBJECT (mainwin, image127, "image127");
+ GLADE_HOOKUP_OBJECT (mainwin, hbox2, "hbox2");
+ GLADE_HOOKUP_OBJECT (mainwin, hbox3, "hbox3");
+ GLADE_HOOKUP_OBJECT (mainwin, stopbtn, "stopbtn");
+ GLADE_HOOKUP_OBJECT (mainwin, image7, "image7");
+ GLADE_HOOKUP_OBJECT (mainwin, playbtn, "playbtn");
+ GLADE_HOOKUP_OBJECT (mainwin, image2, "image2");
+ GLADE_HOOKUP_OBJECT (mainwin, pausebtn, "pausebtn");
+ GLADE_HOOKUP_OBJECT (mainwin, image3, "image3");
+ GLADE_HOOKUP_OBJECT (mainwin, prevbtn, "prevbtn");
+ GLADE_HOOKUP_OBJECT (mainwin, image4, "image4");
+ GLADE_HOOKUP_OBJECT (mainwin, nextbtn, "nextbtn");
+ GLADE_HOOKUP_OBJECT (mainwin, image5, "image5");
+ GLADE_HOOKUP_OBJECT (mainwin, playrand, "playrand");
+ GLADE_HOOKUP_OBJECT (mainwin, image6, "image6");
+ GLADE_HOOKUP_OBJECT (mainwin, volumebar, "volumebar");
+ GLADE_HOOKUP_OBJECT (mainwin, seekbar, "seekbar");
+ GLADE_HOOKUP_OBJECT (mainwin, table1, "table1");
+ GLADE_HOOKUP_OBJECT (mainwin, _, "_");
+ GLADE_HOOKUP_OBJECT (mainwin, vbox3, "vbox3");
+ GLADE_HOOKUP_OBJECT (mainwin, header, "header");
+ GLADE_HOOKUP_OBJECT (mainwin, playlist, "playlist");
+ GLADE_HOOKUP_OBJECT (mainwin, playscroll, "playscroll");
+ GLADE_HOOKUP_OBJECT (mainwin, playhscroll, "playhscroll");
+ GLADE_HOOKUP_OBJECT (mainwin, statusbar, "statusbar");
+
+ gtk_window_add_accel_group (GTK_WINDOW (mainwin), accel_group);
+
+ return mainwin;
+}
+
+GtkWidget*
+create_searchwin (void)
+{
+ GtkWidget *searchwin;
+ GtkWidget *vbox4;
+ GtkWidget *searchentry;
+ GtkWidget *table2;
+ GtkWidget *searchscroll;
+ GtkWidget *vbox5;
+ GtkWidget *searchheader;
+ GtkWidget *searchlist;
+ GtkWidget *searchhscroll;
+
+ searchwin = gtk_window_new (GTK_WINDOW_TOPLEVEL);
+ gtk_widget_set_size_request (searchwin, 600, 150);
+ gtk_widget_set_events (searchwin, GDK_KEY_PRESS_MASK);
+ gtk_window_set_title (GTK_WINDOW (searchwin), "Search");
+ gtk_window_set_position (GTK_WINDOW (searchwin), GTK_WIN_POS_CENTER_ALWAYS);
+ gtk_window_set_skip_taskbar_hint (GTK_WINDOW (searchwin), TRUE);
+ gtk_window_set_skip_pager_hint (GTK_WINDOW (searchwin), TRUE);
+
+ vbox4 = gtk_vbox_new (FALSE, 0);
+ gtk_widget_show (vbox4);
+ gtk_container_add (GTK_CONTAINER (searchwin), vbox4);
+ gtk_container_set_border_width (GTK_CONTAINER (vbox4), 4);
+
+ searchentry = gtk_entry_new ();
+ gtk_widget_show (searchentry);
+ gtk_box_pack_start (GTK_BOX (vbox4), searchentry, FALSE, FALSE, 0);
+ gtk_entry_set_invisible_char (GTK_ENTRY (searchentry), 8226);
+ gtk_entry_set_activates_default (GTK_ENTRY (searchentry), TRUE);
+
+ table2 = gtk_table_new (2, 2, FALSE);
+ gtk_widget_show (table2);
+ gtk_box_pack_start (GTK_BOX (vbox4), table2, TRUE, TRUE, 0);
+
+ searchscroll = gtk_vscrollbar_new (GTK_ADJUSTMENT (gtk_adjustment_new (0, 0, 1, 1, 0, 0)));
+ gtk_widget_show (searchscroll);
+ gtk_table_attach (GTK_TABLE (table2), searchscroll, 1, 2, 0, 1,
+ (GtkAttachOptions) (GTK_FILL),
+ (GtkAttachOptions) (GTK_FILL), 0, 0);
+
+ vbox5 = gtk_vbox_new (FALSE, 0);
+ gtk_widget_show (vbox5);
+ gtk_table_attach (GTK_TABLE (table2), vbox5, 0, 1, 0, 1,
+ (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
+ (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 0, 0);
+
+ searchheader = gtk_drawing_area_new ();
+ gtk_widget_show (searchheader);
+ gtk_box_pack_start (GTK_BOX (vbox5), searchheader, FALSE, TRUE, 0);
+ gtk_widget_set_size_request (searchheader, -1, 24);
+ gtk_widget_set_events (searchheader, GDK_EXPOSURE_MASK | GDK_POINTER_MOTION_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK);
+
+ searchlist = gtk_drawing_area_new ();
+ gtk_widget_show (searchlist);
+ gtk_box_pack_start (GTK_BOX (vbox5), searchlist, TRUE, TRUE, 0);
+ GTK_WIDGET_SET_FLAGS (searchlist, GTK_CAN_DEFAULT);
+ gtk_widget_set_events (searchlist, GDK_EXPOSURE_MASK | GDK_POINTER_MOTION_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK | GDK_KEY_PRESS_MASK | GDK_KEY_RELEASE_MASK);
+
+ searchhscroll = gtk_hscrollbar_new (GTK_ADJUSTMENT (gtk_adjustment_new (0, 0, 0, 0, 0, 0)));
+ gtk_widget_show (searchhscroll);
+ gtk_table_attach (GTK_TABLE (table2), searchhscroll, 0, 1, 1, 2,
+ (GtkAttachOptions) (GTK_FILL),
+ (GtkAttachOptions) (GTK_FILL), 0, 0);
+
+ g_signal_connect ((gpointer) searchwin, "key_press_event",
+ G_CALLBACK (on_searchwin_key_press_event),
+ NULL);
+ g_signal_connect ((gpointer) searchwin, "delete_event",
+ G_CALLBACK (gtk_widget_hide_on_delete),
+ NULL);
+ g_signal_connect ((gpointer) searchentry, "changed",
+ G_CALLBACK (on_searchentry_changed),
+ NULL);
+ g_signal_connect ((gpointer) searchscroll, "value_changed",
+ G_CALLBACK (on_playscroll_value_changed),
+ NULL);
+ g_signal_connect ((gpointer) searchheader, "button_press_event",
+ G_CALLBACK (on_header_button_press_event),
+ NULL);
+ g_signal_connect ((gpointer) searchheader, "button_release_event",
+ G_CALLBACK (on_header_button_release_event),
+ NULL);
+ g_signal_connect ((gpointer) searchheader, "configure_event",
+ G_CALLBACK (on_header_configure_event),
+ NULL);
+ g_signal_connect ((gpointer) searchheader, "expose_event",
+ G_CALLBACK (on_header_expose_event),
+ NULL);
+ g_signal_connect ((gpointer) searchheader, "motion_notify_event",
+ G_CALLBACK (on_header_motion_notify_event),
+ NULL);
+ g_signal_connect ((gpointer) searchlist, "button_press_event",
+ G_CALLBACK (on_playlist_button_press_event),
+ NULL);
+ g_signal_connect ((gpointer) searchlist, "configure_event",
+ G_CALLBACK (on_searchlist_configure_event),
+ NULL);
+ g_signal_connect ((gpointer) searchlist, "expose_event",
+ G_CALLBACK (on_playlist_expose_event),
+ NULL);
+ g_signal_connect ((gpointer) searchlist, "scroll_event",
+ G_CALLBACK (on_playlist_scroll_event),
+ NULL);
+ g_signal_connect ((gpointer) searchlist, "realize",
+ G_CALLBACK (on_searchlist_realize),
+ NULL);
+ g_signal_connect ((gpointer) searchlist, "button_release_event",
+ G_CALLBACK (on_playlist_button_release_event),
+ NULL);
+ g_signal_connect ((gpointer) searchlist, "motion_notify_event",
+ G_CALLBACK (on_playlist_motion_notify_event),
+ NULL);
+ g_signal_connect ((gpointer) searchhscroll, "value_changed",
+ G_CALLBACK (on_searchhscroll_value_changed),
+ NULL);
+
+ /* Store pointers to all widgets, for use by lookup_widget(). */
+ GLADE_HOOKUP_OBJECT_NO_REF (searchwin, searchwin, "searchwin");
+ GLADE_HOOKUP_OBJECT (searchwin, vbox4, "vbox4");
+ GLADE_HOOKUP_OBJECT (searchwin, searchentry, "searchentry");
+ GLADE_HOOKUP_OBJECT (searchwin, table2, "table2");
+ GLADE_HOOKUP_OBJECT (searchwin, searchscroll, "searchscroll");
+ GLADE_HOOKUP_OBJECT (searchwin, vbox5, "vbox5");
+ GLADE_HOOKUP_OBJECT (searchwin, searchheader, "searchheader");
+ GLADE_HOOKUP_OBJECT (searchwin, searchlist, "searchlist");
+ GLADE_HOOKUP_OBJECT (searchwin, searchhscroll, "searchhscroll");
+
+ gtk_widget_grab_default (searchlist);
+ return searchwin;
+}
+
+GtkWidget*
+create_traymenu (void)
+{
+ GtkWidget *traymenu;
+ GtkWidget *stop2;
+ GtkWidget *image59;
+ GtkWidget *play2;
+ GtkWidget *image60;
+ GtkWidget *pause2;
+ GtkWidget *image61;
+ GtkWidget *previous2;
+ GtkWidget *image62;
+ GtkWidget *next2;
+ GtkWidget *image63;
+ GtkWidget *play_random1;
+ GtkWidget *separator4;
+ GtkWidget *about3;
+ GtkWidget *image64;
+ GtkWidget *separator3;
+ GtkWidget *quit;
+ GtkWidget *image65;
+
+ traymenu = gtk_menu_new ();
+
+ stop2 = gtk_image_menu_item_new_with_mnemonic ("Stop");
+ gtk_widget_show (stop2);
+ gtk_container_add (GTK_CONTAINER (traymenu), stop2);
+
+ image59 = gtk_image_new_from_stock ("gtk-media-stop", GTK_ICON_SIZE_MENU);
+ gtk_widget_show (image59);
+ gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (stop2), image59);
+
+ play2 = gtk_image_menu_item_new_with_mnemonic ("Play");
+ gtk_widget_show (play2);
+ gtk_container_add (GTK_CONTAINER (traymenu), play2);
+
+ image60 = gtk_image_new_from_stock ("gtk-media-play", GTK_ICON_SIZE_MENU);
+ gtk_widget_show (image60);
+ gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (play2), image60);
+
+ pause2 = gtk_image_menu_item_new_with_mnemonic ("Pause");
+ gtk_widget_show (pause2);
+ gtk_container_add (GTK_CONTAINER (traymenu), pause2);
+
+ image61 = gtk_image_new_from_stock ("gtk-media-pause", GTK_ICON_SIZE_MENU);
+ gtk_widget_show (image61);
+ gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (pause2), image61);
+
+ previous2 = gtk_image_menu_item_new_with_mnemonic ("Previous");
+ gtk_widget_show (previous2);
+ gtk_container_add (GTK_CONTAINER (traymenu), previous2);
+
+ image62 = gtk_image_new_from_stock ("gtk-media-previous", GTK_ICON_SIZE_MENU);
+ gtk_widget_show (image62);
+ gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (previous2), image62);
+
+ next2 = gtk_image_menu_item_new_with_mnemonic ("Next");
+ gtk_widget_show (next2);
+ gtk_container_add (GTK_CONTAINER (traymenu), next2);
+
+ image63 = gtk_image_new_from_stock ("gtk-media-next", GTK_ICON_SIZE_MENU);
+ gtk_widget_show (image63);
+ gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (next2), image63);
+
+ play_random1 = gtk_menu_item_new_with_mnemonic ("Play Random");
+ gtk_widget_show (play_random1);
+ gtk_container_add (GTK_CONTAINER (traymenu), play_random1);
+
+ separator4 = gtk_separator_menu_item_new ();
+ gtk_widget_show (separator4);
+ gtk_container_add (GTK_CONTAINER (traymenu), separator4);
+ gtk_widget_set_sensitive (separator4, FALSE);
+
+ about3 = gtk_image_menu_item_new_with_mnemonic ("About");
+ gtk_widget_show (about3);
+ gtk_container_add (GTK_CONTAINER (traymenu), about3);
+
+ image64 = gtk_image_new_from_stock ("gtk-about", GTK_ICON_SIZE_MENU);
+ gtk_widget_show (image64);
+ gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (about3), image64);
+
+ separator3 = gtk_separator_menu_item_new ();
+ gtk_widget_show (separator3);
+ gtk_container_add (GTK_CONTAINER (traymenu), separator3);
+ gtk_widget_set_sensitive (separator3, FALSE);
+
+ quit = gtk_image_menu_item_new_with_mnemonic ("Quit");
+ gtk_widget_show (quit);
+ gtk_container_add (GTK_CONTAINER (traymenu), quit);
+
+ image65 = gtk_image_new_from_stock ("gtk-quit", GTK_ICON_SIZE_MENU);
+ gtk_widget_show (image65);
+ gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (quit), image65);
+
+ g_signal_connect ((gpointer) stop2, "activate",
+ G_CALLBACK (on_stopbtn_clicked),
+ NULL);
+ g_signal_connect ((gpointer) play2, "activate",
+ G_CALLBACK (on_playbtn_clicked),
+ NULL);
+ g_signal_connect ((gpointer) pause2, "activate",
+ G_CALLBACK (on_pausebtn_clicked),
+ NULL);
+ g_signal_connect ((gpointer) previous2, "activate",
+ G_CALLBACK (on_prevbtn_clicked),
+ NULL);
+ g_signal_connect ((gpointer) next2, "activate",
+ G_CALLBACK (on_nextbtn_clicked),
+ NULL);
+ g_signal_connect ((gpointer) play_random1, "activate",
+ G_CALLBACK (on_playrand_clicked),
+ NULL);
+ g_signal_connect ((gpointer) about3, "activate",
+ G_CALLBACK (on_about1_activate),
+ NULL);
+ g_signal_connect ((gpointer) quit, "activate",
+ G_CALLBACK (on_quit_activate),
+ NULL);
+
+ /* Store pointers to all widgets, for use by lookup_widget(). */
+ GLADE_HOOKUP_OBJECT_NO_REF (traymenu, traymenu, "traymenu");
+ GLADE_HOOKUP_OBJECT (traymenu, stop2, "stop2");
+ GLADE_HOOKUP_OBJECT (traymenu, image59, "image59");
+ GLADE_HOOKUP_OBJECT (traymenu, play2, "play2");
+ GLADE_HOOKUP_OBJECT (traymenu, image60, "image60");
+ GLADE_HOOKUP_OBJECT (traymenu, pause2, "pause2");
+ GLADE_HOOKUP_OBJECT (traymenu, image61, "image61");
+ GLADE_HOOKUP_OBJECT (traymenu, previous2, "previous2");
+ GLADE_HOOKUP_OBJECT (traymenu, image62, "image62");
+ GLADE_HOOKUP_OBJECT (traymenu, next2, "next2");
+ GLADE_HOOKUP_OBJECT (traymenu, image63, "image63");
+ GLADE_HOOKUP_OBJECT (traymenu, play_random1, "play_random1");
+ GLADE_HOOKUP_OBJECT (traymenu, separator4, "separator4");
+ GLADE_HOOKUP_OBJECT (traymenu, about3, "about3");
+ GLADE_HOOKUP_OBJECT (traymenu, image64, "image64");
+ GLADE_HOOKUP_OBJECT (traymenu, separator3, "separator3");
+ GLADE_HOOKUP_OBJECT (traymenu, quit, "quit");
+ GLADE_HOOKUP_OBJECT (traymenu, image65, "image65");
+
+ return traymenu;
+}
+
+GtkWidget*
+create_addprogress (void)
+{
+ GtkWidget *addprogress;
+ GtkWidget *vbox6;
+ GtkWidget *progresstitle;
+ GtkWidget *hbox7;
+ GtkWidget *label22;
+ GtkWidget *button1;
+
+ addprogress = gtk_window_new (GTK_WINDOW_TOPLEVEL);
+ gtk_window_set_title (GTK_WINDOW (addprogress), "Adding files...");
+ gtk_window_set_position (GTK_WINDOW (addprogress), GTK_WIN_POS_CENTER_ON_PARENT);
+ gtk_window_set_skip_taskbar_hint (GTK_WINDOW (addprogress), TRUE);
+ gtk_window_set_skip_pager_hint (GTK_WINDOW (addprogress), TRUE);
+
+ vbox6 = gtk_vbox_new (FALSE, 0);
+ gtk_widget_show (vbox6);
+ gtk_container_add (GTK_CONTAINER (addprogress), vbox6);
+ gtk_container_set_border_width (GTK_CONTAINER (vbox6), 4);
+
+ progresstitle = gtk_entry_new ();
+ gtk_widget_show (progresstitle);
+ gtk_box_pack_start (GTK_BOX (vbox6), progresstitle, TRUE, FALSE, 0);
+ gtk_widget_set_size_request (progresstitle, 500, -1);
+ GTK_WIDGET_UNSET_FLAGS (progresstitle, GTK_CAN_FOCUS);
+ gtk_editable_set_editable (GTK_EDITABLE (progresstitle), FALSE);
+ gtk_entry_set_invisible_char (GTK_ENTRY (progresstitle), 8226);
+
+ hbox7 = gtk_hbox_new (FALSE, 0);
+ gtk_widget_show (hbox7);
+ gtk_box_pack_start (GTK_BOX (vbox6), hbox7, FALSE, TRUE, 2);
+
+ label22 = gtk_label_new ("");
+ gtk_widget_show (label22);
+ gtk_box_pack_start (GTK_BOX (hbox7), label22, TRUE, FALSE, 0);
+
+ button1 = gtk_button_new_with_mnemonic ("Abort");
+ gtk_widget_show (button1);
+ gtk_box_pack_start (GTK_BOX (hbox7), button1, FALSE, FALSE, 0);
+ gtk_widget_set_size_request (button1, 83, -1);
+ GTK_WIDGET_UNSET_FLAGS (button1, GTK_CAN_FOCUS);
+
+ g_signal_connect ((gpointer) addprogress, "delete_event",
+ G_CALLBACK (on_addprogress_delete_event),
+ NULL);
+ g_signal_connect ((gpointer) button1, "clicked",
+ G_CALLBACK (on_progress_abort),
+ NULL);
+
+ /* Store pointers to all widgets, for use by lookup_widget(). */
+ GLADE_HOOKUP_OBJECT_NO_REF (addprogress, addprogress, "addprogress");
+ GLADE_HOOKUP_OBJECT (addprogress, vbox6, "vbox6");
+ GLADE_HOOKUP_OBJECT (addprogress, progresstitle, "progresstitle");
+ GLADE_HOOKUP_OBJECT (addprogress, hbox7, "hbox7");
+ GLADE_HOOKUP_OBJECT (addprogress, label22, "label22");
+ GLADE_HOOKUP_OBJECT (addprogress, button1, "button1");
+
+ return addprogress;
+}
+
+GtkWidget*
+create_helpwindow (void)
+{
+ GtkWidget *helpwindow;
+ GtkWidget *scrolledwindow1;
+ GtkWidget *helptext;
+
+ helpwindow = gtk_window_new (GTK_WINDOW_TOPLEVEL);
+ gtk_widget_set_size_request (helpwindow, 600, 400);
+ gtk_widget_set_events (helpwindow, GDK_KEY_PRESS_MASK);
+ gtk_window_set_title (GTK_WINDOW (helpwindow), "Help");
+ gtk_window_set_modal (GTK_WINDOW (helpwindow), TRUE);
+ gtk_window_set_destroy_with_parent (GTK_WINDOW (helpwindow), TRUE);
+
+ scrolledwindow1 = gtk_scrolled_window_new (NULL, NULL);
+ gtk_widget_show (scrolledwindow1);
+ gtk_container_add (GTK_CONTAINER (helpwindow), scrolledwindow1);
+ gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow1), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
+
+ helptext = gtk_text_view_new ();
+ gtk_widget_show (helptext);
+ gtk_container_add (GTK_CONTAINER (scrolledwindow1), helptext);
+ gtk_text_view_set_editable (GTK_TEXT_VIEW (helptext), FALSE);
+ gtk_text_view_set_wrap_mode (GTK_TEXT_VIEW (helptext), GTK_WRAP_WORD);
+ gtk_text_view_set_left_margin (GTK_TEXT_VIEW (helptext), 10);
+ gtk_text_view_set_right_margin (GTK_TEXT_VIEW (helptext), 10);
+
+ g_signal_connect ((gpointer) helpwindow, "key_press_event",
+ G_CALLBACK (on_helpwindow_key_press_event),
+ NULL);
+
+ /* Store pointers to all widgets, for use by lookup_widget(). */
+ GLADE_HOOKUP_OBJECT_NO_REF (helpwindow, helpwindow, "helpwindow");
+ GLADE_HOOKUP_OBJECT (helpwindow, scrolledwindow1, "scrolledwindow1");
+ GLADE_HOOKUP_OBJECT (helpwindow, helptext, "helptext");
+
+ return helpwindow;
+}
+
+GtkWidget*
+create_prefwin (void)
+{
+ GtkWidget *prefwin;
+ GtkWidget *notebook2;
+ GtkWidget *table3;
+ GtkWidget *label4;
+ GtkWidget *label5;
+ GtkWidget *label6;
+ GtkWidget *label8;
+ GtkWidget *label9;
+ GtkWidget *label15;
+ GtkWidget *pref_alsa_resampling;
+ GtkWidget *pref_replaygain_scale;
+ GtkWidget *pref_alsa_freewhenstopped;
+ GtkWidget *pref_soundcard;
+ GtkWidget *pref_src_quality;
+ GtkWidget *pref_replaygain_mode;
+ GtkWidget *Sound;
+ GtkWidget *table4;
+ GtkWidget *label7;
+ GtkWidget *pref_close_send_to_tray;
+ GtkWidget *label2;
+ GtkWidget *table6;
+ GtkWidget *label17;
+ GtkWidget *label18;
+ GtkWidget *pref_network_proxyaddress;
+ GtkWidget *pref_network_enableproxy;
+ GtkWidget *label19;
+ GtkWidget *pref_network_proxyport;
+ GtkWidget *label20;
+ GtkWidget *pref_network_proxytype;
+ GtkWidget *label16;
+ GtkWidget *hpaned1;
+ GtkWidget *scrolledwindow2;
+ GtkWidget *pref_pluginlist;
+ GtkWidget *table5;
+ GtkWidget *label11;
+ GtkWidget *label12;
+ GtkWidget *label13;
+ GtkWidget *label14;
+ GtkWidget *pref_plugin_descr;
+ GtkWidget *pref_plugin_author;
+ GtkWidget *pref_plugin_email;
+ GtkWidget *pref_plugin_website;
+ GtkWidget *label3;
+
+ prefwin = gtk_window_new (GTK_WINDOW_TOPLEVEL);
+ gtk_widget_set_size_request (prefwin, 642, 372);
+ gtk_window_set_title (GTK_WINDOW (prefwin), "Preferences");
+ gtk_window_set_modal (GTK_WINDOW (prefwin), TRUE);
+
+ notebook2 = gtk_notebook_new ();
+ gtk_widget_show (notebook2);
+ gtk_container_add (GTK_CONTAINER (prefwin), notebook2);
+
+ table3 = gtk_table_new (6, 2, FALSE);
+ gtk_widget_show (table3);
+ gtk_container_add (GTK_CONTAINER (notebook2), table3);
+ gtk_container_set_border_width (GTK_CONTAINER (table3), 3);
+ gtk_table_set_col_spacings (GTK_TABLE (table3), 3);
+
+ label4 = gtk_label_new ("Output device");
+ gtk_widget_show (label4);
+ gtk_table_attach (GTK_TABLE (table3), label4, 0, 1, 0, 1,
+ (GtkAttachOptions) (GTK_FILL),
+ (GtkAttachOptions) (0), 0, 0);
+ gtk_misc_set_alignment (GTK_MISC (label4), 0, 0.5);
+
+ label5 = gtk_label_new ("Software ALSA resampling");
+ gtk_widget_show (label5);
+ gtk_table_attach (GTK_TABLE (table3), label5, 0, 1, 1, 2,
+ (GtkAttachOptions) (GTK_FILL),
+ (GtkAttachOptions) (0), 0, 0);
+ gtk_misc_set_alignment (GTK_MISC (label5), 0, 0.5);
+
+ label6 = gtk_label_new ("SRC quality (libsamplerate)");
+ gtk_widget_show (label6);
+ gtk_table_attach (GTK_TABLE (table3), label6, 0, 1, 2, 3,
+ (GtkAttachOptions) (GTK_FILL),
+ (GtkAttachOptions) (0), 0, 0);
+ gtk_misc_set_alignment (GTK_MISC (label6), 0, 0.5);
+
+ label8 = gtk_label_new ("Replaygain mode");
+ gtk_widget_show (label8);
+ gtk_table_attach (GTK_TABLE (table3), label8, 0, 1, 3, 4,
+ (GtkAttachOptions) (GTK_FILL),
+ (GtkAttachOptions) (0), 0, 0);
+ gtk_misc_set_alignment (GTK_MISC (label8), 0, 0.5);
+
+ label9 = gtk_label_new ("Replaygain peak scale");
+ gtk_widget_show (label9);
+ gtk_table_attach (GTK_TABLE (table3), label9, 0, 1, 4, 5,
+ (GtkAttachOptions) (GTK_FILL),
+ (GtkAttachOptions) (0), 0, 0);
+ gtk_misc_set_alignment (GTK_MISC (label9), 0, 0.5);
+
+ label15 = gtk_label_new ("Release ALSA while stopped");
+ gtk_widget_show (label15);
+ gtk_table_attach (GTK_TABLE (table3), label15, 0, 1, 5, 6,
+ (GtkAttachOptions) (GTK_FILL),
+ (GtkAttachOptions) (0), 0, 0);
+ gtk_misc_set_alignment (GTK_MISC (label15), 0, 0.5);
+
+ pref_alsa_resampling = gtk_check_button_new_with_mnemonic ("");
+ gtk_widget_show (pref_alsa_resampling);
+ gtk_table_attach (GTK_TABLE (table3), pref_alsa_resampling, 1, 2, 1, 2,
+ (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
+ (GtkAttachOptions) (0), 0, 0);
+
+ pref_replaygain_scale = gtk_check_button_new_with_mnemonic ("");
+ gtk_widget_show (pref_replaygain_scale);
+ gtk_table_attach (GTK_TABLE (table3), pref_replaygain_scale, 1, 2, 4, 5,
+ (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
+ (GtkAttachOptions) (0), 0, 0);
+
+ pref_alsa_freewhenstopped = gtk_check_button_new_with_mnemonic ("");
+ gtk_widget_show (pref_alsa_freewhenstopped);
+ gtk_table_attach (GTK_TABLE (table3), pref_alsa_freewhenstopped, 1, 2, 5, 6,
+ (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
+ (GtkAttachOptions) (0), 0, 0);
+
+ pref_soundcard = gtk_combo_box_new_text ();
+ gtk_widget_show (pref_soundcard);
+ gtk_table_attach (GTK_TABLE (table3), pref_soundcard, 1, 2, 0, 1,
+ (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
+ (GtkAttachOptions) (GTK_FILL), 0, 0);
+
+ pref_src_quality = gtk_combo_box_new_text ();
+ gtk_widget_show (pref_src_quality);
+ gtk_table_attach (GTK_TABLE (table3), pref_src_quality, 1, 2, 2, 3,
+ (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
+ (GtkAttachOptions) (GTK_FILL), 0, 0);
+ gtk_combo_box_append_text (GTK_COMBO_BOX (pref_src_quality), "sinc_best_quality");
+ gtk_combo_box_append_text (GTK_COMBO_BOX (pref_src_quality), "sinc_medium_quality");
+ gtk_combo_box_append_text (GTK_COMBO_BOX (pref_src_quality), "sinc_fastest");
+ gtk_combo_box_append_text (GTK_COMBO_BOX (pref_src_quality), "sinc_zero_order_hold");
+ gtk_combo_box_append_text (GTK_COMBO_BOX (pref_src_quality), "linear");
+
+ pref_replaygain_mode = gtk_combo_box_new_text ();
+ gtk_widget_show (pref_replaygain_mode);
+ gtk_table_attach (GTK_TABLE (table3), pref_replaygain_mode, 1, 2, 3, 4,
+ (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
+ (GtkAttachOptions) (GTK_FILL), 0, 0);
+ gtk_combo_box_append_text (GTK_COMBO_BOX (pref_replaygain_mode), "Disable");
+ gtk_combo_box_append_text (GTK_COMBO_BOX (pref_replaygain_mode), "Track");
+ gtk_combo_box_append_text (GTK_COMBO_BOX (pref_replaygain_mode), "Album");
+
+ Sound = gtk_label_new ("Sound");
+ gtk_widget_show (Sound);
+ gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook2), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook2), 0), Sound);
+
+ table4 = gtk_table_new (1, 2, FALSE);
+ gtk_widget_show (table4);
+ gtk_container_add (GTK_CONTAINER (notebook2), table4);
+ gtk_container_set_border_width (GTK_CONTAINER (table4), 3);
+ gtk_table_set_col_spacings (GTK_TABLE (table4), 3);
+
+ label7 = gtk_label_new ("Close minimizes to tray");
+ gtk_widget_show (label7);
+ gtk_table_attach (GTK_TABLE (table4), label7, 0, 1, 0, 1,
+ (GtkAttachOptions) (GTK_FILL),
+ (GtkAttachOptions) (0), 0, 0);
+ gtk_misc_set_alignment (GTK_MISC (label7), 0, 0.5);
+
+ pref_close_send_to_tray = gtk_check_button_new_with_mnemonic ("");
+ gtk_widget_show (pref_close_send_to_tray);
+ gtk_table_attach (GTK_TABLE (table4), pref_close_send_to_tray, 1, 2, 0, 1,
+ (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
+ (GtkAttachOptions) (0), 0, 0);
+
+ label2 = gtk_label_new ("GUI");
+ gtk_widget_show (label2);
+ gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook2), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook2), 1), label2);
+
+ table6 = gtk_table_new (4, 2, FALSE);
+ gtk_widget_show (table6);
+ gtk_container_add (GTK_CONTAINER (notebook2), table6);
+ gtk_container_set_border_width (GTK_CONTAINER (table6), 3);
+ gtk_table_set_col_spacings (GTK_TABLE (table6), 3);
+
+ label17 = gtk_label_new ("Enable proxy server");
+ gtk_widget_show (label17);
+ gtk_table_attach (GTK_TABLE (table6), label17, 0, 1, 0, 1,
+ (GtkAttachOptions) (GTK_FILL),
+ (GtkAttachOptions) (0), 0, 0);
+ gtk_misc_set_alignment (GTK_MISC (label17), 0, 0.5);
+
+ label18 = gtk_label_new ("Proxy server address");
+ gtk_widget_show (label18);
+ gtk_table_attach (GTK_TABLE (table6), label18, 0, 1, 1, 2,
+ (GtkAttachOptions) (GTK_FILL),
+ (GtkAttachOptions) (0), 0, 0);
+ gtk_misc_set_alignment (GTK_MISC (label18), 0, 0.5);
+
+ pref_network_proxyaddress = gtk_entry_new ();
+ gtk_widget_show (pref_network_proxyaddress);
+ gtk_table_attach (GTK_TABLE (table6), pref_network_proxyaddress, 1, 2, 1, 2,
+ (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
+ (GtkAttachOptions) (0), 0, 0);
+ gtk_entry_set_invisible_char (GTK_ENTRY (pref_network_proxyaddress), 8226);
+
+ pref_network_enableproxy = gtk_check_button_new_with_mnemonic ("");
+ gtk_widget_show (pref_network_enableproxy);
+ gtk_table_attach (GTK_TABLE (table6), pref_network_enableproxy, 1, 2, 0, 1,
+ (GtkAttachOptions) (GTK_FILL),
+ (GtkAttachOptions) (0), 0, 0);
+
+ label19 = gtk_label_new ("Proxy server port");
+ gtk_widget_show (label19);
+ gtk_table_attach (GTK_TABLE (table6), label19, 0, 1, 2, 3,
+ (GtkAttachOptions) (GTK_FILL),
+ (GtkAttachOptions) (0), 0, 0);
+ gtk_misc_set_alignment (GTK_MISC (label19), 0, 0.5);
+
+ pref_network_proxyport = gtk_entry_new ();
+ gtk_widget_show (pref_network_proxyport);
+ gtk_table_attach (GTK_TABLE (table6), pref_network_proxyport, 1, 2, 2, 3,
+ (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
+ (GtkAttachOptions) (0), 0, 0);
+ gtk_entry_set_invisible_char (GTK_ENTRY (pref_network_proxyport), 8226);
+
+ label20 = gtk_label_new ("Proxy type");
+ gtk_widget_show (label20);
+ gtk_table_attach (GTK_TABLE (table6), label20, 0, 1, 3, 4,
+ (GtkAttachOptions) (GTK_FILL),
+ (GtkAttachOptions) (0), 0, 0);
+ gtk_misc_set_alignment (GTK_MISC (label20), 0, 0.5);
+
+ pref_network_proxytype = gtk_combo_box_new_text ();
+ gtk_widget_show (pref_network_proxytype);
+ gtk_table_attach (GTK_TABLE (table6), pref_network_proxytype, 1, 2, 3, 4,
+ (GtkAttachOptions) (GTK_FILL),
+ (GtkAttachOptions) (GTK_FILL), 0, 0);
+ gtk_combo_box_append_text (GTK_COMBO_BOX (pref_network_proxytype), "HTTP");
+ gtk_combo_box_append_text (GTK_COMBO_BOX (pref_network_proxytype), "HTTP_1_0");
+ gtk_combo_box_append_text (GTK_COMBO_BOX (pref_network_proxytype), "SOCKS4");
+ gtk_combo_box_append_text (GTK_COMBO_BOX (pref_network_proxytype), "SOCKS5");
+ gtk_combo_box_append_text (GTK_COMBO_BOX (pref_network_proxytype), "SOCKS4A");
+ gtk_combo_box_append_text (GTK_COMBO_BOX (pref_network_proxytype), "SOCKS5_HOSTNAME");
+
+ label16 = gtk_label_new ("Network");
+ gtk_widget_show (label16);
+ gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook2), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook2), 2), label16);
+
+ hpaned1 = gtk_hpaned_new ();
+ gtk_widget_show (hpaned1);
+ gtk_container_add (GTK_CONTAINER (notebook2), hpaned1);
+
+ scrolledwindow2 = gtk_scrolled_window_new (NULL, NULL);
+ gtk_widget_show (scrolledwindow2);
+ gtk_paned_pack1 (GTK_PANED (hpaned1), scrolledwindow2, FALSE, TRUE);
+ gtk_widget_set_size_request (scrolledwindow2, 280, -1);
+ gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow2), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
+ gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrolledwindow2), GTK_SHADOW_IN);
+
+ pref_pluginlist = gtk_tree_view_new ();
+ gtk_widget_show (pref_pluginlist);
+ gtk_container_add (GTK_CONTAINER (scrolledwindow2), pref_pluginlist);
+
+ table5 = gtk_table_new (4, 2, FALSE);
+ gtk_widget_show (table5);
+ gtk_paned_pack2 (GTK_PANED (hpaned1), table5, TRUE, TRUE);
+ gtk_widget_set_size_request (table5, 400, -1);
+
+ label11 = gtk_label_new ("Description");
+ gtk_widget_show (label11);
+ gtk_table_attach (GTK_TABLE (table5), label11, 0, 1, 0, 1,
+ (GtkAttachOptions) (GTK_FILL),
+ (GtkAttachOptions) (0), 0, 0);
+ gtk_misc_set_alignment (GTK_MISC (label11), 0, 0.5);
+
+ label12 = gtk_label_new ("Author(s)");
+ gtk_widget_show (label12);
+ gtk_table_attach (GTK_TABLE (table5), label12, 0, 1, 1, 2,
+ (GtkAttachOptions) (GTK_FILL),
+ (GtkAttachOptions) (0), 0, 0);
+ gtk_misc_set_alignment (GTK_MISC (label12), 0, 0.5);
+
+ label13 = gtk_label_new ("Email");
+ gtk_widget_show (label13);
+ gtk_table_attach (GTK_TABLE (table5), label13, 0, 1, 2, 3,
+ (GtkAttachOptions) (GTK_FILL),
+ (GtkAttachOptions) (0), 0, 0);
+ gtk_misc_set_alignment (GTK_MISC (label13), 0, 0.5);
+
+ label14 = gtk_label_new ("Website");
+ gtk_widget_show (label14);
+ gtk_table_attach (GTK_TABLE (table5), label14, 0, 1, 3, 4,
+ (GtkAttachOptions) (GTK_FILL),
+ (GtkAttachOptions) (0), 0, 0);
+ gtk_misc_set_alignment (GTK_MISC (label14), 0, 0.5);
+
+ pref_plugin_descr = gtk_entry_new ();
+ gtk_widget_show (pref_plugin_descr);
+ gtk_table_attach (GTK_TABLE (table5), pref_plugin_descr, 1, 2, 0, 1,
+ (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
+ (GtkAttachOptions) (0), 0, 0);
+ gtk_editable_set_editable (GTK_EDITABLE (pref_plugin_descr), FALSE);
+ gtk_entry_set_invisible_char (GTK_ENTRY (pref_plugin_descr), 9679);
+
+ pref_plugin_author = gtk_entry_new ();
+ gtk_widget_show (pref_plugin_author);
+ gtk_table_attach (GTK_TABLE (table5), pref_plugin_author, 1, 2, 1, 2,
+ (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
+ (GtkAttachOptions) (0), 0, 0);
+ gtk_editable_set_editable (GTK_EDITABLE (pref_plugin_author), FALSE);
+ gtk_entry_set_invisible_char (GTK_ENTRY (pref_plugin_author), 9679);
+
+ pref_plugin_email = gtk_entry_new ();
+ gtk_widget_show (pref_plugin_email);
+ gtk_table_attach (GTK_TABLE (table5), pref_plugin_email, 1, 2, 2, 3,
+ (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
+ (GtkAttachOptions) (0), 0, 0);
+ gtk_editable_set_editable (GTK_EDITABLE (pref_plugin_email), FALSE);
+ gtk_entry_set_invisible_char (GTK_ENTRY (pref_plugin_email), 9679);
+
+ pref_plugin_website = gtk_entry_new ();
+ gtk_widget_show (pref_plugin_website);
+ gtk_table_attach (GTK_TABLE (table5), pref_plugin_website, 1, 2, 3, 4,
+ (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
+ (GtkAttachOptions) (0), 0, 0);
+ gtk_editable_set_editable (GTK_EDITABLE (pref_plugin_website), FALSE);
+ gtk_entry_set_invisible_char (GTK_ENTRY (pref_plugin_website), 9679);
+
+ label3 = gtk_label_new ("Plugins");
+ gtk_widget_show (label3);
+ gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook2), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook2), 3), label3);
+
+ g_signal_connect ((gpointer) prefwin, "key_press_event",
+ G_CALLBACK (on_prefwin_key_press_event),
+ NULL);
+ g_signal_connect ((gpointer) pref_alsa_resampling, "clicked",
+ G_CALLBACK (on_pref_alsa_resampling_clicked),
+ NULL);
+ g_signal_connect ((gpointer) pref_replaygain_scale, "clicked",
+ G_CALLBACK (on_pref_replaygain_scale_clicked),
+ NULL);
+ g_signal_connect ((gpointer) pref_alsa_freewhenstopped, "clicked",
+ G_CALLBACK (on_pref_alsa_freewhenstopped_clicked),
+ NULL);
+ g_signal_connect ((gpointer) pref_soundcard, "changed",
+ G_CALLBACK (on_pref_soundcard_changed),
+ NULL);
+ g_signal_connect ((gpointer) pref_src_quality, "changed",
+ G_CALLBACK (on_pref_src_quality_changed),
+ NULL);
+ g_signal_connect ((gpointer) pref_replaygain_mode, "changed",
+ G_CALLBACK (on_pref_replaygain_mode_changed),
+ NULL);
+ g_signal_connect ((gpointer) pref_close_send_to_tray, "clicked",
+ G_CALLBACK (on_pref_close_send_to_tray_clicked),
+ NULL);
+ g_signal_connect ((gpointer) pref_network_proxyaddress, "changed",
+ G_CALLBACK (on_pref_network_proxyaddress_changed),
+ NULL);
+ g_signal_connect ((gpointer) pref_network_enableproxy, "clicked",
+ G_CALLBACK (on_pref_network_enableproxy_clicked),
+ NULL);
+ g_signal_connect ((gpointer) pref_network_proxyport, "changed",
+ G_CALLBACK (on_pref_network_proxyport_changed),
+ NULL);
+ g_signal_connect ((gpointer) pref_network_proxytype, "changed",
+ G_CALLBACK (on_pref_network_proxytype_changed),
+ NULL);
+ g_signal_connect ((gpointer) pref_pluginlist, "cursor_changed",
+ G_CALLBACK (on_pref_pluginlist_cursor_changed),
+ NULL);
+
+ /* Store pointers to all widgets, for use by lookup_widget(). */
+ GLADE_HOOKUP_OBJECT_NO_REF (prefwin, prefwin, "prefwin");
+ GLADE_HOOKUP_OBJECT (prefwin, notebook2, "notebook2");
+ GLADE_HOOKUP_OBJECT (prefwin, table3, "table3");
+ GLADE_HOOKUP_OBJECT (prefwin, label4, "label4");
+ GLADE_HOOKUP_OBJECT (prefwin, label5, "label5");
+ GLADE_HOOKUP_OBJECT (prefwin, label6, "label6");
+ GLADE_HOOKUP_OBJECT (prefwin, label8, "label8");
+ GLADE_HOOKUP_OBJECT (prefwin, label9, "label9");
+ GLADE_HOOKUP_OBJECT (prefwin, label15, "label15");
+ GLADE_HOOKUP_OBJECT (prefwin, pref_alsa_resampling, "pref_alsa_resampling");
+ GLADE_HOOKUP_OBJECT (prefwin, pref_replaygain_scale, "pref_replaygain_scale");
+ GLADE_HOOKUP_OBJECT (prefwin, pref_alsa_freewhenstopped, "pref_alsa_freewhenstopped");
+ GLADE_HOOKUP_OBJECT (prefwin, pref_soundcard, "pref_soundcard");
+ GLADE_HOOKUP_OBJECT (prefwin, pref_src_quality, "pref_src_quality");
+ GLADE_HOOKUP_OBJECT (prefwin, pref_replaygain_mode, "pref_replaygain_mode");
+ GLADE_HOOKUP_OBJECT (prefwin, Sound, "Sound");
+ GLADE_HOOKUP_OBJECT (prefwin, table4, "table4");
+ GLADE_HOOKUP_OBJECT (prefwin, label7, "label7");
+ GLADE_HOOKUP_OBJECT (prefwin, pref_close_send_to_tray, "pref_close_send_to_tray");
+ GLADE_HOOKUP_OBJECT (prefwin, label2, "label2");
+ GLADE_HOOKUP_OBJECT (prefwin, table6, "table6");
+ GLADE_HOOKUP_OBJECT (prefwin, label17, "label17");
+ GLADE_HOOKUP_OBJECT (prefwin, label18, "label18");
+ GLADE_HOOKUP_OBJECT (prefwin, pref_network_proxyaddress, "pref_network_proxyaddress");
+ GLADE_HOOKUP_OBJECT (prefwin, pref_network_enableproxy, "pref_network_enableproxy");
+ GLADE_HOOKUP_OBJECT (prefwin, label19, "label19");
+ GLADE_HOOKUP_OBJECT (prefwin, pref_network_proxyport, "pref_network_proxyport");
+ GLADE_HOOKUP_OBJECT (prefwin, label20, "label20");
+ GLADE_HOOKUP_OBJECT (prefwin, pref_network_proxytype, "pref_network_proxytype");
+ GLADE_HOOKUP_OBJECT (prefwin, label16, "label16");
+ GLADE_HOOKUP_OBJECT (prefwin, hpaned1, "hpaned1");
+ GLADE_HOOKUP_OBJECT (prefwin, scrolledwindow2, "scrolledwindow2");
+ GLADE_HOOKUP_OBJECT (prefwin, pref_pluginlist, "pref_pluginlist");
+ GLADE_HOOKUP_OBJECT (prefwin, table5, "table5");
+ GLADE_HOOKUP_OBJECT (prefwin, label11, "label11");
+ GLADE_HOOKUP_OBJECT (prefwin, label12, "label12");
+ GLADE_HOOKUP_OBJECT (prefwin, label13, "label13");
+ GLADE_HOOKUP_OBJECT (prefwin, label14, "label14");
+ GLADE_HOOKUP_OBJECT (prefwin, pref_plugin_descr, "pref_plugin_descr");
+ GLADE_HOOKUP_OBJECT (prefwin, pref_plugin_author, "pref_plugin_author");
+ GLADE_HOOKUP_OBJECT (prefwin, pref_plugin_email, "pref_plugin_email");
+ GLADE_HOOKUP_OBJECT (prefwin, pref_plugin_website, "pref_plugin_website");
+ GLADE_HOOKUP_OBJECT (prefwin, label3, "label3");
+
+ return prefwin;
+}
+
+GtkWidget*
+create_headermenu (void)
+{
+ GtkWidget *headermenu;
+ GtkWidget *add_column;
+ GtkWidget *add_column_menu;
+ GtkWidget *artist;
+ GtkWidget *album;
+ GtkWidget *tracknum;
+ GtkWidget *duration;
+ GtkWidget *playing;
+ GtkWidget *title;
+ GtkWidget *separator7;
+ GtkWidget *custom;
+ GtkWidget *remove_column;
+
+ headermenu = gtk_menu_new ();
+
+ add_column = gtk_menu_item_new_with_mnemonic ("Add column");
+ gtk_widget_show (add_column);
+ gtk_container_add (GTK_CONTAINER (headermenu), add_column);
+
+ add_column_menu = gtk_menu_new ();
+ gtk_menu_item_set_submenu (GTK_MENU_ITEM (add_column), add_column_menu);
+
+ artist = gtk_menu_item_new_with_mnemonic ("Artist");
+ gtk_widget_show (artist);
+ gtk_container_add (GTK_CONTAINER (add_column_menu), artist);
+
+ album = gtk_menu_item_new_with_mnemonic ("Album");
+ gtk_widget_show (album);
+ gtk_container_add (GTK_CONTAINER (add_column_menu), album);
+
+ tracknum = gtk_menu_item_new_with_mnemonic ("Track number");
+ gtk_widget_show (tracknum);
+ gtk_container_add (GTK_CONTAINER (add_column_menu), tracknum);
+
+ duration = gtk_menu_item_new_with_mnemonic ("Duration");
+ gtk_widget_show (duration);
+ gtk_container_add (GTK_CONTAINER (add_column_menu), duration);
+
+ playing = gtk_menu_item_new_with_mnemonic ("Playing status");
+ gtk_widget_show (playing);
+ gtk_container_add (GTK_CONTAINER (add_column_menu), playing);
+
+ title = gtk_menu_item_new_with_mnemonic ("Title");
+ gtk_widget_show (title);
+ gtk_container_add (GTK_CONTAINER (add_column_menu), title);
+
+ separator7 = gtk_separator_menu_item_new ();
+ gtk_widget_show (separator7);
+ gtk_container_add (GTK_CONTAINER (add_column_menu), separator7);
+ gtk_widget_set_sensitive (separator7, FALSE);
+
+ custom = gtk_menu_item_new_with_mnemonic ("Custom");
+ gtk_widget_show (custom);
+ gtk_container_add (GTK_CONTAINER (add_column_menu), custom);
+
+ remove_column = gtk_menu_item_new_with_mnemonic ("Remove this column");
+ gtk_widget_show (remove_column);
+ gtk_container_add (GTK_CONTAINER (headermenu), remove_column);
+
+ g_signal_connect ((gpointer) artist, "activate",
+ G_CALLBACK (on_artist_activate),
+ NULL);
+ g_signal_connect ((gpointer) album, "activate",
+ G_CALLBACK (on_album_activate),
+ NULL);
+ g_signal_connect ((gpointer) tracknum, "activate",
+ G_CALLBACK (on_tracknum_activate),
+ NULL);
+ g_signal_connect ((gpointer) duration, "activate",
+ G_CALLBACK (on_duration_activate),
+ NULL);
+ g_signal_connect ((gpointer) playing, "activate",
+ G_CALLBACK (on_playing_activate),
+ NULL);
+ g_signal_connect ((gpointer) title, "activate",
+ G_CALLBACK (on_title_activate),
+ NULL);
+ g_signal_connect ((gpointer) custom, "activate",
+ G_CALLBACK (on_custom_activate),
+ NULL);
+ g_signal_connect ((gpointer) remove_column, "activate",
+ G_CALLBACK (on_remove_column_activate),
+ NULL);
+
+ /* Store pointers to all widgets, for use by lookup_widget(). */
+ GLADE_HOOKUP_OBJECT_NO_REF (headermenu, headermenu, "headermenu");
+ GLADE_HOOKUP_OBJECT (headermenu, add_column, "add_column");
+ GLADE_HOOKUP_OBJECT (headermenu, add_column_menu, "add_column_menu");
+ GLADE_HOOKUP_OBJECT (headermenu, artist, "artist");
+ GLADE_HOOKUP_OBJECT (headermenu, album, "album");
+ GLADE_HOOKUP_OBJECT (headermenu, tracknum, "tracknum");
+ GLADE_HOOKUP_OBJECT (headermenu, duration, "duration");
+ GLADE_HOOKUP_OBJECT (headermenu, playing, "playing");
+ GLADE_HOOKUP_OBJECT (headermenu, title, "title");
+ GLADE_HOOKUP_OBJECT (headermenu, separator7, "separator7");
+ GLADE_HOOKUP_OBJECT (headermenu, custom, "custom");
+ GLADE_HOOKUP_OBJECT (headermenu, remove_column, "remove_column");
+
+ return headermenu;
+}
+
+GtkWidget*
+create_addlocation (void)
+{
+ GtkWidget *addlocation;
+ GtkWidget *vbox7;
+ GtkWidget *addlocation_entry;
+ GtkWidget *hbox8;
+ GtkWidget *label21;
+ GtkWidget *addlocation_ok;
+
+ addlocation = gtk_window_new (GTK_WINDOW_TOPLEVEL);
+ gtk_window_set_title (GTK_WINDOW (addlocation), "Add Location");
+ gtk_window_set_modal (GTK_WINDOW (addlocation), TRUE);
+ gtk_window_set_destroy_with_parent (GTK_WINDOW (addlocation), TRUE);
+
+ vbox7 = gtk_vbox_new (FALSE, 0);
+ gtk_widget_show (vbox7);
+ gtk_container_add (GTK_CONTAINER (addlocation), vbox7);
+ gtk_container_set_border_width (GTK_CONTAINER (vbox7), 4);
+
+ addlocation_entry = gtk_entry_new ();
+ gtk_widget_show (addlocation_entry);
+ gtk_box_pack_start (GTK_BOX (vbox7), addlocation_entry, FALSE, FALSE, 0);
+ gtk_widget_set_size_request (addlocation_entry, 346, -1);
+ gtk_entry_set_invisible_char (GTK_ENTRY (addlocation_entry), 8226);
+
+ hbox8 = gtk_hbox_new (FALSE, 0);
+ gtk_widget_show (hbox8);
+ gtk_box_pack_start (GTK_BOX (vbox7), hbox8, FALSE, TRUE, 2);
+
+ label21 = gtk_label_new ("");
+ gtk_widget_show (label21);
+ gtk_box_pack_start (GTK_BOX (hbox8), label21, TRUE, FALSE, 0);
+
+ addlocation_ok = gtk_button_new_with_mnemonic ("OK");
+ gtk_widget_show (addlocation_ok);
+ gtk_box_pack_start (GTK_BOX (hbox8), addlocation_ok, FALSE, FALSE, 0);
+ gtk_widget_set_size_request (addlocation_ok, 83, -1);
+ GTK_WIDGET_UNSET_FLAGS (addlocation_ok, GTK_CAN_FOCUS);
+
+ g_signal_connect ((gpointer) addlocation, "key_press_event",
+ G_CALLBACK (on_addlocation_key_press_event),
+ NULL);
+ g_signal_connect ((gpointer) addlocation_entry, "activate",
+ G_CALLBACK (on_addlocation_entry_activate),
+ NULL);
+ g_signal_connect ((gpointer) addlocation_ok, "clicked",
+ G_CALLBACK (on_addlocation_ok_clicked),
+ NULL);
+
+ /* Store pointers to all widgets, for use by lookup_widget(). */
+ GLADE_HOOKUP_OBJECT_NO_REF (addlocation, addlocation, "addlocation");
+ GLADE_HOOKUP_OBJECT (addlocation, vbox7, "vbox7");
+ GLADE_HOOKUP_OBJECT (addlocation, addlocation_entry, "addlocation_entry");
+ GLADE_HOOKUP_OBJECT (addlocation, hbox8, "hbox8");
+ GLADE_HOOKUP_OBJECT (addlocation, label21, "label21");
+ GLADE_HOOKUP_OBJECT (addlocation, addlocation_ok, "addlocation_ok");
+
+ return addlocation;
+}
+