summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Alexey Yakovenko <wakeroid@gmail.com>2010-04-03 13:42:31 +0200
committerGravatar Alexey Yakovenko <wakeroid@gmail.com>2010-04-03 13:42:31 +0200
commit35557467f9b71fe4f50ab378101190e3127cff87 (patch)
tree6ed01f0f9b35fe1cfbffd768cd43232c6ff40d14
parent3e27fc0b8f694cc3ce121cdf152b6b1ff8943f04 (diff)
implemented show/hide playlist column headers
-rw-r--r--plugins/gtkui/callbacks.c8
-rw-r--r--plugins/gtkui/ddblistview.c6
-rw-r--r--plugins/gtkui/ddblistview.h2
-rw-r--r--plugins/gtkui/gtkui.c18
4 files changed, 22 insertions, 12 deletions
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));