[Xfce4-commits] <xfce4-panel:andrzejr/deskbar-launcher> launcher: accumulated changes from andrzejr/deskbar-github branch.
Andrzej
noreply at xfce.org
Mon Dec 12 16:00:10 CET 2011
Updating branch refs/heads/andrzejr/deskbar-launcher
to e8bc0a9a0453aa7501c73aa3151565cb023e8ab9 (commit)
from f9af320ee3f50582039e8f596c87948a37029770 (commit)
commit e8bc0a9a0453aa7501c73aa3151565cb023e8ab9
Author: Andrzej <ndrwrdck at gmail.com>
Date: Mon Dec 12 23:41:36 2011 +0900
launcher: accumulated changes from andrzejr/deskbar-github branch.
plugins/launcher/launcher.c | 36 ++++++++++++++++++++++++++++++------
1 files changed, 30 insertions(+), 6 deletions(-)
diff --git a/plugins/launcher/launcher.c b/plugins/launcher/launcher.c
index b2354a3..cc90685 100644
--- a/plugins/launcher/launcher.c
+++ b/plugins/launcher/launcher.c
@@ -70,6 +70,8 @@ static void launcher_plugin_orientation_changed (XfcePan
GtkOrientation orientation);
static gboolean launcher_plugin_size_changed (XfcePanelPlugin *panel_plugin,
gint size);
+static void launcher_plugin_nrows_changed (XfcePanelPlugin *panel_plugin,
+ guint nrows);
static void launcher_plugin_configure_plugin (XfcePanelPlugin *panel_plugin);
static void launcher_plugin_screen_position_changed (XfcePanelPlugin *panel_plugin,
XfceScreenPosition position);
@@ -270,6 +272,7 @@ launcher_plugin_class_init (LauncherPluginClass *klass)
plugin_class->free_data = launcher_plugin_free_data;
plugin_class->orientation_changed = launcher_plugin_orientation_changed;
plugin_class->size_changed = launcher_plugin_size_changed;
+ plugin_class->nrows_changed = launcher_plugin_nrows_changed;
plugin_class->configure_plugin = launcher_plugin_configure_plugin;
plugin_class->screen_position_changed = launcher_plugin_screen_position_changed;
plugin_class->removed = launcher_plugin_removed;
@@ -852,10 +855,13 @@ launcher_plugin_set_property (GObject *object,
gtk_widget_destroy (plugin->child);
/* create child */
- if (G_UNLIKELY (plugin->show_label))
+ if (G_UNLIKELY (plugin->show_label)) {
plugin->child = gtk_label_new (NULL);
- else
+ xfce_panel_plugin_set_small (XFCE_PANEL_PLUGIN (plugin), FALSE);
+ } else {
plugin->child = xfce_panel_image_new ();
+ xfce_panel_plugin_set_small (XFCE_PANEL_PLUGIN (plugin), TRUE);
+ }
gtk_container_add (GTK_CONTAINER (plugin->button), plugin->child);
gtk_widget_show (plugin->child);
@@ -1004,6 +1010,8 @@ launcher_plugin_construct (XfcePanelPlugin *panel_plugin)
/* show the configure menu item */
xfce_panel_plugin_menu_show_configure (XFCE_PANEL_PLUGIN (plugin));
+ xfce_panel_plugin_set_small (panel_plugin, TRUE);
+
/* lookup the config directory where this launcher stores it's desktop files */
file = g_strdup_printf (RELATIVE_CONFIG_PATH,
xfce_panel_plugin_get_name (XFCE_PANEL_PLUGIN (plugin)),
@@ -1235,6 +1243,7 @@ launcher_plugin_size_changed (XfcePanelPlugin *panel_plugin,
gint a_width, a_height;
gboolean horizontal;
LauncherArrowType arrow_position;
+ guint nrows;
/* initialize the plugin size */
p_width = p_height = size;
@@ -1281,15 +1290,30 @@ launcher_plugin_size_changed (XfcePanelPlugin *panel_plugin,
}
/* set the panel plugin size */
- if (plugin->show_label)
- gtk_widget_set_size_request (GTK_WIDGET (panel_plugin), -1, -1);
- else
- gtk_widget_set_size_request (GTK_WIDGET (panel_plugin), p_width, p_height);
+ nrows = xfce_panel_plugin_get_nrows (XFCE_PANEL_PLUGIN (plugin));
+ if (plugin->show_label) {
+ horizontal = !!(xfce_panel_plugin_get_orientation (panel_plugin) ==
+ GTK_ORIENTATION_HORIZONTAL);
+ if (horizontal)
+ gtk_widget_set_size_request (GTK_WIDGET (plugin), -1, -1);
+ else
+ gtk_widget_set_size_request (GTK_WIDGET (plugin), -1, p_height / nrows);
+ } else
+ gtk_widget_set_size_request (GTK_WIDGET (plugin), p_width / nrows, p_height / nrows);
return TRUE;
}
+static void
+launcher_plugin_nrows_changed (XfcePanelPlugin *panel_plugin,
+ guint nrows)
+{
+ launcher_plugin_size_changed (XFCE_PANEL_PLUGIN (panel_plugin),
+ xfce_panel_plugin_get_size (XFCE_PANEL_PLUGIN (panel_plugin)));
+}
+
+
static void
launcher_plugin_configure_plugin (XfcePanelPlugin *panel_plugin)
More information about the Xfce4-commits
mailing list