aboutsummaryrefslogtreecommitdiff
path: root/lumina-desktop
diff options
context:
space:
mode:
authorKen Moore <moorekou@gmail.com>2015-10-08 13:51:32 -0400
committerKen Moore <moorekou@gmail.com>2015-10-08 13:51:32 -0400
commitfcfd54ecadd459b6a055688ad84c28a211f7d439 (patch)
treea756073cf11778a7794460f5eb43c9b00371899a /lumina-desktop
parentAdd a new panel plugin: "line" (diff)
downloadlumina-fcfd54ecadd459b6a055688ad84c28a211f7d439.tar.gz
lumina-fcfd54ecadd459b6a055688ad84c28a211f7d439.tar.bz2
lumina-fcfd54ecadd459b6a055688ad84c28a211f7d439.zip
Update the new ResizeMenu and startmenu a bit: Now it better performes resizing and the startmenu savees it's size between sessions.
Diffstat (limited to 'lumina-desktop')
-rw-r--r--lumina-desktop/panel-plugins/systemstart/LStartButton.cpp16
-rw-r--r--lumina-desktop/panel-plugins/systemstart/LStartButton.h1
2 files changed, 12 insertions, 5 deletions
diff --git a/lumina-desktop/panel-plugins/systemstart/LStartButton.cpp b/lumina-desktop/panel-plugins/systemstart/LStartButton.cpp
index 3e644803..cf37cf88 100644
--- a/lumina-desktop/panel-plugins/systemstart/LStartButton.cpp
+++ b/lumina-desktop/panel-plugins/systemstart/LStartButton.cpp
@@ -8,7 +8,7 @@
#include "../../LSession.h"
#include <LuminaXDG.h>
-#include <LuminaUtils.h>
+#include <LuminaUtils.h> //This contains the "ResizeMenu" class
LStartButtonPlugin::LStartButtonPlugin(QWidget *parent, QString id, bool horizontal) : LPPlugin(parent, id, horizontal){
button = new QToolButton(this);
@@ -21,14 +21,14 @@ LStartButtonPlugin::LStartButtonPlugin(QWidget *parent, QString id, bool horizon
menu = new ResizeMenu(this);
menu->setContentsMargins(1,1,1,1);
connect(menu, SIGNAL(aboutToHide()), this, SIGNAL(MenuClosed()));
+ connect(menu, SIGNAL(MenuResized(QSize)), this, SLOT(SaveMenuSize(QSize)) );
startmenu = new StartMenu(this);
connect(startmenu, SIGNAL(CloseMenu()), this, SLOT(closeMenu()) );
connect(startmenu, SIGNAL(UpdateQuickLaunch(QStringList)), this, SLOT(updateQuickLaunch(QStringList)));
menu->setContents(startmenu);
- /*mact = new QWidgetAction(this);
- mact->setDefaultWidget(startmenu);
- menu->addAction(mact);*/
-
+ QSize saved = LSession::handle()->DesktopPluginSettings()->value("panelPlugs/"+this->type()+"/MenuSize", QSize(0,0)).toSize();
+ if(!saved.isNull()){ startmenu->setFixedSize(saved); } //re-load the previously saved value
+
button->setMenu(menu);
connect(menu, SIGNAL(aboutToHide()), this, SLOT(updateButtonVisuals()) );
QTimer::singleShot(0,this, SLOT(OrientationChange())); //Update icons/sizes
@@ -100,10 +100,16 @@ void LStartButtonPlugin::RemoveQuick(QString file){
}
}
+void LStartButtonPlugin::SaveMenuSize(QSize sz){
+ //Save this size for the menu
+ LSession::handle()->DesktopPluginSettings()->setValue("panelPlugs/"+this->type()+"/MenuSize", sz);
+}
+
// ========================
// PRIVATE FUNCTIONS
// ========================
void LStartButtonPlugin::openMenu(){
+ if(menu->isVisible()){ return; } //don't re-show it - already open
startmenu->UpdateMenu();
button->showMenu();
}
diff --git a/lumina-desktop/panel-plugins/systemstart/LStartButton.h b/lumina-desktop/panel-plugins/systemstart/LStartButton.h
index ac9ad59b..f549b8d2 100644
--- a/lumina-desktop/panel-plugins/systemstart/LStartButton.h
+++ b/lumina-desktop/panel-plugins/systemstart/LStartButton.h
@@ -80,6 +80,7 @@ private slots:
void updateQuickLaunch(QStringList);
void LaunchQuick(QString);
void RemoveQuick(QString);
+ void SaveMenuSize(QSize);
public slots:
void OrientationChange(){
bgstack15