Mercurial > audlegacy-plugins
comparison src/jack/configure.c @ 2192:e5401b6c4665
the same thing in many plugins
author | Eugene Zagidullin <e.asphyx@gmail.com> |
---|---|
date | Wed, 28 Nov 2007 03:51:34 +0300 |
parents | b8da6a0b0da2 |
children | 41c619e96a17 |
comparison
equal
deleted
inserted
replaced
2191:329267b09658 | 2192:e5401b6c4665 |
---|---|
44 | 44 |
45 #define GET_CHARS(edit) gtk_editable_get_chars(GTK_EDITABLE(edit), 0, -1) | 45 #define GET_CHARS(edit) gtk_editable_get_chars(GTK_EDITABLE(edit), 0, -1) |
46 | 46 |
47 static void configure_win_ok_cb(GtkWidget * w, gpointer data) | 47 static void configure_win_ok_cb(GtkWidget * w, gpointer data) |
48 { | 48 { |
49 ConfigDb *cfgfile; | 49 ConfigDb *cfgfile; |
50 | 50 |
51 jack_cfg.isTraceEnabled = (gint) GTK_CHECK_BUTTON(GTK_isTraceEnabled)->toggle_button.active; | 51 jack_cfg.isTraceEnabled = (gint) GTK_CHECK_BUTTON(GTK_isTraceEnabled)->toggle_button.active; |
52 jack_cfg.port_connection_mode = GET_CHARS(GTK_COMBO(port_connection_mode_combo)->entry); | 52 jack_cfg.port_connection_mode = GET_CHARS(GTK_COMBO(port_connection_mode_combo)->entry); |
53 | 53 |
54 jack_set_port_connection_mode(); /* update the connection mode */ | 54 jack_set_port_connection_mode(); /* update the connection mode */ |
55 | 55 |
56 cfgfile = aud_cfg_db_open(); | 56 cfgfile = aud_cfg_db_open(); |
57 | 57 |
58 aud_cfg_db_set_bool(cfgfile, "jack", "isTraceEnabled", jack_cfg.isTraceEnabled); | 58 aud_cfg_db_set_bool(cfgfile, "jack", "isTraceEnabled", jack_cfg.isTraceEnabled); |
59 aud_cfg_db_set_string(cfgfile, "jack", "port_connection_mode", jack_cfg.port_connection_mode); | 59 aud_cfg_db_set_string(cfgfile, "jack", "port_connection_mode", jack_cfg.port_connection_mode); |
60 aud_cfg_db_close(cfgfile); | 60 aud_cfg_db_close(cfgfile); |
61 | 61 |
62 gtk_widget_destroy(configure_win); | 62 gtk_widget_destroy(configure_win); |
63 } | 63 } |
64 | 64 |
65 static void get_port_connection_modes(GtkCombo *combo) | 65 static void get_port_connection_modes(GtkCombo *combo) |
66 { | 66 { |
67 GtkWidget *item; | 67 GtkWidget *item; |
89 gtk_container_add(GTK_CONTAINER(combo->list), item); | 89 gtk_container_add(GTK_CONTAINER(combo->list), item); |
90 } | 90 } |
91 | 91 |
92 void jack_configure(void) | 92 void jack_configure(void) |
93 { | 93 { |
94 if (!configure_win) | 94 if (!configure_win) |
95 { | 95 { |
96 configure_win = gtk_window_new(GTK_WINDOW_TOPLEVEL); | 96 configure_win = gtk_window_new(GTK_WINDOW_TOPLEVEL); |
97 gtk_window_set_type_hint ( GTK_WINDOW(configure_win), GDK_WINDOW_TYPE_HINT_DIALOG); | 97 gtk_window_set_type_hint ( GTK_WINDOW(configure_win), GDK_WINDOW_TYPE_HINT_DIALOG); |
98 gtk_signal_connect(GTK_OBJECT(configure_win), "destroy", GTK_SIGNAL_FUNC(gtk_widget_destroyed), &configure_win); | 98 gtk_signal_connect(GTK_OBJECT(configure_win), "destroy", GTK_SIGNAL_FUNC(gtk_widget_destroyed), &configure_win); |
99 gtk_window_set_title(GTK_WINDOW(configure_win), _("jack Plugin configuration")); | 99 gtk_window_set_title(GTK_WINDOW(configure_win), _("jack Plugin configuration")); |
100 gtk_window_set_policy(GTK_WINDOW(configure_win), FALSE, FALSE, FALSE); | 100 gtk_window_set_policy(GTK_WINDOW(configure_win), FALSE, FALSE, FALSE); |
101 gtk_window_set_position(GTK_WINDOW(configure_win), GTK_WIN_POS_MOUSE); | 101 gtk_window_set_position(GTK_WINDOW(configure_win), GTK_WIN_POS_MOUSE); |
102 gtk_container_border_width(GTK_CONTAINER(configure_win), 10); | 102 gtk_container_border_width(GTK_CONTAINER(configure_win), 10); |
103 | 103 |
104 vbox = gtk_vbox_new(FALSE, 10); | 104 vbox = gtk_vbox_new(FALSE, 10); |
105 gtk_container_add(GTK_CONTAINER(configure_win), vbox); | 105 gtk_container_add(GTK_CONTAINER(configure_win), vbox); |
106 | 106 |
107 /* add a frame for other xmms-jack options */ | 107 /* add a frame for other xmms-jack options */ |
108 option_frame = gtk_frame_new(_("Options:")); | 108 option_frame = gtk_frame_new(_("Options:")); |
109 gtk_box_pack_start(GTK_BOX(vbox), option_frame, FALSE, FALSE, 0); | 109 gtk_box_pack_start(GTK_BOX(vbox), option_frame, FALSE, FALSE, 0); |
110 | 110 |
111 /* add a hbox that will contain a label for a dropdown and the dropdown itself */ | 111 /* add a hbox that will contain a label for a dropdown and the dropdown itself */ |
112 port_connection_mode_box = gtk_hbox_new(FALSE, 5); | 112 port_connection_mode_box = gtk_hbox_new(FALSE, 5); |
113 gtk_container_set_border_width(GTK_CONTAINER(port_connection_mode_box), 5); | 113 gtk_container_set_border_width(GTK_CONTAINER(port_connection_mode_box), 5); |
114 gtk_container_add(GTK_CONTAINER(option_frame), port_connection_mode_box); | 114 gtk_container_add(GTK_CONTAINER(option_frame), port_connection_mode_box); |
115 | 115 |
116 /* add the label */ | 116 /* add the label */ |
117 gtk_box_pack_start(GTK_BOX(port_connection_mode_box), gtk_label_new(_("Connection mode:")), | 117 gtk_box_pack_start(GTK_BOX(port_connection_mode_box), gtk_label_new(_("Connection mode:")), |
118 FALSE, FALSE, 0); | 118 FALSE, FALSE, 0); |
119 | 119 |
120 /* add the dropdown */ | 120 /* add the dropdown */ |
121 port_connection_mode_combo = gtk_combo_new(); | 121 port_connection_mode_combo = gtk_combo_new(); |
122 get_port_connection_modes(GTK_COMBO(port_connection_mode_combo)); | 122 get_port_connection_modes(GTK_COMBO(port_connection_mode_combo)); |
123 gtk_entry_set_text(GTK_ENTRY(GTK_COMBO(port_connection_mode_combo)->entry), | 123 gtk_entry_set_text(GTK_ENTRY(GTK_COMBO(port_connection_mode_combo)->entry), |
124 jack_cfg.port_connection_mode); | 124 jack_cfg.port_connection_mode); |
125 gtk_box_pack_start(GTK_BOX(port_connection_mode_box), port_connection_mode_combo, | 125 gtk_box_pack_start(GTK_BOX(port_connection_mode_box), port_connection_mode_combo, |
126 TRUE, TRUE, 0); | 126 TRUE, TRUE, 0); |
127 | 127 |
128 /* create a check_button for debug output */ | 128 /* create a check_button for debug output */ |
129 GTK_isTraceEnabled = gtk_check_button_new_with_label(_("Enable debug printing")); | 129 GTK_isTraceEnabled = gtk_check_button_new_with_label(_("Enable debug printing")); |
130 gtk_box_pack_start(GTK_BOX(vbox), GTK_isTraceEnabled, FALSE, FALSE, 0); | 130 gtk_box_pack_start(GTK_BOX(vbox), GTK_isTraceEnabled, FALSE, FALSE, 0); |
131 gtk_widget_show(GTK_isTraceEnabled); | 131 gtk_widget_show(GTK_isTraceEnabled); |
132 | 132 |
133 /* set the state of the check_button based upon the value of */ | 133 /* set the state of the check_button based upon the value of */ |
134 /* isTracingEnabled */ | 134 /* isTracingEnabled */ |
135 GTK_CHECK_BUTTON(GTK_isTraceEnabled)->toggle_button.active = jack_cfg.isTraceEnabled; | 135 GTK_CHECK_BUTTON(GTK_isTraceEnabled)->toggle_button.active = jack_cfg.isTraceEnabled; |
136 | 136 |
137 /* add the box for the ok/canceled buttons at the bottom */ | 137 /* add the box for the ok/canceled buttons at the bottom */ |
138 bbox = gtk_hbox_new(FALSE, 10); | 138 bbox = gtk_hbox_new(FALSE, 10); |
139 gtk_box_pack_start(GTK_BOX(vbox), bbox, FALSE, FALSE, 0); | 139 gtk_box_pack_start(GTK_BOX(vbox), bbox, FALSE, FALSE, 0); |
140 | 140 |
141 ok = gtk_button_new_with_label(_("Ok")); | 141 ok = gtk_button_new_with_label(_("Ok")); |
142 gtk_signal_connect(GTK_OBJECT(ok), "clicked", GTK_SIGNAL_FUNC(configure_win_ok_cb), NULL); | 142 gtk_signal_connect(GTK_OBJECT(ok), "clicked", GTK_SIGNAL_FUNC(configure_win_ok_cb), NULL); |
143 GTK_WIDGET_SET_FLAGS(ok, GTK_CAN_DEFAULT); | 143 GTK_WIDGET_SET_FLAGS(ok, GTK_CAN_DEFAULT); |
144 gtk_box_pack_start(GTK_BOX(bbox), ok, TRUE, TRUE, 0); | 144 gtk_box_pack_start(GTK_BOX(bbox), ok, TRUE, TRUE, 0); |
145 gtk_widget_show(ok); | 145 gtk_widget_show(ok); |
146 gtk_widget_grab_default(ok); | 146 gtk_widget_grab_default(ok); |
147 | 147 |
148 cancel = gtk_button_new_with_label(_("Cancel")); | 148 cancel = gtk_button_new_with_label(_("Cancel")); |
149 gtk_signal_connect_object(GTK_OBJECT(cancel), "clicked", GTK_SIGNAL_FUNC(gtk_widget_destroy), GTK_OBJECT(configure_win)); | 149 gtk_signal_connect_object(GTK_OBJECT(cancel), "clicked", GTK_SIGNAL_FUNC(gtk_widget_destroy), GTK_OBJECT(configure_win)); |
150 GTK_WIDGET_SET_FLAGS(cancel, GTK_CAN_DEFAULT); | 150 GTK_WIDGET_SET_FLAGS(cancel, GTK_CAN_DEFAULT); |
151 gtk_box_pack_start(GTK_BOX(bbox), cancel, TRUE, TRUE, 0); | 151 gtk_box_pack_start(GTK_BOX(bbox), cancel, TRUE, TRUE, 0); |
152 gtk_widget_show(cancel); | 152 gtk_widget_show(cancel); |
153 | 153 |
154 gtk_widget_show_all(configure_win); | 154 gtk_widget_show_all(configure_win); |
155 } | 155 } |
156 else | 156 else |
157 gdk_window_raise(configure_win->window); | 157 gtk_window_present(GTK_WINDOW(configure_win)); |
158 } | 158 } |