diff options
author | Ken Moore <ken@ixsystems.com> | 2017-11-14 14:17:27 -0500 |
---|---|---|
committer | Ken Moore <ken@ixsystems.com> | 2017-11-14 14:17:27 -0500 |
commit | 79df03631348f217c5739fc097c3b7ee53df499c (patch) | |
tree | c9bf851a5fd2a466cd3b7a92f81b82d424b603db /src-qt5/core/libLumina | |
parent | Finish up a bit more cleanup of keyboard events in lumina-pdf (diff) | |
download | lumina-79df03631348f217c5739fc097c3b7ee53df499c.tar.gz lumina-79df03631348f217c5739fc097c3b7ee53df499c.tar.bz2 lumina-79df03631348f217c5739fc097c3b7ee53df499c.zip |
Fix up some initial startmenu sizing.
Diffstat (limited to 'src-qt5/core/libLumina')
-rw-r--r-- | src-qt5/core/libLumina/ResizeMenu.cpp | 18 | ||||
-rw-r--r-- | src-qt5/core/libLumina/ResizeMenu.h | 5 |
2 files changed, 17 insertions, 6 deletions
diff --git a/src-qt5/core/libLumina/ResizeMenu.cpp b/src-qt5/core/libLumina/ResizeMenu.cpp index 9f291134..cf5b124d 100644 --- a/src-qt5/core/libLumina/ResizeMenu.cpp +++ b/src-qt5/core/libLumina/ResizeMenu.cpp @@ -5,6 +5,7 @@ // See the LICENSE file for full details //=========================================== #include "ResizeMenu.h" +#include <QDebug> // ======================= // RESIZEMENU CLASS @@ -21,7 +22,7 @@ ResizeMenu::ResizeMenu(QWidget *parent) : QMenu(parent){ } ResizeMenu::~ResizeMenu(){ - + } void ResizeMenu::setContents(QWidget *con){ @@ -30,6 +31,15 @@ void ResizeMenu::setContents(QWidget *con){ this->addAction(cAct); contents = con; //save for later contents->setCursor(Qt::ArrowCursor); + resyncSize(); +} + +void ResizeMenu::resyncSize(){ + if(contents==0){ return; } + qDebug() << "Resync Size:" << this->size() << contents->size(); + this->resize(contents->size()); + qDebug() << " - after menu resize:" << this->size() << contents->size(); + emit MenuResized(this->size()); } void ResizeMenu::mouseMoveEvent(QMouseEvent *ev){ @@ -46,21 +56,21 @@ void ResizeMenu::mouseMoveEvent(QMouseEvent *ev){ this->setGeometry(geom); if(contents!=0){ contents->setFixedSize(QSize(geom.width()-2, geom.height()-2));} handled = true; - break; + break; case BOTTOM: if(gpos.y() <= geom.top()+1){ break; } geom.setBottom( gpos.y()); this->setGeometry(geom); if(contents!=0){ contents->setFixedSize(QSize(geom.width()-2, geom.height()-2));} handled = true; - break; + break; case LEFT: if(gpos.x() >= geom.right()-1){ break; } geom.setLeft(gpos.x()); this->setGeometry(geom); if(contents!=0){ contents->setFixedSize(QSize(geom.width()-2, geom.height()-2));} handled = true; - break; + break; case RIGHT: if(gpos.x() <= geom.left()+1){ break; } geom.setRight(gpos.x()); diff --git a/src-qt5/core/libLumina/ResizeMenu.h b/src-qt5/core/libLumina/ResizeMenu.h index ed909da3..029d2716 100644 --- a/src-qt5/core/libLumina/ResizeMenu.h +++ b/src-qt5/core/libLumina/ResizeMenu.h @@ -17,7 +17,7 @@ #include <QPoint> //Special subclass for a menu which the user can grab the edges and resize as necessary -// Note: Make sure that you don't set 0pixel contents margins on this menu +// Note: Make sure that you don't set 0pixel contents margins on this menu // - it needs at least 1 pixel margins for the user to be able to grab it class ResizeMenu : public QMenu{ Q_OBJECT @@ -26,13 +26,14 @@ public: virtual ~ResizeMenu(); void setContents(QWidget *con); + void resyncSize(); private: enum SideFlag{NONE, TOP, BOTTOM, LEFT, RIGHT}; SideFlag resizeSide; QWidget *contents; QWidgetAction *cAct; - + private slots: void clearFlags(){ resizeSide=NONE; |