From 35557467f9b71fe4f50ab378101190e3127cff87 Mon Sep 17 00:00:00 2001 From: Alexey Yakovenko Date: Sat, 3 Apr 2010 13:42:31 +0200 Subject: implemented show/hide playlist column headers --- plugins/gtkui/callbacks.c | 8 ++++---- plugins/gtkui/ddblistview.c | 6 ++++++ plugins/gtkui/ddblistview.h | 2 ++ plugins/gtkui/gtkui.c | 18 ++++++++++-------- 4 files changed, 22 insertions(+), 12 deletions(-) (limited to 'plugins') diff --git a/plugins/gtkui/callbacks.c b/plugins/gtkui/callbacks.c index 2b277a4c..d8a71714 100644 --- a/plugins/gtkui/callbacks.c +++ b/plugins/gtkui/callbacks.c @@ -936,15 +936,15 @@ void on_toggle_column_headers_activate (GtkMenuItem *menuitem, gpointer user_data) { - GtkWidget *header = lookup_widget (mainwin, "header"); - if (header) { + GtkWidget *playlist = lookup_widget (mainwin, "playlist"); + if (playlist) { if (!gtk_check_menu_item_get_active (GTK_CHECK_MENU_ITEM (menuitem))) { deadbeef->conf_set_int ("gtkui.headers.visible", 0); - gtk_widget_hide (header); + ddb_listview_show_header (DDB_LISTVIEW (playlist), 0); } else { deadbeef->conf_set_int ("gtkui.headers.visible", 1); - gtk_widget_show (header); + ddb_listview_show_header (DDB_LISTVIEW (playlist), 1); } } } diff --git a/plugins/gtkui/ddblistview.c b/plugins/gtkui/ddblistview.c index 3da1caa7..c802b75b 100644 --- a/plugins/gtkui/ddblistview.c +++ b/plugins/gtkui/ddblistview.c @@ -2729,3 +2729,9 @@ void ddb_listview_set_vscroll (DdbListview *listview, gboolean scroll) { gtk_range_set_value (GTK_RANGE (listview->scrollbar), scroll); } + +void +ddb_listview_show_header (DdbListview *listview, int show) { + show ? gtk_widget_show (listview->header) : gtk_widget_hide (listview->header); +} + diff --git a/plugins/gtkui/ddblistview.h b/plugins/gtkui/ddblistview.h index 5c6fb938..eb103354 100644 --- a/plugins/gtkui/ddblistview.h +++ b/plugins/gtkui/ddblistview.h @@ -190,6 +190,8 @@ int ddb_listview_column_set_info (DdbListview *listview, int col, const char *title, int width, int align_right, int minheight, void *user_data); void ddb_listview_build_groups (DdbListview *listview); +void +ddb_listview_show_header (DdbListview *listview, int show); enum { DDB_REFRESH_COLUMNS = 1, diff --git a/plugins/gtkui/gtkui.c b/plugins/gtkui/gtkui.c index 5d70a542..b72ab6ba 100644 --- a/plugins/gtkui/gtkui.c +++ b/plugins/gtkui/gtkui.c @@ -769,16 +769,8 @@ gtkui_thread (void *ctx) { GtkWidget *sb_mi = lookup_widget (mainwin, "view_status_bar"); GtkWidget *ts_mi = lookup_widget (mainwin, "view_tabs"); GtkWidget *eq_mi = lookup_widget (mainwin, "view_eq"); - GtkWidget *header = lookup_widget (mainwin, "header"); GtkWidget *sb = lookup_widget (mainwin, "statusbar"); GtkWidget *ts = lookup_widget (mainwin, "tabstrip"); - if (deadbeef->conf_get_int ("gtkui.headers.visible", 1)) { - gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (header_mi), TRUE); - } - else { - gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (header_mi), FALSE); - gtk_widget_hide (header); - } if (deadbeef->conf_get_int ("gtkui.statusbar.visible", 1)) { gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (sb_mi), TRUE); } @@ -814,6 +806,16 @@ gtkui_thread (void *ctx) { DdbListview *main_playlist = DDB_LISTVIEW (lookup_widget (mainwin, "playlist")); main_playlist_init (GTK_WIDGET (main_playlist)); + + if (deadbeef->conf_get_int ("gtkui.headers.visible", 1)) { + gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (header_mi), TRUE); + ddb_listview_show_header (main_playlist, 1); + } + else { + gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (header_mi), FALSE); + ddb_listview_show_header (main_playlist, 0); + } + DdbListview *search_playlist = DDB_LISTVIEW (lookup_widget (searchwin, "searchlist")); search_playlist_init (GTK_WIDGET (search_playlist)); -- cgit v1.2.3