22 #ifndef DASHBOARDWINDOWMANAGER_H
23 #define DASHBOARDWINDOWMANAGER_H
29 #include "CustomEvents.h"
36 #include <QParallelAnimationGroup>
37 #include <QPropertyAnimation>
39 class QGraphicsSceneMouseEvent;
55 class QDeclarativeComponent;
88 return m_stateCurrent == (
DWMStateBase*)m_stateAlertOpen;
92 return m_alertWinContainer->isVisible();
96 return m_alertWinArray.empty() ? 0 : (
const Window*) m_alertWinArray[0];
100 return (
const Window*) m_activeTransientAlert;
104 return m_notificationPolicy;
108 if (m_alertWinArray.empty())
111 return m_alertWinArray[0];
115 return m_dashboardWinContainer;
123 m_stateCurrent = state;
143 return m_AlertWindowFadeOption;
149 int activeAlertWindowHeight();
150 void setupStateMachine();
151 void resize(
int width,
int height);
152 void resizeAlertWindows(
int width);
153 void negativeSpaceChanged(
const QRect& r);
154 void addWindow(
Window* win);
155 void removeWindow(
Window* win);
160 void addAlertWindowBasedOnPriority(
AlertWindow* win);
161 bool doesMousePressFallInBannerWindow(QGraphicsSceneMouseEvent* event);
163 void mousePressEvent(QGraphicsSceneMouseEvent* event);
164 void mouseMoveEvent(QGraphicsSceneMouseEvent* event);
165 void mouseReleaseEvent(QGraphicsSceneMouseEvent* event);
166 bool sceneEvent(
QEvent* event);
177 void slotPositiveSpaceChanged(
const QRect& r);
178 void slotPositiveSpaceChangeFinished(
const QRect& r);
179 void slotNegativeSpaceChanged(
const QRect& r);
180 void slotNegativeSpaceChangeFinished(
const QRect& r);
181 void slotOpenDashboard();
182 void slotCloseDashboard(
bool forceClose);
183 void slotCloseAlert();
186 void slotDashboardViewportHeightChanged();
187 void slotDeleteAnimationFinished();
188 void slotTransientAnimationFinished();
189 void slotDashboardAreaRightEdgeOffset(
int offset);
191 void slotDockModeAnimationStarted();
192 void slotDockModeAnimationComplete();
200 void positionDashboardContainer(
const QRect& posSpace = QRect());
201 void positionAlertWindowContainer(
const QRect& posSpace = QRect());
202 void positionTransientWindowContainer(
const QRect& posSpace = QRect());
204 QParallelAnimationGroup m_fadeInOutAnimation;
205 QPropertyAnimation m_transAlertAnimation;
218 QVector<AlertWindow*> m_alertWinArray;
221 bool m_deleteTransientWinAfterAnimation;
225 bool m_bannerHasContent;
226 int m_dashboardRightOffset;
229 QDeclarativeComponent* m_qmlNotifMenu;
232 int m_notifMenuRightEdgeOffset;
234 bool m_inDockModeAnimation;