[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: KDE/kdebase/workspace/plasma/applets/pager
From: Aaron J. Seigo <aseigo () kde ! org>
Date: 2009-01-25 20:53:51
Message-ID: 1232916831.717791.4496.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 916726 by aseigo:
this fixes the pager from consta-painting ;) and chewing cpu; not resizing directly \
probably isn't always correct and may need a more involved fix, but at least now you \
can have your cpu back ;)
M +25 -13 pager.cpp
M +1 -0 pager.h
--- trunk/KDE/kdebase/workspace/plasma/applets/pager/pager.cpp #916725:916726
@@ -67,7 +67,8 @@
m_dirtyDesktop(-1),
m_dragStartDesktop(-1),
m_dragHighlightedDesktop(-1),
- m_dragSwitchDesktop(-1)
+ m_dragSwitchDesktop(-1),
+ m_ignoreNextSizeConstraint(false)
{
setAcceptsHoverEvents(true);
setAcceptDrops(true);
@@ -141,13 +142,19 @@
void Pager::constraintsEvent(Plasma::Constraints constraints)
{
if (constraints & Plasma::SizeConstraint) {
- recalculateGeometry();
- recalculateWindowRects();
- if (m_background->hasElementPrefix(QString())) {
- m_background->setElementPrefix(QString());
- m_background->resizeFrame(size());
+ if (m_ignoreNextSizeConstraint) {
+ kDebug() << "ignoring size constraint";
+ m_ignoreNextSizeConstraint = false;
+ } else {
+ recalculateGeometry();
+ recalculateWindowRects();
+ if (m_background->hasElementPrefix(QString())) {
+ m_background->setElementPrefix(QString());
+ m_background->resizeFrame(size());
+ }
}
}
+
if (constraints & Plasma::FormFactorConstraint) {
if (formFactor() == Plasma::Horizontal) {
setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Expanding);
@@ -325,7 +332,7 @@
//kDebug() << "new size set" << m_size << m_rows << m_columns << columns << \
itemWidth;
- resize(m_size);
+ //resize(m_size);
setPreferredSize(m_size);
if (m_desktopLayoutOwner && columns != m_columns) {
// must own manager selection before setting global desktop layout
@@ -334,6 +341,8 @@
NETRootInfo i( QX11Info::display(), 0 );
i.setDesktopLayout( orient, columns, rows, NET::DesktopLayoutCornerTopLeft \
); }
+
+ m_ignoreNextSizeConstraint = true;
}
void Pager::recalculateWindowRects()
@@ -343,10 +352,14 @@
for (int i = 0; i < m_desktopCount; i++) {
m_windowRects.append(QList<QPair<WId, QRect> >());
}
+
m_activeWindows.clear();
m_windowInfo.clear();
- foreach(WId window, windows) {
- KWindowInfo info = KWindowSystem::windowInfo(window, NET::WMGeometry | \
NET::WMFrameExtents | NET::WMWindowType | NET::WMDesktop | NET::WMState | \
NET::XAWMState | NET::WMVisibleName); +
+ foreach (WId window, windows) {
+ KWindowInfo info = KWindowSystem::windowInfo(window, NET::WMGeometry | \
NET::WMFrameExtents | + \
NET::WMWindowType | NET::WMDesktop | + \
NET::WMState | NET::XAWMState | NET::WMVisibleName);
NET::WindowType type = info.windowType(NET::NormalMask | NET::DialogMask | \
NET::OverrideMask |
NET::UtilityMask | NET::DesktopMask | \
NET::DockMask |
NET::TopMenuMask | NET::SplashMask | \
NET::ToolbarMask | @@ -395,13 +408,12 @@
DisplayedText displayedText;
- if (ui.desktopNumberRadioButton->isChecked()){
+ if (ui.desktopNumberRadioButton->isChecked()) {
displayedText = Number;
- }else if (ui.desktopNameRadioButton->isChecked()){
+ } else if (ui.desktopNameRadioButton->isChecked()) {
displayedText = Name;
-
- }else{
+ } else {
displayedText = None;
}
--- trunk/KDE/kdebase/workspace/plasma/applets/pager/pager.h #916725:916726
@@ -146,6 +146,7 @@
// desktop switching on drop event
int m_dragSwitchDesktop;
QTimer* m_dragSwitchTimer;
+ bool m_ignoreNextSizeConstraint;
static const int s_FadeInDuration = 50;
static const int s_FadeOutDuration = 100;
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic