Updating branch refs/heads/andrzejr/deskbar-launcher to e8bc0a9a0453aa7501c73aa3151565cb023e8ab9 (commit) from f9af320ee3f50582039e8f596c87948a37029770 (commit)
commit e8bc0a9a0453aa7501c73aa3151565cb023e8ab9 Author: Andrzej <ndrwr...@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) _______________________________________________ Xfce4-commits mailing list Xfce4-commits@xfce.org https://mail.xfce.org/mailman/listinfo/xfce4-commits