OpenWrt packages
Sign in or create your account | Project List | Help
OpenWrt packages Git Source Tree
Root/
| 1 | From c52d500e6834815d4425b376f66895eb9e517896 Mon Sep 17 00:00:00 2001 |
| 2 | From: Joshua Judson Rosen <rozzin@geekspace.com> |
| 3 | Date: Wed, 27 Apr 2011 00:32:27 -0400 |
| 4 | Subject: [PATCH 12/17] Don't show the `Music Player: ...' combo-box unless multiple choices are actually available. |
| 5 | |
| 6 | --- |
| 7 | ui_prefs_view.c | 72 +++++++++++++++++++++++++++++++++++-------------------- |
| 8 | 1 files changed, 46 insertions(+), 26 deletions(-) |
| 9 | |
| 10 | diff --git a/ui_prefs_view.c b/ui_prefs_view.c |
| 11 | index e65981c..90e025d 100644 |
| 12 | --- a/ui_prefs_view.c |
| 13 | +++ b/ui_prefs_view.c |
| 14 | @@ -73,6 +73,7 @@ GtkWidget * make_prefs_window ( void ) |
| 15 | GtkWidget * hseparator, * hbox1, *max_working_set_entry, *table; |
| 16 | char buffer[BUFFER_SIZE]; |
| 17 | int i; |
| 18 | + int table_row = 0; |
| 19 | |
| 20 | window = gtk_window_new (GTK_WINDOW_TOPLEVEL); |
| 21 | gtk_window_set_title(GTK_WINDOW(window), _("GJay Preferences")); |
| 22 | @@ -88,31 +89,44 @@ GtkWidget * make_prefs_window ( void ) |
| 23 | gtk_label_set_markup(GTK_LABEL(label),_("<b>General</b>")); |
| 24 | gtk_box_pack_start(GTK_BOX(vbox2), label, TRUE, TRUE, 0); |
| 25 | |
| 26 | - table = gtk_table_new(3,2,TRUE); |
| 27 | - gtk_box_pack_start(GTK_BOX(vbox1), table, TRUE, TRUE, 2); |
| 28 | + table = gtk_table_new(2, 2, TRUE); |
| 29 | + gtk_box_pack_start(GTK_BOX(vbox1), table, TRUE, TRUE, 2); |
| 30 | + |
| 31 | + if (music_player_names[1] != NULL) { |
| 32 | + /* There's always, at least, the "None" player. |
| 33 | + If there are also other plays beyond that, |
| 34 | + present the user with a menu. |
| 35 | + */ |
| 36 | + |
| 37 | + /* Make room in the table for this row: */ |
| 38 | + gtk_table_resize(table, 3, 2); |
| 39 | + |
| 40 | + /* Player selection combo box */ |
| 41 | + label = gtk_label_new(_("Music Player:")); |
| 42 | + |
| 43 | + player_cbox = gtk_combo_box_new_text(); |
| 44 | + i=0; |
| 45 | + while (music_player_names[i] != NULL) |
| 46 | + { |
| 47 | + gtk_combo_box_append_text(GTK_COMBO_BOX(player_cbox), music_player_names[i]); |
| 48 | + i++; |
| 49 | + } |
| 50 | + gtk_combo_box_set_active(GTK_COMBO_BOX(player_cbox), gjay->prefs->music_player); |
| 51 | |
| 52 | - /* Player selection combo box */ |
| 53 | - label = gtk_label_new(_("Music Player:")); |
| 54 | + alignment = gtk_alignment_new(0, 0, 0, 0); |
| 55 | + gtk_container_add(GTK_CONTAINER(alignment), label); |
| 56 | + gtk_table_attach(GTK_TABLE(table), alignment, |
| 57 | + 0, 1, table_row, table_row+1, |
| 58 | + (GTK_EXPAND|GTK_FILL),(GTK_EXPAND|GTK_FILL),6,0); |
| 59 | + table_row++; |
| 60 | + alignment = gtk_alignment_new(0, 0, 0, 0); |
| 61 | |
| 62 | - player_cbox = gtk_combo_box_new_text(); |
| 63 | - i=0; |
| 64 | - while (music_player_names[i] != NULL) |
| 65 | - { |
| 66 | - gtk_combo_box_append_text(GTK_COMBO_BOX(player_cbox), music_player_names[i]); |
| 67 | - i++; |
| 68 | + gtk_container_add(GTK_CONTAINER(alignment), player_cbox); |
| 69 | + gtk_table_attach(GTK_TABLE(table), alignment, 1, 2, 0, 1, |
| 70 | + (GTK_EXPAND|GTK_FILL),(GTK_EXPAND|GTK_FILL),6,0); |
| 71 | + g_signal_connect (G_OBJECT (player_cbox), "changed", |
| 72 | + G_CALLBACK (player_combo_box_changed), NULL); |
| 73 | } |
| 74 | - gtk_combo_box_set_active(GTK_COMBO_BOX(player_cbox), gjay->prefs->music_player); |
| 75 | - |
| 76 | - alignment = gtk_alignment_new(0, 0, 0, 0); |
| 77 | - gtk_container_add(GTK_CONTAINER(alignment), label); |
| 78 | - gtk_table_attach(GTK_TABLE(table), alignment, 0, 1, 0, 1, |
| 79 | - (GTK_EXPAND|GTK_FILL),(GTK_EXPAND|GTK_FILL),6,0); |
| 80 | - alignment = gtk_alignment_new(0, 0, 0, 0); |
| 81 | - gtk_container_add(GTK_CONTAINER(alignment), player_cbox); |
| 82 | - gtk_table_attach(GTK_TABLE(table), alignment, 1, 2, 0, 1, |
| 83 | - (GTK_EXPAND|GTK_FILL),(GTK_EXPAND|GTK_FILL),6,0); |
| 84 | - g_signal_connect (G_OBJECT (player_cbox), "changed", |
| 85 | - G_CALLBACK (player_combo_box_changed), NULL); |
| 86 | |
| 87 | /* Song Ratings checkbox */ |
| 88 | label = gtk_label_new(_("Use song ratings")); |
| 89 | @@ -125,12 +139,15 @@ GtkWidget * make_prefs_window ( void ) |
| 90 | |
| 91 | alignment = gtk_alignment_new(0, 0, 0, 0); |
| 92 | gtk_container_add(GTK_CONTAINER(alignment), label); |
| 93 | - gtk_table_attach(GTK_TABLE(table), alignment, 0, 1, 1, 2, |
| 94 | + gtk_table_attach(GTK_TABLE(table), alignment, |
| 95 | + 0, 1, table_row, table_row+1, |
| 96 | (GTK_EXPAND|GTK_FILL),(GTK_EXPAND|GTK_FILL),6,0); |
| 97 | alignment = gtk_alignment_new(0, 0, 0, 0); |
| 98 | gtk_container_add(GTK_CONTAINER(alignment), button); |
| 99 | - gtk_table_attach(GTK_TABLE(table), alignment, 1, 2, 1, 2, |
| 100 | + gtk_table_attach(GTK_TABLE(table), alignment, |
| 101 | + 1, 2, table_row, table_row+1, |
| 102 | (GTK_EXPAND|GTK_FILL),(GTK_EXPAND|GTK_FILL),6,0); |
| 103 | + table_row++; |
| 104 | |
| 105 | /* Maximum working set box */ |
| 106 | label = gtk_label_new(_("Max working set")); |
| 107 | @@ -147,12 +164,15 @@ GtkWidget * make_prefs_window ( void ) |
| 108 | |
| 109 | alignment = gtk_alignment_new(0, 0, 0, 0); |
| 110 | gtk_container_add(GTK_CONTAINER(alignment), label); |
| 111 | - gtk_table_attach(GTK_TABLE(table), alignment, 0, 1, 2, 3, |
| 112 | + gtk_table_attach(GTK_TABLE(table), alignment, |
| 113 | + 0, 1, table_row, table_row+1, |
| 114 | (GTK_EXPAND|GTK_FILL),(GTK_EXPAND|GTK_FILL),6,0); |
| 115 | alignment = gtk_alignment_new(0, 0, 0, 0); |
| 116 | gtk_container_add(GTK_CONTAINER(alignment), max_working_set_entry); |
| 117 | - gtk_table_attach(GTK_TABLE(table), alignment, 1, 2, 2, 3, |
| 118 | + gtk_table_attach(GTK_TABLE(table), alignment, |
| 119 | + 1, 2, table_row, table_row+1, |
| 120 | (GTK_EXPAND|GTK_FILL),(GTK_EXPAND|GTK_FILL),6,0); |
| 121 | + table_row++; |
| 122 | |
| 123 | hseparator = gtk_hseparator_new(); |
| 124 | gtk_box_pack_start(GTK_BOX(vbox1), hseparator, TRUE, TRUE, 2); |
| 125 | -- |
| 126 | 1.7.2.5 |
| 127 | |
| 128 |
