[Xfce4-commits] [panel-plugins/xfce4-clipman-plugin] 02/03: plugin: Wire up max-menu-items setting
noreply at xfce.org
noreply at xfce.org
Tue Mar 24 22:08:07 CET 2020
This is an automated email from the git hooks/post-receive script.
o c h o s i p u s h e d a c o m m i t t o b r a n c h m a s t e r
in repository panel-plugins/xfce4-clipman-plugin.
commit 4458c3939c782b4c2be9626917e026df1eacb90c
Author: Simon Steinbeiss <simon.steinbeiss at elfenbeinturm.at>
Date: Tue Mar 24 22:07:37 2020 +0100
plugin: Wire up max-menu-items setting
---
panel-plugin/menu.c | 22 +++++++++++++++++++++-
panel-plugin/settings-dialog.ui | 6 ++++++
2 files changed, 27 insertions(+), 1 deletion(-)
diff --git a/panel-plugin/menu.c b/panel-plugin/menu.c
index 1a6068a..8ce4e1e 100644
--- a/panel-plugin/menu.c
+++ b/panel-plugin/menu.c
@@ -54,6 +54,7 @@ struct _ClipmanMenuPrivate
gboolean show_qr_code;
#endif
guint paste_on_activate;
+ guint max_menu_items;
gboolean never_confirm_history_clear;
};
@@ -65,6 +66,7 @@ enum
#endif
PASTE_ON_ACTIVATE,
NEVER_CONFIRM_HISTORY_CLEAR,
+ MAX_MENU_ITEMS,
};
static void clipman_menu_finalize (GObject *object);
@@ -303,6 +305,7 @@ _clipman_menu_update_list (ClipmanMenu *menu)
const ClipmanHistoryItem *item_to_restore;
GSList *list, *l;
gint pos = 0;
+ gint i = 0;
/* Get the most recent item in the history */
item_to_restore = clipman_history_get_item_to_restore (menu->priv->history);
@@ -317,8 +320,10 @@ _clipman_menu_update_list (ClipmanMenu *menu)
list = clipman_history_get_list (menu->priv->history);
if (menu->priv->reverse_order)
list = g_slist_reverse (list);
- for (l = list; l != NULL; l = l->next)
+ for (i = 0, l = list; i < menu->priv->max_menu_items; i++, l = l->next)
{
+ if (l == NULL)
+ break;
item = l->data;
switch (item->type)
@@ -475,6 +480,13 @@ clipman_menu_class_init (ClipmanMenuClass *klass)
"Set to FALSE to clear the history list with confirmation",
FALSE,
G_PARAM_CONSTRUCT|G_PARAM_READWRITE));
+
+ g_object_class_install_property (object_class, MAX_MENU_ITEMS,
+ g_param_spec_uint ("max-menu-items",
+ "MaxMenuItems",
+ "Maximum amount of items displayed in the plugin's menu",
+ 1, 100, 15,
+ G_PARAM_CONSTRUCT|G_PARAM_READWRITE));
}
static void
@@ -542,6 +554,10 @@ clipman_menu_set_property (GObject *object,
priv->never_confirm_history_clear = g_value_get_boolean (value);
break;
+ case MAX_MENU_ITEMS:
+ priv->max_menu_items = g_value_get_uint (value);
+ break;
+
default:
break;
}
@@ -569,6 +585,10 @@ clipman_menu_get_property (GObject *object,
g_value_set_boolean (value, priv->never_confirm_history_clear);
break;
+ case MAX_MENU_ITEMS:
+ g_value_set_uint (value, priv->max_menu_items);
+ break;
+
default:
break;
}
diff --git a/panel-plugin/settings-dialog.ui b/panel-plugin/settings-dialog.ui
index 5c8134f..349502a 100644
--- a/panel-plugin/settings-dialog.ui
+++ b/panel-plugin/settings-dialog.ui
@@ -10,6 +10,11 @@
<property name="step_increment">5</property>
<property name="page_increment">10</property>
</object>
+ <object class="GtkAdjustment" id="adjustment2">
+ <property name="upper">100</property>
+ <property name="step_increment">1</property>
+ <property name="page_increment">10</property>
+ </object>
<object class="GtkImage" id="image5">
<property name="visible">True</property>
<property name="can_focus">False</property>
@@ -254,6 +259,7 @@
<object class="GtkSpinButton" id="max-menu-items">
<property name="visible">True</property>
<property name="can_focus">True</property>
+ <property name="adjustment">adjustment2</property>
</object>
<packing>
<property name="expand">False</property>
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the Xfce4-commits
mailing list