Move WindowOperation enum to Options

With this Options no longer needs to inherit from KDecorationDefines.
icc-effect-5.14.5
Martin Gräßlin 2014-12-02 10:39:38 +01:00
parent b9fb7df15a
commit d4bf3602ce
6 changed files with 41 additions and 6 deletions

View File

@ -483,7 +483,7 @@ public:
const QKeySequence &shortcut() const; const QKeySequence &shortcut() const;
void setShortcut(const QString& cut); void setShortcut(const QString& cut);
WindowOperation mouseButtonToWindowOperation(Qt::MouseButtons button); Options::WindowOperation mouseButtonToWindowOperation(Qt::MouseButtons button);
bool performMouseCommand(Options::MouseCommand, const QPoint& globalPos); bool performMouseCommand(Options::MouseCommand, const QPoint& globalPos);
QRect adjustedClientArea(const QRect& desktop, const QRect& area) const; QRect adjustedClientArea(const QRect& desktop, const QRect& area) const;

View File

@ -142,7 +142,7 @@ DELEGATE(WId, decorationId, frameId)
#define DELEGATE(name, op) \ #define DELEGATE(name, op) \
void DecoratedClientImpl::name() \ void DecoratedClientImpl::name() \
{ \ { \
Workspace::self()->performWindowOperation(m_client, KDecorationDefines::op); \ Workspace::self()->performWindowOperation(m_client, Options::op); \
} }
DELEGATE(requestToggleShade, ShadeOp) DELEGATE(requestToggleShade, ShadeOp)

View File

@ -1155,7 +1155,7 @@ double Options::animationTimeFactor() const
return factors[ animationSpeed ]; return factors[ animationSpeed ];
} }
KDecorationDefines::WindowOperation Options::operationMaxButtonClick(Qt::MouseButtons button) const Options::WindowOperation Options::operationMaxButtonClick(Qt::MouseButtons button) const
{ {
return button == Qt::RightButton ? opMaxButtonRightClick : return button == Qt::RightButton ? opMaxButtonRightClick :
button == Qt::MidButton ? opMaxButtonMiddleClick : button == Qt::MidButton ? opMaxButtonMiddleClick :

View File

@ -47,13 +47,14 @@ enum HiddenPreviews {
class Settings; class Settings;
class Options : public QObject, public KDecorationDefines class Options : public QObject
{ {
Q_OBJECT Q_OBJECT
Q_ENUMS(FocusPolicy) Q_ENUMS(FocusPolicy)
Q_ENUMS(GlSwapStrategy) Q_ENUMS(GlSwapStrategy)
Q_ENUMS(MouseCommand) Q_ENUMS(MouseCommand)
Q_ENUMS(MouseWheelCommand) Q_ENUMS(MouseWheelCommand)
Q_ENUMS(WindowOperation)
Q_PROPERTY(FocusPolicy focusPolicy READ focusPolicy WRITE setFocusPolicy NOTIFY focusPolicyChanged) Q_PROPERTY(FocusPolicy focusPolicy READ focusPolicy WRITE setFocusPolicy NOTIFY focusPolicyChanged)
Q_PROPERTY(bool nextFocusPrefersMouse READ isNextFocusPrefersMouse WRITE setNextFocusPrefersMouse NOTIFY nextFocusPrefersMouseChanged) Q_PROPERTY(bool nextFocusPrefersMouse READ isNextFocusPrefersMouse WRITE setNextFocusPrefersMouse NOTIFY nextFocusPrefersMouseChanged)
@ -347,6 +348,37 @@ public:
return m_legacyFullscreenSupport; return m_legacyFullscreenSupport;
} }
enum WindowOperation {
MaximizeOp = 5000,
RestoreOp,
MinimizeOp,
MoveOp,
UnrestrictedMoveOp,
ResizeOp,
UnrestrictedResizeOp,
CloseOp,
OnAllDesktopsOp,
ShadeOp,
KeepAboveOp,
KeepBelowOp,
OperationsOp,
WindowRulesOp,
ToggleStoreSettingsOp = WindowRulesOp, ///< @obsolete
HMaximizeOp,
VMaximizeOp,
LowerOp,
FullScreenOp,
NoBorderOp,
NoOp,
SetupWindowShortcutOp,
ApplicationRulesOp,
RemoveTabFromGroupOp, // Remove from group
CloseTabGroupOp, // Close the group
ActivateNextTabOp, // Move left in the group
ActivatePreviousTabOp, // Move right in the group
TabDragOp,
};
WindowOperation operationTitlebarDblClick() const { WindowOperation operationTitlebarDblClick() const {
return OpTitlebarDblClick; return OpTitlebarDblClick;
} }
@ -914,4 +946,6 @@ extern Options* options;
} // namespace } // namespace
Q_DECLARE_METATYPE(KWin::Options::WindowOperation)
#endif #endif

View File

@ -740,7 +740,7 @@ void UserActionsMenu::slotWindowOperation(QAction *action)
QMetaObject::invokeMethod(workspace(), "performWindowOperation", QMetaObject::invokeMethod(workspace(), "performWindowOperation",
Qt::QueuedConnection, Qt::QueuedConnection,
Q_ARG(KWin::Client*, c.data()), Q_ARG(KWin::Client*, c.data()),
Q_ARG(KDecorationDefines::WindowOperation, op)); Q_ARG(Options::WindowOperation, op));
} }
void UserActionsMenu::slotSendToDesktop(QAction *action) void UserActionsMenu::slotSendToDesktop(QAction *action)

View File

@ -26,6 +26,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// kwin // kwin
#include <kdecoration.h> #include <kdecoration.h>
#include "sm.h" #include "sm.h"
#include "options.h"
#include "utils.h" #include "utils.h"
// Qt // Qt
#include <QTimer> #include <QTimer>
@ -330,7 +331,7 @@ public:
void unregisterEventFilter(X11EventFilter *filter); void unregisterEventFilter(X11EventFilter *filter);
public Q_SLOTS: public Q_SLOTS:
void performWindowOperation(KWin::Client* c, KDecorationDefines::WindowOperation op); void performWindowOperation(KWin::Client* c, Options::WindowOperation op);
// Keybindings // Keybindings
//void slotSwitchToWindow( int ); //void slotSwitchToWindow( int );
void slotWindowToDesktop(); void slotWindowToDesktop();