src/gtkpluginpref.c

changeset 13107
704041197f4d
parent 12794
e4f178fc08b5
child 13281
3558cb15ebb9
equal deleted inserted replaced
13106:cb7461d56b5e 13107:704041197f4d
70 imhtml_cb(gtk_text_view_get_buffer(GTK_TEXT_VIEW(imhtml)), data); 70 imhtml_cb(gtk_text_view_get_buffer(GTK_TEXT_VIEW(imhtml)), data);
71 } 71 }
72 72
73 static void 73 static void
74 make_string_pref(GtkWidget *parent, GaimPluginPref *pref, GtkSizeGroup *sg) { 74 make_string_pref(GtkWidget *parent, GaimPluginPref *pref, GtkSizeGroup *sg) {
75 GtkWidget *hbox, *gtk_label, *entry; 75 GtkWidget *box, *gtk_label, *entry;
76 gchar *pref_name, *pref_label; 76 const gchar *pref_name;
77 const gchar *pref_label;
77 GaimStringFormatType format; 78 GaimStringFormatType format;
78 79
79 pref_name = gaim_plugin_pref_get_name(pref); 80 pref_name = gaim_plugin_pref_get_name(pref);
80 pref_label = gaim_plugin_pref_get_label(pref); 81 pref_label = gaim_plugin_pref_get_label(pref);
81 format = gaim_plugin_pref_get_format_type(pref); 82 format = gaim_plugin_pref_get_format_type(pref);
91 gtk_size_group_add_widget(sg, gtk_label); 92 gtk_size_group_add_widget(sg, gtk_label);
92 93
93 break; 94 break;
94 case GAIM_PLUGIN_PREF_NONE: 95 case GAIM_PLUGIN_PREF_NONE:
95 default: 96 default:
96 hbox = gtk_hbox_new(FALSE, GAIM_HIG_BOX_SPACE); 97 if (format == GAIM_STRING_FORMAT_TYPE_NONE)
97 gtk_widget_show(hbox); 98 box = gtk_hbox_new(FALSE, GAIM_HIG_BOX_SPACE);
98 gtk_box_pack_start(GTK_BOX(parent), hbox, FALSE, FALSE, 0); 99 else
100 box = gtk_vbox_new(FALSE, GAIM_HIG_BOX_SPACE);
101
102 gtk_widget_show(box);
103 gtk_box_pack_start(GTK_BOX(parent), box, FALSE, FALSE, 0);
99 104
100 gtk_label = gtk_label_new_with_mnemonic(pref_label); 105 gtk_label = gtk_label_new_with_mnemonic(pref_label);
101 gtk_misc_set_alignment(GTK_MISC(gtk_label), 0, 0.5); 106 gtk_misc_set_alignment(GTK_MISC(gtk_label), 0, 0.5);
102 gtk_widget_show(gtk_label); 107 gtk_widget_show(gtk_label);
103 gtk_box_pack_start(GTK_BOX(hbox), gtk_label, FALSE, FALSE, 0); 108 gtk_box_pack_start(GTK_BOX(box), gtk_label, FALSE, FALSE, 0);
104 109
105 if(sg) 110 if(sg)
106 gtk_size_group_add_widget(sg, gtk_label); 111 gtk_size_group_add_widget(sg, gtk_label);
107 112
108 if (format == GAIM_STRING_FORMAT_TYPE_NONE) 113 if (format == GAIM_STRING_FORMAT_TYPE_NONE)
119 g_signal_connect(G_OBJECT(entry), "changed", 124 g_signal_connect(G_OBJECT(entry), "changed",
120 G_CALLBACK(entry_cb), 125 G_CALLBACK(entry_cb),
121 (gpointer)pref_name); 126 (gpointer)pref_name);
122 gtk_label_set_mnemonic_widget(GTK_LABEL(gtk_label), entry); 127 gtk_label_set_mnemonic_widget(GTK_LABEL(gtk_label), entry);
123 gtk_widget_show(entry); 128 gtk_widget_show(entry);
124 gtk_box_pack_start(GTK_BOX(hbox), entry, FALSE, FALSE, 0); 129 gtk_box_pack_start(GTK_BOX(box), entry, FALSE, FALSE, 0);
125 } 130 }
126 else 131 else
127 { 132 {
128 GtkWidget *imhtml, *toolbar, *frame; 133 GtkWidget *hbox;
134 GtkWidget *spacer;
135 GtkWidget *imhtml;
136 GtkWidget *toolbar;
137 GtkWidget *frame;
138
139 hbox = gtk_hbox_new(FALSE, GAIM_HIG_BOX_SPACE);
140 gtk_box_pack_start(GTK_BOX(box), hbox, FALSE, FALSE, 0);
141 gtk_widget_show(hbox);
142
143 spacer = gtk_label_new(" ");
144 gtk_box_pack_start(GTK_BOX(hbox), spacer, FALSE, FALSE, 0);
145 gtk_widget_show(spacer);
129 146
130 frame = gaim_gtk_create_imhtml(TRUE, &imhtml, &toolbar); 147 frame = gaim_gtk_create_imhtml(TRUE, &imhtml, &toolbar);
131 if (!(format & GAIM_STRING_FORMAT_TYPE_HTML)) 148 if (!(format & GAIM_STRING_FORMAT_TYPE_HTML))
132 gtk_widget_destroy(toolbar); 149 gtk_widget_destroy(toolbar);
133 150
134 gtk_imhtml_append_text(GTK_IMHTML(imhtml), gaim_prefs_get_string(pref_name), 151 gtk_imhtml_append_text(GTK_IMHTML(imhtml), gaim_prefs_get_string(pref_name),
135 (format & GAIM_STRING_FORMAT_TYPE_MULTILINE) ? 0 : GTK_IMHTML_NO_NEWLINE); 152 (format & GAIM_STRING_FORMAT_TYPE_MULTILINE) ? 0 : GTK_IMHTML_NO_NEWLINE);
136 gtk_label_set_mnemonic_widget(GTK_LABEL(gtk_label), imhtml); 153 gtk_label_set_mnemonic_widget(GTK_LABEL(gtk_label), imhtml);
137 gtk_widget_show_all(frame); 154 gtk_widget_show_all(frame);
138 g_object_set_data(G_OBJECT(imhtml), "pref-key", pref_name); 155 g_object_set_data(G_OBJECT(imhtml), "pref-key", (gpointer)pref_name);
139 g_signal_connect(G_OBJECT(gtk_text_view_get_buffer(GTK_TEXT_VIEW(imhtml))), 156 g_signal_connect(G_OBJECT(gtk_text_view_get_buffer(GTK_TEXT_VIEW(imhtml))),
140 "changed", G_CALLBACK(imhtml_cb), imhtml); 157 "changed", G_CALLBACK(imhtml_cb), imhtml);
141 g_signal_connect(G_OBJECT(imhtml), 158 g_signal_connect(G_OBJECT(imhtml),
142 "format_function_toggle", G_CALLBACK(imhtml_format_cb), imhtml); 159 "format_function_toggle", G_CALLBACK(imhtml_format_cb), imhtml);
143 gtk_box_pack_start(GTK_BOX(hbox), frame, FALSE, FALSE, 0); 160 gtk_box_pack_start(GTK_BOX(hbox), frame, FALSE, FALSE, 0);
148 } 165 }
149 166
150 static void 167 static void
151 make_int_pref(GtkWidget *parent, GaimPluginPref *pref, GtkSizeGroup *sg) { 168 make_int_pref(GtkWidget *parent, GaimPluginPref *pref, GtkSizeGroup *sg) {
152 GtkWidget *gtk_label; 169 GtkWidget *gtk_label;
153 gchar *pref_name, *pref_label; 170 const gchar *pref_name;
171 const gchar *pref_label;
154 gint max, min; 172 gint max, min;
155 173
156 pref_name = gaim_plugin_pref_get_name(pref); 174 pref_name = gaim_plugin_pref_get_name(pref);
157 pref_label = gaim_plugin_pref_get_label(pref); 175 pref_label = gaim_plugin_pref_get_label(pref);
158 176
186 } 204 }
187 205
188 206
189 GtkWidget * 207 GtkWidget *
190 gaim_gtk_plugin_pref_create_frame(GaimPluginPrefFrame *frame) { 208 gaim_gtk_plugin_pref_create_frame(GaimPluginPrefFrame *frame) {
191 GaimPluginPref *pref;
192 GtkWidget *ret, *parent; 209 GtkWidget *ret, *parent;
193 GtkSizeGroup *sg; 210 GtkSizeGroup *sg;
194 GList *pp; 211 GList *pp;
195 gchar *name, *label;
196 212
197 g_return_val_if_fail(frame, NULL); 213 g_return_val_if_fail(frame, NULL);
198 214
199 sg = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL); 215 sg = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL);
200 216
204 220
205 for(pp = gaim_plugin_pref_frame_get_prefs(frame); 221 for(pp = gaim_plugin_pref_frame_get_prefs(frame);
206 pp != NULL; 222 pp != NULL;
207 pp = pp->next) 223 pp = pp->next)
208 { 224 {
209 pref = (GaimPluginPref *)pp->data; 225 GaimPluginPref *pref = (GaimPluginPref *)pp->data;
210 226
211 name = gaim_plugin_pref_get_name(pref); 227 const char *name = gaim_plugin_pref_get_name(pref);
212 label = gaim_plugin_pref_get_label(pref); 228 const char *label = gaim_plugin_pref_get_label(pref);
213 229
214 if(name == NULL) { 230 if(name == NULL) {
215 if(label == NULL) 231 if(label == NULL)
216 continue; 232 continue;
217 233

mercurial