Updating branch refs/heads/master
         to 512444b19ffd48f86c0dd88ab4d910f5a09a8d3e (commit)
       from d205f3e9d694ad08887d8b2793b6719ca3ace01d (commit)

commit 512444b19ffd48f86c0dd88ab4d910f5a09a8d3e
Author: Harald Judt <h.j...@gmx.at>
Date:   Tue Aug 13 23:29:48 2013 +0200

    Add code for setting font.

 panel-plugin/xfce4-cpufreq-plugin.c |   64 +++++++++++++++++++++++------------
 panel-plugin/xfce4-cpufreq-plugin.h |    4 +++
 2 files changed, 47 insertions(+), 21 deletions(-)

diff --git a/panel-plugin/xfce4-cpufreq-plugin.c 
b/panel-plugin/xfce4-cpufreq-plugin.c
index 7fe718f..32abdc2 100644
--- a/panel-plugin/xfce4-cpufreq-plugin.c
+++ b/panel-plugin/xfce4-cpufreq-plugin.c
@@ -40,37 +40,47 @@
 #include "xfce4-cpufreq-overview.h"
 #include "xfce4-cpufreq-utils.h"
 
+void
+cpufreq_label_set_font (void)
+{
+       PangoFontDescription *desc = NULL;
+
+       if (G_UNLIKELY (cpuFreq->label == NULL))
+               return;
+
+       if (cpuFreq->options->fontname)
+               desc = pango_font_description_from_string 
(cpuFreq->options->fontname);
+
+       gtk_widget_modify_font (cpuFreq->label, desc);
+    pango_font_description_free (desc);
+}
+
 gboolean
 cpufreq_update_label (CpuInfo *cpu)
 {
        gchar *label, *freq;
+       gint size, both;
 
-       if (!cpuFreq->options->show_label_governor && 
!cpuFreq->options->show_label_freq)
+       if (!cpuFreq->options->show_label_governor &&
+               !cpuFreq->options->show_label_freq)
                return TRUE;
        
-       gint size = xfce_panel_plugin_get_size (cpuFreq->plugin);
-       gboolean both = cpu->cur_governor != NULL && 
cpuFreq->options->show_label_freq && cpuFreq->options->show_label_governor;
-
-       gchar *txt_size = both ?
-                              (size <= 38 ? (size <= 28 ? "<span 
size=\"xx-small\">" : "<span size=\"x-small\">") : "<span>") :
-                              (size <= 19 ? "<span size=\"x-small\">" : 
"<span>"); 
+       both = cpu->cur_governor != NULL &&
+               cpuFreq->options->show_label_freq &&
+               cpuFreq->options->show_label_governor;
 
        freq = cpufreq_get_human_readable_freq (cpu->cur_freq);
-       label = g_strconcat (txt_size,
-
-               cpuFreq->options->show_label_freq ? freq : "",
-               
-               both ? (size <= 25 ? " " : "\n") : "",
-       
-               cpu->cur_governor != NULL &&
-               cpuFreq->options->show_label_governor ? cpu->cur_governor : "",
+       label = g_strconcat
+               (cpuFreq->options->show_label_freq ? freq : "",
+                both ? "\n" : "",
+                cpu->cur_governor != NULL &&
+                cpuFreq->options->show_label_governor ? cpu->cur_governor : "",
+                NULL);
 
-               "</span>",
-               NULL);
+       gtk_label_set_text (GTK_LABEL (cpuFreq->label), label);
 
-       if (strcmp(label,""))
+       if (strcmp(label, ""))
        {
-               gtk_label_set_markup (GTK_LABEL(cpuFreq->label), label);
                if (cpuFreq->panel_mode == XFCE_PANEL_PLUGIN_MODE_VERTICAL)
                        gtk_label_set_angle (GTK_LABEL(cpuFreq->label), -90);
                else
@@ -239,8 +249,10 @@ cpufreq_update_plugin (void)
        cpu = g_ptr_array_index (cpuFreq->cpus, cpuFreq->options->show_cpu);
        ret = cpufreq_update_label (cpu);
 
-       if (cpuFreq->layout_changed)
+       if (cpuFreq->layout_changed) {
+               cpufreq_label_set_font ();
                cpufreq_widgets_layout ();
+       }
 
        return ret;
 }
@@ -352,6 +364,7 @@ cpufreq_read_config (void)
 {
        XfceRc *rc;
        gchar  *file;
+       const gchar *value;
 
        file = xfce_panel_plugin_save_location (cpuFreq->plugin, FALSE);
 
@@ -371,6 +384,12 @@ cpufreq_read_config (void)
        cpuFreq->options->show_warning        = xfce_rc_read_bool_entry (rc, 
"show_warning", TRUE);
        cpuFreq->options->keep_compact        = xfce_rc_read_bool_entry (rc, 
"keep_compact", FALSE);
 
+       value = xfce_rc_read_entry (rc, "fontname", NULL);
+       if (value) {
+               g_free (cpuFreq->options->fontname);
+               cpuFreq->options->fontname = g_strdup (value);
+       }
+
        xfce_rc_close (rc);
 }
 
@@ -395,6 +414,8 @@ cpufreq_write_config (XfcePanelPlugin *plugin)
        xfce_rc_write_bool_entry (rc, "show_label_governor", 
cpuFreq->options->show_label_governor);
        xfce_rc_write_bool_entry (rc, "show_warning",        
cpuFreq->options->show_warning);
        xfce_rc_write_bool_entry (rc, "keep_compact",        
cpuFreq->options->keep_compact);
+       if (cpuFreq->options->fontname)
+               xfce_rc_write_entry  (rc, "fontname",            
cpuFreq->options->fontname);
 
        xfce_rc_close (rc);
 }
@@ -425,8 +446,9 @@ cpufreq_free (XfcePanelPlugin *plugin)
                g_ptr_array_remove_fast (cpuFreq->cpus, cpu);
                cpuinfo_free (cpu);
        }
-
        g_ptr_array_free (cpuFreq->cpus, TRUE);
+
+       g_free (cpuFreq->options->fontname);
        cpuFreq->plugin = NULL;
        g_free (cpuFreq);
 }
diff --git a/panel-plugin/xfce4-cpufreq-plugin.h 
b/panel-plugin/xfce4-cpufreq-plugin.h
index 89fc977..995a391 100644
--- a/panel-plugin/xfce4-cpufreq-plugin.h
+++ b/panel-plugin/xfce4-cpufreq-plugin.h
@@ -52,6 +52,7 @@ typedef struct
        gboolean show_label_freq;
        gboolean show_warning;
        gboolean keep_compact;
+       gchar   *fontname;
 } CpuFreqPluginOptions;
 
 typedef struct
@@ -82,6 +83,9 @@ G_BEGIN_DECLS
 void
 cpuinfo_free (CpuInfo *cpu);
 
+void
+cpufreq_label_set_font (void);
+
 gboolean
 cpufreq_update_plugin (void);
 
_______________________________________________
Xfce4-commits mailing list
Xfce4-commits@xfce.org
https://mail.xfce.org/mailman/listinfo/xfce4-commits

Reply via email to