diff -r ebdbd102c78a -r 2eacb6118286 phoneuis/bubblemanager2/inc/bubblemanagerif.h --- a/phoneuis/bubblemanager2/inc/bubblemanagerif.h Fri May 14 15:51:57 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,347 +0,0 @@ -/*! -* 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: Bubble manager's interface. -* -*/ - -#ifndef BUBBLEMANAGERIF_H -#define BUBBLEMANAGERIF_H - -#include - -class HbAction; -class QGraphicsWidget; - -class BubbleManagerIF -{ - -public: - - // Call states - enum PhoneCallState - { - None = 0, // Default on creation - OnHold, - Disconnected, - Active, - Incoming, - Waiting, - AlertToDisconnected, - Outgoing, - Alerting - }; - - // Call Flags - enum PhoneCallFlag - { - Normal = 0x00, // Default - NoCiphering = 0x08, - Line2 = 0x10, - Muted = 0x20, - Diverted = 0x40, - Video = 0x80, - VoIPCall = 0x100 - }; - Q_DECLARE_FLAGS(PhoneCallFlags, PhoneCallFlag) - - // Number types - enum PhoneNumberType - { - NotSet = 0, // Default - Home, - Mobile, - Work, - Phone, - FaxNumber, - Pager, - Car, - Assistant - }; - - // Cli shown in conference participant list - enum ParticipantListCli - { - ParticipantListCliText, // Name or Call %N - ParticipantListPhoneNumber // Phonenumber - }; - - -public: - - // ==================================================== - // Must surround all the changes: - // ==================================================== - // - - /** - * Before making any changes to bubble headers, call this function - * so that manager can prapare for them properly. - */ - virtual void startChanges () = 0; - - /** - * After the changes to bubble headers call this function so manager - * can prepare bubbles to right places and check the drawing order. - * Memory for arrays has been allocated beforehand. - */ - virtual void endChanges () = 0; - - - // ==================================================== - // For call headers and some for conference call - // ==================================================== - // - - /** - * Takes a new call header in use. - * Returns bubble idenfication number. - */ - virtual int createCallHeader () = 0; - - /** - * Removes call header from use - */ - - virtual void removeCallHeader (int bubbleId) = 0; - - /** - * Sets call state to header. - */ - virtual void setState (int bubbleId, PhoneCallState state) = 0; - - /** - * Sets text label to header. For conf also. - * Text to be seen in bubble ( e.g. 'on hold' ) - */ - virtual void setLabel ( - int bubbleId, - const QString& text, - Qt::TextElideMode clipDirection) = 0; - - /** - * Sets caller's line identification ( name or number) to header. - * For conf also. Caller's CLI ( e.g. 'Mother' ) - */ - virtual void setCli (int bubbleId, - const QString& cliText, - Qt::TextElideMode clipDirection) = 0; - - /** - * Updates caller's line identification ( name or number) to header. - * Caller's CLI ( e.g. 'Daddy' )- - */ - virtual void updateCLI ( - int bubbleId, - const QString& cliText, - Qt::TextElideMode clipDirection) = 0; - - /** - * Number or voip adress, when phonebook name takes Cli. - */ - virtual void setSecondaryCli ( - int bubbleId, - const QString& cliText, - Qt::TextElideMode clipDirection = Qt::ElideLeft) = 0; - - /** - * Sets call time or cost text to header. For conf also. - */ - virtual void setCallTime (int bubbleId, const QString& callTime) = 0; - - /** - * Updates call time or cost text to header. For conf also. - * Timer or cost text ( e.g. '00:12:34' or '£01.23' ). - */ - virtual void updateCallTime (int bubbleId, const QString& callTime) = 0; - - /** - * Attach a call image to header. - */ - virtual void setCallObjectImage (int bubbleId, const QString &fileName) = 0; - - /** - * Attach the theme call image to header. - */ - virtual void setCallObjectFromTheme (int bubbleId) = 0; - - /** - * Sets call flags to header. - */ - virtual void setCallFlags (int bubbleId, int flags) = 0; - - /** - * Sets call flags to header. - */ - virtual void setCallFlag (int bubbleId, BubbleManagerIF::PhoneCallFlags callFlags, bool set) = 0; - - /** - * Sets number type. - */ - virtual void setNumberType (int bubbleId, PhoneNumberType type) = 0; - - // ==================================================== - // For all bubbles - // ==================================================== - // - - /** - * Sets phone muted/unmuted. - * @param aIsMuted ETrue if phone is muted. - */ - virtual void setPhoneMuted (bool muted) = 0; - - - // ==================================================== - // For conference call - // ==================================================== - // - - /** - * Creates a conference call based upon two calls. Bubbles must be - * created first. - */ - virtual int createConference (int bubble1, int bubble2) = 0; - - /** - * Splits conference call into invidual two calls. Call headers stays - * in use. Headers' state will not be changed. - */ - virtual void removeConference () = 0; - - /** - * Adds new call to conference call. - */ - virtual void addRowToConference (int bubbleId) = 0; - - /** - * Takes specified call out of conference. Use RemoveConference if - * conference has only two calls in it. Header's state is same as - * before adding it to conference (if not changed inside the conf). - */ - virtual void removeRowFromConference (int bubbleId) = 0; - - /** - * Counts calls in conference call. - */ - virtual int conferenceRowCount () const = 0; - - /** - * Sets highlight to specified line in conference. - */ - virtual void setSelectionInConference (int rowNumber) = 0; - - /** - * Sets highlight to specified bubble id in conference. - */ - virtual void setSelectionIdInConference (int bubbleId) = 0; - - /** - * Gets highlighted item in conference. - */ - virtual int selectionInConference () const = 0; - - /** - * Gets highlighted item in conference. - */ - virtual int selectionIdInConference () const = 0; - - /** - * Moves highligh one up if possible - */ - virtual void moveHighlightOneUpInConference () = 0; - - /** - * Moves highligh one down if possible - */ - virtual void moveHighlightOneDownInConference () = 0; - - /** - * Use this function to expand or shrink conference bubble. - */ - virtual void setExpandedConferenceCallHeader (bool expanded) = 0; - - /** - * Query: is conference expanded? - */ - virtual bool isConferenceExpanded () const = 0; - - /** - * Number of headers shown on the screen. - */ - virtual int shownHeaderCount () const = 0; - - /** - * Set CLI used in participant list (text or phonenumber). - */ - virtual void setParticipantListCli (int aBubbleId, ParticipantListCli aParticipantCli) = 0; - - - // ==================================================== - // Call bubble actions - // ==================================================== - // - - /** - * Appends new action to call bubble - */ - virtual void addAction (int bubble, HbAction *action) = 0; - - /** - * Removes all actions from call bubble - */ - virtual void clearActions (int bubble) = 0; - - /** - * Gets graphics widget for action - */ - virtual QGraphicsWidget* graphicsWidgetForAction (HbAction *action) const = 0; - - /** - * Appends new action to participant list in conference call bubble. - */ - virtual void addParticipantListAction (HbAction *action) = 0; - - /** - * Removes participant list actions from conference call bubble. - */ - virtual void clearParticipantListActions () = 0; - - - // ==================================================== - // Bubble state related (multicall) - // ==================================================== - // - - /** - * Bubble shown in expanded position. - */ - virtual int expandedBubble() const = 0; - - /** - * Sets action that is triggered when user taps collapsed - * call bubble and it changes to expanded. Setting null - * pointer removes expand action. - */ - virtual void setExpandAction(int bubble, HbAction* action) = 0; - - /** - * Bubble state (expanded/collapsed) cannot be changed when - * disabled is set true. - */ - virtual void setBubbleSelectionDisabled(bool disabled) = 0; -}; - -Q_DECLARE_OPERATORS_FOR_FLAGS(BubbleManagerIF::PhoneCallFlags) - -#endif // BUBBLEMANAGERIF_H