Modal property

This commit is contained in:
Martin Gräßlin 2011-12-22 17:54:07 +01:00
parent 7061ab7d24
commit 60f1c75ffb
2 changed files with 6 additions and 1 deletions

View file

@ -1551,6 +1551,7 @@ void Client::setModal(bool m)
if (modal == m) if (modal == m)
return; return;
modal = m; modal = m;
emit modalChanged();
if (!modal) if (!modal)
return; return;
// Changing modality for a mapped window is weird (?) // Changing modality for a mapped window is weird (?)

View file

@ -113,7 +113,10 @@ class Client
Q_PROPERTY(bool minimizable READ isMinimizable) Q_PROPERTY(bool minimizable READ isMinimizable)
// TODO: setter and notify signal // TODO: setter and notify signal
Q_PROPERTY(bool minimized READ isMinimized) Q_PROPERTY(bool minimized READ isMinimized)
Q_PROPERTY(bool modal READ isModal) /**
* Whether the Client represents a modal window.
**/
Q_PROPERTY(bool modal READ isModal NOTIFY modalChanged)
Q_PROPERTY(bool moveable READ isMovable) Q_PROPERTY(bool moveable READ isMovable)
Q_PROPERTY(bool moveableAcrossScreens READ isMovableAcrossScreens) Q_PROPERTY(bool moveableAcrossScreens READ isMovableAcrossScreens)
// TODO: notify signal // TODO: notify signal
@ -548,6 +551,7 @@ signals:
void desktopChanged(); void desktopChanged();
void fullScreenChanged(); void fullScreenChanged();
void transientChanged(); void transientChanged();
void modalChanged();
private: private:
void exportMappingState(int s); // ICCCM 4.1.3.1, 4.1.4, NETWM 2.5.1 void exportMappingState(int s); // ICCCM 4.1.3.1, 4.1.4, NETWM 2.5.1