summaryrefslogtreecommitdiff
path: root/libmdock/mdock-item.c
diff options
context:
space:
mode:
Diffstat (limited to 'libmdock/mdock-item.c')
-rw-r--r--libmdock/mdock-item.c23
1 files changed, 5 insertions, 18 deletions
diff --git a/libmdock/mdock-item.c b/libmdock/mdock-item.c
index 67d3638..2dd1611 100644
--- a/libmdock/mdock-item.c
+++ b/libmdock/mdock-item.c
@@ -21,6 +21,8 @@
#define MDOCK_ITEM_GET_PRIVATE(object)(G_TYPE_INSTANCE_GET_PRIVATE((object), MDOCK_TYPE_ITEM, MDockItemPrivate))
+#define REQUISITION_ICON_SIZE 32
+
struct _MDockItemPrivate
{
gboolean pinned;
@@ -38,7 +40,6 @@ enum {
PROP_0,
PROP_PINNED,
PROP_DESKTOP_APP_INFO,
- PROP_ICON_SIZE,
PROP_N_WINDOWS,
PROP_DISPLAY_NAME,
N_PROPERTIES
@@ -107,13 +108,14 @@ static void mdock_item_realize(GtkWidget *widget)
static void mdock_item_size_request(GtkWidget *widget, GtkRequisition *requisition)
{
MDockItem *self = MDOCK_ITEM(widget);
- requisition->width = requisition->height = self->priv->icon_size;
+ requisition->width = requisition->height = REQUISITION_ICON_SIZE;
}
static void mdock_item_size_allocate(GtkWidget *widget, GtkAllocation *allocation)
{
MDockItem *self = MDOCK_ITEM(widget);
- allocation->width = allocation->height = self->priv->icon_size;
+ self->priv->icon_size = MIN(allocation->width, allocation->height);
+ mdock_item_update_icon(self);
GTK_WIDGET_CLASS(mdock_item_parent_class)->size_allocate(widget, allocation);
}
@@ -146,11 +148,6 @@ static void mdock_item_set_property(GObject *object,
self->priv->appinfo = g_value_dup_object(value);
mdock_item_update_icon(self);
break;
- case PROP_ICON_SIZE:
- self->priv->icon_size = g_value_get_uint(value);
- gtk_widget_queue_resize(GTK_WIDGET(self));
- mdock_item_update_icon(self);
- break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec);
break;
@@ -170,9 +167,6 @@ static void mdock_item_get_property(GObject *object,
case PROP_DESKTOP_APP_INFO:
g_value_set_object(value, self->priv->appinfo);
break;
- case PROP_ICON_SIZE:
- g_value_set_uint(value, self->priv->icon_size);
- break;
case PROP_N_WINDOWS:
g_value_set_uint(value, g_list_length(self->priv->windows));
break;
@@ -237,13 +231,6 @@ mdock_item_class_init(MDockItemClass *klass)
G_TYPE_DESKTOP_APP_INFO,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
- obj_properties[PROP_ICON_SIZE] = g_param_spec_uint("icon-size",
- "Icon size",
- "Set the icon size",
- 16, 256,
- 48,
- G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
-
obj_properties[PROP_N_WINDOWS] = g_param_spec_uint("n-windows",
"Number of windows",
"Reads the current number of windows under this item",