This is an automated email from the git hooks/post-receive script.

gottcode pushed a commit to branch master
in repository panel-plugins/xfce4-whiskermenu-plugin.

commit 020fda40e840d53360ad8621f272f8d02995d820
Author: Graeme Gott <gra...@gottcode.org>
Date:   Fri Oct 9 11:35:31 2015 -0400

    Only show recent button when recent items are tracked.
---
 panel-plugin/configuration-dialog.cpp |    9 ++++++++-
 panel-plugin/recent-page.cpp          |    4 ++--
 panel-plugin/settings.cpp             |    4 ++--
 panel-plugin/window.cpp               |    3 +++
 4 files changed, 15 insertions(+), 5 deletions(-)

diff --git a/panel-plugin/configuration-dialog.cpp 
b/panel-plugin/configuration-dialog.cpp
index fb90f22..71a4700 100644
--- a/panel-plugin/configuration-dialog.cpp
+++ b/panel-plugin/configuration-dialog.cpp
@@ -250,6 +250,12 @@ void 
ConfigurationDialog::recent_items_max_changed(GtkSpinButton* button)
 {
        wm_settings->recent_items_max = 
gtk_spin_button_get_value_as_int(button);
        wm_settings->set_modified();
+       const bool active = wm_settings->recent_items_max;
+       gtk_widget_set_sensitive(GTK_WIDGET(m_display_recent), active);
+       if (!active)
+       {
+               
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(m_display_recent), false);
+       }
 }
 
 //-----------------------------------------------------------------------------
@@ -683,7 +689,7 @@ GtkWidget* ConfigurationDialog::init_behavior_tab()
        gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5);
        gtk_table_attach(recent_table, label, 0, 1, 0, 1, GTK_FILL, 
GtkAttachOptions(GTK_EXPAND | GTK_FILL), 0, 0);
 
-       m_recent_items_max = gtk_spin_button_new_with_range(5, 100, 1);
+       m_recent_items_max = gtk_spin_button_new_with_range(0, 100, 1);
        gtk_table_attach_defaults(recent_table, m_recent_items_max, 1, 2, 0, 1);
        gtk_label_set_mnemonic_widget(GTK_LABEL(label), m_recent_items_max);
        gtk_spin_button_set_value(GTK_SPIN_BUTTON(m_recent_items_max), 
wm_settings->recent_items_max);
@@ -699,6 +705,7 @@ GtkWidget* ConfigurationDialog::init_behavior_tab()
        m_display_recent = gtk_check_button_new_with_mnemonic(_("Display by 
_default"));
        gtk_table_attach_defaults(recent_table, m_display_recent, 0, 2, 2, 3);
        gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(m_display_recent), 
wm_settings->display_recent);
+       gtk_widget_set_sensitive(GTK_WIDGET(m_display_recent), 
wm_settings->recent_items_max);
        g_signal_connect_slot(m_display_recent, "toggled", 
&ConfigurationDialog::toggle_display_recent, this);
 
        return page;
diff --git a/panel-plugin/recent-page.cpp b/panel-plugin/recent-page.cpp
index eb9b7b9..d9be893 100644
--- a/panel-plugin/recent-page.cpp
+++ b/panel-plugin/recent-page.cpp
@@ -54,7 +54,7 @@ RecentPage::~RecentPage()
 
 void RecentPage::add(Launcher* launcher)
 {
-       if (!launcher)
+       if (!wm_settings->recent_items_max || !launcher)
        {
                return;
        }
@@ -109,7 +109,7 @@ void RecentPage::enforce_item_count()
        }
 
        GtkListStore* store = GTK_LIST_STORE(get_view()->get_model());
-       for (size_t i = wm_settings->recent.size() - 1, end = 
wm_settings->recent_items_max; i >= end; --i)
+       for (ssize_t i = wm_settings->recent.size() - 1, end = 
wm_settings->recent_items_max; i >= end; --i)
        {
                Launcher* launcher = 
get_window()->get_applications()->get_application(wm_settings->recent[i]);
                if (launcher)
diff --git a/panel-plugin/settings.cpp b/panel-plugin/settings.cpp
index efa9682..7c790be 100644
--- a/panel-plugin/settings.cpp
+++ b/panel-plugin/settings.cpp
@@ -180,9 +180,9 @@ void Settings::load(char* file)
 
        load_hierarchy = xfce_rc_read_bool_entry(rc, "load-hierarchy", 
load_hierarchy);
 
-       recent_items_max = std::max(5, xfce_rc_read_int_entry(rc, 
"recent-items-max", recent_items_max));
+       recent_items_max = std::max(0, xfce_rc_read_int_entry(rc, 
"recent-items-max", recent_items_max));
        favorites_in_recent = xfce_rc_read_bool_entry(rc, 
"favorites-in-recent", favorites_in_recent);
-       display_recent = xfce_rc_read_bool_entry(rc, "display-recent-default", 
display_recent);
+       display_recent = xfce_rc_read_bool_entry(rc, "display-recent-default", 
display_recent) && recent_items_max;
 
        position_search_alternate = xfce_rc_read_bool_entry(rc, 
"position-search-alternate", position_search_alternate);
        position_commands_alternate = xfce_rc_read_bool_entry(rc, 
"position-commands-alternate", position_commands_alternate) && 
position_search_alternate;
diff --git a/panel-plugin/window.cpp b/panel-plugin/window.cpp
index 7608668..491b934 100644
--- a/panel-plugin/window.cpp
+++ b/panel-plugin/window.cpp
@@ -561,6 +561,9 @@ void WhiskerMenu::Window::show(GtkWidget* parent, bool 
horizontal)
                }
        }
 
+       // Make sure recent button is only visible when tracked
+       gtk_widget_set_visible(GTK_WIDGET(m_recent_button->get_button()), 
wm_settings->recent_items_max);
+
        // Show window
        gtk_widget_show(GTK_WIDGET(m_window));
        gtk_window_move(m_window, m_geometry.x, m_geometry.y);

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.
_______________________________________________
Xfce4-commits mailing list
Xfce4-commits@xfce.org
https://mail.xfce.org/mailman/listinfo/xfce4-commits

Reply via email to