22 #ifndef DOCKMODEWINDOWMANAGER_H
23 #define DOCKMODEWINDOWMANAGER_H
31 #include "CustomEvents.h"
33 #include <QPropertyAnimation>
34 #include <QParallelAnimationGroup>
35 #include <QGraphicsSceneMouseEvent>
37 #include <QDeclarativeComponent>
39 #include <QGestureEvent>
40 #include <QTextLayout>
44 #define MINIMIZED_SCALE_FACTOR 4.0
78 void paint(QPainter* painter,
const QStyleOptionGraphicsItem* option, QWidget* widget);
83 void resize(
int width,
int height);
113 void slotBootFinished();
114 void slotWindowChangeAnimationFinished();
115 void slotVisibilityChanged();
116 void slotLowMemoryActionsRequested(
bool allowExpensive);
118 void slotDockModeLaunchPointEnabled (
const LaunchPoint* lp);
119 void slotDockModeLaunchPointDisabled (
const LaunchPoint* lp);
120 void slotDockModeAnimationStarted();
121 void slotDockModeAnimationComplete();
122 void slotPuckConnected(
bool connected);
123 void slotPositiveSpaceChanged (
const QRect& rect);
124 void slotLaunchPointRemoved(
const LaunchPoint* lp, QBitArray reasons);
128 bool tapAndHoldEvent(QGestureEvent* tapAndHoldEvent);
130 int appIndexForId(
const std::string appId);
134 void closeApp(
const std::string appId);
135 void closeWindow(
Window* win);
137 bool enableDockModeLaunchPointInternal(
const LaunchPoint* lp,
bool isPermanent);
138 void updateDockModeLaunchPoint(
const LaunchPoint* lp);
140 void queueFocusAction(
Window* win,
bool focused);
141 void performPendingFocusActions();
142 void removePendingFocusActionWindow(
Window* win);
144 void positionLauncherIcons(
bool immediate =
true);
145 void configureAllIconsAndWindows();
147 int findDefaultDlpIndex (
const std::string&);
148 void animateWindowChange(
Window* win);
150 QRect m_screenBounds;
152 bool m_dashboardOpened;
153 bool m_dashboardSoftDismissable;
155 QPainter::CompositionMode m_compMode, m_previous;
156 QPixmap *m_background;
159 bool m_inTransitionAnimation;
161 OrientationEvent::Orientation m_orientation, m_newOrientation;
167 QRect m_positiveSpace;
176 Window* m_lastMaximizedWin;
178 bool m_inReorderMode;
181 std::set<Window*> m_pendingActionWinSet;
184 QPointer<QPropertyAnimation> m_fadeAnimation;
186 Window* m_windowInAnimation;
189 QPropertyAnimation m_windowAnimationCurrent;
190 QPropertyAnimation m_windowAnimationNext;
191 QParallelAnimationGroup m_windowChangeAnimationGroup;
195 QPointer<QParallelAnimationGroup> m_systemAppAnimation;
197 std::map<std::string, int> m_puckIdToDlpIndex;
198 std::string m_currentPuckId;