2005-08-31 [paul] 1.9.13cvs74
authorPaul Mangan <paul@claws-mail.org>
Wed, 31 Aug 2005 10:15:44 +0000 (10:15 +0000)
committerPaul Mangan <paul@claws-mail.org>
Wed, 31 Aug 2005 10:15:44 +0000 (10:15 +0000)
* src/compose.c
* src/folderview.c
* src/headerview.c
* src/headerview.h
* src/mainwindow.c
* src/prefs_common.c
* src/prefs_common.h
* src/prefs_fonts.c
* src/summaryview.c
* src/textview.c
* src/common/defs.h
remove obsolete BOLD_FONT setting
fix font update in headerview and textview
headers after prefs change
Patch By Colin

14 files changed:
ChangeLog-gtk2.claws
PATCHSETS
configure.ac
src/common/defs.h
src/compose.c
src/folderview.c
src/headerview.c
src/headerview.h
src/mainwindow.c
src/prefs_common.c
src/prefs_common.h
src/prefs_fonts.c
src/summaryview.c
src/textview.c

index b5644cc81492133103d925829f3c7145ee3ab539..9c7d3da71ce221b72ff20097d5d123c00d296df1 100644 (file)
@@ -1,3 +1,21 @@
+2005-08-31 [paul]      1.9.13cvs74
+
+       * src/compose.c
+       * src/folderview.c
+       * src/headerview.c
+       * src/headerview.h
+       * src/mainwindow.c
+       * src/prefs_common.c
+       * src/prefs_common.h
+       * src/prefs_fonts.c
+       * src/summaryview.c
+       * src/textview.c
+       * src/common/defs.h
+               remove obsolete BOLD_FONT setting
+               fix font update in headerview and textview
+               headers after prefs change
+               Patch By Colin
+
 2005-08-31 [paul]
 
        1.9.14-rc4 released
index 6e6298757116b77b39fc9382ca19839991f8a332..5bf02fdefcd445b170d048d5758ec091d2be4441 100644 (file)
--- a/PATCHSETS
+++ b/PATCHSETS
 ( cvs diff -u -r 1.100.2.23 -r 1.100.2.24 AUTHORS;  cvs diff -u -r 1.25.2.9 -r 1.25.2.10 src/matcher_parser_parse.y;  cvs diff -u -r 1.1.4.18 -r 1.1.4.19 src/etpan/imap-thread.c;  ) > 1.9.13cvs71.patchset
 ( cvs diff -u -r 1.207.2.58 -r 1.207.2.59 src/folderview.c;  cvs diff -u -r 1.274.2.56 -r 1.274.2.57 src/mainwindow.c;  cvs diff -u -r 1.83.2.37 -r 1.83.2.38 src/mimeview.c;  cvs diff -u -r 1.2.2.14 -r 1.2.2.15 src/gtk/filesel.c;  cvs diff -u -r 1.1.4.4 -r 1.1.4.5 src/gtk/filesel.h;  ) > 1.9.13cvs72.patchset
 ( cvs diff -u -r 1.395.2.117 -r 1.395.2.118 src/summaryview.c;  ) > 1.9.13cvs73.patchset
+( cvs diff -u -r 1.382.2.157 -r 1.382.2.158 src/compose.c;  cvs diff -u -r 1.207.2.59 -r 1.207.2.60 src/folderview.c;  cvs diff -u -r 1.8.2.8 -r 1.8.2.9 src/headerview.c;  cvs diff -u -r 1.2 -r 1.3 src/headerview.h;  cvs diff -u -r 1.274.2.57 -r 1.274.2.58 src/mainwindow.c;  cvs diff -u -r 1.204.2.55 -r 1.204.2.56 src/prefs_common.c;  cvs diff -u -r 1.103.2.27 -r 1.103.2.28 src/prefs_common.h;  cvs diff -u -r 1.4.2.11 -r 1.4.2.12 src/prefs_fonts.c;  cvs diff -u -r 1.395.2.118 -r 1.395.2.119 src/summaryview.c;  cvs diff -u -r 1.96.2.72 -r 1.96.2.73 src/textview.c;  cvs diff -u -r 1.9.2.15 -r 1.9.2.16 src/common/defs.h;  ) > 1.9.13cvs74.patchset
index c679ae4566865e204bf1d0a2afeceefb3505ab13..6b2b8937d45fe2c0952c38a2ba4aa7c199b446a8 100644 (file)
@@ -11,7 +11,7 @@ MINOR_VERSION=9
 MICRO_VERSION=13
 INTERFACE_AGE=0
 BINARY_AGE=0
-EXTRA_VERSION=73
+EXTRA_VERSION=74
 EXTRA_RELEASE=
 EXTRA_GTK2_VERSION=
 
index a95d0229a64d19044bf40f3229268fd01c5db8a8..081667789026829ff4026c741921da5e743f9200 100644 (file)
 #define MAX_HISTORY_SIZE               16
 
 #define NORMAL_FONT prefs_common.normalfont
-#define BOLD_FONT   prefs_common.boldfont
 #define SMALL_FONT     prefs_common.smallfont
 
 #define DEFAULT_PIXMAP_THEME   "INTERNAL_DEFAULT"
index fef63274a3adc161b6fe6d876fff19e0b8b83c96..a6cabec0116e452d7791a64533c14751e81029cb 100644 (file)
@@ -1710,15 +1710,8 @@ void compose_entry_mark_default_to(Compose *compose, const gchar *mailto)
                                        (prefs_common.color_new, &bold_color);
                                bold_style = gtk_style_copy(gtk_widget_get_style
                                        (GTK_WIDGET(entry)));
-                               if (BOLD_FONT)
-                                       font_desc = pango_font_description_from_string
-                                                       (BOLD_FONT);
-                               if (font_desc) {
-                                       if (bold_style->font_desc)
-                                               pango_font_description_free
-                                                       (bold_style->font_desc);
-                                       bold_style->font_desc = font_desc;
-                               }
+                               pango_font_description_set_weight
+                                       (bold_style->font_desc, PANGO_WEIGHT_BOLD);
                                bold_style->fg[GTK_STATE_NORMAL] = bold_color;
                        }
                        gtk_widget_set_style(GTK_WIDGET(entry), bold_style);
index a7e715be3e07f84734a836d49fceefa475e39d49..36d436b409f41d99861f83a160e6c8310be1433b 100644 (file)
@@ -641,13 +641,6 @@ void folderview_init(FolderView *folderview)
        if (!bold_style) {
                PangoFontDescription *font_desc;
                bold_style = gtk_style_copy(gtk_widget_get_style(ctree));
-               font_desc = pango_font_description_from_string(BOLD_FONT);
-               if (font_desc) {
-                       if (bold_style->font_desc)
-                               pango_font_description_free
-                                       (bold_style->font_desc);
-                       bold_style->font_desc = font_desc;
-               }
                pango_font_description_set_weight
                        (bold_style->font_desc, PANGO_WEIGHT_BOLD);
                bold_color_style = gtk_style_copy(bold_style);
index 51b3d05a013635a4d92619ca17c2870bea9b6750..5b61cd989ba42ef51744bc2abb5cc8f8fba9d922 100644 (file)
@@ -147,12 +147,14 @@ HeaderView *headerview_create(void)
        return headerview;
 }
 
-void headerview_init(HeaderView *headerview)
+void headerview_set_font(HeaderView *headerview)
 {
-       static PangoFontDescription *boldfont = NULL;
-
+       PangoFontDescription *boldfont = NULL;
+       PangoFontDescription *normalfont = NULL;
+       
        if (!boldfont) {
-               boldfont = pango_font_description_from_string(BOLD_FONT);
+               normalfont = pango_font_description_from_string(NORMAL_FONT);
+               boldfont = pango_font_description_from_string(NORMAL_FONT);
                pango_font_description_set_weight(boldfont, PANGO_WEIGHT_BOLD);
        }
 
@@ -161,8 +163,19 @@ void headerview_init(HeaderView *headerview)
                gtk_widget_modify_font(headerview->to_header_label, boldfont);
                gtk_widget_modify_font(headerview->ng_header_label, boldfont);
                gtk_widget_modify_font(headerview->subject_header_label, boldfont);
+               pango_font_description_free(boldfont);
+
+               gtk_widget_modify_font(headerview->from_body_label, normalfont);
+               gtk_widget_modify_font(headerview->to_body_label, normalfont);
+               gtk_widget_modify_font(headerview->ng_body_label, normalfont);
+               gtk_widget_modify_font(headerview->subject_body_label, normalfont);
+               pango_font_description_free(normalfont);
        }
+}
 
+void headerview_init(HeaderView *headerview)
+{
+       headerview_set_font(headerview);
        headerview_clear(headerview);
        headerview_set_visibility(headerview, prefs_common.display_header_pane);
 
index 7b4d6894ce06ff5225da428aeb170a939b300223..52d1aa1432e37c823fa13141df1bf7520d26baf9 100644 (file)
@@ -51,5 +51,5 @@ void headerview_clear         (HeaderView     *headerview);
 void headerview_set_visibility (HeaderView     *headerview,
                                 gboolean        visibility);
 void headerview_destroy                (HeaderView     *headerview);
-
+void headerview_set_font       (HeaderView     *headerview);
 #endif /* __HEADERVIEW_H__ */
index aa9b27bee20304168bb306972eeb2d1021e4e3e5..06c5981a2107e0144cc64b5f345a5c909e03d845 100644 (file)
@@ -1258,9 +1258,9 @@ static gboolean reflect_prefs_timeout_cb(gpointer data)
                        mainwin->offline_pixmap = pixmap;
                }
                
+               headerview_set_font(mainwin->messageview->headerview);
                headerview_set_visibility(mainwin->messageview->headerview,
                                          prefs_common.display_header_pane);
-
                textview_reflect_prefs(mainwin->messageview->mimeview->textview);
                folderview_reflect_prefs();
                summary_reflect_prefs();
index bb2e1acb0651807b6ecfd380a34a2f85f088b707..8e8fe8267cc39c797c16ad328ee6e8b0b2c5ce5d 100644 (file)
@@ -218,8 +218,6 @@ static PrefParam param[] = {
        {"small_font_gtk2",     "Sans 9",
          &prefs_common.smallfont,              P_STRING, NULL, NULL, NULL},
        {"bold_font_gtk2",      "Sans Bold 9",
-         &prefs_common.boldfont,               P_STRING, NULL, NULL, NULL},
-       {"normal_font_gtk2",    "Sans 9", 
          &prefs_common.normalfont,             P_STRING, NULL, NULL, NULL},
 
        /* image viewer */
index cee122fdf95d4271777fe4f435402c51eaecff89..de4910fb07890705d915ff217158f6306f6123c7 100644 (file)
@@ -141,7 +141,6 @@ struct _PrefsCommon
        gchar *widgetfont;
        gchar *textfont;
        gchar *normalfont;
-       gchar *boldfont;
        gchar *smallfont;
        gchar *titlefont;
 
index cd911ad2922485754dfbd3b97842612fefc78464..8875f7347a9c9e7b422dd98798f041203af298e7 100644 (file)
@@ -44,7 +44,6 @@ typedef struct _FontsPage
 
        GtkWidget *entry_folderviewfont;
        GtkWidget *entry_messageviewfont;
-       GtkWidget *entry_boldfont;
 } FontsPage;
 
 void prefs_fonts_create_widget(PrefsPage *_page, GtkWindow *window, 
@@ -55,7 +54,6 @@ void prefs_fonts_create_widget(PrefsPage *_page, GtkWindow *window,
        GtkWidget *table;
        GtkWidget *entry_folderviewfont;
        GtkWidget *entry_messageviewfont;
-       GtkWidget *entry_boldfont;
        GtkWidget *tmplabel;
        GtkWidget *vbox;
 
@@ -99,23 +97,6 @@ void prefs_fonts_create_widget(PrefsPage *_page, GtkWindow *window,
                         (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
                         (GtkAttachOptions) (0), 0, 0);
 
-       tmplabel = gtk_label_new (_("Bold"));
-       gtk_widget_show (tmplabel);
-       gtk_table_attach (GTK_TABLE (table), tmplabel, 0, 1, 3, 4,
-                        (GtkAttachOptions) GTK_FILL,
-                        (GtkAttachOptions) (0), 0, 0);
-       gtk_label_set_justify(GTK_LABEL(tmplabel), GTK_JUSTIFY_RIGHT);
-       gtk_misc_set_alignment(GTK_MISC(tmplabel), 1, 0.5);
-
-       entry_boldfont = gtk_font_button_new_with_font (prefs_common.boldfont);
-       g_object_set(G_OBJECT(entry_boldfont), 
-                             "use-font", TRUE, 
-                             NULL);
-       gtk_widget_show (entry_boldfont);
-       gtk_table_attach (GTK_TABLE (table), entry_boldfont, 1, 2, 3, 4,
-                        (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
-                        (GtkAttachOptions) (0), 0, 0);
-
        vbox = gtk_vbox_new(FALSE, VSPACING_NARROW);
        gtk_widget_show(vbox);
        gtk_table_attach (GTK_TABLE (table), vbox, 0, 4, 4, 5,
@@ -125,7 +106,6 @@ void prefs_fonts_create_widget(PrefsPage *_page, GtkWindow *window,
        prefs_fonts->window                = GTK_WIDGET(window);
        prefs_fonts->entry_folderviewfont  = entry_folderviewfont;
        prefs_fonts->entry_messageviewfont = entry_messageviewfont;
-       prefs_fonts->entry_boldfont        = entry_boldfont;
 
        prefs_fonts->page.widget = table;
 }
@@ -146,10 +126,6 @@ void prefs_fonts_save(PrefsPage *_page)
        prefs_common.textfont   = g_strdup(gtk_font_button_get_font_name
                (GTK_FONT_BUTTON(fonts->entry_messageviewfont)));
 
-       g_free(prefs_common.boldfont);
-       prefs_common.boldfont   = g_strdup(gtk_font_button_get_font_name
-               (GTK_FONT_BUTTON(fonts->entry_boldfont)));
-               
        main_window_reflect_prefs_all();
 }
 
index 16db4655c0ffe075e806c18f92b9ad7288b856fa..4f4784e6970116a21265205597f2e99a4044d431 100644 (file)
@@ -645,7 +645,7 @@ static void summary_set_fonts(SummaryView *summaryview)
        if (!bold_style) {
                bold_style = gtk_style_copy
                        (gtk_widget_get_style(summaryview->ctree));
-               font_desc = pango_font_description_from_string(BOLD_FONT);
+               font_desc = pango_font_description_from_string(NORMAL_FONT);
                if (font_desc) {
                        pango_font_description_free(bold_style->font_desc);
                        bold_style->font_desc = font_desc;
index 95935bfc940495a5297e8570e75d4f2b0811b4bf..eea34c3bd02b889e40e908ca75e0a324fa17484d 100644 (file)
@@ -339,7 +339,7 @@ static void textview_create_tags(GtkTextView *text, TextView *textview)
 
        if (!bold_font_desc) {
                bold_font_desc = pango_font_description_from_string
-                       (BOLD_FONT);
+                       (NORMAL_FONT);
                pango_font_description_set_weight
                        (bold_font_desc, PANGO_WEIGHT_BOLD);
        }
@@ -1111,10 +1111,39 @@ void textview_set_all_headers(TextView *textview, gboolean all_headers)
        textview->show_all_headers = all_headers;
 }
 
+#define CHANGE_TAG_FONT(tagname, font) { \
+       tag = gtk_text_tag_table_lookup(tags, tagname); \
+       if (tag) \
+               g_object_set(G_OBJECT(tag), "font-desc", font, NULL); \
+}
+
 void textview_set_font(TextView *textview, const gchar *codeset)
 {
+       GtkTextTag *tag;
+       GtkTextBuffer *buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(textview->text));
+       GtkTextTagTable *tags = gtk_text_buffer_get_tag_table(buffer);
+       
+       if (NORMAL_FONT) {
+               PangoFontDescription *font_desc, *bold_font_desc;
+               font_desc = pango_font_description_from_string
+                                               (NORMAL_FONT);
+               bold_font_desc = pango_font_description_from_string
+                                               (NORMAL_FONT);
+               if (font_desc) {
+                       gtk_widget_modify_font(textview->text, font_desc);
+                       pango_font_description_free(font_desc);
+                       CHANGE_TAG_FONT("header", font_desc);
+               }
+               if (bold_font_desc) {
+                       pango_font_description_set_weight
+                               (bold_font_desc, PANGO_WEIGHT_BOLD);
+                       CHANGE_TAG_FONT("header_title", bold_font_desc);
+                       pango_font_description_free(bold_font_desc);
+               }
+       }
+
        if (prefs_common.textfont) {
-               PangoFontDescription *font_desc = NULL;
+               PangoFontDescription *font_desc;
 
                font_desc = pango_font_description_from_string
                                                (prefs_common.textfont);