[Xfce4-commits] <xfce4-diskperf-plugin:master> Label orientation in vertical mode, bar size after orientation change.

Landry Breuil noreply at xfce.org
Tue Apr 3 16:36:04 CEST 2012


Updating branch refs/heads/master
         to 009d2de7be7390f289413f5a6f62868f2e404cde (commit)
       from 24dc4ee5087a38af4ea4064f476db0600ab0d131 (commit)

commit 009d2de7be7390f289413f5a6f62868f2e404cde
Author: Andrzej <ndrwrdck at gmail.com>
Date:   Fri Jan 27 18:48:57 2012 +0900

    Label orientation in vertical mode, bar size after orientation change.
    
    Signed-off-by: Landry Breuil <landry at xfce.org>

 panel-plugin/main.c |   45 ++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 42 insertions(+), 3 deletions(-)

diff --git a/panel-plugin/main.c b/panel-plugin/main.c
index 45020c1..507c8b3 100644
--- a/panel-plugin/main.c
+++ b/panel-plugin/main.c
@@ -1061,9 +1061,42 @@ static gboolean diskperf_set_size (XfcePanelPlugin *plugin, int p_size,
     return TRUE;
 }				/* diskperf_set_size() */
 
+#if defined (LIBXFCE4PANEL_CHECK_VERSION) && LIBXFCE4PANEL_CHECK_VERSION (4,9,0)
 	/**************************************************************/
 
-static void diskperf_set_orientation (XfcePanelPlugin *plugin, 
+static void diskperf_set_mode (XfcePanelPlugin *plugin,
+                               XfcePanelPluginMode p_iMode,
+                               diskperf_t *poPlugin)
+	/* Plugin API */
+	/* Invoked when the panel changes mode */
+{
+    struct monitor_t *poMonitor = &(poPlugin->oMonitor);
+    GtkOrientation    p_iOrientation;
+
+    TRACE ("diskperf_set_mode()\n");
+
+    p_iOrientation =
+      (p_iMode == XFCE_PANEL_PLUGIN_MODE_HORIZONTAL) ?
+      GTK_ORIENTATION_HORIZONTAL : GTK_ORIENTATION_VERTICAL;
+
+
+    if (poPlugin->iTimerId) {
+	g_source_remove (poPlugin->iTimerId);
+	poPlugin->iTimerId = 0;
+    }
+    gtk_container_remove (GTK_CONTAINER (poMonitor->wEventBox),
+			  GTK_WIDGET (poMonitor->wBox));
+    CreateMonitorBars (poPlugin, p_iOrientation);
+    SetTimer (poPlugin);
+    gtk_label_set_angle (GTK_LABEL (poMonitor->wTitle),
+                         (p_iMode != XFCE_PANEL_PLUGIN_MODE_VERTICAL) ?
+                         0 : 270);
+    diskperf_set_size (plugin, xfce_panel_plugin_get_size (plugin), poPlugin);
+}				/* diskperf_set_orientation() */
+#else
+	/**************************************************************/
+
+static void diskperf_set_orientation (XfcePanelPlugin *plugin,
                                       GtkOrientation p_iOrientation,
                                       diskperf_t *poPlugin)
 	/* Plugin API */
@@ -1080,8 +1113,9 @@ static void diskperf_set_orientation (XfcePanelPlugin *plugin,
 			  GTK_WIDGET (poMonitor->wBox));
     CreateMonitorBars (poPlugin, p_iOrientation);
     SetTimer (poPlugin);
+    diskperf_set_size (plugin, xfce_panel_plugin_get_size (plugin), poPlugin);
 }				/* diskperf_set_orientation() */
-
+#endif
 	/**************************************************************/
 
 static void diskperf_construct (XfcePanelPlugin *plugin)
@@ -1097,8 +1131,13 @@ static void diskperf_construct (XfcePanelPlugin *plugin)
     g_signal_connect (plugin, "size-changed", G_CALLBACK (diskperf_set_size), 
                       diskperf);
 
-    g_signal_connect (plugin, "orientation-changed", 
+#if defined (LIBXFCE4PANEL_CHECK_VERSION) && LIBXFCE4PANEL_CHECK_VERSION (4,9,0)
+    g_signal_connect (plugin, "mode-changed",
+                      G_CALLBACK (diskperf_set_mode), diskperf);
+#else
+    g_signal_connect (plugin, "orientation-changed",
                       G_CALLBACK (diskperf_set_orientation), diskperf);
+#endif
 
     xfce_panel_plugin_menu_show_about (plugin);
     g_signal_connect (plugin, "about", G_CALLBACK (About), NULL);


More information about the Xfce4-commits mailing list