--- /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 <QObject>
+#include <hbview.h>
+#include "phoneuiqtviewif.h"
+#include <bubblemanagerif.h>
+#include <qsysteminfo.h>
+
+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<PhoneAction*>& 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<PhoneAction*>& 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<int , QSignalMapper *> m_bubbleMap;
+ QMap<int , QList<HbAction *> *> m_bubbleActionMap;
+ QSignalMapper *m_signalMapper;
+ QList<HbAction *> m_toolbarActions;
+ HbVolumeSliderPopup *m_volumeSlider;
+ QSignalMapper *m_expandSignalMapper;
+ QMap<int , HbAction*> m_expandActionMap;
+ QSignalMapper *m_participantListSignalMapper;
+ QList<HbAction *> m_participantListActions;
+ int m_volumeCommandId;
+ HbAction *m_backAction;
+ Dialpad *m_dialpad;
+ QSignalMapper *m_menuSignalMapper;
+ XQKeyCapture *m_keyCapture;
+ QSystemNetworkInfo *m_networkInfo;
+ QList<Qt::Key> m_keyCaptures;
+ DialpadKeyHandler *m_dialpadKeyHandler;
+ bool m_restrictedMode;
+};
+
+#endif // PHONEUIQTVIEW_H