pidgin/plugins/themeedit.c

branch
sadrul.gtkblist-theme
changeset 26810
c19a6dbe3f3b
parent 26809
c120381fbe45
child 26811
72045103fad1
equal deleted inserted replaced
26809:c120381fbe45 26810:c19a6dbe3f3b
143 143
144 gtk_widget_show_all(dialog); 144 gtk_widget_show_all(dialog);
145 } 145 }
146 146
147 static GtkWidget * 147 static GtkWidget *
148 pidgin_theme_create_color_selector(const char *text, const char *prop, 148 pidgin_theme_create_color_selector(const char *text, const char *blurb, const char *prop,
149 GtkSizeGroup *sizegroup) 149 GtkSizeGroup *sizegroup)
150 { 150 {
151 GtkWidget *color; 151 GtkWidget *color;
152 GtkWidget *hbox, *label; 152 GtkWidget *hbox, *label;
153 153
155 155
156 label = gtk_label_new(_(text)); 156 label = gtk_label_new(_(text));
157 gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); 157 gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5);
158 gtk_size_group_add_widget(sizegroup, label); 158 gtk_size_group_add_widget(sizegroup, label);
159 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); 159 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0);
160 #if GTK_CHECK_VERSION(2, 12, 0)
161 gtk_widget_set_tooltip_text(label, blurb);
162 #endif
160 163
161 color = pidgin_pixbuf_button_from_stock("", GTK_STOCK_SELECT_COLOR, 164 color = pidgin_pixbuf_button_from_stock("", GTK_STOCK_SELECT_COLOR,
162 PIDGIN_BUTTON_HORIZONTAL); 165 PIDGIN_BUTTON_HORIZONTAL);
163 g_signal_connect(G_OBJECT(color), "clicked", G_CALLBACK(theme_color_select), 166 g_signal_connect(G_OBJECT(color), "clicked", G_CALLBACK(theme_color_select),
164 (gpointer)prop); 167 (gpointer)prop);
166 169
167 return hbox; 170 return hbox;
168 } 171 }
169 172
170 static GtkWidget * 173 static GtkWidget *
171 pidgin_theme_create_font_selector(const char *text, const char *prop, 174 pidgin_theme_create_font_selector(const char *text, const char *blurb, const char *prop,
172 GtkSizeGroup *sizegroup) 175 GtkSizeGroup *sizegroup)
173 { 176 {
174 GtkWidget *color, *font; 177 GtkWidget *color, *font;
175 GtkWidget *hbox, *label; 178 GtkWidget *hbox, *label;
176 179
178 181
179 label = gtk_label_new(_(text)); 182 label = gtk_label_new(_(text));
180 gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); 183 gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5);
181 gtk_size_group_add_widget(sizegroup, label); 184 gtk_size_group_add_widget(sizegroup, label);
182 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); 185 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0);
186 #if GTK_CHECK_VERSION(2, 12, 0)
187 gtk_widget_set_tooltip_text(label, blurb);
188 #endif
183 189
184 font = pidgin_pixbuf_button_from_stock("", GTK_STOCK_SELECT_FONT, 190 font = pidgin_pixbuf_button_from_stock("", GTK_STOCK_SELECT_FONT,
185 PIDGIN_BUTTON_HORIZONTAL); 191 PIDGIN_BUTTON_HORIZONTAL);
186 g_signal_connect(G_OBJECT(font), "clicked", G_CALLBACK(theme_font_select_face), 192 g_signal_connect(G_OBJECT(font), "clicked", G_CALLBACK(theme_font_select_face),
187 (gpointer)prop); 193 (gpointer)prop);
252 GParamSpec *spec; 258 GParamSpec *spec;
253 259
254 vbox = pidgin_make_frame(box, _(sections[i].header)); 260 vbox = pidgin_make_frame(box, _(sections[i].header));
255 for (j = 0; sections[i].props[j]; j++) { 261 for (j = 0; sections[i].props[j]; j++) {
256 const char *label; 262 const char *label;
263 const char *blurb;
257 spec = g_object_class_find_property(klass, sections[i].props[j]); 264 spec = g_object_class_find_property(klass, sections[i].props[j]);
258 label = g_param_spec_get_nick(spec); 265 label = g_param_spec_get_nick(spec);
266 blurb = g_param_spec_get_blurb(spec);
259 if (G_IS_PARAM_SPEC_BOXED(spec)) { 267 if (G_IS_PARAM_SPEC_BOXED(spec)) {
260 hbox = pidgin_theme_create_color_selector(label, 268 hbox = pidgin_theme_create_color_selector(label, blurb,
261 sections[i].props[j], group); 269 sections[i].props[j], group);
262 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); 270 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0);
263 } else { 271 } else {
264 hbox = pidgin_theme_create_font_selector(label, 272 hbox = pidgin_theme_create_font_selector(label, blurb,
265 sections[i].props[j], group); 273 sections[i].props[j], group);
266 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); 274 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0);
267 } 275 }
268 } 276 }
269 } 277 }

mercurial