Allow the routing window to be resized and give it scrollbars
This commit is contained in:
@@ -429,6 +429,24 @@ static gboolean window_levels_close_request(GtkWindow *w, gpointer data) {
|
||||
return true;
|
||||
}
|
||||
|
||||
// wrap a scrolled window around the controls
|
||||
static void create_scrollable_window(GtkWidget *window, GtkWidget *controls) {
|
||||
GtkWidget *scrolled_window = gtk_scrolled_window_new();
|
||||
|
||||
gtk_scrolled_window_set_policy(
|
||||
GTK_SCROLLED_WINDOW(scrolled_window),
|
||||
GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC
|
||||
);
|
||||
gtk_scrolled_window_set_child(
|
||||
GTK_SCROLLED_WINDOW(scrolled_window), controls
|
||||
);
|
||||
gtk_scrolled_window_set_propagate_natural_height(GTK_SCROLLED_WINDOW(scrolled_window), TRUE);
|
||||
gtk_scrolled_window_set_propagate_natural_width(GTK_SCROLLED_WINDOW(scrolled_window), TRUE);
|
||||
|
||||
gtk_window_set_child(GTK_WINDOW(window), scrolled_window);
|
||||
gtk_window_set_resizable(GTK_WINDOW(window), TRUE);
|
||||
}
|
||||
|
||||
GtkWidget *create_iface_mixer_main(struct alsa_card *card) {
|
||||
card->has_speaker_switching =
|
||||
!!get_elem_by_name(card->elems, "Speaker Switching Playback Enum");
|
||||
@@ -445,7 +463,7 @@ GtkWidget *create_iface_mixer_main(struct alsa_card *card) {
|
||||
card, "Routing", G_CALLBACK(window_routing_close_request)
|
||||
);
|
||||
|
||||
gtk_window_set_child(GTK_WINDOW(card->window_routing), routing_top);
|
||||
create_scrollable_window(card->window_routing, routing_top);
|
||||
|
||||
GtkWidget *mixer_top = create_mixer_controls(card);
|
||||
|
||||
|
||||
@@ -256,6 +256,9 @@ static GtkWidget *make_preset_menu_button(struct alsa_card *card) {
|
||||
static void create_routing_grid(struct alsa_card *card) {
|
||||
GtkWidget *routing_grid = card->routing_grid = gtk_grid_new();
|
||||
|
||||
gtk_widget_set_halign(routing_grid, GTK_ALIGN_CENTER);
|
||||
gtk_widget_set_valign(routing_grid, GTK_ALIGN_CENTER);
|
||||
|
||||
GtkWidget *preset_menu_button = make_preset_menu_button(card);
|
||||
gtk_grid_attach(
|
||||
GTK_GRID(routing_grid), preset_menu_button, 0, 0, 1, 1
|
||||
|
||||
Reference in New Issue
Block a user