[Xfce4-commits] <xfce4-panel:nick/desktop-mode> Separator: Remove new line option.
Nick Schermer
noreply at xfce.org
Sun Dec 11 16:36:02 CET 2011
Updating branch refs/heads/nick/desktop-mode
to aed76df1363fd626d28d30bf1801574144b3af9a (commit)
from 8b66f2aaa92aaf81c2992880b73283d49b76f88b (commit)
commit aed76df1363fd626d28d30bf1801574144b3af9a
Author: Nick Schermer <nick at xfce.org>
Date: Sun Dec 11 16:34:52 2011 +0100
Separator: Remove new line option.
This will be replaced by the nrows property.
libxfce4panel/libxfce4panel.symbols | 1 +
libxfce4panel/xfce-panel-plugin-provider.h | 2 -
panel/panel-application.c | 10 -
panel/panel-itembar.c | 305 ++++++++++------------------
plugins/separator/separator-dialog.glade | 3 -
plugins/separator/separator.c | 29 +--
6 files changed, 115 insertions(+), 235 deletions(-)
diff --git a/libxfce4panel/libxfce4panel.symbols b/libxfce4panel/libxfce4panel.symbols
index 3730482..64a299e 100644
--- a/libxfce4panel/libxfce4panel.symbols
+++ b/libxfce4panel/libxfce4panel.symbols
@@ -45,6 +45,7 @@ libxfce4panel_minor_version
#if IN_HEADER(__LIBXFCE4PANEL_ENUM_TYPES_H__)
#if IN_SOURCE(__LIBXFCE4PANEL_ENUM_TYPES_C__)
xfce_screen_position_get_type G_GNUC_CONST
+xfce_panel_plugin_mode_get_type G_GNUC_CONST
#endif
#endif
diff --git a/libxfce4panel/xfce-panel-plugin-provider.h b/libxfce4panel/xfce-panel-plugin-provider.h
index ed300c0..e603986 100644
--- a/libxfce4panel/xfce-panel-plugin-provider.h
+++ b/libxfce4panel/xfce-panel-plugin-provider.h
@@ -79,8 +79,6 @@ typedef enum /*< skip >*/
PROVIDER_SIGNAL_MOVE_PLUGIN = 0,
PROVIDER_SIGNAL_EXPAND_PLUGIN,
PROVIDER_SIGNAL_COLLAPSE_PLUGIN,
- PROVIDER_SIGNAL_WRAP_PLUGIN,
- PROVIDER_SIGNAL_UNWRAP_PLUGIN,
PROVIDER_SIGNAL_SMALL_PLUGIN,
PROVIDER_SIGNAL_UNSMALL_PLUGIN,
PROVIDER_SIGNAL_LOCK_PANEL,
diff --git a/panel/panel-application.c b/panel/panel-application.c
index 2680e25..0d3b493 100644
--- a/panel/panel-application.c
+++ b/panel/panel-application.c
@@ -633,16 +633,6 @@ panel_application_plugin_provider_signal (XfcePanelPluginProvider *provide
NULL);
break;
- case PROVIDER_SIGNAL_WRAP_PLUGIN:
- case PROVIDER_SIGNAL_UNWRAP_PLUGIN:
- itembar = gtk_bin_get_child (GTK_BIN (window));
- gtk_container_child_set (GTK_CONTAINER (itembar),
- GTK_WIDGET (provider),
- "wrap",
- provider_signal == PROVIDER_SIGNAL_WRAP_PLUGIN,
- NULL);
- break;
-
case PROVIDER_SIGNAL_SMALL_PLUGIN:
case PROVIDER_SIGNAL_UNSMALL_PLUGIN:
itembar = gtk_bin_get_child (GTK_BIN (window));
diff --git a/panel/panel-itembar.c b/panel/panel-itembar.c
index cbf845e..e0f0ba6 100644
--- a/panel/panel-itembar.c
+++ b/panel/panel-itembar.c
@@ -101,7 +101,6 @@ struct _PanelItembarChild
GtkWidget *widget;
guint expand : 1;
guint shrink : 1;
- guint wrap : 1;
guint small : 1;
};
@@ -118,7 +117,6 @@ enum
CHILD_PROP_0,
CHILD_PROP_EXPAND,
CHILD_PROP_SHRINK,
- CHILD_PROP_WRAP,
CHILD_PROP_SMALL
};
@@ -208,13 +206,6 @@ panel_itembar_class_init (PanelItembarClass *klass)
EXO_PARAM_READWRITE));
gtk_container_class_install_child_property (gtkcontainer_class,
- CHILD_PROP_WRAP,
- g_param_spec_boolean ("wrap",
- NULL, NULL,
- FALSE,
- EXO_PARAM_READWRITE));
-
- gtk_container_class_install_child_property (gtkcontainer_class,
CHILD_PROP_SMALL,
g_param_spec_boolean ("small",
NULL, NULL,
@@ -333,30 +324,10 @@ panel_itembar_size_request (GtkWidget *widget,
gtk_widget_size_request (child->widget, &child_requisition);
- if (G_LIKELY (!child->wrap))
- {
- if (HORIZONTAL (itembar))
- row_length += child_requisition.width;
- else
- row_length += child_requisition.height;
- }
+ if (HORIZONTAL (itembar))
+ row_length += child_requisition.width;
else
- {
- /* add to size for new wrap element */
- if (HORIZONTAL (itembar))
- {
- requisition->height += itembar->size;
- requisition->width = MAX (requisition->width, row_length);
- }
- else
- {
- requisition->width += itembar->size;
- requisition->height = MAX (requisition->height, row_length);
- }
-
- /* reset length for new row */
- row_length = 0;
- }
+ row_length += child_requisition.height;
}
else
{
@@ -384,11 +355,10 @@ panel_itembar_size_allocate (GtkWidget *widget,
GtkAllocation *allocation)
{
PanelItembar *itembar = PANEL_ITEMBAR (widget);
- GSList *li, *lp;
+ GSList *lp;
PanelItembarChild *child;
GtkRequisition child_req;
GtkAllocation child_alloc;
- guint row;
gint widget_length, border_width;
gint expand_length_avail, expand_length_req;
gint shrink_length_avail, shrink_length_req;
@@ -407,176 +377,136 @@ panel_itembar_size_allocate (GtkWidget *widget,
else
widget_length = allocation->height - 2 * border_width;
- /* loop for wrap items */
- for (row = 0, li = itembar->children; li != NULL; li = g_slist_next (li), row++)
- {
- expand_length_avail = widget_length;
- expand_length_req = 0;
- shrink_length_avail = 0;
- shrink_length_req = 0;
+ expand_length_avail = widget_length;
+ expand_length_req = 0;
+ shrink_length_avail = 0;
+ shrink_length_req = 0;
- /* get information about the expandable lengths */
- for (lp = li; lp != NULL; lp = g_slist_next (lp))
+ /* get information about the expandable lengths */
+ for (lp = itembar->children; lp != NULL; lp = g_slist_next (lp))
+ {
+ child = lp->data;
+ if (G_LIKELY (child != NULL))
{
- child = lp->data;
- if (G_LIKELY (child != NULL))
+ if (!GTK_WIDGET_VISIBLE (child->widget))
+ continue;
+
+ gtk_widget_get_child_requisition (child->widget, &child_req);
+ length = HORIZONTAL (itembar) ? child_req.width : child_req.height;
+
+ if (G_UNLIKELY (child->expand))
{
- if (!GTK_WIDGET_VISIBLE (child->widget))
- continue;
-
- /* continue allocating until we hit a wrap child */
- if (G_UNLIKELY (child->wrap))
- break;
-
- gtk_widget_get_child_requisition (child->widget, &child_req);
- length = HORIZONTAL (itembar) ? child_req.width : child_req.height;
-
- if (G_UNLIKELY (child->expand))
- {
- expand_length_req += length;
- }
- else
- {
- expand_length_avail -= length;
-
- if (child->shrink)
- shrink_length_avail += length;
- }
+ expand_length_req += length;
}
else
{
- expand_length_avail -= itembar->size;
+ expand_length_avail -= length;
+
+ if (child->shrink)
+ shrink_length_avail += length;
}
}
-
- /* set start coordinates for the items in the row*/
- x = allocation->x + border_width;
- y = allocation->y + border_width;
- if (HORIZONTAL (itembar))
- y += row * itembar->size;
else
- x += row * itembar->size;
-
- /* whether the expandable items fit on this row; we use this
- * as a fast-path when there are expanding items on a panel with
- * not really enough length to expand (ie. items make the panel grow,
- * not the length set by the user) */
- expand_children_fit = expand_length_req == expand_length_avail;
-
- if (expand_length_avail < 0)
{
- /* check if there are plugins on the panel we can shrink */
- if (shrink_length_avail > 0)
- shrink_length_req = ABS (expand_length_avail);
-
- expand_length_avail = 0;
+ expand_length_avail -= itembar->size;
}
+ }
- /* allocate the children on this row */
- for (; li != NULL; li = g_slist_next (li))
- {
- child = li->data;
+ /* set start coordinates for the items in the row*/
+ x = allocation->x + border_width;
+ y = allocation->y + border_width;
- /* the highlight item for which we keep some spare space */
- if (G_UNLIKELY (child == NULL))
- {
- itembar->highlight_x = x;
- itembar->highlight_y = y;
- expand_length_avail -= itembar->size;
+ /* whether the expandable items fit on this row; we use this
+ * as a fast-path when there are expanding items on a panel with
+ * not really enough length to expand (ie. items make the panel grow,
+ * not the length set by the user) */
+ expand_children_fit = expand_length_req == expand_length_avail;
- if (HORIZONTAL (itembar))
- x += itembar->size;
- else
- y += itembar->size;
+ if (expand_length_avail < 0)
+ {
+ /* check if there are plugins on the panel we can shrink */
+ if (shrink_length_avail > 0)
+ shrink_length_req = ABS (expand_length_avail);
- continue;
- }
+ expand_length_avail = 0;
+ }
- if (!GTK_WIDGET_VISIBLE (child->widget))
- continue;
+ /* allocate the children on this row */
+ for (lp = itembar->children; lp != NULL; lp = g_slist_next (lp))
+ {
+ child = lp->data;
- gtk_widget_get_child_requisition (child->widget, &child_req);
+ /* the highlight item for which we keep some spare space */
+ if (G_UNLIKELY (child == NULL))
+ {
+ itembar->highlight_x = x;
+ itembar->highlight_y = y;
+ expand_length_avail -= itembar->size;
+
+ if (HORIZONTAL (itembar))
+ x += itembar->size;
+ else
+ y += itembar->size;
- child_alloc.x = x;
- child_alloc.y = y;
+ continue;
+ }
- if (child->wrap)
- {
- /* if there is any expanding length available use it for the
- * wrapping plugin to improve accessibility */
- if (expand_length_avail > 0)
- {
- if (HORIZONTAL (itembar))
- {
- child_alloc.height = itembar->size;
- child_alloc.width = expand_length_avail;
- }
- else
- {
- child_alloc.width = itembar->size;
- child_alloc.height = expand_length_avail;
- }
- }
- else
- {
- /* hide it */
- child_alloc.width = child_alloc.height = 0;
- }
-
- gtk_widget_size_allocate (child->widget, &child_alloc);
-
- /* stop and continue to the next row */
- break;
- }
+ if (!GTK_WIDGET_VISIBLE (child->widget))
+ continue;
- child_length = HORIZONTAL (itembar) ? child_req.width : child_req.height;
+ gtk_widget_get_child_requisition (child->widget, &child_req);
- if (G_UNLIKELY (!expand_children_fit && child->expand))
- {
- /* equally share the length between the expanding plugins */
- panel_assert (expand_length_req > 0);
- new_length = expand_length_avail * child_length / expand_length_req;
+ child_alloc.x = x;
+ child_alloc.y = y;
- expand_length_req -= child_length;
- expand_length_avail -= new_length;
+ child_length = HORIZONTAL (itembar) ? child_req.width : child_req.height;
- child_length = new_length;
- }
- else if (child->shrink && shrink_length_req > 0)
- {
- /* equally shrink all shrinking plugins */
- panel_assert (shrink_length_avail > 0);
- new_length = shrink_length_req * child_length / shrink_length_avail;
-
- shrink_length_req -= new_length;
- shrink_length_avail -= child_length;
-
- /* the size we decrease can never be more then the actual length,
- * if this is the case the size allocation is lacking behind,
- * which happens on panel startup with a expanding panel */
- if (new_length < child_length)
- child_length -= new_length;
- }
+ if (G_UNLIKELY (!expand_children_fit && child->expand))
+ {
+ /* equally share the length between the expanding plugins */
+ panel_assert (expand_length_req > 0);
+ new_length = expand_length_avail * child_length / expand_length_req;
- if (child_length < 1)
- child_length = 1;
+ expand_length_req -= child_length;
+ expand_length_avail -= new_length;
- if (HORIZONTAL (itembar))
- {
- child_alloc.height = itembar->size;
- child_alloc.width = child_length;
- x += child_alloc.width;
- }
- else
- {
- child_alloc.width = itembar->size;
- child_alloc.height = child_length;
- y += child_alloc.height;
- }
+ child_length = new_length;
+ }
+ else if (child->shrink && shrink_length_req > 0)
+ {
+ /* equally shrink all shrinking plugins */
+ panel_assert (shrink_length_avail > 0);
+ new_length = shrink_length_req * child_length / shrink_length_avail;
+
+ shrink_length_req -= new_length;
+ shrink_length_avail -= child_length;
+
+ /* the size we decrease can never be more then the actual length,
+ * if this is the case the size allocation is lacking behind,
+ * which happens on panel startup with a expanding panel */
+ if (new_length < child_length)
+ child_length -= new_length;
+ }
- gtk_widget_size_allocate (child->widget, &child_alloc);
+ if (child_length < 1)
+ child_length = 1;
+
+ if (HORIZONTAL (itembar))
+ {
+ child_alloc.height = itembar->size;
+ child_alloc.width = child_length;
+ x += child_alloc.width;
+ }
+ else
+ {
+ child_alloc.width = itembar->size;
+ child_alloc.height = child_length;
+ y += child_alloc.height;
}
+
+ gtk_widget_size_allocate (child->widget, &child_alloc);
}
+
}
@@ -706,13 +636,6 @@ panel_itembar_set_child_property (GtkContainer *container,
child->shrink = boolean;
break;
- case CHILD_PROP_WRAP:
- boolean = g_value_get_boolean (value);
- if (child->wrap == boolean)
- return;
- child->wrap = boolean;
- break;
-
case CHILD_PROP_SMALL:
boolean = g_value_get_boolean (value);
if (child->small == boolean)
@@ -753,10 +676,6 @@ panel_itembar_get_child_property (GtkContainer *container,
g_value_set_boolean (value, child->shrink);
break;
- case CHILD_PROP_WRAP:
- g_value_set_boolean (value, child->wrap);
- break;
-
case CHILD_PROP_SMALL:
g_value_set_boolean (value, child->small);
break;
@@ -815,7 +734,6 @@ panel_itembar_insert (PanelItembar *itembar,
child = g_slice_new0 (PanelItembarChild);
child->widget = widget;
child->expand = FALSE;
- child->wrap = FALSE;
itembar->children = g_slist_insert (itembar->children, child, position);
gtk_widget_set_parent (widget, GTK_WIDGET (itembar));
@@ -903,7 +821,6 @@ panel_itembar_get_drop_index (PanelItembar *itembar,
GSList *li;
GtkAllocation *alloc;
guint idx;
- gint row = 0;
panel_return_val_if_fail (PANEL_IS_ITEMBAR (itembar), 0);
@@ -920,16 +837,6 @@ panel_itembar_get_drop_index (PanelItembar *itembar,
if (G_UNLIKELY (child == NULL))
continue;
- if (child->wrap)
- {
- row += itembar->size;
-
- /* always make sure the item is on the row */
- if ((HORIZONTAL (itembar) && y < row)
- || (!HORIZONTAL (itembar) && x < row))
- break;
- }
-
alloc = &child->widget->allocation;
if (HORIZONTAL (itembar))
diff --git a/plugins/separator/separator-dialog.glade b/plugins/separator/separator-dialog.glade
index 53d5c5e..b8fae9a 100644
--- a/plugins/separator/separator-dialog.glade
+++ b/plugins/separator/separator-dialog.glade
@@ -162,9 +162,6 @@
<row>
<col id="0" translatable="yes">Dots</col>
</row>
- <row>
- <col id="0" translatable="yes">New Line</col>
- </row>
</data>
</object>
</interface>
diff --git a/plugins/separator/separator.c b/plugins/separator/separator.c
index 99f988c..8543ee7 100644
--- a/plugins/separator/separator.c
+++ b/plugins/separator/separator.c
@@ -66,7 +66,7 @@ enum _SeparatorPluginStyle
SEPARATOR_PLUGIN_STYLE_SEPARATOR,
SEPARATOR_PLUGIN_STYLE_HANDLE,
SEPARATOR_PLUGIN_STYLE_DOTS,
- SEPARATOR_PLUGIN_STYLE_WRAP,
+ SEPARATOR_PLUGIN_STYLE_WRAP, /* not used in 4.10, nrows property is now used */
/* defines */
SEPARATOR_PLUGIN_STYLE_MIN = SEPARATOR_PLUGIN_STYLE_TRANSPARENT,
@@ -194,17 +194,17 @@ separator_plugin_set_property (GObject *object,
GParamSpec *pspec)
{
SeparatorPlugin *plugin = XFCE_SEPARATOR_PLUGIN (object);
- gboolean wrap;
switch (prop_id)
{
case PROP_STYLE:
plugin->style = g_value_get_uint (value);
- gtk_widget_queue_draw (GTK_WIDGET (object));
- wrap = plugin->style == SEPARATOR_PLUGIN_STYLE_WRAP;
- xfce_panel_plugin_provider_emit_signal (XFCE_PANEL_PLUGIN_PROVIDER (object),
- wrap ? PROVIDER_SIGNAL_WRAP_PLUGIN : PROVIDER_SIGNAL_UNWRAP_PLUGIN);
+ /* old property */
+ if (plugin->style == SEPARATOR_PLUGIN_STYLE_WRAP)
+ plugin->style = SEPARATOR_PLUGIN_STYLE_DEFAULT;
+
+ gtk_widget_queue_draw (GTK_WIDGET (object));
break;
case PROP_EXPAND:
@@ -380,17 +380,6 @@ separator_plugin_size_changed (XfcePanelPlugin *panel_plugin,
static void
-separator_plugin_configure_style_changed (GtkComboBox *combo_box,
- GtkWidget *expand)
-{
- /* expand is not functional when the wrap function is enabled */
- gtk_widget_set_sensitive (expand,
- gtk_combo_box_get_active (combo_box) != SEPARATOR_PLUGIN_STYLE_WRAP);
-}
-
-
-
-static void
separator_plugin_configure_plugin (XfcePanelPlugin *panel_plugin)
{
SeparatorPlugin *plugin = XFCE_SEPARATOR_PLUGIN (panel_plugin);
@@ -407,12 +396,10 @@ separator_plugin_configure_plugin (XfcePanelPlugin *panel_plugin)
return;
style = gtk_builder_get_object (builder, "style");
- expand = gtk_builder_get_object (builder, "expand");
- g_signal_connect (G_OBJECT (style), "changed",
- G_CALLBACK (separator_plugin_configure_style_changed), expand);
-
exo_mutual_binding_new (G_OBJECT (plugin), "style",
G_OBJECT (style), "active");
+
+ expand = gtk_builder_get_object (builder, "expand");
exo_mutual_binding_new (G_OBJECT (plugin), "expand",
G_OBJECT (expand), "active");
More information about the Xfce4-commits
mailing list