summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--main.c3
-rw-r--r--plugins/gtkui/ddblistview.c22
-rw-r--r--plugins/gtkui/ddbtabstrip.c7
-rw-r--r--plugins/gtkui/gtkui.c4
-rw-r--r--plugins/gtkui/prefwin.c12
-rw-r--r--plugins/gtkui/progress.c9
-rw-r--r--plugins/gtkui/widgets.c11
7 files changed, 20 insertions, 48 deletions
diff --git a/main.c b/main.c
index e086e348..26f3e5cb 100644
--- a/main.c
+++ b/main.c
@@ -997,9 +997,6 @@ main (int argc, char *argv[]) {
atexit (atexit_handler); // helps to save in simple cases
#endif
- // start all subsystems
- messagepump_push (DB_EV_PLAYLISTCHANGED, 0, 0, 0);
-
streamer_init ();
plug_connect_all ();
diff --git a/plugins/gtkui/ddblistview.c b/plugins/gtkui/ddblistview.c
index 5b5d7f7a..362770ef 100644
--- a/plugins/gtkui/ddblistview.c
+++ b/plugins/gtkui/ddblistview.c
@@ -557,6 +557,16 @@ ddb_listview_reconf_scrolling (void *ps) {
return FALSE;
}
+static void
+ddb_listview_list_update_total_width (DdbListview *lv, int size) {
+ GtkAllocation a;
+ gtk_widget_get_allocation (GTK_WIDGET (lv->list), &a);
+ lv->totalwidth = size;
+ if (lv->totalwidth < a.width) {
+ lv->totalwidth = a.width;
+ }
+}
+
gboolean
ddb_listview_list_configure_event (GtkWidget *widget,
GdkEventConfigure *event,
@@ -580,11 +590,7 @@ ddb_listview_list_configure_event (GtkWidget *widget,
for (c = ps->columns; c; c = c->next) {
size += c->width;
}
- ps->totalwidth = size;
- if (ps->totalwidth < a.width) {
- ps->totalwidth = a.width;
- }
-
+ ddb_listview_list_update_total_width (ps, size);
g_idle_add (ddb_listview_reconf_scrolling, ps);
return FALSE;
@@ -1149,6 +1155,7 @@ ddb_listview_list_setup_hscroll (DdbListview *ps) {
for (c = ps->columns; c; c = c->next) {
size += c->width;
}
+ ddb_listview_list_update_total_width (ps, size);
GtkWidget *scroll = ps->hscrollbar;
if (w >= size) {
gtk_widget_hide (scroll);
@@ -2437,7 +2444,11 @@ ddb_listview_header_motion_notify_event (GtkWidget *widget,
// get column start pos
int x = -ps->hscrollpos;
int i = 0;
+ int size = 0;
DdbListviewColumn *c;
+ for (c = ps->columns; c; c = c->next) {
+ size += c->width;
+ }
for (c = ps->columns; c && i < ps->header_sizing; c = c->next, i++) {
x += c->width;
}
@@ -2454,6 +2465,7 @@ ddb_listview_header_motion_notify_event (GtkWidget *widget,
gtk_widget_queue_draw (ps->header);
gtk_widget_queue_draw (ps->list);
ps->binding->column_size_changed (ps, ps->header_sizing);
+ ddb_listview_list_update_total_width (ps, size);
}
else {
int x = -ps->hscrollpos;
diff --git a/plugins/gtkui/ddbtabstrip.c b/plugins/gtkui/ddbtabstrip.c
index a6002265..c9827eda 100644
--- a/plugins/gtkui/ddbtabstrip.c
+++ b/plugins/gtkui/ddbtabstrip.c
@@ -255,8 +255,6 @@ on_tabstrip_drag_data_received (GtkWidget *widget,
guint target_type,
guint time)
{
- DdbListview *ps = DDB_LISTVIEW (lookup_widget (mainwin, "playlist"));
-
gchar *ptr=(char*)gtk_selection_data_get_data (data);
int len = gtk_selection_data_get_length (data);
if (target_type == 0) { // uris
@@ -286,16 +284,12 @@ on_tabstrip_drag_leave (GtkWidget *widget,
GdkDragContext *drag_context,
guint time)
{
-// DdbListview *pl = DDB_LISTVIEW (lookup_widget (mainwin, "playlist"));
-// ddb_listview_list_drag_leave (pl->list, drag_context, time, NULL);
}
void
on_tabstrip_drag_end (GtkWidget *widget,
GdkDragContext *drag_context)
{
-// DdbListview *pl = DDB_LISTVIEW (lookup_widget (mainwin, "playlist"));
-// ddb_listview_list_drag_end (pl->list, drag_context, NULL);
}
GtkWidget * ddb_tabstrip_new() {
@@ -1136,7 +1130,6 @@ on_tabstrip_drag_motion_event (GtkWidget *widget,
gtkui_playlist_set_curr (tab);
}
- GtkWidget *pl = lookup_widget (mainwin, "playlist");
GList *targets = gdk_drag_context_list_targets (drag_context);
int cnt = g_list_length (targets);
int i;
diff --git a/plugins/gtkui/gtkui.c b/plugins/gtkui/gtkui.c
index 87264853..2804e91c 100644
--- a/plugins/gtkui/gtkui.c
+++ b/plugins/gtkui/gtkui.c
@@ -451,9 +451,6 @@ trackinfochanged_wrapper (DdbListview *playlist, DB_playItem_t *track, int iter)
void
gtkui_trackinfochanged (DB_playItem_t *track) {
-// GtkWidget *playlist = lookup_widget (mainwin, "playlist");
-// trackinfochanged_wrapper (DDB_LISTVIEW (playlist), track, PL_MAIN);
-
if (searchwin && gtk_widget_get_visible (searchwin)) {
GtkWidget *search = lookup_widget (searchwin, "searchlist");
trackinfochanged_wrapper (DDB_LISTVIEW (search), track, PL_SEARCH);
@@ -1152,6 +1149,7 @@ gtkui_thread (void *ctx) {
supereq_plugin = deadbeef->plug_get_for_id ("supereq");
gtkui_connect_cb (NULL);
+ deadbeef->sendmessage (DB_EV_PLAYLISTCHANGED, 0, 0, 0);
gtk_main ();
diff --git a/plugins/gtkui/prefwin.c b/plugins/gtkui/prefwin.c
index 93b1ba04..cc04cb2d 100644
--- a/plugins/gtkui/prefwin.c
+++ b/plugins/gtkui/prefwin.c
@@ -544,18 +544,6 @@ on_configure_plugin_clicked (GtkButton *button,
}
}
-static void
-redraw_headers (void) {
- DdbListview *playlist = DDB_LISTVIEW (lookup_widget (mainwin, "playlist"));
- DdbListview *search = DDB_LISTVIEW (lookup_widget (searchwin, "searchlist"));
- if (playlist) {
- ddb_listview_refresh (playlist, DDB_REFRESH_COLUMNS);
- }
- if (search) {
- ddb_listview_refresh (search, DDB_REFRESH_COLUMNS);
- }
-}
-
void
on_tabstrip_light_color_set (GtkColorButton *colorbutton,
gpointer user_data)
diff --git a/plugins/gtkui/progress.c b/plugins/gtkui/progress.c
index 98a6b461..0c3465f0 100644
--- a/plugins/gtkui/progress.c
+++ b/plugins/gtkui/progress.c
@@ -83,10 +83,6 @@ progress_settext (const char *text) {
gboolean
gtkui_progress_show_idle (gpointer data) {
- GtkWidget *playlist = lookup_widget (mainwin, "playlist");
- if (playlist) {
- gtk_widget_set_sensitive (playlist, FALSE);
- }
progress_settext (_("Initializing..."));
gtk_widget_show_all (progressdlg);
gtk_window_present (GTK_WINDOW (progressdlg));
@@ -103,11 +99,6 @@ progress_show (void) {
gboolean
gtkui_progress_hide_idle (gpointer data) {
gtk_widget_hide (progressdlg);
- GtkWidget *playlist = lookup_widget (mainwin, "playlist");
- if (playlist) {
- gtk_widget_set_sensitive (playlist, TRUE);
- }
- //deadbeef->sendmessage (DB_EV_PLAYLIST_REFRESH, 0, 0, 0);
return FALSE;
}
diff --git a/plugins/gtkui/widgets.c b/plugins/gtkui/widgets.c
index 1e118dc1..f37c6118 100644
--- a/plugins/gtkui/widgets.c
+++ b/plugins/gtkui/widgets.c
@@ -1451,16 +1451,9 @@ paused_cb (gpointer data) {
}
static gboolean
-tabbed_refresh_cb (gpointer p) {
- w_playlist_t *tp = (w_playlist_t *)p;
- ddb_listview_clear_sort (tp->list);
- ddb_listview_refresh (tp->list, DDB_REFRESH_LIST | DDB_REFRESH_VSCROLL);
- return FALSE;
-}
-
-static gboolean
refresh_cb (gpointer data) {
DdbListview *p = DDB_LISTVIEW (data);
+ ddb_listview_lock_columns (p, 0);
ddb_listview_clear_sort (p);
ddb_listview_refresh (DDB_LISTVIEW (p), DDB_REFRESH_LIST | DDB_REFRESH_VSCROLL);
return FALSE;
@@ -1658,7 +1651,7 @@ w_tabbed_playlist_message (ddb_gtkui_widget_t *w, uint32_t id, uintptr_t ctx, ui
g_idle_add (tabbed_paused_cb, w);
break;
case DB_EV_PLAYLISTCHANGED:
- g_idle_add (tabbed_refresh_cb, w);
+ g_idle_add (refresh_cb, tp->list);
break;
case DB_EV_PLAYLISTSWITCHED:
g_idle_add (playlistswitch_cb, w);