diff -r 40a3f856b14d -r 41a7f70b3818 phoneapp/phoneuiview2/inc/phoneuiqtview.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/phoneapp/phoneuiview2/inc/phoneuiqtview.h Tue Aug 31 15:14:29 2010 +0300 @@ -0,0 +1,401 @@ +/*! +* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: Phone UI's Qt view. +* +*/ + +#ifndef PHONEUIQTVIEW_H +#define PHONEUIQTVIEW_H + +#include +#include +#include "phoneuiqtviewif.h" +#include +#include + +class BubbleManager; +class HbAction; +class QSignalMapper; +class HbToolBar; +class HbVolumeSliderPopup; +class Dialpad; +class XQKeyCapture; +class DialpadKeyHandler; + +#ifdef BUILD_PHONEUIQTVIEW +#define PHONEUIQTVIEW_EXPORT Q_DECL_EXPORT +#else +#define PHONEUIQTVIEW_EXPORT Q_DECL_IMPORT +#endif + +using namespace QtMobility; + + +class PHONEUIQTVIEW_EXPORT PhoneUIQtView : public HbView, public PhoneUIQtViewIF +{ + Q_OBJECT + +public: + + /*! + Constructor + */ + PhoneUIQtView (HbMainWindow &window, QGraphicsItem *parent = 0); + + /*! + Destructor + */ + virtual ~PhoneUIQtView (); + + /*! + \fn void PhoneUIQtView::bubbleManager () + + Returns BubbleManager interface. + */ + BubbleManagerIF& bubbleManager(); + + /*! + \fn void PhoneUIQtView::addBubbleCommand () + + Adds new command to bubble. Command id will be emitted as + a parameter from view's command(int) signal. + */ + void addBubbleCommand (int bubbleId, const PhoneAction& action); + + /*! + \fn void PhoneUIQtView::clearBubbleCommands () + + Clears commands from bubble. + */ + void clearBubbleCommands (int bubbleId); + + /*! + \fn void PhoneUIQtView::addParticipantListAction () + + Adds new patricipant list command to conference bubble. + */ + void addParticipantListAction(int commandId, const QString &text, const HbIcon &icon); + + /*! + \fn void PhoneUIQtView::clearBubbleCommands () + + Clears participant list commands from conference bubble. + */ + void clearParticipantListActions(); + + /*! + \fn void PhoneUIQtViewIF::setToolbarActions() + + Sets toolbar actions. + */ + void setToolbarActions(const QList& actions); + + /*! + \fn void PhoneUIQtView::hideToolbar () + + Hides toolbar. + */ + void hideToolbar (); + + /*! + \fn void PhoneUIQtView::showToolbar () + + Shows toolbar. + */ + void showToolbar (); + + /*! + \fn void PhoneUIQtView::volumeSliderValue () + + Returns HbVolumeSliderPopup's volume value. + If this volume slider isn't active -1 is returned. + */ + int volumeSliderValue (); + + /*! + \fn void PhoneUIQtView::setVolumeSliderValue (int value) + + Sets slider value to HbVolumeSliderPopup. + */ + void setVolumeSliderValue ( + int value, + int commandId, + int maxVolumeValue, + int minVolumeValue); + + /*! + \fn void PhoneUIQtView::removeVolumeSlider () + + Removes HbVolumeSliderPopup. + */ + void removeVolumeSlider (); + + /*! + \fn void PhoneUIQtView::setExpandAction () + + Sets expand action. + */ + void setExpandAction(int bubbleId, int commandId); + + /*! + \fn void PhoneUIQtView::removeExpandAction () + + Removes expand action. + */ + void removeExpandAction(int bubbleId); + + /*! + \fn void PhoneUIQtView::showDialpad() + + Shows dialpad widget. + */ + void showDialpad(); + + /*! + \fn void PhoneUIQtView::hideDialpad() + + Hides dialer widget. + */ + void hideDialpad(); + + /*! + \fn void PhoneUIQtView::isDialpadVisible() + + Checks is dialpad visible. + */ + bool isDialpadVisible(); + + /*! + \fn void PhoneUIQtView::dialpadText() + + Returns content of the dialpad. + */ + QString dialpadText(); + + /*! + \fn void PhoneUIQtView::dialpadString() + + Clears and hides dialpad. + */ + void clearAndHideDialpad(); + + /*! + \fn void PhoneUIQtView::clearDialpad() + + Clears text from dialpad. + */ + void clearDialpad(); + + /*! + \fn void PhoneUIQtView::bringToForeground() + + Brings to foreground. + */ + void bringToForeground(); + + /*! + \fn void PhoneUIQtViewIF::setToolbarActions() + + Sets menu actions for call handling. + */ + void setMenuActions(const QList& actions); + + /*! + \fn void PhoneUIQtView::setBackButtonVisible() + + Set the Back command visibility in TitleBar + */ + void setBackButtonVisible(bool visible); + + /*! + \fn void PhoneUIQtViewIF::menuReference() + + Returns HbMenu reference. + */ + HbMenu &menuReference(); + + /*! + \fn void PhoneUIQtViewIF::captureKey() + + Captures key. + */ + void captureKey(Qt::Key key, bool capture); + + /* + \fn void setRestrictedMode() + + Sets Ui to restricted mode. Decides which keyevent are allowed. + */ + void setRestrictedMode(bool restrictedMode); + +public slots: + + /*! + \fn void PhoneUIQtView::volumeSliderClosed () + + HbVolumeSliderPopup calls this method when slider + is going to be closed. + */ + void volumeSliderClosed (); + + /*! + \fn void PhoneUIQtView::volumeSliderChanged (int value) + + HbVolumeSliderPopup calls this method when it's value is changed. + */ + void volumeSliderChanged(int value); + + /*! + \fn void PhoneUIQtView::handleOrientationChange(Qt::Orientation orientation) + + HbMainWindow calls this method when orientation is changed. + */ + void handleOrientationChange(Qt::Orientation orientation); + + /*! + \fn void PhoneUIQtView::backButtonClicked(Qt::Orientation orientation) + + HbMainWindow calls this method when back softkey is clicked. + */ + void backButtonClicked(); + + /*! + \fn void PhoneUIQtView::onEditorContentChanged() + + Dialpad calls this method when dialpad content is changed. + */ + void onEditorContentChanged(); + + /*! + \fn void dialpadClosed() + + Dialpad calls this method when dialpad is closed. + */ + void dialpadClosed(); + + /*! + \fn void PhoneUIQtView::shutdownPhoneApp() + + Shutdown phone application. + */ + void shutdownPhoneApp(); + + /*! + \fn void PhoneUIQtView::networkNameChanged(QSystemNetworkInfo::NetworkMode mode, const QString &netName) + + Network name change is informed via this method. + */ + void networkNameChanged(QSystemNetworkInfo::NetworkMode mode, const QString &netName); + + +signals: + + /*! + \fn void keyPressed (QKeyEvent *event) + + This signal is emitted when key is pressed down. + */ + void keyPressed (QKeyEvent *event); + + /*! + \fn void keyPressed (QKeyEvent *event) + + This signal is emitted when key is released. + */ + void keyReleased (QKeyEvent *event); + + /*! + \fn void command(int command) + + This signal is emitted when UI action is handled. + */ + void command (int command); + + /*! + \fn void dialpadIsAboutToClose() + + This signal is emitted when dialpad is about to close. + */ + void dialpadIsAboutToClose(); + + /*! + \fn void windowActivated(); + + This signal is emitted when window is activated + */ + void windowActivated(); + + /*! + \fn void windowDeactivated(); + + This signal is emitted when window is deactivated + */ + void windowDeactivated(); + +protected: + + /*! + \fn void eventFilter(int command) + + Handles key events. + */ + bool eventFilter(QObject * watched, QEvent * event); + +private: + + /*! + \fn void setDialpadPosition(int command) + + Sets dialpad position. + */ + void setDialpadPosition(); + + /*! + \fn void setActionRole() + + Sets action role. + */ + static void setActionRole(const PhoneAction& pa, HbAction& action); + + /*! + \fn void createToolBarActions() + + Creates tool bar actions. + */ + void createToolBarActions(); + +private: + HbMainWindow &m_window; + BubbleManager *m_bubbleManager; + QMap m_bubbleMap; + QMap *> m_bubbleActionMap; + QSignalMapper *m_signalMapper; + QList m_toolbarActions; + HbVolumeSliderPopup *m_volumeSlider; + QSignalMapper *m_expandSignalMapper; + QMap m_expandActionMap; + QSignalMapper *m_participantListSignalMapper; + QList m_participantListActions; + int m_volumeCommandId; + HbAction *m_backAction; + Dialpad *m_dialpad; + QSignalMapper *m_menuSignalMapper; + XQKeyCapture *m_keyCapture; + QSystemNetworkInfo *m_networkInfo; + QList m_keyCaptures; + DialpadKeyHandler *m_dialpadKeyHandler; + bool m_restrictedMode; +}; + +#endif // PHONEUIQTVIEW_H