[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    KDE/kdebase/workspace/plasma/shells/screensaver
From:       Chani Armitage <chanika () gmail ! com>
Date:       2008-12-26 22:00:16
Message-ID: 1230328816.493143.25730.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 901909 by chani:

I don't like this hack. I really don't like this hack. but it prevents \
Plasma::Dialogs from making plasma-overlay ignore all input, and gives at least some \
of those dialogs the ability to respond to input (with bugs still, but minor ones).


 M  +12 -2     plasmaapp.cpp  


--- trunk/KDE/kdebase/workspace/plasma/shells/screensaver/plasmaapp.cpp \
#901908:901909 @@ -53,12 +53,14 @@
 
 #include <Plasma/Containment>
 #include <Plasma/Theme>
+#include <Plasma/Dialog>
 
 #include "appadaptor.h"
 #include "savercorona.h"
 #include "saverview.h"
 #include "backgrounddialog.h"
 
+
 #include <X11/Xlib.h>
 #include <X11/extensions/Xrender.h>
 
@@ -411,8 +413,16 @@
                     //we force-disable window management and frames to cut off \
                access to wm-y stuff
                     //and to make it easy to check the tag (frames are a pain)
                     kDebug() << "!!!!!!!setting flags on!!!!!" << widget;
-                    m_dialogs.append(widget);
-                    connect(widget, SIGNAL(destroyed(QObject*)), \
SLOT(dialogDestroyed(QObject*))); +                    if \
(qobject_cast<Plasma::Dialog*>(widget)) { +                        //this is a \
terrible horrible hack that breaks extenders but it mostly works +                    \
//weird thing is, it sometimes makes the calendar popup too small. +                  \
newFlags = Qt::Popup; +                    } else {
+                        //plasmadialogs can't handle direct input
+                        //but configdialogs need it
+                        m_dialogs.append(widget);
+                        connect(widget, SIGNAL(destroyed(QObject*)), \
SLOT(dialogDestroyed(QObject*))); +                    }
                     widget->setWindowFlags(newFlags);
                     widget->show(); //setting the flags hid it :(
                     //qApp->setActiveWindow(widget); //gives kbd but not mouse \
events


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic