grim/guifications1

6918fc2a4035
Parents 45f198643a2e
Children 6262e0b52b3f
more cleanup/condensing of mutual code
--- a/gf_conf.c Sun Dec 28 20:52:48 2003 +0000
+++ b/gf_conf.c Sun Dec 28 22:54:45 2003 +0000
@@ -43,10 +43,8 @@
/***********************************************************************
Prototypes
***********************************************************************/
-static GtkWidget *make_check_button( const gchar *pref, gchar *text, GtkSizeGroup *sg );
static GtkWidget *make_entry( const gchar *pref );
static GtkWidget *make_button( gchar *text );
-static GtkWidget *make_spin_button_with_label( gchar *text, const gchar *pref, GtkSizeGroup *sg );
static void make_color_preview( GtkWidget *image, const gchar *color );
/* callbacks */
@@ -93,11 +91,13 @@
gtk_box_pack_start(GTK_BOX(frame), hbox, FALSE, FALSE, 0);
/* create sign on check */
- chk_btn = make_check_button(GF_PREF_BEHAVIOR_SHOW_SIGN_ON, "Show _Sign On", sg);
+ chk_btn = make_check_button(gaim_prefs_get_bool(GF_PREF_BEHAVIOR_SHOW_SIGN_ON), "Show _Sign On", sg);
+ g_signal_connect(G_OBJECT(chk_btn), "clicked", G_CALLBACK(chk_box_cb), (gpointer)GF_PREF_BEHAVIOR_SHOW_SIGN_ON);
gtk_box_pack_start(GTK_BOX(hbox), chk_btn, FALSE, FALSE, 0 );
/* create sign off check */
- chk_btn = make_check_button(GF_PREF_BEHAVIOR_SHOW_SIGN_OFF, "Show Sign _Off", sg);
+ chk_btn = make_check_button(gaim_prefs_get_bool(GF_PREF_BEHAVIOR_SHOW_SIGN_OFF), "Show Sign _Off", sg);
+ g_signal_connect(G_OBJECT(chk_btn), "clicked", G_CALLBACK(chk_box_cb), (gpointer)GF_PREF_BEHAVIOR_SHOW_SIGN_OFF);
gtk_box_pack_start(GTK_BOX(hbox), chk_btn, FALSE, FALSE, 0);
/* create away/back hbox */
@@ -105,11 +105,13 @@
gtk_box_pack_start(GTK_BOX(frame), hbox, FALSE, FALSE, 0);
/* create away check */
- chk_btn = make_check_button(GF_PREF_BEHAVIOR_SHOW_AWAY, "Show _Away", sg);
+ chk_btn = make_check_button(gaim_prefs_get_bool(GF_PREF_BEHAVIOR_SHOW_AWAY), "Show _Away", sg);
+ g_signal_connect(G_OBJECT(chk_btn), "clicked", G_CALLBACK(chk_box_cb), (gpointer)GF_PREF_BEHAVIOR_SHOW_AWAY);
gtk_box_pack_start(GTK_BOX(hbox), chk_btn, FALSE, FALSE, 0 );
/* create back check */
- chk_btn = make_check_button(GF_PREF_BEHAVIOR_SHOW_BACK, "Show _Back", sg);
+ chk_btn = make_check_button(gaim_prefs_get_bool(GF_PREF_BEHAVIOR_SHOW_BACK), "Show _Back", sg);
+ g_signal_connect(G_OBJECT(chk_btn), "clicked", G_CALLBACK(chk_box_cb), (gpointer)GF_PREF_BEHAVIOR_SHOW_BACK);
gtk_box_pack_start(GTK_BOX(hbox), chk_btn, FALSE, FALSE, 0);
/* create idle/unidle hbox */
@@ -117,11 +119,13 @@
gtk_box_pack_start(GTK_BOX(frame), hbox, FALSE, FALSE, 0);
/* create idle check */
- chk_btn = make_check_button(GF_PREF_BEHAVIOR_SHOW_IDLE, "Show _Idle", sg);
+ chk_btn = make_check_button(gaim_prefs_get_bool(GF_PREF_BEHAVIOR_SHOW_IDLE), "Show _Idle", sg);
+ g_signal_connect(G_OBJECT(chk_btn), "clicked", G_CALLBACK(chk_box_cb), (gpointer)GF_PREF_BEHAVIOR_SHOW_IDLE);
gtk_box_pack_start(GTK_BOX(hbox), chk_btn, FALSE, FALSE, 0);
/* create unidle check */
- chk_btn = make_check_button(GF_PREF_BEHAVIOR_SHOW_UNIDLE, "Show _Unidle", sg);
+ chk_btn = make_check_button(gaim_prefs_get_bool(GF_PREF_BEHAVIOR_SHOW_UNIDLE), "Show _Unidle", sg);
+ g_signal_connect(G_OBJECT(chk_btn), "clicked", G_CALLBACK(chk_box_cb), (gpointer)GF_PREF_BEHAVIOR_SHOW_UNIDLE);
gtk_box_pack_start(GTK_BOX(hbox), chk_btn, FALSE, FALSE, 0);
/* create position frame */
@@ -135,15 +139,17 @@
gtk_box_pack_start(GTK_BOX(frame), label, FALSE, FALSE, 0);
/* create vertical check */
- chk_btn = make_check_button(GF_PREF_BEHAVIOR_WINDOW_VERTICAL, "_Vertical", sg);
+ chk_btn = make_check_button(gaim_prefs_get_bool(GF_PREF_BEHAVIOR_WINDOW_VERTICAL), "_Vertical", sg);
+ g_signal_connect(G_OBJECT(chk_btn), "clicked", G_CALLBACK(chk_box_cb), (gpointer)GF_PREF_BEHAVIOR_WINDOW_VERTICAL);
gtk_box_pack_start(GTK_BOX(frame), chk_btn, FALSE, FALSE, 0);
/* create display frame */
frame = gaim_gtk_make_frame(vbox, "Display");
/* create display spin */
- spin = make_spin_button_with_label("Display _time:", GF_PREF_BEHAVIOR_TIMEOUT, sg);
- gtk_label_set_mnemonic_widget(GTK_LABEL(label), spin);
+ spin = make_spin_button(gaim_prefs_get_int(GF_PREF_BEHAVIOR_TIMEOUT), 0, 60, TRUE);
+ g_signal_connect(G_OBJECT(spin), "changed", G_CALLBACK(spn_btn_cb), (gpointer)GF_PREF_BEHAVIOR_TIMEOUT);
+ spin = add_label(spin, "Display _time:", sg);
label = make_label("seconds", NULL);
gtk_box_pack_start(GTK_BOX(spin), label, FALSE, FALSE, 0);
gtk_box_pack_start(GTK_BOX(frame), spin, FALSE, FALSE, 0);
@@ -156,12 +162,13 @@
gtk_box_pack_start(GTK_BOX(frame), label, FALSE, FALSE, 0);
/* create alias check */
- chk_btn = make_check_button(GF_PREF_BEHAVIOR_ALIAS, "S_how alias if set", NULL);
+ chk_btn = make_check_button(gaim_prefs_get_bool(GF_PREF_BEHAVIOR_ALIAS), "S_how alias if set", NULL);
+ g_signal_connect(G_OBJECT(chk_btn), "clicked", G_CALLBACK(chk_box_cb), (gpointer)GF_PREF_BEHAVIOR_ALIAS);
gtk_box_pack_start(GTK_BOX(frame), chk_btn, FALSE, FALSE, 0);
- /* snakez */
/* show if away check */
- chk_btn = make_check_button(GF_PREF_BEHAVIOR_SHOWAWAY, "Sho_w Guifications while away", NULL);
+ chk_btn = make_check_button(gaim_prefs_get_bool(GF_PREF_BEHAVIOR_SHOWAWAY), "Sho_w Guifications while away", NULL);
+ g_signal_connect(G_OBJECT(chk_btn), "clicked", G_CALLBACK(chk_box_cb), (gpointer)GF_PREF_BEHAVIOR_SHOWAWAY);
gtk_box_pack_start(GTK_BOX(frame), chk_btn, FALSE, FALSE, 0);
/* create mouse frame */
@@ -204,7 +211,8 @@
frame = gaim_gtk_make_frame(vbox, "Image");
/* create image check */
- chk_btn = make_check_button(GF_PREF_APPEARANCE_IMAGE, "Use custom _image", sg);
+ chk_btn = make_check_button(gaim_prefs_get_bool(GF_PREF_APPEARANCE_IMAGE), "Use custom _image", sg);
+ g_signal_connect(G_OBJECT(chk_btn), "clicked", G_CALLBACK(chk_box_cb), (gpointer)GF_PREF_APPEARANCE_IMAGE);
gtk_box_pack_start(GTK_BOX(frame), chk_btn, FALSE, FALSE, 0);
/* create image entry/button hbox */
@@ -230,7 +238,8 @@
gtk_box_pack_start(GTK_BOX(frame), hbox, FALSE, FALSE, 0);
/* create font check */
- chk_btn = make_check_button(GF_PREF_APPEARANCE_FONT, "Use custom fon_t", sg);
+ chk_btn = make_check_button(gaim_prefs_get_bool(GF_PREF_APPEARANCE_FONT), "Use custom fon_t", sg);
+ g_signal_connect(G_OBJECT(chk_btn), "clicked", G_CALLBACK(chk_box_cb), (gpointer)GF_PREF_APPEARANCE_FONT);
gtk_box_pack_start(GTK_BOX(hbox), chk_btn, FALSE, FALSE, 0);
/* create font button */
@@ -244,7 +253,8 @@
gtk_box_pack_start(GTK_BOX(frame), hbox, FALSE, FALSE, 0);
/* create color check */
- chk_btn = make_check_button(GF_PREF_APPEARANCE_COLOR, "Use custom co_lor", sg);
+ chk_btn = make_check_button(gaim_prefs_get_bool(GF_PREF_APPEARANCE_COLOR), "Use custom co_lor", sg);
+ g_signal_connect(G_OBJECT(chk_btn), "clicked", G_CALLBACK(chk_box_cb), (gpointer)GF_PREF_APPEARANCE_COLOR);
gtk_box_pack_start(GTK_BOX(hbox), chk_btn, FALSE, FALSE, 0);
/* create color button */
@@ -274,14 +284,16 @@
gtk_box_pack_start(GTK_BOX(frame), label, FALSE, FALSE, 0);
/* create horz spin */
- spin = make_spin_button_with_label("_Horizontal Offset:", GF_PREF_APPEARANCE_TEXT_X, sg);
- gtk_label_set_mnemonic_widget(GTK_LABEL(label), spin);
- gtk_box_pack_start(GTK_BOX(frame), spin, FALSE, FALSE, 0);
+ spin = make_spin_button(gaim_prefs_get_int(GF_PREF_APPEARANCE_TEXT_X), 0, 255, TRUE);
+ g_signal_connect(G_OBJECT(spin), "changed", G_CALLBACK(spn_btn_cb), (gpointer)GF_PREF_APPEARANCE_TEXT_X);
+ label = add_label(spin, "_Horizontal offset:", sg);
+ gtk_box_pack_start(GTK_BOX(frame), label, FALSE, FALSE, 0);
/* create vert spin */
- spin = make_spin_button_with_label("_Vertical Offset:", GF_PREF_APPEARANCE_TEXT_Y, sg);
- gtk_label_set_mnemonic_widget(GTK_LABEL(label), spin);
- gtk_box_pack_start(GTK_BOX(frame), spin, FALSE, FALSE, 0);
+ spin = make_spin_button(gaim_prefs_get_int(GF_PREF_APPEARANCE_TEXT_Y), 0, 255, TRUE);
+ g_signal_connect(G_OBJECT(spin), "changed", G_CALLBACK(spn_btn_cb), (gpointer)GF_PREF_APPEARANCE_TEXT_Y);
+ label = add_label(spin, "_Vertical offset:", sg);
+ gtk_box_pack_start(GTK_BOX(frame), label, FALSE, FALSE, 0);
/* create protocol frame */
frame = gaim_gtk_make_frame(vbox, "Protocol");
@@ -301,14 +313,16 @@
gtk_box_pack_start(GTK_BOX(frame), label, FALSE, FALSE, 0);
/* create horz spin */
- spin = make_spin_button_with_label("Ho_rizontal Offset:", GF_PREF_APPEARANCE_PROT_X, sg);
- gtk_label_set_mnemonic_widget(GTK_LABEL(label), spin);
- gtk_box_pack_start(GTK_BOX(frame), spin, FALSE, FALSE, 0);
+ spin = make_spin_button(gaim_prefs_get_int(GF_PREF_APPEARANCE_PROT_X), 0, 255, TRUE);
+ g_signal_connect(G_OBJECT(spin), "changed", G_CALLBACK(spn_btn_cb), (gpointer)GF_PREF_APPEARANCE_PROT_X);
+ label = add_label(spin, "Ho_rizontal offset:", sg);
+ gtk_box_pack_start(GTK_BOX(frame), label, FALSE, FALSE, 0);
/* create vert spin */
- spin = make_spin_button_with_label("Ver_tical Offset:", GF_PREF_APPEARANCE_PROT_Y, sg);
- gtk_label_set_mnemonic_widget(GTK_LABEL(label), spin);
- gtk_box_pack_start(GTK_BOX(frame), spin, FALSE, FALSE, 0);
+ spin = make_spin_button(gaim_prefs_get_int(GF_PREF_APPEARANCE_PROT_Y), 0, 255, TRUE);
+ g_signal_connect(G_OBJECT(spin), "changed", G_CALLBACK(spn_btn_cb), (gpointer)GF_PREF_APPEARANCE_PROT_Y);
+ label = add_label(spin, "Ver_tical offset:", sg);
+ gtk_box_pack_start(GTK_BOX(frame), label, FALSE, FALSE, 0);
/*******************************************************************
Messages tab
@@ -371,16 +385,18 @@
frame = gaim_gtk_make_frame(vbox, "Release Notification");
/* create release notification check */
- chk_btn = make_check_button(GF_PREF_ADVANCED_RELEASE, "Check for new releases", sg);
+ chk_btn = make_check_button(gaim_prefs_get_bool(GF_PREF_ADVANCED_RELEASE), "Check for new releases", sg);
+ g_signal_connect(G_OBJECT(chk_btn), "clicked", G_CALLBACK(chk_box_cb), (gpointer)GF_PREF_ADVANCED_RELEASE);
gtk_box_pack_start(GTK_BOX(frame), chk_btn, FALSE, FALSE, 0);
/* create behavior frame */
frame = gaim_gtk_make_frame(vbox, "Behavior");
/* create sign on spin */
- spin = make_spin_button_with_label("_Sign on delay:", GF_PREF_ADVANCED_DELAY, sg);
- gtk_label_set_mnemonic_widget(GTK_LABEL(label), spin);
- gtk_box_pack_start(GTK_BOX(frame), spin, FALSE, FALSE, 0);
+ spin = make_spin_button(gaim_prefs_get_int(GF_PREF_ADVANCED_DELAY), 0, 30000, TRUE);
+ g_signal_connect(G_OBJECT(spin), "changed", G_CALLBACK(spn_btn_cb), (gpointer)GF_PREF_ADVANCED_DELAY);
+ label = add_label(spin, "_Sign on delay:", sg);
+ gtk_box_pack_start(GTK_BOX(frame), label, FALSE, FALSE, 0);
/* create sign on description */
label = make_label("milliseconds", NULL);
@@ -418,20 +434,6 @@
}
/**********************************************************************/
static GtkWidget *
-make_check_button(const gchar *pref, gchar *text, GtkSizeGroup *sg) {
- GtkWidget *chk_btn;
-
- chk_btn = gtk_check_button_new_with_mnemonic(text);
- gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(chk_btn), gaim_prefs_get_bool(pref));
- g_signal_connect(G_OBJECT(chk_btn), "clicked", G_CALLBACK(chk_box_cb), (gpointer)pref);
-
- if (sg)
- gtk_size_group_add_widget(sg, chk_btn);
-
- return chk_btn;
-}
-/**********************************************************************/
-static GtkWidget *
make_entry(const gchar *pref) {
GtkWidget *entry;
@@ -451,33 +453,6 @@
return ret;
}
-/**********************************************************************/
-static GtkWidget *
-make_spin_button_with_label(gchar *text, const gchar *pref, GtkSizeGroup *sg) {
- GtkWidget *label, *spin;
- GtkObject *adjustment;
- gdouble value = 0, max = 0, step = 0, page = 0;
-
- if (pref == GF_PREF_BEHAVIOR_TIMEOUT)
- max = 60;
- else if (pref == GF_PREF_ADVANCED_DELAY)
- max = 30000;
- else
- max = 255;
-
- value = gaim_prefs_get_int(pref);
- step = 1;
- page = 10;
-
- adjustment = gtk_adjustment_new(value, 0, max, step, page, 10);
-
- spin = gtk_spin_button_new(GTK_ADJUSTMENT(adjustment), 1, 0);
- gtk_spin_button_set_numeric(GTK_SPIN_BUTTON(spin), TRUE);
- g_signal_connect(G_OBJECT(spin), "changed", G_CALLBACK(spn_btn_cb), (gpointer)pref);
-
- label = add_label(spin, text, sg);
- return label;
-}
/***********************************************************************
Callbacks
***********************************************************************/
--- a/gf_gtkutils.c Sun Dec 28 20:52:48 2003 +0000
+++ b/gf_gtkutils.c Sun Dec 28 22:54:45 2003 +0000
@@ -214,10 +214,68 @@
return menu_item;
}
+
+static GtkWidget *
+make_event_menu_item(gf_event event) {
+ GtkWidget *menu_item, *hbox, *label = NULL;
+
+ menu_item = gtk_menu_item_new();
+
+ hbox = gtk_hbox_new(FALSE, 4);
+ gtk_container_add(GTK_CONTAINER(menu_item), hbox);
+
+ switch (event) {
+ case gf_event_signon: label = gtk_label_new("Sign On"); break;
+ case gf_event_signoff: label = gtk_label_new("Sign Off"); break;
+ case gf_event_away: label = gtk_label_new("Away"); break;
+ case gf_event_back: label = gtk_label_new("Back"); break;
+ case gf_event_idle: label = gtk_label_new("Idle"); break;
+ case gf_event_unidle: label = gtk_label_new("Unidle"); break;
+ case gf_event_custom: label = gtk_label_new("Custom"); break;
+ }
+
+ gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5);
+ gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0);
+
+ gtk_widget_show_all(menu_item);
+
+ return menu_item;
+}
/***********************************************************************
* export
**********************************************************************/
GtkWidget *
+make_hig_frame(GtkWidget *parent, const gchar *title) {
+ GtkWidget *label, *hbox, *vbox;
+ gchar *formatted;
+
+ vbox = gtk_vbox_new(FALSE, 6);
+ gtk_box_pack_start(GTK_BOX(parent), vbox, FALSE, FALSE, 0);
+
+ label = gtk_label_new(NULL);
+ formatted = g_strdup_printf("<span weight=\"bold\">%s</span>", title);
+ gtk_label_set_markup(GTK_LABEL(label), formatted);
+ g_free(formatted);
+ gtk_misc_set_alignment(GTK_MISC(label), 0, 0);
+ gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 0);
+
+ hbox = gtk_hbox_new(FALSE, 6);
+ gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0);
+
+ label = gtk_label_new(" ");
+ gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0);
+
+ gtk_widget_show_all(vbox);
+
+ vbox = gtk_vbox_new(FALSE, 6);
+ gtk_box_pack_start(GTK_BOX(hbox), vbox, FALSE, FALSE, 0);
+
+ gtk_widget_show(vbox);
+
+ return vbox;
+}
+
+GtkWidget *
make_label(gchar *text, GtkSizeGroup *sg) {
GtkWidget *label;
@@ -227,10 +285,41 @@
if (sg)
gtk_size_group_add_widget(sg, label);
+ gtk_widget_show(label);
+
return label;
}
GtkWidget *
+make_check_button(gboolean on, const gchar *text, GtkSizeGroup *sg) {
+ GtkWidget *check;
+
+ check = gtk_check_button_new_with_mnemonic(text);
+ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(check), on);
+
+ if (sg)
+ gtk_size_group_add_widget(sg, check);
+
+ gtk_widget_show(check);
+
+ return check;
+}
+
+GtkWidget *
+make_spin_button(gdouble value, gdouble min, gdouble max, gboolean numeric) {
+ GtkWidget *spin;
+ GtkObject *adj;
+
+ adj = gtk_adjustment_new(value, min, max, 1, 10, 10);
+ spin = gtk_spin_button_new(GTK_ADJUSTMENT(adj), 1, 0);
+
+ gtk_spin_button_set_numeric(GTK_SPIN_BUTTON(spin), numeric);
+ gtk_widget_show(spin);
+
+ return spin;
+}
+
+GtkWidget *
make_window_position_option_menu(gf_window_position position) {
GtkWidget *option_menu, *menu;
gint i;
@@ -345,6 +434,25 @@
}
GtkWidget *
+make_event_option_menu(gf_event event) {
+ GtkWidget *option_menu, *menu;
+ gint i;
+
+ option_menu = gtk_option_menu_new();
+ menu = gtk_menu_new();
+
+ for (i = 0; i < 7; i++)
+ gtk_menu_shell_append(GTK_MENU_SHELL(menu), make_event_menu_item(i));
+
+ gtk_widget_show_all(menu);
+ gtk_option_menu_set_menu(GTK_OPTION_MENU(option_menu), menu);
+ gtk_option_menu_set_history(GTK_OPTION_MENU(option_menu), event);
+ gtk_widget_show(option_menu);
+
+ return option_menu;
+}
+
+GtkWidget *
add_label(GtkWidget *widget, gchar *text, GtkSizeGroup *sg) {
GtkWidget *hbox, *label;
@@ -355,6 +463,7 @@
gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0);
gtk_box_pack_start(GTK_BOX(hbox), widget, FALSE, FALSE, 0);
+ gtk_widget_show_all(hbox);
return hbox;
}
--- a/gf_gtkutils.h Sun Dec 28 20:52:48 2003 +0000
+++ b/gf_gtkutils.h Sun Dec 28 22:54:45 2003 +0000
@@ -23,13 +23,18 @@
#include "gf_types.h"
+GtkWidget *make_hig_frame(GtkWidget *parent, const gchar *title);
GtkWidget *make_label(gchar *text, GtkSizeGroup *sg);
+GtkWidget *make_check_button(gboolean on, const gchar *text, GtkSizeGroup *sg);
+GtkWidget *make_spin_button(gdouble value, gdouble min, gdouble max, gboolean numeric);
GtkWidget *make_window_position_option_menu(gf_window_position position);
GtkWidget *make_window_zoom_option_menu(gf_window_zoom zoom);
GtkWidget *make_window_mouse_option_menu(gf_window_mouse mouse);
GtkWidget *make_item_position_option_menu(gf_item_position position);
GtkWidget *make_text_clipping_option_menu(gf_text_clipping clipping);
GtkWidget *make_icon_size_option_menu(gf_icon_size size);
+GtkWidget *make_event_option_menu(gf_event event);
+
GtkWidget *add_label(GtkWidget *widget, gchar *text, GtkSizeGroup *sg);
#endif
--- a/gf_theme_editor.c Sun Dec 28 20:52:48 2003 +0000
+++ b/gf_theme_editor.c Sun Dec 28 22:54:45 2003 +0000
@@ -68,10 +68,6 @@
static void update_modified(gboolean modified);
/* helpers */
-static GtkWidget *make_spin_button();
-static GtkWidget *make_frame(GtkWidget *parent, const gchar *title);
-static GtkWidget *make_preview_menu();
-static GtkWidget *make_check_button(const gchar *text, GtkSizeGroup *sg);
static GtkWidget *make_file_dialog(gchar *title, gboolean open, gboolean quit);
/* Callbacks */
@@ -172,11 +168,11 @@
gtk_box_pack_start(GTK_BOX(hbox), vbox, FALSE, FALSE, 4);
/* create preview frame */
- frame = make_frame(vbox, "Preview");
+ frame = make_hig_frame(vbox, "Preview");
gtk_container_set_border_width(GTK_CONTAINER(frame), 12);
/* create and pack preview option menu */
- preview_menu = make_preview_menu();
+ preview_menu = make_event_option_menu(gf_event_signon);
g_signal_connect(G_OBJECT(preview_menu), "changed", G_CALLBACK(preview_option_cb), NULL);
gtk_box_pack_start(GTK_BOX(frame), preview_menu, FALSE, FALSE, 0);
@@ -199,7 +195,7 @@
sg = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL);
/* create and pack frame */
- frame = make_frame(vbox, "Theme Information");
+ frame = make_hig_frame(vbox, "Theme Information");
/* create and pack name line */
theme_name = gtk_entry_new();
@@ -253,7 +249,7 @@
gtk_notebook_insert_page(GTK_NOTEBOOK(notebook), vbox, label, -1);
/* create and pack image frame */
- frame = make_frame(vbox, "Image");
+ frame = make_hig_frame(vbox, "Image");
hbox = gtk_hbox_new(FALSE, 4);
gtk_box_pack_start(GTK_BOX(frame), hbox, TRUE, TRUE, 0);
@@ -267,13 +263,13 @@
gtk_box_pack_start(GTK_BOX(hbox), basic_image_button, FALSE, FALSE, 0);
/* create and pack text frame */
- frame = make_frame(vbox, "Text");
+ frame = make_hig_frame(vbox, "Text");
/* create and pack font line */
hbox = gtk_hbox_new(FALSE, 4);
gtk_box_pack_start(GTK_BOX(frame), hbox, FALSE, FALSE, 0);
- basic_text_font_check = make_check_button("Use custom fon_t", sg);
+ basic_text_font_check = make_check_button(FALSE, "Use custom fon_t", sg);
g_signal_connect(G_OBJECT(basic_text_font_check), "clicked", G_CALLBACK(check_button_cb), &theme.data.basic.text_custom_font);
gtk_box_pack_start(GTK_BOX(hbox), basic_text_font_check, FALSE, FALSE, 0);
@@ -285,7 +281,7 @@
hbox = gtk_hbox_new(FALSE, 4);
gtk_box_pack_start(GTK_BOX(frame), hbox, FALSE, FALSE, 0);
- basic_text_color_check = make_check_button("Use custom co_lor", sg);
+ basic_text_color_check = make_check_button(FALSE, "Use custom co_lor", sg);
g_signal_connect(G_OBJECT(basic_text_color_check), "clicked", G_CALLBACK(check_button_cb), &theme.data.basic.text_custom_color);
gtk_box_pack_start(GTK_BOX(hbox), basic_text_color_check, FALSE, FALSE, 0);
@@ -308,21 +304,21 @@
gtk_box_pack_start(GTK_BOX(frame), label, FALSE, FALSE, 0);
/* create and pack horizontal offset line */
- basic_text_horz_offset = make_spin_button();
+ basic_text_horz_offset = make_spin_button(0, 0, 255, TRUE);
g_signal_connect(G_OBJECT(basic_text_horz_offset), "changed", G_CALLBACK(spin_button_cb), &theme.data.basic.text_horz_offset);
label = add_label(basic_text_horz_offset, "_Horizontal offset:", sg);
gtk_box_pack_start(GTK_BOX(frame), label, FALSE, FALSE, 0);
/* create and pack vertical offset line */
- basic_text_vert_offset = make_spin_button();
+ basic_text_vert_offset = make_spin_button(0, 0, 255, TRUE);
g_signal_connect(G_OBJECT(basic_text_vert_offset), "changed", G_CALLBACK(spin_button_cb), &theme.data.basic.text_vert_offset);
label = add_label(basic_text_vert_offset, "_Vertical offset:", sg);
gtk_box_pack_start(GTK_BOX(frame), label, FALSE, FALSE, 0);
/* create and pack protocol frame */
- frame = make_frame(vbox, "Protocol Icon");
+ frame = make_hig_frame(vbox, "Protocol Icon");
/* create and pack protocol position line */
basic_proto_pos_menu = make_item_position_option_menu(item_position_sw);
@@ -339,14 +335,14 @@
gtk_box_pack_start(GTK_BOX(frame), label, FALSE, FALSE, 0);
/* create and pack protocol horizontal offset line */
- basic_proto_horz_offset = make_spin_button();
+ basic_proto_horz_offset = make_spin_button(0, 0, 255, TRUE);
g_signal_connect(G_OBJECT(basic_proto_horz_offset), "changed", G_CALLBACK(spin_button_cb), &theme.data.basic.proto_horz_offset);
label = add_label(basic_proto_horz_offset, "Ho_rizontal offset:", sg);
gtk_box_pack_start(GTK_BOX(frame), label, FALSE, FALSE, 0);
/* create and pack protocol vertical offset line */
- basic_proto_vert_offset = make_spin_button();
+ basic_proto_vert_offset = make_spin_button(0, 0, 255, TRUE);
g_signal_connect(G_OBJECT(basic_proto_vert_offset), "changed", G_CALLBACK(spin_button_cb), &theme.data.basic.proto_vert_offset);
label = add_label(basic_proto_vert_offset, "Ver_tical offset:", sg);
@@ -369,7 +365,7 @@
gtk_notebook_insert_page(GTK_NOTEBOOK(notebook), vbox, label, -1);
/* create and pack frame */
- frame = make_frame(vbox, "Status Messages");
+ frame = make_hig_frame(vbox, "Status Messages");
/* create and pack sign on line */
basic_message_signon = gtk_entry_new();
@@ -444,99 +440,6 @@
grim_dir_tree_view_set_path(GRIM_DIR_TREE_VIEW(dir_tree_view), g_get_home_dir());
}
/**********************************************************************/
-static GtkWidget *
-make_frame(GtkWidget *parent, const gchar *title) {
- GtkWidget *vbox, *hbox, *label;
- gchar *fmt_title;
-
- fmt_title = g_strdup_printf("<span weight=\"bold\">%s</span>", title);
-
- vbox = gtk_vbox_new(FALSE, 6);
- gtk_box_pack_start(GTK_BOX(parent), vbox, FALSE, FALSE, 0);
- gtk_widget_show(vbox);
-
- label = gtk_label_new(NULL);
- gtk_label_set_markup(GTK_LABEL(label), fmt_title);
- g_free(fmt_title);
- gtk_misc_set_alignment(GTK_MISC(label), 0, 0);
- gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 0);
- gtk_widget_show(label);
-
- hbox = gtk_hbox_new(FALSE, 6);
- gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0);
- gtk_widget_show(hbox);
-
- label = gtk_label_new(" ");
- gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0);
- gtk_widget_show(label);
-
- vbox = gtk_vbox_new(FALSE, 6);
- gtk_box_pack_start(GTK_BOX(hbox), vbox, FALSE, FALSE, 0);
- gtk_widget_show(vbox);
-
- return vbox;
-}
-/**********************************************************************/
-static GtkWidget *
-make_preview_menu() {
- GtkWidget *option_menu, *menu, *item;
-
- menu = gtk_menu_new();
-
- item = gtk_menu_item_new_with_label("Custom");
- gtk_menu_shell_append(GTK_MENU_SHELL(menu), item);
-
- item = gtk_menu_item_new_with_label("Sign On");
- gtk_menu_shell_append(GTK_MENU_SHELL(menu), item);
-
- item = gtk_menu_item_new_with_label("Sign Off");
- gtk_menu_shell_append(GTK_MENU_SHELL(menu), item);
-
- item = gtk_menu_item_new_with_label("Away");
- gtk_menu_shell_append(GTK_MENU_SHELL(menu), item);
-
- item = gtk_menu_item_new_with_label("Back");
- gtk_menu_shell_append(GTK_MENU_SHELL(menu), item);
-
- item = gtk_menu_item_new_with_label("Idle");
- gtk_menu_shell_append(GTK_MENU_SHELL(menu), item);
-
- item = gtk_menu_item_new_with_label("Unidle");
- gtk_menu_shell_append(GTK_MENU_SHELL(menu), item);
-
- gtk_widget_show_all(menu);
-
- option_menu = gtk_option_menu_new();
- gtk_option_menu_set_menu(GTK_OPTION_MENU(option_menu), menu);
-
- return option_menu;
-}
-/**********************************************************************/
-static GtkWidget *
-make_check_button(const gchar *text, GtkSizeGroup *sg) {
- GtkWidget *check;
-
- check = gtk_check_button_new_with_mnemonic(text);
-
- if (sg)
- gtk_size_group_add_widget(sg, check);
-
- return check;
-}
-/**********************************************************************/
-static GtkWidget *
-make_spin_button() {
- GtkWidget *spin;
- GtkObject *adj;
-
- adj = gtk_adjustment_new(0, 0, 255, 1, 10, 10);
-
- spin = gtk_spin_button_new(GTK_ADJUSTMENT(adj), 1, 0);
- gtk_spin_button_set_numeric(GTK_SPIN_BUTTON(spin), TRUE);
-
- return spin;
-}
-/**********************************************************************/
static void
clear_theme() {
gint i;
--- a/gf_types.h Sun Dec 28 20:52:48 2003 +0000
+++ b/gf_types.h Sun Dec 28 22:54:45 2003 +0000
@@ -19,14 +19,15 @@
#ifndef GF_TYPES_H
#define GF_TYPES_H
-typedef enum _gf_guification_event {
- event_signon = 0,
- event_signoff,
- event_away,
- event_back,
- event_idle,
- event_unidle
-} gf_guification_event;
+typedef enum _gf_event {
+ gf_event_signon = 0,
+ gf_event_signoff,
+ gf_event_away,
+ gf_event_back,
+ gf_event_idle,
+ gf_event_unidle,
+ gf_event_custom
+} gf_event;
typedef enum _gf_window_position {
window_position_nw = 0,
--- a/guifications.c Sun Dec 28 20:52:48 2003 +0000
+++ b/guifications.c Sun Dec 28 22:54:45 2003 +0000
@@ -62,7 +62,7 @@
static void gf_account(GaimAccount *account, void *data);
static gint gf_rem_account(gpointer account);
-static void gf_event(GaimBuddy *buddy, gpointer data);
+static void gf_event_cb(GaimBuddy *buddy, gpointer data);
static void make_gf_window();
static gint rem_guification(gpointer pguification);
static void destroy_guification(GtkWidget *guification);
@@ -126,12 +126,12 @@
gaim_signal_connect(gaim_accounts_get_handle(), "account-connecting", plugin, GAIM_CALLBACK(gf_account), NULL);
gaim_signal_connect(gaim_connections_get_handle(), "signed-on", plugin, GAIM_CALLBACK(gf_signed_on), NULL);
- gaim_signal_connect(blist, "buddy-signed-on", plugin, GAIM_CALLBACK(gf_event), (gpointer)event_signon);
- gaim_signal_connect(blist, "buddy-signed-off", plugin, GAIM_CALLBACK(gf_event), (gpointer)event_signoff);
- gaim_signal_connect(blist, "buddy-away", plugin, GAIM_CALLBACK(gf_event), (gpointer)event_away);
- gaim_signal_connect(blist, "buddy-back", plugin, GAIM_CALLBACK(gf_event), (gpointer)event_back);
- gaim_signal_connect(blist, "buddy-idle", plugin, GAIM_CALLBACK(gf_event), (gpointer)event_idle);
- gaim_signal_connect(blist, "buddy-unidle", plugin, GAIM_CALLBACK(gf_event), (gpointer)event_unidle);
+ gaim_signal_connect(blist, "buddy-signed-on", plugin, GAIM_CALLBACK(gf_event_cb), (gpointer)gf_event_signon);
+ gaim_signal_connect(blist, "buddy-signed-off", plugin, GAIM_CALLBACK(gf_event_cb), (gpointer)gf_event_signoff);
+ gaim_signal_connect(blist, "buddy-away", plugin, GAIM_CALLBACK(gf_event_cb), (gpointer)gf_event_away);
+ gaim_signal_connect(blist, "buddy-back", plugin, GAIM_CALLBACK(gf_event_cb), (gpointer)gf_event_back);
+ gaim_signal_connect(blist, "buddy-idle", plugin, GAIM_CALLBACK(gf_event_cb), (gpointer)gf_event_idle);
+ gaim_signal_connect(blist, "buddy-unidle", plugin, GAIM_CALLBACK(gf_event_cb), (gpointer)gf_event_unidle);
if (gaim_connections_get_all())
gf_release_check();
@@ -147,8 +147,8 @@
}
/**********************************************************************/
static void
-gf_event(GaimBuddy *buddy, gpointer data) {
- gf_guification_event gf_new_event = (gf_guification_event)data;
+gf_event_cb(GaimBuddy *buddy, gpointer data) {
+ gf_event gf_new_event = (gf_event)data;
GtkWidget *new_guification, *new_guification_box;
GdkPixbuf *pb_guification;
GdkPixmap *pm_guification;
@@ -165,30 +165,32 @@
return;
switch (gf_new_event) {
- case event_signon:
+ case gf_event_signon:
if (!gaim_prefs_get_bool(GF_PREF_BEHAVIOR_SHOW_SIGN_ON))
return;
break;
- case event_signoff:
+ case gf_event_signoff:
if (!gaim_prefs_get_bool(GF_PREF_BEHAVIOR_SHOW_SIGN_OFF))
return;
break;
- case event_away:
+ case gf_event_away:
if (!gaim_prefs_get_bool(GF_PREF_BEHAVIOR_SHOW_AWAY))
return;
break;
- case event_back:
+ case gf_event_back:
if (!gaim_prefs_get_bool(GF_PREF_BEHAVIOR_SHOW_BACK))
return;
break;
- case event_idle:
+ case gf_event_idle:
if (!gaim_prefs_get_bool(GF_PREF_BEHAVIOR_SHOW_IDLE))
return;
break;
- case event_unidle:
+ case gf_event_unidle:
if (!gaim_prefs_get_bool(GF_PREF_BEHAVIOR_SHOW_UNIDLE))
return;
break;
+ case gf_event_custom:
+ return;
}
if (gf_window == NULL)
@@ -306,7 +308,7 @@
}
/**********************************************************************/
GdkPixmap *
-make_guification(GaimBuddy *buddy, gf_guification_event event) {
+make_guification(GaimBuddy *buddy, gf_event event) {
GdkPixbuf *background = NULL, *protocol = NULL;
GdkPixmap *memmap;
PangoContext *context;
@@ -355,12 +357,12 @@
}
switch (event) {
- case event_signon: message = g_strdup(gaim_prefs_get_string(GF_PREF_MESSAGES_SIGN_ON)); break;
- case event_signoff: message = g_strdup(gaim_prefs_get_string(GF_PREF_MESSAGES_SIGN_OFF)); break;
- case event_away: message = g_strdup(gaim_prefs_get_string(GF_PREF_MESSAGES_AWAY)); break;
- case event_back: message = g_strdup(gaim_prefs_get_string(GF_PREF_MESSAGES_BACK)); break;
- case event_idle: message = g_strdup(gaim_prefs_get_string(GF_PREF_MESSAGES_IDLE)); break;
- case event_unidle: message = g_strdup(gaim_prefs_get_string(GF_PREF_MESSAGES_UNIDLE)); break;
+ case gf_event_signon: message = g_strdup(gaim_prefs_get_string(GF_PREF_MESSAGES_SIGN_ON)); break;
+ case gf_event_signoff: message = g_strdup(gaim_prefs_get_string(GF_PREF_MESSAGES_SIGN_OFF)); break;
+ case gf_event_away: message = g_strdup(gaim_prefs_get_string(GF_PREF_MESSAGES_AWAY)); break;
+ case gf_event_back: message = g_strdup(gaim_prefs_get_string(GF_PREF_MESSAGES_BACK)); break;
+ case gf_event_idle: message = g_strdup(gaim_prefs_get_string(GF_PREF_MESSAGES_IDLE)); break;
+ case gf_event_unidle: message = g_strdup(gaim_prefs_get_string(GF_PREF_MESSAGES_UNIDLE)); break;
}
pango_layout_set_text(layout_name, name, -1);
--- a/guifications.h Sun Dec 28 20:52:48 2003 +0000
+++ b/guifications.h Sun Dec 28 22:54:45 2003 +0000
@@ -39,6 +39,6 @@
Prototypes
***********************************************************************/
void gf_destroy_all();
-GdkPixmap *make_guification(GaimBuddy *buddy, gf_guification_event event);
+GdkPixmap *make_guification(GaimBuddy *buddy, gf_event event);
/**********************************************************************/
#endif