Merge branch 'master' into ksplash/ksplash-qml

icc-effect-5.14.5
Marco Martin 2011-09-29 19:01:40 +02:00
commit 35c405b586
7 changed files with 26 additions and 9 deletions

View File

@ -1414,7 +1414,7 @@ namespace Oxygen
QList<Button*> buttons( widget()->findChildren<Button*>() );
foreach( Button* button, buttons )
{
if( event->rect().intersects( button->geometry() ) )
if( button->isVisible() && event->rect().intersects( button->geometry() ) )
{
painter.save();
painter.setViewport( button->geometry() );

View File

@ -1612,6 +1612,11 @@ bool EffectWindowImpl::isDNDIcon() const
return toplevel->isDNDIcon();
}
NET::WindowType EffectWindowImpl::windowType() const
{
return toplevel->windowType();
}
bool EffectWindowImpl::isManaged() const
{
return dynamic_cast< const Client* >(toplevel) != NULL;

View File

@ -285,6 +285,7 @@ public:
virtual bool isNotification() const;
virtual bool isComboBox() const;
virtual bool isDNDIcon() const;
virtual NET::WindowType windowType() const;
virtual bool isManaged() const; // managed or override-redirect
virtual bool acceptsFocus() const;
virtual bool keepAbove() const;

View File

@ -1292,9 +1292,10 @@ void CubeEffect::prePaintWindow(EffectWindow* w, WindowPrePaintData& data, int t
void CubeEffect::paintWindow(EffectWindow* w, int mask, QRegion region, WindowPaintData& data)
{
ShaderManager *shaderManager = ShaderManager::instance();
GLShader *shader = shaderManager->pushShader(ShaderManager::GenericShader);
GLShader *shader = NULL;
QMatrix4x4 origMatrix;
if (activated && cube_painting) {
shader = shaderManager->pushShader(ShaderManager::GenericShader);
//kDebug(1212) << w->caption();
float opacity = cubeOpacity;
if (start) {

View File

@ -388,9 +388,9 @@ static NET::WindowType comboToType(int val)
void RulesWidget::setRules(Rules* rules)
{
Rules tmp;
Q_ASSERT( rules );
const bool readFromNewEmptyRules = !rules;
if (readFromNewEmptyRules)
rules = new Rules;
description->setText(rules->description);
wmclass->setText(rules->wmclass);
@ -451,6 +451,11 @@ void RulesWidget::setRules(Rules* rules)
CHECKBOX_FORCE_RULE(strictgeometry,);
CHECKBOX_FORCE_RULE(disableglobalshortcuts,);
CHECKBOX_FORCE_RULE(blockcompositing,);
if (readFromNewEmptyRules) {
delete rules;
rules = NULL; // it's the function parameter...
}
}
#undef GENERIC_RULE

View File

@ -41,6 +41,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include <assert.h>
#include <limits.h>
#include <netwm.h>
class KLibrary;
class KConfigGroup;
@ -1212,6 +1213,11 @@ public:
* See _NET_WM_WINDOW_TYPE_DND at http://standards.freedesktop.org/wm-spec/wm-spec-latest.html .
*/
virtual bool isDNDIcon() const = 0;
/**
* Returns the NETWM window type
* See http://standards.freedesktop.org/wm-spec/wm-spec-latest.html .
*/
virtual NET::WindowType windowType() const = 0;
/**
* Returns whether the window is managed by KWin (it has control over its placement and other
* aspects, as opposed to override-redirect windows that are entirely handled by the application).

View File

@ -809,10 +809,9 @@ void Workspace::updateToolWindows(bool also_hide)
{
// TODO: What if Client's transiency/group changes? should this be called too? (I'm paranoid, am I not?)
if (!options->hideUtilityWindowsForInactive) {
for (ClientList::ConstIterator it = clients.constBegin();
it != clients.constEnd();
++it)
(*it)->hideClient(false);
for (ClientList::ConstIterator it = clients.constBegin(); it != clients.constEnd(); ++it)
if (!(*it)->clientGroup() || (*it)->clientGroup()->visible() == *it)
(*it)->hideClient(false);
return;
}
const Group* group = NULL;