summaryrefslogtreecommitdiff
path: root/callbacks.c
diff options
context:
space:
mode:
authorGravatar waker <wakeroid@gmail.com>2009-08-08 21:25:28 +0200
committerGravatar waker <wakeroid@gmail.com>2009-08-08 21:25:28 +0200
commit84527d3b733052108f0e6c49eae091d0b98712cf (patch)
treef2c0571039f77e6087d80e5f5099e5dbc5236a3e /callbacks.c
parent0b9915275456dfee33bbce8eb31b2a0b80fb4e53 (diff)
started refactoring of gtkplaylist to share code between playlist and search windows
Diffstat (limited to 'callbacks.c')
-rw-r--r--callbacks.c73
1 files changed, 56 insertions, 17 deletions
diff --git a/callbacks.c b/callbacks.c
index caed0116..54db38b3 100644
--- a/callbacks.c
+++ b/callbacks.c
@@ -36,6 +36,7 @@
#include "messages.h"
#include "codec.h"
#include "playback.h"
+#include "search.h"
#include "cwav.h"
#include "cvorbis.h"
@@ -46,6 +47,8 @@
#include "csid.h"
extern GtkWidget *mainwin;
+static gtkplaylist_t main_playlist;
+static gtkplaylist_t search_playlist;
void
on_volume_value_changed (GtkRange *range,
@@ -89,23 +92,6 @@ on_playlist_expose_event (GtkWidget *widget,
return FALSE;
}
-void
-on_playlist_realize (GtkWidget *widget,
- gpointer user_data)
-{
- GtkTargetEntry entry = {
- .target = "STRING",
- .flags = GTK_TARGET_SAME_WIDGET/* | GTK_TARGET_OTHER_APP*/,
- TARGET_SAMEWIDGET
- };
- // setup drag-drop source
-// gtk_drag_source_set (widget, GDK_BUTTON1_MASK, &entry, 1, GDK_ACTION_MOVE);
- // setup drag-drop target
- gtk_drag_dest_set (widget, GTK_DEST_DEFAULT_MOTION | GTK_DEST_DEFAULT_DROP, &entry, 1, GDK_ACTION_COPY | GDK_ACTION_MOVE);
- gtk_drag_dest_add_uri_targets (widget);
-// gtk_drag_dest_set_track_motion (widget, TRUE);
-}
-
gboolean
on_playlist_button_press_event (GtkWidget *widget,
@@ -608,5 +594,58 @@ on_loop_disable_activate (GtkMenuItem *menuitem,
ps_set_loop_mode (1);
}
+void
+on_playlist_realize (GtkWidget *widget,
+ gpointer user_data)
+{
+ // init playlist control structure, and put it into widget user-data
+ memset (&main_playlist, 0, sizeof (main_playlist));
+ main_playlist.playlist = widget;
+ main_playlist.header = lookup_widget (mainwin, "header");
+ main_playlist.scrollbar = lookup_widget (mainwin, "playscroll");
+ main_playlist.phead = &playlist_head;
+ main_playlist.update_statusbar = 1;
+ main_playlist.has_dragndrop = 1;
+ main_playlist.scrollpos = 0;
+ main_playlist.row = -1;
+ main_playlist.clicktime = -1;
+ main_playlist.nvisiblerows = 0;
+ main_playlist.fmtcache = NULL;
+ int colwidths[ps_ncolumns] = { 50, 200, 50, 200, 50 };
+ memcpy (main_playlist.colwidths, colwidths, sizeof (colwidths));
+ GtkTargetEntry entry = {
+ .target = "STRING",
+ .flags = GTK_TARGET_SAME_WIDGET/* | GTK_TARGET_OTHER_APP*/,
+ TARGET_SAMEWIDGET
+ };
+ // setup drag-drop source
+// gtk_drag_source_set (widget, GDK_BUTTON1_MASK, &entry, 1, GDK_ACTION_MOVE);
+ // setup drag-drop target
+ gtk_drag_dest_set (widget, GTK_DEST_DEFAULT_MOTION | GTK_DEST_DEFAULT_DROP, &entry, 1, GDK_ACTION_COPY | GDK_ACTION_MOVE);
+ gtk_drag_dest_add_uri_targets (widget);
+// gtk_drag_dest_set_track_motion (widget, TRUE);
+}
+
+void
+on_searchlist_realize (GtkWidget *widget,
+ gpointer user_data)
+{
+ // init playlist control structure, and put it into widget user-data
+ memset (&search_playlist, 0, sizeof (search_playlist));
+ search_playlist.playlist = widget;
+ search_playlist.header = lookup_widget (mainwin, "header");
+ search_playlist.scrollbar = lookup_widget (mainwin, "playscroll");
+ search_playlist.phead = &search_head;
+ search_playlist.update_statusbar = 0;
+ search_playlist.has_dragndrop = 0;
+ search_playlist.scrollpos = 0;
+ search_playlist.row = -1;
+ search_playlist.clicktime = -1;
+ search_playlist.nvisiblerows = 0;
+ search_playlist.fmtcache = NULL;
+ int colwidths[ps_ncolumns] = { 50, 200, 50, 200, 50 };
+ memcpy (search_playlist.colwidths, colwidths, sizeof (colwidths));
+
+}