[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: KDE/kdebase/workspace/plasma/applets/lock_logout
From: Loic Marteau <loic.marteau () gmail ! com>
Date: 2008-06-18 1:23:54
Message-ID: 1213752234.653835.23426.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 821641 by lmarteau:
now the applet deals correctly with size contrains events
BUG:164287
M +32 -0 lockout.cpp
--- trunk/KDE/kdebase/workspace/plasma/applets/lock_logout/lockout.cpp #821640:821641
@@ -62,20 +62,25 @@
void LockOut::checkLayout()
{
Qt::Orientation direction;
+ qreal ratioToKeep = 2;
switch (formFactor()) {
case Plasma::Vertical:
if (geometry().width() >= MINSIZE) {
direction = Qt::Horizontal;
+ ratioToKeep = 2;
} else {
direction = Qt::Vertical;
+ ratioToKeep = 0.5;
}
break;
case Plasma::Horizontal:
if (geometry().height() >= MINSIZE) {
direction = Qt::Vertical;
+ ratioToKeep = 0.5;
} else {
direction = Qt::Horizontal;
+ ratioToKeep = 2;
}
break;
default:
@@ -84,6 +89,33 @@
if (direction != m_layout->orientation()) {
m_layout->setOrientation(direction);
}
+
+ if (formFactor() == Plasma::Horizontal) {
+ //if we are on horizontal panel
+ setSizePolicy(QSizePolicy(QSizePolicy::Maximum, QSizePolicy::Expanding));
+ qreal wsize = size().height() * ratioToKeep;
+
+ resize(QSizeF(wsize, size().height()));
+ setMaximumSize(wsize, QWIDGETSIZE_MAX);
+ setMinimumSize(0, 0);
+
+ } else if (formFactor() == Plasma::Vertical) {
+ //if we are on vertical panel
+ setSizePolicy(QSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed));
+ qreal hsize = size().width() / ratioToKeep;
+ resize(QSizeF(size().width(), hsize));
+ setMaximumSize(QWIDGETSIZE_MAX, hsize);
+ setMinimumSize(0, 0);
+ } else {
+ if (ratioToKeep < 1) {
+ setMaximumSize(QWIDGETSIZE_MAX * ratioToKeep, QWIDGETSIZE_MAX);
+ } else {
+ setMaximumSize(QWIDGETSIZE_MAX, QWIDGETSIZE_MAX / ratioToKeep);
+ }
+
+ setMinimumSize(0, 0);
+ setMinimumSize(0, 0);
+ }
}
void LockOut::constraintsEvent(Plasma::Constraints constraints)
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic