Skip to content

Commit

Permalink
gtkui: Allow to never show playlist tabs. Closes: #1409
Browse files Browse the repository at this point in the history
Backport of commit 89365b7 for qtui but use "Always"
as default for gtkui to not change the default behavior.
  • Loading branch information
radioactiveman committed Jul 14, 2024
1 parent 66db339 commit 1427488
Show file tree
Hide file tree
Showing 4 changed files with 22 additions and 6 deletions.
11 changes: 9 additions & 2 deletions src/gtkui/settings.cc
Original file line number Diff line number Diff line change
Expand Up @@ -31,10 +31,17 @@ static void redisplay_playlists ()
pl_notebook_populate ();
}

static const ComboItem playlist_tabs_options[] = {
ComboItem (N_("Always"), PlaylistTabVisibility::Always),
ComboItem (N_("Auto-hide"), PlaylistTabVisibility::AutoHide),
ComboItem (N_("Never"), PlaylistTabVisibility::Never)
};

static const PreferencesWidget gtkui_widgets[] = {
WidgetLabel (N_("<b>Playlist Tabs</b>")),
WidgetCheck (N_("Always show tabs"),
WidgetBool ("gtkui", "playlist_tabs_visible", show_hide_playlist_tabs)),
WidgetCombo (N_("Show playlist tabs:"),
WidgetInt ("gtkui", "playlist_tabs_visible", show_hide_playlist_tabs),
{{playlist_tabs_options}}),
WidgetCheck (N_("Show entry counts"),
WidgetBool ("gtkui", "entry_count_visible", redisplay_playlists)),
WidgetCheck (N_("Show close buttons"),
Expand Down
4 changes: 2 additions & 2 deletions src/gtkui/ui_gtk.cc
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ static const char * const gtkui_defaults[] = {
"infoarea_show_vis", "TRUE",
"infoarea_visible", "TRUE",
"menu_visible", "TRUE",
"playlist_tabs_visible", "TRUE",
"playlist_tabs_visible", aud::numeric_string<PlaylistTabVisibility::Always>::str,
"statusbar_visible", "TRUE",
"entry_count_visible", "FALSE",
"close_button_visible", "TRUE",
Expand Down Expand Up @@ -970,7 +970,7 @@ bool GtkUI::init ()
AUDDBG ("playlist associate\n");
pl_notebook_populate ();

g_signal_connect (slider, "change-value", (GCallback) ui_slider_change_value_cb , nullptr);
g_signal_connect (slider, "change-value", (GCallback) ui_slider_change_value_cb, nullptr);
g_signal_connect (slider, "button-press-event", (GCallback) ui_slider_button_press_cb, nullptr);
g_signal_connect (slider, "button-release-event", (GCallback) ui_slider_button_release_cb, nullptr);

Expand Down
7 changes: 5 additions & 2 deletions src/gtkui/ui_playlist_notebook.cc
Original file line number Diff line number Diff line change
Expand Up @@ -581,6 +581,9 @@ GtkWidget * pl_notebook_new ()

void show_hide_playlist_tabs ()
{
gtk_notebook_set_show_tabs ((GtkNotebook *) pl_notebook, aud_get_bool ("gtkui",
"playlist_tabs_visible") || Playlist::n_playlists () > 1);
int playlist_tabs_visible = aud_get_int ("gtkui", "playlist_tabs_visible");
bool show_tabs = playlist_tabs_visible != PlaylistTabVisibility::Never &&
(playlist_tabs_visible != PlaylistTabVisibility::AutoHide ||
Playlist::n_playlists () > 1);
gtk_notebook_set_show_tabs ((GtkNotebook *) pl_notebook, show_tabs);
}
6 changes: 6 additions & 0 deletions src/gtkui/ui_playlist_notebook.h
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,12 @@

class Playlist;

enum PlaylistTabVisibility {
Always,
AutoHide,
Never
};

extern GtkWidget * pl_notebook;

GtkWidget * pl_notebook_new ();
Expand Down

0 comments on commit 1427488

Please sign in to comment.