Mercurial > pidgin
changeset 5539:de09863bd4b5
[gaim-migrate @ 5939]
Split Show URLs as Links into Show URLs as Links and Send URLs as Links,
and converted them to the new prefs system.
Also, added a function in gtkprefs.c called prefs_checkbox(), which works
with the new prefs.
committer: Tailor Script <tailor@pidgin.im>
author | Christian Hammond <chipx86@chipx86.com> |
---|---|
date | Tue, 27 May 2003 20:10:21 +0000 |
parents | f7dc3f656f03 |
children | cfa4159e5cde |
files | src/conversation.c src/gtkprefs.c src/prefs.c src/server.c |
diffstat | 4 files changed, 56 insertions(+), 8 deletions(-) [+] |
line wrap: on
line diff
--- a/src/conversation.c Tue May 27 08:09:10 2003 +0000 +++ b/src/conversation.c Tue May 27 20:10:21 2003 +0000 @@ -32,6 +32,7 @@ #include "gaim.h" #include "prpl.h" #include "notify.h" +#include "prefs.h" #ifdef _WIN32 #include "win32dep.h" @@ -213,8 +214,11 @@ buf2 = g_malloc(limit); - if (gc->flags & OPT_CONN_HTML && convo_options & OPT_CONVO_SEND_LINKS) - buffy =linkify_text(buf); + if ((gc->flags & OPT_CONN_HTML) && + gaim_prefs_get_bool("/core/conversations/send_urls_as_links")) { + + buffy = linkify_text(buf); + } else buffy = g_strdup(buf);
--- a/src/gtkprefs.c Tue May 27 08:09:10 2003 +0000 +++ b/src/gtkprefs.c Tue May 27 20:10:21 2003 +0000 @@ -68,7 +68,7 @@ static GtkWidget *away_text = NULL; static GtkListStore *smiley_theme_store = NULL; GtkWidget *prefs_proxy_frame = NULL; -GtkWidget *gaim_button(const char *, guint *, int, GtkWidget *); +static GtkWidget *gaim_button(const char *, guint *, int, GtkWidget *); GtkWidget *gaim_labeled_spin_button(GtkWidget *, const gchar *, int*, int, int, GtkSizeGroup *); static GtkWidget *gaim_dropdown(GtkWidget *, const gchar *, int *, int, ...); static GtkWidget *gaim_dropdown_from_list(GtkWidget *, const gchar *, int *, int, GList *); @@ -461,6 +461,33 @@ g_object_unref(style); } +static void +set_bool_pref(GtkWidget *w, const char *key) +{ + gaim_prefs_set_bool(key, + gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(w))); +} + +static GtkWidget * +pref_checkbox(const char *text, char *key, GtkWidget *page) +{ + GtkWidget *button; + + button = gtk_check_button_new_with_mnemonic(text); + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), + gaim_prefs_get_bool(key)); + + gtk_box_pack_start(GTK_BOX(page), button, FALSE, FALSE, 0); + + g_signal_connect(G_OBJECT(button), "clicked", + G_CALLBACK(set_bool_pref), key); + + gtk_widget_show(button); + + return button; +} + + GtkWidget *font_page() { GtkWidget *ret; GtkWidget *button; @@ -553,7 +580,9 @@ vbox = gaim_gtk_make_frame (ret, _("Display")); gaim_button(_("Show graphical _smileys"), &convo_options, OPT_CONVO_SHOW_SMILEY, vbox); gaim_button(_("Show _timestamp on messages"), &convo_options, OPT_CONVO_SHOW_TIME, vbox); - gaim_button(_("Show _URLs as links"), &convo_options, OPT_CONVO_SEND_LINKS, vbox); + pref_checkbox(_("Show _URLs as links"), + "/gaim/gtk/conversations/show_urls_as_links", vbox); + #ifdef USE_GTKSPELL gaim_button(_("_Highlight misspelled words"), &convo_options, OPT_CONVO_CHECK_SPELLING, vbox); #endif @@ -674,8 +703,10 @@ gtk_misc_set_alignment(GTK_MISC(label), 0, 0); gtk_size_group_add_widget(sg, label); - gaim_button(_("Show IMs and chats in _same tabbed window."), + gaim_button(_("Show IMs and chats in _same tabbed window"), &convo_options, OPT_CONVO_COMBINE, vbox); + pref_checkbox(_("Send _URLs as Links"), + "/core/conversations/send_urls_as_links", vbox); gtk_widget_show_all(ret); @@ -2099,7 +2130,7 @@ toggle_away_queue(); } -GtkWidget *gaim_button(const char *text, guint *options, int option, GtkWidget *page) +static GtkWidget *gaim_button(const char *text, guint *options, int option, GtkWidget *page) { GtkWidget *button; button = gtk_check_button_new_with_mnemonic(text); @@ -2497,5 +2528,13 @@ gaim_prefs_add_bool("/gaim/gtk/debug/enabled", FALSE); gaim_prefs_add_int("/gaim/gtk/debug/width", 400); gaim_prefs_add_int("/gaim/gtk/debug/height", 150); + + /* Conversations */ + gaim_prefs_add_none("/gaim/gtk/conversations"); + gaim_prefs_add_bool("/gaim/gtk/conversations/show_urls_as_links", TRUE); + + /* Smiley Themes */ + gaim_prefs_add_none("/gaim/gtk/smilies"); + gaim_prefs_add_string("/gaim/gtk/smilies/theme", ""); }
--- a/src/prefs.c Tue May 27 08:09:10 2003 +0000 +++ b/src/prefs.c Tue May 27 20:10:21 2003 +0000 @@ -97,6 +97,8 @@ gaim_prefs_add_none("/core"); /* XXX: this is where you would want to put prefs declarations */ + gaim_prefs_add_none("/core/conversations"); + gaim_prefs_add_bool("/core/conversations/send_urls_as_links", TRUE); } static char *pref_full_name(struct gaim_pref *pref) {
--- a/src/server.c Tue May 27 08:09:10 2003 +0000 +++ b/src/server.c Tue May 27 20:10:21 2003 +0000 @@ -38,6 +38,7 @@ #include "sound.h" #include "pounce.h" #include "notify.h" +#include "prefs.h" void serv_login(struct gaim_account *account) { @@ -813,7 +814,9 @@ * If you can't figure this out, stop reading right now. * "We're not worthy! We're not worthy!" */ - if ((len < 0) && (convo_options & OPT_CONVO_SEND_LINKS)) { + if (len < 0 && + gaim_prefs_get_bool("/gaim/gtk/conversations/show_urls_as_links")) { + buffy = linkify_text(message); g_free(message); message = buffy; @@ -1369,7 +1372,7 @@ - if (convo_options & OPT_CONVO_SEND_LINKS) + if (gaim_prefs_get_bool("/gaim/gtk/conversations/urls_as_links")) buf = linkify_text(message); else buf = g_strdup(message);