--- a/classicui_plat/avkon_localised_texts_api/loc/avkon.loc Mon Mar 15 12:41:34 2010 +0200
+++ b/classicui_plat/avkon_localised_texts_api/loc/avkon.loc Wed Mar 31 21:59:52 2010 +0300
@@ -4283,5 +4283,11 @@
//r: TB9.2
#define text_chi_input_stroke_phrase "Stroke phrase"
+// d: Default text shown in the universal indicator popup for integrate im indicator.
+// l: list_single_uniindi_pane_t1
+// w:
+// r: TB9.2
+//
+#define qtn_iim_uni_ind_default "New unread chats"
// End of File
--- a/classicui_plat/extended_editors_api/inc/aknedwincustomdrawbase.h Mon Mar 15 12:41:34 2010 +0200
+++ b/classicui_plat/extended_editors_api/inc/aknedwincustomdrawbase.h Wed Mar 31 21:59:52 2010 +0300
@@ -25,7 +25,6 @@
class CTextView;
class CTextLayout;
-class MAknsSkinInstance;
#include <lafmain.h>
#include <AknPictographDrawerInterface.h>
@@ -193,7 +192,6 @@
CWindowGc* iSysGc;
CAknPictographInterface* iPictographDrawer; // owned
TInt iWsBufferRequestId;
- MAknsSkinInstance* iSkinInstance;
};
#endif
--- a/classicui_plat/extended_setting_pages_api/tsrc/src/testdomsetpageblocks.cpp Mon Mar 15 12:41:34 2010 +0200
+++ b/classicui_plat/extended_setting_pages_api/tsrc/src/testdomsetpageblocks.cpp Wed Mar 31 21:59:52 2010 +0300
@@ -777,8 +777,11 @@
CAknTransparentCameraSettingPageExt( R_SETTING_PAGE, index, array );
CleanupStack::PushL( setPageExt );
setPageExt->ConstructL();
-
+
+ CWindowGc& gc = setPageExt->SystemGc();
+ gc.Activate( *setPageExt->DrawableWindow() );
setPageExt->DoDraw( TRect() );
+ gc.Deactivate();
CleanupStack::PopAndDestroy( setPageExt );
CleanupStack::PopAndDestroy( array );
--- a/classicui_plat/find_item_ui_api/inc/finditemmenu.h Mon Mar 15 12:41:34 2010 +0200
+++ b/classicui_plat/find_item_ui_api/inc/finditemmenu.h Wed Mar 31 21:59:52 2010 +0300
@@ -371,6 +371,12 @@
TBool ItemFinderExists();
TPtrC CurrentSelection();
+ /**
+ * Returns text highlight status.
+ * @return ETrue if there is highlighted text, otherwise EFalse
+ */
+ TBool HasSelection() const;
+
private:
/**
* Enumeration for menu command ids
--- a/classicui_plat/ganes_api/inc/ganes/HgVgMediaWall.h Mon Mar 15 12:41:34 2010 +0200
+++ b/classicui_plat/ganes_api/inc/ganes/HgVgMediaWall.h Wed Mar 31 21:59:52 2010 +0300
@@ -99,7 +99,9 @@
enum THgVgMediaWallEvent
{
EHgVgMediaWallEventRequestHideSoftkeys,
- EHgVgMediaWallEventRequestShowSoftkeys
+ EHgVgMediaWallEventRequestShowSoftkeys,
+ EHgVgMediaWallEventButtonGotoNowPlaying,
+ EHgVgMediaWallEventButtonBack
};
/**
--- a/classicui_plat/indicator_plugin_api/inc/AknIndicatorPluginImplUIDs.hrh Mon Mar 15 12:41:34 2010 +0200
+++ b/classicui_plat/indicator_plugin_api/inc/AknIndicatorPluginImplUIDs.hrh Wed Mar 31 21:59:52 2010 +0300
@@ -78,6 +78,9 @@
//UID for the USB MEM indicator plugin
#define KImplUIDUSBMEMIndicatorsPlugin 0x20026FC4
+//UID for the IIM indicator plugin
+#define KImplUIDIIMIndicatorPlugin 0x2002BC7F
+
#endif // AVKON_INDICATOR_PLUGIN_IMPL_UIDS_HRH
// End of file
--- a/classicui_plat/item_finder_api/group/bld.inf Mon Mar 15 12:41:34 2010 +0200
+++ b/classicui_plat/item_finder_api/group/bld.inf Wed Mar 31 21:59:52 2010 +0300
@@ -25,4 +25,4 @@
PRJ_EXPORTS
../inc/ItemFinder.h MW_LAYER_PLATFORM_EXPORT_PATH(ItemFinder.h)
-
+../inc/itemfinderobserver.h MW_LAYER_PLATFORM_EXPORT_PATH(itemfinderobserver.h)
--- a/classicui_plat/item_finder_api/inc/ItemFinder.h Mon Mar 15 12:41:34 2010 +0200
+++ b/classicui_plat/item_finder_api/inc/ItemFinder.h Wed Mar 31 21:59:52 2010 +0300
@@ -24,6 +24,7 @@
// INCLUDES
#include <mparser.h> // for MParser
+#include <coemain.h> // for MCoeMessageMonitorObserver
// CONSTANTS
@@ -33,6 +34,9 @@
class CItemFinderAsyncParser;
class CSchemeResolver;
class CFindItemEngine;
+class MAknItemFinderObserver;
+class CCoeEnv;
+class CCoeControl;
// CLASS DECLARATION
class MItemFinderObserver
@@ -46,7 +50,8 @@
*/
NONSHARABLE_CLASS(CItemFinder) :
public CBase,
- public MParser
+ public MParser,
+ public MCoeMessageMonitorObserver
{
public: // Constructors and destructor
@@ -221,8 +226,12 @@
* Tells whether the point tapped inside the editor text body was hit some find item.
* Also updates the current item selection and cursor position when necessary.
*
- * @param aTappedPoint Tapped point relative to the upper left point of the editor text body control.
- * @return ETrue if some find item inside editor text body was tapped. Otherwise EFalse.
+ * @param aTappedPoint Tapped point relative to the upper left point
+ * of the editor text body control.
+ * @return ETrue if some find item inside editor text body was tapped.
+ * Otherwise EFalse. If observer is given, then this returns
+ * always EFalse, since the information is given via observer
+ * interface
*/
IMPORT_C TBool ItemWasTappedL( const TPoint aTappedPoint );
@@ -254,6 +263,30 @@
* @return current selection of the text buffer on the screen.
*/
IMPORT_C TPtrC CurrentSelection();
+
+ /**
+ * Sets external observer (Must implement MAknItemFinderObserver) to
+ * which notify item activations.
+ *
+ * @param aObserver Observer which will be notified about item activations
+ * @since S60 5.2
+ */
+ IMPORT_C void SetItemFinderObserverL( MAknItemFinderObserver*
+ aObserver );
+
+ /**
+ * From @c MCoeMessageMonitorObserver, this method is called
+ * when a window server event is received.
+ *
+ * @param aEvent received event.
+ */
+ void MonitorWsMessage( const TWsEvent& aEvent );
+
+ /**
+ * Returns text highlight status.
+ * @return ETrue if there is highlighted text, otherwise EFalse
+ */
+ TBool HasSelection () const;
private:
@@ -282,6 +315,31 @@
TInt RefreshEditor();
+ /**
+ * Sets window conrol, that is used when monitoring pointer events
+ * @param aControl pointer to editor control
+ */
+ void SetWindowControl( CCoeControl* aControl );
+
+ /**
+ * Monitors pointer events and calls observer when item is tapped.
+ * @param aEvent pointer event
+ * @param aTargetControl control that the pointer event is targeted to
+ */
+ void MonitorPointerEventL( TPointerEvent& aEvent, CCoeControl* aTargetControl );
+
+ /**
+ * Modifies pointer event so that it is relative to editor control
+ * @param aTapPoint tapped point
+ */
+ void ModifyPointerEvent( TPoint& aTapPoint );
+
+ /**
+ * Returns drag threshold.
+ * @return drag threshold
+ */
+ TInt DragThresholdL();
+
private: // Data
CEikRichTextEditor** iEditor; // Not owned
@@ -307,6 +365,37 @@
friend class CItemFinderAsyncParser;
TInt iMinDigitsToFind;
+
+ /**
+ * Pointer to item activation observer
+ */
+ MAknItemFinderObserver* iItemFinderObserver; // not owned
+ /**
+ * Control environment.
+ * Not own.
+ */
+ CCoeEnv* iCoeEnv;
+
+ /**
+ * Tells if focus move is allowed.
+ */
+ TBool iAllowHighlight;
+
+ /**
+ * CCoeControl that owns the window and receives pointer events.
+ */
+ CCoeControl* iWindowControl;
+
+ /**
+ * Tap point.
+ */
+ TPoint iTapPoint;
+
+ /**
+ * Drag threshold
+ */
+ TInt iDragThreshold;
+
};
#endif // ITEMFINDER_H
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/classicui_plat/item_finder_api/inc/itemfinderobserver.h Wed Mar 31 21:59:52 2010 +0300
@@ -0,0 +1,85 @@
+/*
+* Copyright (c) 2007 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: Utility used for activation events
+*
+*
+*/
+
+
+
+#ifndef M_ITEMFINDEROBSERVER_H
+#define M_ITEMFINDEROBSERVER_H
+
+// INCLUDES
+#include <ItemFinder.h> // for CItemFinder::CFindItemExt
+
+/**
+ * Item activation observer.
+ *
+ * Notifies observer when user activates highlightable items in
+ * CEikRichTextEditor. Observer class should implement this interface and
+ * register itself to @c CItemFinder to receive item activation events.
+ *
+ * The sent event includes information about the activated item,
+ * method of activation and additional information about the activation.
+ *
+ * Code example of listening to activation events:
+ * @code
+ * void CItemFinderObserver::HandleFindItemEventL(
+ * CItemFinder::CFindItemExt& aItem,
+ * MAknItemFinderObserver::TEventFlag aEvent,
+ * TUint aFlags )
+ * {
+ * if ( aEvent == MAknItemFinderObserver::EPointerEvent
+ * && aItem.iItemType == CItemFinder::EPhoneNumber )
+ * {
+ * HandleCallL( aItem.iItemDescriptor->Des() );
+ * }
+ * }
+ * @endcode
+ *
+ * @lib commonui.lib
+ * @since S60 v5.2
+ */
+class MAknItemFinderObserver
+ {
+ public:
+ /**
+ * Enum for activation event flags.
+ */
+ enum TEventFlag
+ {
+ /**
+ * Item was activated by a pointer event.
+ */
+ EPointerEvent = 0x00000001,
+ /**
+ * Item was activated by a key event.
+ */
+ EKeyEvent = 0x00000002
+ };
+ /**
+ * Handles the activation event.
+ *
+ * @param aItem Activated item.
+ * @param aEvent Activation method.
+ * @param aFlags Additional information about the event.
+ */
+ virtual void HandleFindItemEventL(
+ const CItemFinder::CFindItemExt& aItem,
+ MAknItemFinderObserver::TEventFlag aEvent,
+ TUint aFlags = 0 ) = 0;
+ };
+
+#endif // M_ITEMFINDEROBSERVER_H
--- a/classicui_plat/item_finder_api/tsrc/conf/tctestdomitemfinder.cfg Mon Mar 15 12:41:34 2010 +0200
+++ b/classicui_plat/item_finder_api/tsrc/conf/tctestdomitemfinder.cfg Wed Mar 31 21:59:52 2010 +0300
@@ -106,4 +106,9 @@
[Test]
title TestIFCurrentSelection
run testscripter c:\testframework\ui_testdomitemfinder.cfg 22
-[Endtest]
\ No newline at end of file
+[Endtest]
+
+[Test]
+title TestIFSetItemFinderObserverL
+run testscripter c:\testframework\ui_testdomitemfinder.cfg 23
+[Endtest]
--- a/classicui_plat/item_finder_api/tsrc/conf/ui_testdomitemfinder.cfg Mon Mar 15 12:41:34 2010 +0200
+++ b/classicui_plat/item_finder_api/tsrc/conf/ui_testdomitemfinder.cfg Wed Mar 31 21:59:52 2010 +0300
@@ -171,4 +171,12 @@
test TestIFNewL
test TestIFCurrentSelection
delete test
-[Endtest]
\ No newline at end of file
+[Endtest]
+
+[Test]
+title TestIFSetItemFinderObserverL
+create testdomitemfinder test
+test TestIFNewL
+test TestIFSetItemFinderObserverL
+delete test
+[Endtest]
--- a/classicui_plat/item_finder_api/tsrc/inc/testdomitemfinder.h Mon Mar 15 12:41:34 2010 +0200
+++ b/classicui_plat/item_finder_api/tsrc/inc/testdomitemfinder.h Wed Mar 31 21:59:52 2010 +0300
@@ -266,6 +266,14 @@
*/
virtual TInt TestIFCurrentSelection( CStifItemParser& aItem );
+ /**
+ * TestIFSetItemFinderObserverL test method.
+ * @since S60 5.0
+ * @param aItem Script line containing parameters.
+ * @return Symbian OS error code.
+ */
+ virtual TInt TestIFSetItemFinderObserverL( CStifItemParser& aItem );
+
private: // Data
/**
--- a/classicui_plat/item_finder_api/tsrc/src/testdomitemfinderblocks.cpp Mon Mar 15 12:41:34 2010 +0200
+++ b/classicui_plat/item_finder_api/tsrc/src/testdomitemfinderblocks.cpp Wed Mar 31 21:59:52 2010 +0300
@@ -66,6 +66,7 @@
ENTRY( "TestIFSetExternalLinksL", CTestDOMItemFinder::TestIFSetExternalLinksL ),
ENTRY( "TestIFCurrentItemExt", CTestDOMItemFinder::TestIFCurrentItemExt ),
ENTRY( "TestIFCurrentSelection", CTestDOMItemFinder::TestIFCurrentSelection ),
+ ENTRY( "TestIFSetItemFinderObserverL", CTestDOMItemFinder::TestIFSetItemFinderObserverL ),
};
const TInt count = sizeof( KFunctions ) / sizeof( TStifFunctionInfo );
@@ -522,4 +523,20 @@
iItemFinder->CurrentSelection();
return KErrNone;
}
+// -----------------------------------------------------------------------------
+// CTestDOMItemFinder::TestIFSetItemFinderObserverL
+// -----------------------------------------------------------------------------
+//
+TInt CTestDOMItemFinder::TestIFSetItemFinderObserverL( CStifItemParser& /*aItem*/ )
+ {
+
+ // Print to UI
+ _LIT( Ktestdomitemfinder, "testdomitemfinder" );
+ _LIT( KTestIFSetItemFinderObserverL, "In TestIFSetItemFinderObserverL" );
+ TestModuleIf().Printf( 0, Ktestdomitemfinder, KTestIFSetItemFinderObserverL );
+ // Print to log file
+ iLog->Log( KTestIFSetItemFinderObserverL );
+ iItemFinder->SetItemFinderObserverL( 0 );
+ return KErrNone;
+ }
// [End of File]
--- a/classicui_pub/editors_api/inc/EIKEDWIN.H Mon Mar 15 12:41:34 2010 +0200
+++ b/classicui_pub/editors_api/inc/EIKEDWIN.H Wed Mar 31 21:59:52 2010 +0300
@@ -75,6 +75,7 @@
// For construction of Rich Text - based custom formatters
class CRichText;
+class CAknPhysics;
enum TReplaceOption
{
@@ -331,12 +332,12 @@
/**
* Enables kinetic scrolling.
*/
- void EnableKineticScrollingL();
+ void EnableKineticScrollingL( CAknPhysics* aPhysics = NULL );
/**
* Enables physics.
*/
- void EnablePhysicsL();
+ void EnablePhysicsL( CAknPhysics* aPhysics = NULL );
/**
* Initializes physics.
@@ -2341,6 +2342,17 @@
*/
IMPORT_C void EnableKineticScrollingL( TBool aEnable );
+ /**
+ * Enables kinetic scrolling in editor with external CAknPhysics instance.
+ *
+ * Note that when kinetic scrolling is enabled, it is
+ * no longer possible to disable it with this function.
+ *
+ * @since S60 v5.2
+ * @param aPhysics Pointer to external CAknPhysics instance.
+ */
+ IMPORT_C void EnableKineticScrollingL( CAknPhysics* aPhysics );
+
public:
void EnableSmileySupportL( TBool aEnableSmiley );
TBool IsSmileyEnabled() const;
--- a/classicui_pub/hierarchical_lists_api/inc/aknsinglecolumnstyletreelist.h Mon Mar 15 12:41:34 2010 +0200
+++ b/classicui_pub/hierarchical_lists_api/inc/aknsinglecolumnstyletreelist.h Wed Mar 31 21:59:52 2010 +0300
@@ -128,7 +128,11 @@
/** Emphasis. Applicable to core data rows only. */
EEmphasis = 0x10,
/** Item is not markable. */
- EMarkingDisabled = 0x20
+ EMarkingDisabled = 0x20,
+ /** Item has smiley. For core data row, just first column gets it*/
+ ESmileyIcon = 0x40,
+ /** Same as ESmileyIcon. Specify second column of core data row get it.n*/
+ ESmileyIconSecond = 0x80
};
/** Icon types usable with single column style hierarchical list.
--- a/classicui_pub/hierarchical_lists_api/inc/akntreelist.h Mon Mar 15 12:41:34 2010 +0200
+++ b/classicui_pub/hierarchical_lists_api/inc/akntreelist.h Wed Mar 31 21:59:52 2010 +0300
@@ -49,6 +49,8 @@
items as required. */
const TUint32 KAknTreeListMarkable = 0x0010;
+/** Flag to enalbe smiley in tree list. */
+const TUint32 KAknTreeListSmiley = 0x0020;
/**
* Abstract base class for hierarchical lists.
@@ -98,7 +100,7 @@
public:
- // for focus handling after Sort
+ // for focus handling after Sort
enum TFocusBehaviour
{
ESaveFocus,
@@ -846,28 +848,28 @@
*
* @panic EAknHListPanicInvalidItemID Item with specified ID is not found.
*/
- IMPORT_C void SetFocusedItem( TAknTreeItemID aItem );
-
- /**
+ IMPORT_C void SetFocusedItem( TAknTreeItemID aItem );
+
+ /**
* Gets the index of the focused item on the screen. Possible values are
* from 0 to max. number of visible lines - 1. Value -1 is
* returned if no item is focused or focused item is not visible.
*
* @return index of the focused item on the screen.
*/
- IMPORT_C TInt FocusedItemIndex() const;
-
- /**
+ IMPORT_C TInt FocusedItemIndex() const;
+
+ /**
* Gets the index of the item on the screen. Possible values are
* from 0 to max. number of visible lines - 1. Value -1 is
* returned if the requested item is not visible on the screen.
*
* @return index of the requested item.
*/
- IMPORT_C TInt VisibleItemIndex( TAknTreeItemID aItem ) const;
+ IMPORT_C TInt VisibleItemIndex( TAknTreeItemID aItem ) const;
-
- /**
+
+ /**
* Sets custom ordering for the hierarchical list and sorts the list
* with the use of given ordering interface. The given interface is
* used until it is replaced with some other ordering.
@@ -881,9 +883,9 @@
*
* @param aDrawNow @c ETrue to redraw the list after sorting.
*/
- IMPORT_C void Sort( MAknCustomTreeOrdering* aOrdering, TFocusBehaviour aFocusBehaviour, TBool aDrawNow );
+ IMPORT_C void Sort( MAknCustomTreeOrdering* aOrdering, TFocusBehaviour aFocusBehaviour, TBool aDrawNow );
- /**
+ /**
* Sorts the specified node with the use of previously set ordering
* interface. The sorting can be restricted to the specified node, or
* the sorting can be set to include also every descendant node of the
@@ -908,7 +910,7 @@
*
* @panic EAknHListPanicInvalidItemType Specified item is not a node.
*/
- IMPORT_C void Sort( TAknTreeItemID aNode, TFocusBehaviour aFocusBehaviour, TBool aSortDescendants, TBool aDrawNow );
+ IMPORT_C void Sort( TAknTreeItemID aNode, TFocusBehaviour aFocusBehaviour, TBool aSortDescendants, TBool aDrawNow );
/**
* Sets text for the empty list. This text is visible if the list box
@@ -916,7 +918,7 @@
*
* @param aText The text for the empty list.
*/
- IMPORT_C void SetEmptyTextL(const TDesC& aText);
+ IMPORT_C void SetEmptyTextL(const TDesC& aText);
// From base class CCoeControl
--- a/classicui_pub/lists_api/inc/AknListBoxSettingPage.h Mon Mar 15 12:41:34 2010 +0200
+++ b/classicui_pub/lists_api/inc/AknListBoxSettingPage.h Wed Mar 31 21:59:52 2010 +0300
@@ -148,7 +148,17 @@
*/
static TBool FocusToFirstItem();
-
+ /**
+ * Enables highlight to listbox control in single click
+ * mode if needed
+ *
+ * @since 5.2
+ *
+ * @param aCommandId Event Id from the soft-key
+ * @return TBool ETrue if highlight was enabled
+ */
+ TBool EnableSingleClickHighlight( TInt aCommandId );
+
/**
* Create colorskinned icon and add it to icon array. Utility for
* radiobutton, popup & checkbox setting page lists
--- a/classicui_pub/lists_api/inc/EIKLBI.H Mon Mar 15 12:41:34 2010 +0200
+++ b/classicui_pub/lists_api/inc/EIKLBI.H Wed Mar 31 21:59:52 2010 +0300
@@ -321,7 +321,12 @@
/**
* This flag indicates that single click mode is enabled.
*/
- ESingleClickEnabled = 0x0080
+ ESingleClickEnabled = 0x0080,
+
+ /**
+ * This flag indicates that simley icon is enabled.
+ */
+ EDrawSmileyIcon = 0x0100
};
public:
--- a/classicui_pub/lists_api/inc/aknlists.h Mon Mar 15 12:41:34 2010 +0200
+++ b/classicui_pub/lists_api/inc/aknlists.h Wed Mar 31 21:59:52 2010 +0300
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2002-2010 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"
@@ -1857,20 +1857,6 @@
*/
IMPORT_C static void SetupListboxPos(CEikListBox& aListBox,
const TAknWindowLineLayout &aLayout);
-
- /**
- * This function returns a correct offset to revise layout data.
- *
- * Attention: The function is only effective for QHD lanscape model.
- * It always return 0 in QVGA, QVGA2, VGA and VAG3.
- * A panic will take place if it is used in other models.
- *
- * @since S60 5.0
- *
- * @param aScreenRect Size of Screen.
- * @return Offset of listscroll_menu_pane's layout
- */
- static TInt AdjustPopupLayoutData( const TRect& aScreenRect );
};
/**
--- a/classicui_pub/lists_api/inc/eikfrlbd.h Mon Mar 15 12:41:34 2010 +0200
+++ b/classicui_pub/lists_api/inc/eikfrlbd.h Wed Mar 31 21:59:52 2010 +0300
@@ -1275,7 +1275,23 @@
*/
CEikListBox* ListBox() const;
-
+ /**
+ * This method prepare smiley engine if it is not ready yet.
+ * apply new icon size to smiley icon.
+ * @internal
+ * @since S60 5.2
+ */
+ void InitSmileyL();
+
+ /**
+ * Decide which subcell will draw smiley icon. Note that only text subcell can
+ * be set.
+ *
+ * @param aSubCell Index Index number of the subcell.
+ * @internal
+ * @since S60 5.2
+ */
+ void SetSmileySubCellL( TInt aSubCell );
private:
void DoConstructL( const TAknsItemID& aAnimationIID );
--- a/classicui_pub/popups_api/inc/AknPopupSettingPage.h Mon Mar 15 12:41:34 2010 +0200
+++ b/classicui_pub/popups_api/inc/AknPopupSettingPage.h Wed Mar 31 21:59:52 2010 +0300
@@ -448,7 +448,18 @@
*
*/
IMPORT_C virtual void CAknListBoxSettingPage_Reserved_1();
-
+
+protected:
+ /**
+ * From MEikCommandObserver
+ * Processes events from the softkeys. (Or translated from key events)
+ *
+ * @param aCommandId Event Id from the soft-key
+ *
+ * @since 5.2
+ */
+ IMPORT_C virtual void ProcessCommandL( TInt aCommandId );
+
private:
// The objects pointed to or referenced by this is not owned
--- a/classicui_pub/popups_api/inc/aknpopuplayout.h Mon Mar 15 12:41:34 2010 +0200
+++ b/classicui_pub/popups_api/inc/aknpopuplayout.h Wed Mar 31 21:59:52 2010 +0300
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2002-2010 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"
@@ -237,6 +237,17 @@
IMPORT_C static void MenuPopupWindowGraphics(TAknPopupWindowLayoutDef &aDef);
static TRect RectFromLayout(TRect aParent, const TAknWindowComponentLayout &aComponentLayout);
+
+private:
+
+ /**
+ * Contains layout setup that is common for all popups.
+ */
+ static void CommonSetup( TAknPopupWindowLayoutDef& aDef,
+ const TAknWindowComponentLayout& aItemLayout,
+ TInt aNum,
+ TBool aHeading,
+ TBool aLayoutHeading );
};
/** TAknPopupWindowLayoutDef
--- a/classicui_pub/popups_api/tsrc/conf/tctestsdkpopupsspsp.cfg Mon Mar 15 12:41:34 2010 +0200
+++ b/classicui_pub/popups_api/tsrc/conf/tctestsdkpopupsspsp.cfg Wed Mar 31 21:59:52 2010 +0300
@@ -143,3 +143,8 @@
title TestCPSPReserved_2L
run testscripter c:\testframework\ui_testsdkpopupsspsp.cfg 30
[Endtest]
+
+[Test]
+title TestCPSPProcessCommandL
+run testscripter c:\testframework\ui_testsdkpopupsspsp.cfg 31
+[Endtest]
--- a/classicui_pub/popups_api/tsrc/conf/ui_testsdkpopupsspsp.cfg Mon Mar 15 12:41:34 2010 +0200
+++ b/classicui_pub/popups_api/tsrc/conf/ui_testsdkpopupsspsp.cfg Wed Mar 31 21:59:52 2010 +0300
@@ -332,3 +332,14 @@
delete test
sendtobackground
[Endtest]
+
+// For test function:
+// IMPORT_C virtual void ProcessCommandL( TInt aCommandId );
+[Test]
+title TestCPSPProcessCommandL
+create testsdkpopups test
+bringtoforeground
+test TestCPSPProcessCommandL
+delete test
+sendtobackground
+[Endtest]
--- a/classicui_pub/popups_api/tsrc/inc/testsdkpopups.h Mon Mar 15 12:41:34 2010 +0200
+++ b/classicui_pub/popups_api/tsrc/inc/testsdkpopups.h Wed Mar 31 21:59:52 2010 +0300
@@ -1393,6 +1393,15 @@
* @return Symbian OS error code.
*/
virtual TInt TestCPSPReservedL( CStifItemParser& aItem );
+
+ /**
+ * TestCPSPProcessCommandL test function for testing the
+ * ProcessCommandL function
+ * @since S60 5.2
+ * @param aItem never used
+ * @return Symbian OS error code.
+ */
+ virtual TInt TestCPSPProcessCommandL( CStifItemParser& aItem );
};
#endif // C_TESTSDKPOPUPS_H
--- a/classicui_pub/popups_api/tsrc/inc/testsdkpopupsspsp.h Mon Mar 15 12:41:34 2010 +0200
+++ b/classicui_pub/popups_api/tsrc/inc/testsdkpopupsspsp.h Wed Mar 31 21:59:52 2010 +0300
@@ -69,6 +69,11 @@
*/
void Reserved_2();
+ /**
+ * ProcessCommandL test function for testing the
+ * Test ProcessCommandL function
+ */
+ void ProcessCommandL( TInt aCommandId );
};
#endif /*C_TESTSDKPOPUPSSPSP_H*/
--- a/classicui_pub/popups_api/tsrc/src/testsdkpopupsblocks.cpp Mon Mar 15 12:41:34 2010 +0200
+++ b/classicui_pub/popups_api/tsrc/src/testsdkpopupsblocks.cpp Wed Mar 31 21:59:52 2010 +0300
@@ -196,7 +196,8 @@
ENTRY( "TestCPSPQueryValueL", CTestSDKPopups::TestCPSPQueryValueL ),
ENTRY( "TestCPSPSelectCurrentItemL", CTestSDKPopups::TestCPSPSelectCurrentItemL ),
ENTRY( "TestCPSPWriteInternalStateL", CTestSDKPopups::TestCPSPWriteInternalStateL ),
- ENTRY( "TestCPSPReservedL", CTestSDKPopups::TestCPSPReservedL ),
+ ENTRY( "TestCPSPReservedL", CTestSDKPopups::TestCPSPReservedL ),
+ ENTRY( "TestCPSPProcessCommandL", CTestSDKPopups::TestCPSPProcessCommandL ),
// [test cases entries]
};
--- a/classicui_pub/popups_api/tsrc/src/testsdkpopupsblocksspsp.cpp Mon Mar 15 12:41:34 2010 +0200
+++ b/classicui_pub/popups_api/tsrc/src/testsdkpopupsblocksspsp.cpp Wed Mar 31 21:59:52 2010 +0300
@@ -1165,3 +1165,43 @@
return KErrNone;
}
+
+// -----------------------------------------------------------------------------
+// CTestSDKPopups::TestCPSPProcessCommandL
+// -----------------------------------------------------------------------------
+//
+TInt CTestSDKPopups::TestCPSPProcessCommandL( CStifItemParser& /*aItem*/ )
+ {
+ CDesCArrayFlat* item = CCoeEnv::Static()->ReadDesCArrayResourceL( R_TESTSDK_LIST_ITEM_ARRAY );
+ CleanupStack::PushL( item );
+ STIF_ASSERT_NOT_NULL( item );
+
+ CAknQueryValueTextArray* textArray = CAknQueryValueTextArray::NewL();
+ CleanupStack::PushL( textArray );
+ STIF_ASSERT_NOT_NULL( textArray );
+ textArray->SetArray( *item );
+
+ CAknQueryValueText* queryValueText = CAknQueryValueText::NewL();
+ CleanupStack::PushL( queryValueText );
+ STIF_ASSERT_NOT_NULL( queryValueText );
+ queryValueText->SetArrayL( textArray );
+
+ CTestSDKPopupsSPSP* popupSettingPage = new (ELeave) CTestSDKPopupsSPSP(
+ R_TESTSDK_POPUP_SETTING_PAGE, *queryValueText );
+ CleanupStack::PushL( popupSettingPage );
+ STIF_ASSERT_NOT_NULL( popupSettingPage );
+
+ popupSettingPage->ConstructL();
+ CCoeEnv::Static()->AppUi()->AddToStackL( popupSettingPage );
+ popupSettingPage->ProcessCommandL( EAknSoftkeySelect );
+ CCoeEnv::Static()->AppUi()->RemoveFromStack( popupSettingPage );
+
+ CleanupStack::PopAndDestroy( popupSettingPage );
+ CleanupStack::PopAndDestroy( queryValueText );
+ CleanupStack::PopAndDestroy( textArray );
+ CleanupStack::PopAndDestroy( item );
+
+ return KErrNone;
+
+ }
+
--- a/classicui_pub/popups_api/tsrc/src/testsdkpopupsspsp.cpp Mon Mar 15 12:41:34 2010 +0200
+++ b/classicui_pub/popups_api/tsrc/src/testsdkpopupsspsp.cpp Wed Mar 31 21:59:52 2010 +0300
@@ -88,3 +88,12 @@
{
CAknPopupSettingPage::Reserved_2();
}
+
+// -----------------------------------------------------------------------------
+// CTestSDKPopupsSPSP::ProcessCommandL
+// -----------------------------------------------------------------------------
+void CTestSDKPopupsSPSP::ProcessCommandL( TInt aCommandId )
+ {
+ CAknPopupSettingPage::ProcessCommandL( aCommandId );
+ }
+
--- a/classicui_pub/setting_pages_api/inc/AknRadioButtonSettingPage.h Mon Mar 15 12:41:34 2010 +0200
+++ b/classicui_pub/setting_pages_api/inc/AknRadioButtonSettingPage.h Wed Mar 31 21:59:52 2010 +0300
@@ -194,7 +194,17 @@
*/
IMPORT_C virtual void CAknListBoxSettingPage_Reserved_1();
-
+protected:
+ /**
+ * From MEikCommandObserver
+ * Processes events from the softkeys. (Or translated from key events)
+ *
+ * @param aCommandId Event Id from the soft-key
+ *
+ * @since 5.2
+ */
+ IMPORT_C virtual void ProcessCommandL( TInt aCommandId );
+
private:
// Back up copy of the selection index
TInt iOldSelectionIndex;
--- a/classicui_pub/setting_pages_api/tsrc/conf/tctestsdksettingpagesaknradiobuttonsettingpage.cfg Mon Mar 15 12:41:34 2010 +0200
+++ b/classicui_pub/setting_pages_api/tsrc/conf/tctestsdksettingpagesaknradiobuttonsettingpage.cfg Wed Mar 31 21:59:52 2010 +0300
@@ -66,6 +66,10 @@
run testscripter c:\testframework\ui_testsdksettingpagesaknradiobuttonsettingpage.cfg 13
[Endtest]
+[Test]
+title TestSettingpagesRadioButtonProcessCommandLL
+run testscripter c:\testframework\ui_testsdksettingpagesaknradiobuttonsettingpage.cfg 14
+[Endtest]
--- a/classicui_pub/setting_pages_api/tsrc/conf/ui_testsdksettingpagesaknradiobuttonsettingpage.cfg Mon Mar 15 12:41:34 2010 +0200
+++ b/classicui_pub/setting_pages_api/tsrc/conf/ui_testsdksettingpagesaknradiobuttonsettingpage.cfg Wed Mar 31 21:59:52 2010 +0300
@@ -107,6 +107,12 @@
delete test
[Endtest]
+[Test]
+title TestSettingpagesRadioButtonProcessCommandLL
+create testsdksettingpages test
+test TestSettingpagesRadioButtonProcessCommandLL
+delete test
+[Endtest]
--- a/classicui_pub/setting_pages_api/tsrc/inc/testaknradiobuttonsettingpageprotected.h Mon Mar 15 12:41:34 2010 +0200
+++ b/classicui_pub/setting_pages_api/tsrc/inc/testaknradiobuttonsettingpageprotected.h Wed Mar 31 21:59:52 2010 +0300
@@ -64,6 +64,10 @@
* This fuction is wrote for testing WriteInternalStateL() function
*/
void DoWriteInternalStateL(RWriteStream& aWriteStream) const;
+ /*
+ * This function is wrote for testing ProcessCommandL() function
+ */
+ void TestProcessCommandL( TInt aCommandId );
};
#endif /*C_TESTAKNRADIOBUTTONSETTINGPAGEPROTECTED_H*/
--- a/classicui_pub/setting_pages_api/tsrc/inc/testsdksettingpages.h Mon Mar 15 12:41:34 2010 +0200
+++ b/classicui_pub/setting_pages_api/tsrc/inc/testsdksettingpages.h Wed Mar 31 21:59:52 2010 +0300
@@ -1394,6 +1394,15 @@
*/
virtual TInt TestSettingpagesRadioButtonWriteInternalStateLL( CStifItemParser& /*aItem*/ );
+ /**
+ * TestSettingpagesRadioButtonProcessCommandLL test function for testing the
+ * ProcessCommandL function
+ * @since S60 5.2
+ * @param aItem never used
+ * @return Symbian OS error code.
+ */
+ virtual TInt TestSettingpagesRadioButtonProcessCommandLL( CStifItemParser& /*aItem*/ );
+
/*
* aknsettingitemlist.h
*/
--- a/classicui_pub/setting_pages_api/tsrc/src/testaknradiobuttonsettingpageprotected.cpp Mon Mar 15 12:41:34 2010 +0200
+++ b/classicui_pub/setting_pages_api/tsrc/src/testaknradiobuttonsettingpageprotected.cpp Wed Mar 31 21:59:52 2010 +0300
@@ -100,6 +100,15 @@
WriteInternalStateL( aWriteStream );
}
+// -----------------------------------------------------------------------------
+// CTestRadioButtonSettingPage::TestProcessCommandL
+// -----------------------------------------------------------------------------
+//
+void CTestRadioButtonSettingPage::TestProcessCommandL( TInt aCommandId )
+ {
+ ProcessCommandL( aCommandId );
+ }
+
//End file
--- a/classicui_pub/setting_pages_api/tsrc/src/testsdksettingpagesblocks.cpp Mon Mar 15 12:41:34 2010 +0200
+++ b/classicui_pub/setting_pages_api/tsrc/src/testsdksettingpagesblocks.cpp Wed Mar 31 21:59:52 2010 +0300
@@ -358,8 +358,10 @@
ENTRY( "TestSettingpagesRadioButtonSelectCurrentItemLL",
CTestSDKSettingPages::TestSettingpagesRadioButtonSelectCurrentItemLL ),
ENTRY( "TestSettingpagesRadioButtonWriteInternalStateLL",
- CTestSDKSettingPages::TestSettingpagesRadioButtonWriteInternalStateLL ),
-
+ CTestSDKSettingPages::TestSettingpagesRadioButtonWriteInternalStateLL ),
+ ENTRY( "TestSettingpagesRadioButtonProcessCommandLL",
+ CTestSDKSettingPages::TestSettingpagesRadioButtonProcessCommandLL ),
+
//aknsettingitemlist.h
//CAknSettingItem
ENTRY( "TestSettingPagesItemListConstructorL",
--- a/classicui_pub/setting_pages_api/tsrc/src/testsdksettingpagesblocksaknmfnesettingpage.cpp Mon Mar 15 12:41:34 2010 +0200
+++ b/classicui_pub/setting_pages_api/tsrc/src/testsdksettingpagesblocksaknmfnesettingpage.cpp Wed Mar 31 21:59:52 2010 +0300
@@ -249,7 +249,7 @@
pageDialog->DoBaseConstructL();
pageDialog->DoConstructL();
- CCoeControl* control = pageDialog->DoComponentControl( KOne );
+ CCoeControl* control = pageDialog->DoComponentControl( KZero );
CEikMfne* editorControl = pageDialog->DoMfne();
STIF_ASSERT_EQUALS( static_cast<CCoeControl*>( editorControl ), control );
--- a/classicui_pub/setting_pages_api/tsrc/src/testsdksettingpagesblocksaknradiobuttonsettingpage.cpp Mon Mar 15 12:41:34 2010 +0200
+++ b/classicui_pub/setting_pages_api/tsrc/src/testsdksettingpagesblocksaknradiobuttonsettingpage.cpp Wed Mar 31 21:59:52 2010 +0300
@@ -427,6 +427,38 @@
return KErrNone;
}
+// -----------------------------------------------------------------------------
+// CTestSDKSettingPages::TestSettingpagesRadioButtonProcessCommandLL
+// -----------------------------------------------------------------------------
+//
+TInt CTestSDKSettingPages::TestSettingpagesRadioButtonProcessCommandLL( CStifItemParser& /*aItem*/ )
+ {
+ CDesCArrayFlat* mArr = new( ELeave ) CDesCArrayFlat( KSize );
+ CleanupStack::PushL( mArr );
+
+ TBuf<KBufSize> tom( KTom );
+ TBuf<KBufSize> jack( KJack );
+ TBuf<KBufSize> mary( KMary );
+ mArr->AppendL( tom );
+ mArr->AppendL( jack );
+ mArr->AppendL( mary );
+
+ TInt optin( KZero );
+ TBuf< KBufSize > buffer( KTestString );
+ CTestRadioButtonSettingPage* dialog =
+ new (ELeave) CTestRadioButtonSettingPage( &buffer, KOne, EAknCtPopupSettingList,
+ R_EXAMPLE_EDITOR_CONTROL, R_EXAMPLE_SETTING_PAGE, optin, mArr );
+ CleanupStack::PushL( dialog );
+
+ dialog->ConstructL();
+ CCoeEnv::Static()->AppUi()->AddToStackL( dialog );
+ dialog->TestProcessCommandL( EAknSoftkeySelect );
+ CCoeEnv::Static()->AppUi()->RemoveFromStack( dialog );
+
+ CleanupStack::PopAndDestroy( KTwo );
+ return KErrNone;
+ }
+
//End file
--- a/classicui_pub/ui_framework_definitions_api/inc/avkon.hrh Mon Mar 15 12:41:34 2010 +0200
+++ b/classicui_pub/ui_framework_definitions_api/inc/avkon.hrh Wed Mar 31 21:59:52 2010 +0300
@@ -1114,6 +1114,7 @@
EAknIndicatorStopWatch,
EAknIndicatorMecoServiceTab,
EAknIndicatorHDMI,
+ EAknIndicatorIntegratedIM,
// Navi pane editor indicators
EAknNaviPaneEditorIndicatorT9 = 100,
--- a/commonuis/CommonDialogs/src/CAknCFDFileSystemEvent.cpp Mon Mar 15 12:41:34 2010 +0200
+++ b/commonuis/CommonDialogs/src/CAknCFDFileSystemEvent.cpp Wed Mar 31 21:59:52 2010 +0300
@@ -109,10 +109,11 @@
// If not ENotifyDisk, do refresh when event is checked
// using CheckFileSystemEvent
- if ( iNotifyType == ENotifyDisk )
+ if ( iNotifyType == ENotifyEntry )
{
iObserver.NotifyFileSystemChangedL();
}
+ Setup();
}
// -----------------------------------------------------------------------------
--- a/commonuis/CommonDialogs/src/CAknCommonDialogsPopupList.cpp Mon Mar 15 12:41:34 2010 +0200
+++ b/commonuis/CommonDialogs/src/CAknCommonDialogsPopupList.cpp Wed Mar 31 21:59:52 2010 +0300
@@ -379,6 +379,16 @@
UpdateItemsAndRedrawPopupL( focus, topIndex );
}
+void CAknCommonDialogsPopupList::HandleFileSystemChangedL( const MDesCArray* aItemArray )
+ {
+ TInt focus = iListBox->CurrentItemIndex();
+ TInt topIndex = iListBox->View()->TopItemIndex();
+ if ( focus < 0 )
+ {
+ focus = aItemArray->MdcaCount() - 1;
+ }
+ UpdateItemsAndRedrawPopupL( focus, topIndex );
+ }
// -----------------------------------------------------------------------------
// CAknCommonDialogsPopupList::HandleListBoxHighlightChangedL
//
--- a/commonuis/CommonDialogs/src/CAknCommonDialogsPopupList.h Mon Mar 15 12:41:34 2010 +0200
+++ b/commonuis/CommonDialogs/src/CAknCommonDialogsPopupList.h Wed Mar 31 21:59:52 2010 +0300
@@ -65,6 +65,7 @@
*/
virtual void NotifyDrivesChangedL(const MDesCArray* aItemArray);
+ void HandleFileSystemChangedL(const MDesCArray* aItemArray);
/**
* From CCoeControl. To handle the Pointer events.
* @param aPointerEvent The Pointer event details.
--- a/commonuis/CommonDialogs/src/CAknCommonDialogsRadioButtonSettingPage.cpp Mon Mar 15 12:41:34 2010 +0200
+++ b/commonuis/CommonDialogs/src/CAknCommonDialogsRadioButtonSettingPage.cpp Wed Mar 31 21:59:52 2010 +0300
@@ -130,7 +130,14 @@
}
case EKeyOK:
+ case EKeyEnter:
{
+ if ( ListBoxControl()->ItemDrawer()->Flags()
+ & CListItemDrawer::ESingleClickDisabledHighlight )
+ {
+ return CAknSettingPage::OfferKeyEventL( aKeyEvent, aType );
+ }
+
TInt focus( lb->CurrentItemIndex() );
TInt topIndex( lb->TopItemIndex() );
@@ -194,36 +201,8 @@
// -----------------------------------------------------------------------------
//
void CAknCommonDialogsRadioButtonSettingPage::ProcessCommandL(TInt aCommandId)
- {
- if(!IsEditable() && !(aCommandId == EAknSoftkeyBack || aCommandId == EAknSoftkeyCancel))
- {
- return;
- }
-
- HideMenu();
-
- // Respond to softkey events
- switch (aCommandId)
- {
- case EAknSoftkeyOk:
- case EAknSoftkeySelect:
- case EAknSoftkeyDone:
- {
- SelectCurrentItemL(); // has non-trivial implemenations in listbox type
- // controls to put the selection on the current item
- AttemptExitL(ETrue);
- break;
- }
- case EAknSoftkeyBack:
- case EAknSoftkeyCancel:
- AttemptExitL(EFalse);
- break;
- case EAknSoftkeyOptions:
- DisplayMenuL();
- break;
- default:
- break;
- }
+ {
+ CAknRadioButtonSettingPage::ProcessCommandL( aCommandId );
}
// -----------------------------------------------------------------------------
// CAknCommonDialogsRadioButtonSettingPage::NotifyDrivesChangedL
--- a/commonuis/CommonDialogs/src/CAknFileSelectionDialog.cpp Mon Mar 15 12:41:34 2010 +0200
+++ b/commonuis/CommonDialogs/src/CAknFileSelectionDialog.cpp Wed Mar 31 21:59:52 2010 +0300
@@ -385,6 +385,7 @@
iEventHandler->ResetSoftkeyStatus();
iEventHandler->UpdateSoftkeysL( focus, popupList->ButtonGroupContainer() );
+ iEventHandler->StartFileSystemNotifierL(popupList);
TBool returnValue( popupList->ExecuteLD() );
if( returnValue )
@@ -402,6 +403,7 @@
}
}
}
+ iEventHandler->StopFileSystemNotifier();
CleanupStack::Pop(); // popupList
CleanupStack::PopAndDestroy(); // listBox
--- a/commonuis/CommonDialogs/src/CAknFileSelectionEventHandler.cpp Mon Mar 15 12:41:34 2010 +0200
+++ b/commonuis/CommonDialogs/src/CAknFileSelectionEventHandler.cpp Wed Mar 31 21:59:52 2010 +0300
@@ -24,6 +24,8 @@
#include "CAknFileSelectionModel.h"
#include "MAknFileSelectionObserver.h"
+#include "CAknCommonDialogsPopupList.h"
+#include "CAknCFDFileSystemEvent.h"
#include "AknCFDUtility.h"
@@ -93,6 +95,12 @@
// Destructor
CAknFileSelectionEventHandler::~CAknFileSelectionEventHandler()
{
+ if(iFSObserver)
+ {
+ iFSObserver->Cancel();
+ delete iFSObserver;
+ iFSObserver = NULL;
+ }
}
@@ -384,4 +392,21 @@
return returnType;
}
+void CAknFileSelectionEventHandler::StartFileSystemNotifierL(CAknCommonDialogsPopupList* aPopupList)
+ {
+ iPopupList = aPopupList;
+ TPath path;
+ iModel->GetCurrentPath(path);
+ iFSObserver = CAknCFDFileSystemEvent::NewL(iCoeEnv->FsSession(),*this,
+ ENotifyEntry,path);
+ }
+void CAknFileSelectionEventHandler::StopFileSystemNotifier()
+ {
+ iFSObserver->Cancel();
+ }
+void CAknFileSelectionEventHandler::NotifyFileSystemChangedL()
+ {
+ iModel->UpdateItemListL();
+ iPopupList->HandleFileSystemChangedL(iModel);
+ }
// End of File
--- a/commonuis/CommonDialogs/src/CAknFileSelectionEventHandler.h Mon Mar 15 12:41:34 2010 +0200
+++ b/commonuis/CommonDialogs/src/CAknFileSelectionEventHandler.h Wed Mar 31 21:59:52 2010 +0300
@@ -25,10 +25,13 @@
#include "MAknCommonDialogsEventObserver.h"
#include "CAknCommonDialogsBase.h"
+#include "MAknCFDFileSystemObserver.h"
// FORWARD DECLARATIONS
class MAknFileSelectionObserver;
class CAknFileSelectionModel;
+class CAknCFDFileSystemEvent;
+class CAknCommonDialogsPopupList;
// CLASS DEFINITION
/**
@@ -37,7 +40,8 @@
* @lib CommonDialogs.lib
* @since 1.2
*/
-NONSHARABLE_CLASS(CAknFileSelectionEventHandler) : public CBase, public MAknCommonDialogsEventObserver
+NONSHARABLE_CLASS(CAknFileSelectionEventHandler) : public CBase, public MAknCommonDialogsEventObserver,
+ public MAknCFDFileSystemObserver
{
public: // Constructors and destructors
@@ -107,6 +111,9 @@
TInt& aTopItemIndex,
CEikButtonGroupContainer* aContainer );
+ void StartFileSystemNotifierL(CAknCommonDialogsPopupList* aPopupList);
+ void StopFileSystemNotifier();
+ virtual void NotifyFileSystemChangedL();
private: // Enumerations
/**
@@ -198,6 +205,8 @@
// Ref: Softkey text
const HBufC*& iRightSoftkeySubfolder;
+ CAknCFDFileSystemEvent* iFSObserver;
+ CAknCommonDialogsPopupList* iPopupList;
};
--- a/commonuis/CommonUi/EABI/CommonUIU.DEF Mon Mar 15 12:41:34 2010 +0200
+++ b/commonuis/CommonUi/EABI/CommonUIU.DEF Wed Mar 31 21:59:52 2010 +0300
@@ -119,4 +119,5 @@
_ZTVN11CItemFinder12CFindItemExtE @ 118 NONAME ; #<VT>#
_ZN13CFindItemMenu21SetMenuItemVisibilityENS_9TMenuItemEi @ 119 NONAME
_ZN12MPBAiwNotify13HandleNotifyLEiiR20CAiwGenericParamListRKS0_ @ 120 NONAME
+ _ZN11CItemFinder22SetItemFinderObserverLEP22MAknItemFinderObserver @ 121 NONAME
--- a/commonuis/CommonUi/bwins/CommonUIU.def Mon Mar 15 12:41:34 2010 +0200
+++ b/commonuis/CommonUi/bwins/CommonUIU.def Wed Mar 31 21:59:52 2010 +0300
@@ -89,4 +89,5 @@
??1CFindItemExt@CItemFinder@@UAE@XZ @ 88 NONAME ; CItemFinder::CFindItemExt::~CFindItemExt(void)
?SetMenuItemVisibility@CFindItemMenu@@QAEXW4TMenuItem@1@H@Z @ 89 NONAME ; void CFindItemMenu::SetMenuItemVisibility(enum CFindItemMenu::TMenuItem, int)
?HandleNotifyL@MPBAiwNotify@@UAEHHHAAVCAiwGenericParamList@@ABV2@@Z @ 90 NONAME ; int MPBAiwNotify::HandleNotifyL(int, int, class CAiwGenericParamList &, class CAiwGenericParamList const &)
+ ?SetItemFinderObserverL@CItemFinder@@QAEXPAVMAknItemFinderObserver@@@Z @ 91 NONAME ; void CItemFinder::SetItemFinderObserverL(class MAknItemFinderObserver *)
--- a/commonuis/CommonUi/src/FindItemMenu.cpp Mon Mar 15 12:41:34 2010 +0200
+++ b/commonuis/CommonUi/src/FindItemMenu.cpp Wed Mar 31 21:59:52 2010 +0300
@@ -356,6 +356,21 @@
*iFindItemUrlItemString );
}
}
+
+// -----------------------------------------------------------------------------
+// HasSelection
+// Returns ETrue if editor has highlighted text
+// -----------------------------------------------------------------------------
+//
+TBool CFindItemMenu::HasSelection() const
+ {
+ TBool retval ( EFalse );
+ if ( iAutomaticFind )
+ {
+ retval = iAutomaticFind->HasSelection();
+ }
+ return retval;
+ }
// -----------------------------------------------------------------------------
// AddMenuItemL
@@ -541,15 +556,41 @@
TBuf<KMaxMenuTextLength> tempBuf;
// Adds menu items depending the selected item
- switch ( itemType )
+ if ( HasSelection() )
{
- case CItemFinder::EPhoneNumber:
+ switch ( itemType )
{
+ case CItemFinder::EPhoneNumber:
+ {
#ifdef RD_VOIP_REL_2_2
- if ( FeatureManager::FeatureSupported(KFeatureIdCommonVoip ) )
- {
- // show call menu if allowed
- if ( !( iMenuItemFlags & CFindItemMenu::ECallItem ) )
+ if ( FeatureManager::FeatureSupported(KFeatureIdCommonVoip ) )
+ {
+ // show call menu if allowed
+ if ( !( iMenuItemFlags & CFindItemMenu::ECallItem ) )
+ {
+ // Call
+ iCoeEnv->ReadResourceL( tempBuf, R_FINDITEMMENU_CALL );
+ AddMenuItemL(
+ *iMenuPane,
+ EFindItemCmdCall,
+ ( iIsContextMenu ? EFindItemContextMenuPlaceHolder : index ),
+ 0,
+ tempBuf );
+ }
+ // if context menu, we will show call item anyway
+ else if ( iIsContextMenu )
+ {
+ // Call
+ iCoeEnv->ReadResourceL( tempBuf, R_FINDITEMMENU_CALL );
+ AddMenuItemL(
+ *iMenuPane,
+ EFindItemCmdCall,
+ EFindItemContextMenuPlaceHolder,
+ 0,
+ tempBuf );
+ }
+ }
+ else
{
// Call
iCoeEnv->ReadResourceL( tempBuf, R_FINDITEMMENU_CALL );
@@ -560,21 +601,8 @@
0,
tempBuf );
}
- // if context menu, we will show call item anyway
- else if ( iIsContextMenu )
- {
- // Call
- iCoeEnv->ReadResourceL( tempBuf, R_FINDITEMMENU_CALL );
- AddMenuItemL(
- *iMenuPane,
- EFindItemCmdCall,
- EFindItemContextMenuPlaceHolder,
- 0,
- tempBuf );
- }
- }
- else
- {
+ index = EFindItemCmdCall;
+#else
// Call
iCoeEnv->ReadResourceL( tempBuf, R_FINDITEMMENU_CALL );
AddMenuItemL(
@@ -583,141 +611,132 @@
( iIsContextMenu ? EFindItemContextMenuPlaceHolder : index ),
0,
tempBuf );
- }
- index = EFindItemCmdCall;
-#else
- // Call
- iCoeEnv->ReadResourceL( tempBuf, R_FINDITEMMENU_CALL );
- AddMenuItemL(
- *iMenuPane,
- EFindItemCmdCall,
- ( iIsContextMenu ? EFindItemContextMenuPlaceHolder : index ),
- 0,
- tempBuf );
- index = EFindItemCmdCall;
+ index = EFindItemCmdCall;
#endif // RD_VOIP_REL_2_2
- // Write
- iCoeEnv->ReadResourceL( tempBuf, R_FINDITEMMENU_MESSAGE_SUB );
- AddMenuItemL(
- *iMenuPane,
- EFindItemSubMenuSend,
- index,
- 0,//R_FINDITEM_NUMBER_MESSAGE_SUBMENU,
- tempBuf );
- index = EFindItemSubMenuSend;
-
- break;
- }
- case CItemFinder::EUrlAddress:
- {
- iCoeEnv->ReadResourceL( tempBuf, R_FINDITEMMENU_GOTO_URL );
-
- // check if not rstp
- if ( iAutomaticFind->CurrentItemExt().iItemDescriptor->FindF( KRtspUrlAddress ) == KErrNotFound )
- {
- AddMenuItemL(
- *iMenuPane,
- EFindItemCmdGoToUrl,
- ( iIsContextMenu ? EFindItemContextMenuPlaceHolder : index ),
- 0,
- tempBuf);
- index = EFindItemCmdGoToUrl;
-
- if ( !iIsContextMenu )
- {
- // Add bookmark
- iCoeEnv->ReadResourceL(
- tempBuf, R_FINDITEMMENU_ADD_BOOKMARK );
- AddMenuItemL(
- *iMenuPane,
- EFindItemCmdAddToBookmark,
- index,
- 0,
- tempBuf );
- index = EFindItemCmdAddToBookmark;
- }
- }
- else
- {
- AddMenuItemL(
- *iMenuPane,
- EFindItemCmdGoToRstp,
- ( iIsContextMenu ? EFindItemContextMenuPlaceHolder : index ),
- 0,
- tempBuf );
- index = EFindItemCmdGoToRstp;
-
- if ( !iIsContextMenu )
- {
- iCoeEnv->ReadResourceL(
- tempBuf, R_FINDITEMMENU_ADD_TO_GALLERY );
- AddMenuItemL(
- *iMenuPane,
- EFindItemCmdAddToGallery,
- index,
- 0,
- tempBuf );
- index = EFindItemCmdAddToGallery;
- }
- }
- break;
- }
- case CItemFinder::EEmailAddress:
- {
- // Checks VoIP profile count and local variation
- if ( iIsContextMenu && iFindItemVoIPExtension->VoIPProfilesExistL() )
- {
- //Call
- iCoeEnv->ReadResourceL( tempBuf, R_FINDITEMMENU_CALL );
- AddMenuItemL(
- *iMenuPane,
- EFindItemCmdCall,
- EFindItemContextMenuPlaceHolder,
- 0,
- tempBuf );
- index = EFindItemCmdCall; // Replaces the call ui menu when email
- // field is selected.
- }
-
- // Write
- if( iEmailOverSmsFeatureSupported || iMMSFeatureSupported ||
- iEmailUiFeatureSupported ) // Sometimes submenu can be empty.
- {
+ // Write
iCoeEnv->ReadResourceL( tempBuf, R_FINDITEMMENU_MESSAGE_SUB );
AddMenuItemL(
*iMenuPane,
EFindItemSubMenuSend,
- ( ( iIsContextMenu &&
- !iFindItemVoIPExtension->VoIPProfilesExistL() ) ?
- EFindItemContextMenuPlaceHolder : index ),
- 0,//R_FINDITEM_EMAIL_MESSAGE_SUBMENU,
+ index,
+ 0,//R_FINDITEM_NUMBER_MESSAGE_SUBMENU,
tempBuf );
index = EFindItemSubMenuSend;
+
+ break;
}
- break;
- }
- case CItemFinder::EUriScheme:
- {
- // Use
- iCoeEnv->ReadResourceL( tempBuf, R_QTN_OPTIONS_SCHEME_USE );
- AddMenuItemL(
- *iMenuPane,
- EFindItemCmdUse,
- ( iIsContextMenu ? EFindItemContextMenuPlaceHolder : index ),
- 0,
- tempBuf );
- index = EFindItemCmdUse;
- break;
- }
- default:
- {
- // Something else, probably nothing selected or new type which we
- // don't support.
- break;
+ case CItemFinder::EUrlAddress:
+ {
+ iCoeEnv->ReadResourceL( tempBuf, R_FINDITEMMENU_GOTO_URL );
+
+ // check if not rstp
+ if ( iAutomaticFind->CurrentItemExt().iItemDescriptor->FindF( KRtspUrlAddress ) == KErrNotFound )
+ {
+ AddMenuItemL(
+ *iMenuPane,
+ EFindItemCmdGoToUrl,
+ ( iIsContextMenu ? EFindItemContextMenuPlaceHolder : index ),
+ 0,
+ tempBuf);
+ index = EFindItemCmdGoToUrl;
+
+ if ( !iIsContextMenu )
+ {
+ // Add bookmark
+ iCoeEnv->ReadResourceL(
+ tempBuf, R_FINDITEMMENU_ADD_BOOKMARK );
+ AddMenuItemL(
+ *iMenuPane,
+ EFindItemCmdAddToBookmark,
+ index,
+ 0,
+ tempBuf );
+ index = EFindItemCmdAddToBookmark;
+ }
+ }
+ else
+ {
+ AddMenuItemL(
+ *iMenuPane,
+ EFindItemCmdGoToRstp,
+ ( iIsContextMenu ? EFindItemContextMenuPlaceHolder : index ),
+ 0,
+ tempBuf );
+ index = EFindItemCmdGoToRstp;
+
+ if ( !iIsContextMenu )
+ {
+ iCoeEnv->ReadResourceL(
+ tempBuf, R_FINDITEMMENU_ADD_TO_GALLERY );
+ AddMenuItemL(
+ *iMenuPane,
+ EFindItemCmdAddToGallery,
+ index,
+ 0,
+ tempBuf );
+ index = EFindItemCmdAddToGallery;
+ }
+ }
+ break;
+ }
+ case CItemFinder::EEmailAddress:
+ {
+ // Checks VoIP profile count and local variation
+ if ( iIsContextMenu && iFindItemVoIPExtension->VoIPProfilesExistL() )
+ {
+ //Call
+ iCoeEnv->ReadResourceL( tempBuf, R_FINDITEMMENU_CALL );
+ AddMenuItemL(
+ *iMenuPane,
+ EFindItemCmdCall,
+ EFindItemContextMenuPlaceHolder,
+ 0,
+ tempBuf );
+ index = EFindItemCmdCall; // Replaces the call ui menu when email
+ // field is selected.
+ }
+
+ // Write
+ if( iEmailOverSmsFeatureSupported || iMMSFeatureSupported ||
+ iEmailUiFeatureSupported ) // Sometimes submenu can be empty.
+ {
+ iCoeEnv->ReadResourceL( tempBuf, R_FINDITEMMENU_MESSAGE_SUB );
+ AddMenuItemL(
+ *iMenuPane,
+ EFindItemSubMenuSend,
+ ( ( iIsContextMenu &&
+ !iFindItemVoIPExtension->VoIPProfilesExistL() ) ?
+ EFindItemContextMenuPlaceHolder : index ),
+ 0,//R_FINDITEM_EMAIL_MESSAGE_SUBMENU,
+ tempBuf );
+ index = EFindItemSubMenuSend;
+ }
+ break;
+ }
+ case CItemFinder::EUriScheme:
+ {
+ // Use
+ iCoeEnv->ReadResourceL( tempBuf, R_QTN_OPTIONS_SCHEME_USE );
+ AddMenuItemL(
+ *iMenuPane,
+ EFindItemCmdUse,
+ ( iIsContextMenu ? EFindItemContextMenuPlaceHolder : index ),
+ 0,
+ tempBuf );
+ index = EFindItemCmdUse;
+ break;
+ }
+ default:
+ {
+ // Something else, probably nothing selected or new type which we
+ // don't support.
+ break;
+ }
}
}
+
// Call
- if (
+ if ( HasSelection() && (
( itemType == CItemFinder::ENoneSelected ) &&
(
(
@@ -733,7 +752,7 @@
||
( itemType == CItemFinder::EEmailAddress &&
iFindItemVoIPExtension->VoIPProfilesExistL() &&
- !iIsContextMenu )
+ !iIsContextMenu ) )
)
{
#ifdef RD_VOIP_REL_2_2
@@ -823,10 +842,10 @@
CleanupStack::PopAndDestroy( );
}
- if( (!iAutomaticFind || len != 0) &&
+ if( HasSelection() && ( (!iAutomaticFind || len != 0) &&
highlight &&
( itemType != CItemFinder::ENoneSelected ||
- iSenderHighlighted ) )
+ iSenderHighlighted ) ) )
{
iCoeEnv->ReadResourceL( tempBuf, R_FINDITEMMENU_COPY );
AddMenuItemL(
@@ -841,14 +860,14 @@
}
// Add to contacts
- if ( ( itemType != CItemFinder::EUriScheme ) &&
+ if ( HasSelection() && ( ( itemType != CItemFinder::EUriScheme ) &&
!( itemType == CItemFinder::EUrlAddress &&
iIsContextMenu ) &&
( ( ( ( !iIsSenderKnown &&
iSenderDescriptor->Length() ) ||
iCallbackNumber ) &&
itemType == CItemFinder::ENoneSelected ) ||
- itemType != CItemFinder::ENoneSelected ) )
+ itemType != CItemFinder::ENoneSelected ) ) )
{
AddMenuItemL(
*iMenuPane,
@@ -1680,11 +1699,16 @@
{
HBufC* item = 0;
TInt len = 0;
- if ( iAutomaticFind && iAutomaticFind->CurrentItemExt().iItemType != CItemFinder::ENoneSelected )
+ if ( iAutomaticFind && iAutomaticFind->CurrentSelection().Length() > 0 )
{
item = iAutomaticFind->CurrentSelection().AllocLC();
len = item->Length();
}
+ else if ( iAutomaticFind && iAutomaticFind->CurrentItemExt().iItemDescriptor )
+ {
+ item = iAutomaticFind->CurrentItemExt().iItemDescriptor->AllocLC();
+ len = item->Length();
+ }
else if( iSenderHighlighted )
{
item = iSenderDisplayText->AllocLC();
@@ -1835,7 +1859,7 @@
User::Leave(err);
}
}
- return KErrNone;
+ return ETrue;
}
// End of File
--- a/commonuis/CommonUi/src/ItemFinder.cpp Mon Mar 15 12:41:34 2010 +0200
+++ b/commonuis/CommonUi/src/ItemFinder.cpp Wed Mar 31 21:59:52 2010 +0300
@@ -21,7 +21,9 @@
// INCLUDES
#include <eikrted.h>
#include <txtrich.h> // for CRichText
-#include "ItemFinder.h"
+#include <ItemFinder.h>
+#include <itemfinderobserver.h>
+#include <aknphysicscrkeys.h>
#include <finditemengine.h>
#include <commonphoneparser.h>
#include <txtfrmat.h>
@@ -31,12 +33,14 @@
// scheme recog
#include <ecom/ecom.h>
#include <ecom/implementationinformation.h>
+#include <coemain.h>
#include <centralrepository.h>
#include <CommonUiInternalCRKeys.h>
// CONSTANTS
const TInt KMINTAGLENGTH(5);
+const TInt KDragTresholdDefault(20);
_LIT( KHTTPPREFIX, "http://");
_LIT( RTSP, "rtsp");
_LIT( KTELPREFIX, "tel:");
@@ -196,9 +200,14 @@
{
delete iSchemeResolver;
}
+ if ( iItemFinderObserver && iCoeEnv ) // if still listening to events
+ {
+ iCoeEnv->RemoveMessageMonitorObserver( *this );
+ }
}
-CItemFinder::CItemFinder( TInt aFindFlags ): iFlags( aFindFlags )
+CItemFinder::CItemFinder( TInt aFindFlags ): iFlags( aFindFlags ),
+ iCoeEnv( CCoeEnv::Static() )
{}
void CItemFinder::ConstructL()
@@ -240,6 +249,12 @@
{
return EFalse;
}
+ // if a key was not pressed, do not move highlight to next item.
+ if ( iItemFinderObserver && !iAllowHighlight )
+ {
+ return EFalse;
+ }
+
if ( aDirection == EInit || aDirection == EInitUp || aDirection == EInitDown )
{
if ( aDirection == EInitUp )
@@ -465,6 +480,7 @@
EXPORT_C void CItemFinder::SetEditor( CEikRichTextEditor** aEditor )
{
iEditor=aEditor;
+ SetWindowControl( *aEditor );
if ( aEditor && *aEditor && (*aEditor)->TextLength() )
{
TRAP_IGNORE( (*aEditor)->SetHighlightStyleL( EEikEdwinHighlightLink ) );
@@ -906,6 +922,11 @@
{
return EFalse;
}
+ if ( iItemFinderObserver && !iAllowHighlight )
+ {
+ // if observer is given, return EFalse here
+ return EFalse;
+ }
TInt pos = 0;
TInt len = (*iEditor)->TextLayout()->PosRangeInBand( pos );
TRect rect;
@@ -1111,6 +1132,84 @@
}
}
+// -----------------------------------------------------------------------------
+// CItemFinder::SetItemFinderObserverL()
+// -----------------------------------------------------------------------------
+//
+EXPORT_C void CItemFinder::SetItemFinderObserverL(
+ MAknItemFinderObserver* aObserver )
+ {
+ if ( !iItemFinderObserver && aObserver ) // client registers
+ {
+ if ( iCoeEnv )
+ {
+ iCoeEnv->AddMessageMonitorObserverL( *this );
+ }
+ }
+ else if ( iItemFinderObserver && !aObserver ) // client unregisters
+ {
+ if ( iCoeEnv )
+ {
+ iCoeEnv->RemoveMessageMonitorObserver( *this );
+ }
+ }
+
+ iItemFinderObserver = aObserver;
+ }
+
+// -----------------------------------------------------------------------------
+// CItemFinder::MonitorWsMessage
+// -----------------------------------------------------------------------------
+//
+void CItemFinder::MonitorWsMessage( const TWsEvent& aEvent )
+ {
+ if ( !iItemFinderObserver )
+ {
+ // if no observer given, nothing is done here.
+ return;
+ }
+ if ( !iEditor )
+ {
+ return;
+ }
+ if ( EEventPointer == aEvent.Type() )
+ {
+ CCoeControl* targetControl =
+ reinterpret_cast<CCoeControl*>( aEvent.Handle() );
+ if ( targetControl )
+ {
+ TRAP_IGNORE ( MonitorPointerEventL(
+ *aEvent.Pointer(), targetControl ) );
+ }
+ }
+ else if ( aEvent.Type() == EEventKeyDown )
+ {
+ iAllowHighlight = ETrue;
+
+ // if an item is selected and select was pressed, send key event
+ TKeyEvent* keyEvent = aEvent.Key();
+
+ if ( keyEvent && ( EStdKeyDevice3 == keyEvent->iScanCode
+ || EStdKeyEnter == keyEvent->iScanCode
+ || EStdKeyNkpEnter == keyEvent->iScanCode )
+ && iItemFinderObserver
+ && ( KNullDesC().Compare ( CurrentSelection() ) ) )
+ {
+ // calling observer
+ TRAP_IGNORE( iItemFinderObserver->HandleFindItemEventL(
+ *iCurrentItemExt, MAknItemFinderObserver::EKeyEvent ) );
+ }
+ }
+ else if ( aEvent.Type() == EEventKeyUp )
+ {
+ iAllowHighlight = EFalse;
+ }
+ }
+
+// -----------------------------------------------------------------------------
+// CItemFinder::RefreshEditor
+// -----------------------------------------------------------------------------
+//
TInt CItemFinder::RefreshEditor()
{
TInt error = KErrNone;
@@ -1141,4 +1240,161 @@
return error;
}
+// ---------------------------------------------------------------------------
+// CItemFinder::SetWindowControl
+// ---------------------------------------------------------------------------
+//
+void CItemFinder::SetWindowControl( CCoeControl* aControl )
+ {
+ if ( aControl )
+ {
+ CCoeControl* windowControl( aControl );
+ while ( windowControl && !windowControl->OwnsWindow() )
+ {
+ if ( windowControl == windowControl->Parent() )
+ {
+ return;
+ }
+ windowControl = windowControl->Parent();
+ }
+ if ( windowControl )
+ {
+ iWindowControl = windowControl;
+ }
+ }
+ }
+
+// --------------------------------------------------------------------------
+// CItemFinder::MonitorPointerEventL
+// --------------------------------------------------------------------------
+//
+void CItemFinder::MonitorPointerEventL( TPointerEvent &aPointerEvent,
+ CCoeControl* aTargetControl )
+ {
+ if ( !iWindowControl )
+ {
+ SetWindowControl( *iEditor );
+ }
+ if ( aTargetControl == iWindowControl )
+ {
+ TPoint tapPoint ( aPointerEvent.iPosition );
+ ModifyPointerEvent( tapPoint );
+ if ( aPointerEvent.iType == TPointerEvent::EButton1Down )
+ {
+ iAllowHighlight = ETrue;
+ TBool tapped ( EFalse );
+ // Trapping because iAllowHighlight needs to be set to value EFalse
+ // also if ItemWasTappedL leaves
+ TRAP_IGNORE( tapped = ItemWasTappedL( tapPoint ) );
+ iAllowHighlight = EFalse;
+ // if no item was tapped remove selection
+ if ( tapped )
+ {
+ iTapPoint = tapPoint;
+ }
+ else
+ {
+ (*iEditor)->ClearSelectionL();
+ ResetCurrentItem();
+ }
+ }
+ else if ( aPointerEvent.iType == TPointerEvent::EDrag )
+ {
+ if ( iCurrentItemExt->iItemType != ENoneSelected )
+ {
+ if ( Abs( iTapPoint.iX - tapPoint.iX ) > DragThresholdL() ||
+ Abs( iTapPoint.iY - tapPoint.iY ) > DragThresholdL() )
+ {
+ (*iEditor)->ClearSelectionL();
+ ResetCurrentItem();
+ }
+ }
+ }
+ else if ( aPointerEvent.iType == TPointerEvent::EButton1Up )
+ {
+ if ( iCurrentItemExt->iItemType != ENoneSelected )
+ {
+ if ( iItemFinderObserver )
+ {
+ // calling observer
+ iItemFinderObserver->HandleFindItemEventL(
+ *iCurrentItemExt,
+ MAknItemFinderObserver::EPointerEvent );
+ }
+ // remove selection with button up event
+ (*iEditor)->ClearSelectionL();
+ if ( !(*iEditor)->IsFocused() )
+ {
+ // ClearSelectionL() does not draw itself if focus was lost
+
+ TRect rect = (*iEditor)->TextLayout()->GetLineRectL(
+ iCurrentItemExt->iStart, iCurrentItemExt->iEnd );
+ rect.Move( (*iEditor)->Position() );
+ rect.iTl.iX = 0;
+ rect.iBr.iX = (*iEditor)->Rect().iBr.iX;
+
+ TPoint begin ( 0, 0 );
+ TPoint end ( 0, 0 );
+ (*iEditor)->TextLayout()->DocPosToXyPosL(
+ iCurrentItemExt->iStart, begin );
+ (*iEditor)->TextLayout()->DocPosToXyPosL(
+ iCurrentItemExt->iEnd, end );
+
+ if ( begin.iY != end.iY )
+ {
+ // item spawns two lines
+ // make rectangle cover both lines
+ rect.iBr.iY += ( end.iY - begin.iY );
+ }
+ // draw clearable area
+ (*iEditor)->DrawNow( rect );
+ }
+ }
+ }
+ }
+ }
+
+// --------------------------------------------------------------------------
+// CItemFinder::ModifyPointerEvent
+// --------------------------------------------------------------------------
+//
+void CItemFinder::ModifyPointerEvent( TPoint &aTapPoint )
+ {
+ aTapPoint -= (*iEditor)->Position();
+ }
+
+// --------------------------------------------------------------------------
+// CItemFinder::DragThresholdL
+// --------------------------------------------------------------------------
+//
+TInt CItemFinder::DragThresholdL()
+ {
+ if ( 0 == iDragThreshold )
+ {
+ CRepository* cenrep ( NULL );
+ TRAPD( err, cenrep = CRepository::NewL( KCRUidAknPhysicsSettings ) );
+ if ( KErrNone == err && cenrep )
+ {
+ CleanupStack::PushL( cenrep );
+ cenrep->Get( KDragTreshold, iDragThreshold );
+ CleanupStack::PopAndDestroy( cenrep );
+ }
+ }
+ if ( 0 == iDragThreshold )
+ {
+ // cenrep failed, use fallback value
+ iDragThreshold = KDragTresholdDefault;
+ }
+ return iDragThreshold;
+ }
+
+// --------------------------------------------------------------------------
+// CItemFinder::HasSelection
+// --------------------------------------------------------------------------
+//
+TBool CItemFinder::HasSelection() const
+ {
+ return static_cast<TBool>( (*iEditor)->SelectionLength() );
+ }
+
// End of File
--- a/psln/Group/102818E8.xml Mon Mar 15 12:41:34 2010 +0200
+++ b/psln/Group/102818E8.xml Wed Mar 31 21:59:52 2010 +0300
@@ -1,7 +1,7 @@
<!--
-To disable theme related transition effects
+To disable theme related transition effects and animation background
Repository : KCRUidThemes
-Key : KThemesTransitionEffects
+Key : KThemesTransitionEffectsSupport, KThemesAnimBackgroundSupport
Value : The largest possible value for a TInt (KMaxTInt=0x7fffffff defined in e32const.h)
Definition in file pslninternalcreys.h
-->
@@ -9,8 +9,10 @@
<PowerSaveModeConfig>
<Setting mode="1"><!-- PSM mode Full PSM -->
<SetItem key="9" type="0" value="2147483647"></SetItem>
+ <SetItem key="14" type="0" value="2147483647"></SetItem>
</Setting>
<Setting mode="2"><!-- PSM mode Partial PSM-->
- <SetItem key="9" type="0" value="2147483647"></SetItem>
+ <SetItem key="9" type="0" value="2147483647"></SetItem>
+ <SetItem key="14" type="0" value="2147483647"></SetItem>
</Setting>
</PowerSaveModeConfig>
--- a/psln/Src/PslnGeneralThemeContainer.cpp Mon Mar 15 12:41:34 2010 +0200
+++ b/psln/Src/PslnGeneralThemeContainer.cpp Wed Mar 31 21:59:52 2010 +0300
@@ -282,6 +282,7 @@
}
CleanupStack::PopAndDestroy( skinName );
+ iActiveSkinItemIndex = currentlyActiveSkinIndex + downloadAdded;
if ( iOldSkinNum != maxSkinIndex )
{
iToBeUsedIndex = currentlyActiveSkinIndex + downloadAdded;
@@ -290,12 +291,10 @@
( iToBeUsedIndex <= ( maxSkinIndex + downloadAdded ) ) )
{
SetCurrentItemIndex( iToBeUsedIndex );
- iActiveSkinItemIndex = iToBeUsedIndex;
}
else
{
- SetCurrentItemIndex( ( currentlyActiveSkinIndex + downloadAdded ) );
- iActiveSkinItemIndex = currentlyActiveSkinIndex + downloadAdded;
+ SetCurrentItemIndex( currentlyActiveSkinIndex + downloadAdded );
}
iListBox->HandleItemAdditionL();
if ( iOldSkinNum != maxSkinIndex )
--- a/uifw/AknGlobalUI/AknCapServer/inc/AknCapServerEntry.h Mon Mar 15 12:41:34 2010 +0200
+++ b/uifw/AknGlobalUI/AknCapServer/inc/AknCapServerEntry.h Wed Mar 31 21:59:52 2010 +0300
@@ -29,6 +29,7 @@
#include <centralrepository.h>
#include <PtiDefs.h>
#endif
+#include <alf/alfdirectclient.h>
#include "AknEikSgcs.h"
#include "AknNotiferAppServerApplicationInterface.h"
@@ -198,6 +199,8 @@
void InitiateOFNStatus();
void LoadAlternateFsPlugin();
void ShowOrDismissAlternateFs();
+ static TInt RemoveBlankCallBack( TAny* aThis );
+ void DoRemoveBlank();
public:
/**
@@ -267,6 +270,8 @@
RProperty iTelephonyIdleUidProperty;
CPropertySubscriber* iTelephonyIdleUidSubscriber;
TBool iIdleActive;
+ RAlfDirectClient iAlfClient;
+ CPeriodic* iRemoveBlankCallBack;
};
#endif // __AKNCAPSERVERENTRY__
--- a/uifw/AknGlobalUI/AknCapServer/inc/AknEikSgcs.h Mon Mar 15 12:41:34 2010 +0200
+++ b/uifw/AknGlobalUI/AknCapServer/inc/AknEikSgcs.h Wed Mar 31 21:59:52 2010 +0300
@@ -64,6 +64,9 @@
static TInt LayoutInstallationCallBack(TAny* aPtr);
+ void SetBackgroundAppsStateChangeDeferred(TBool aDeferred);
+ TBool BackgroundAppsStateChangeDeferred() const;
+
private:
class TWgState
{
@@ -179,6 +182,7 @@
TInt iTouchCompaScreenMode;
CEComPluginNotifier* iLayoutNotifier; // Owned
REComPluginInfoArray iPrevPluginInfo;
+ TInt iBackgroundLayoutDeferred;
};
#endif // EIKSGCS_H
--- a/uifw/AknGlobalUI/AknCapServer/inc/AknKeyFilter.h Mon Mar 15 12:41:34 2010 +0200
+++ b/uifw/AknGlobalUI/AknCapServer/inc/AknKeyFilter.h Wed Mar 31 21:59:52 2010 +0300
@@ -54,11 +54,12 @@
void InitHardwareStateL();
TBool HandleHardwareStateKeyL(TInt aCode);
void FreeHardwareStateKeys();
- void SetHardwareStateL(TInt aState);
+ void SetHardwareStateL(TInt aState, TBool& aChanged);
#ifdef RD_INTELLIGENT_TEXT_INPUT
TInt CAknServKeyFilter::HwKeyToKeyBoardType(TInt aKeyCode);
#endif
void RotateScreenL( TInt aState );
+ void UpdateStateAndNotifyL( TInt aState );
void UpdateKeyboardLayout( TInt aKeyboardLayout );
private:
--- a/uifw/AknGlobalUI/AknCapServer/inc/aknslidestatusnotifier.h Mon Mar 15 12:41:34 2010 +0200
+++ b/uifw/AknGlobalUI/AknCapServer/inc/aknslidestatusnotifier.h Wed Mar 31 21:59:52 2010 +0300
@@ -2,7 +2,7 @@
* 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 the License "Eclipse Public License v1.0"
+* 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".
*
--- a/uifw/AknGlobalUI/AknCapServer/src/AknCapServerEntry.cpp Mon Mar 15 12:41:34 2010 +0200
+++ b/uifw/AknGlobalUI/AknCapServer/src/AknCapServerEntry.cpp Wed Mar 31 21:59:52 2010 +0300
@@ -33,7 +33,7 @@
#include "avkoninternalpskeys.h" // KAknIdleAppWindowGroupId
#include <AknCapServerDefs.h>
#include <activeidle2domainpskeys.h>
-#include <eikpriv.rsg>
+#include <EIKPRIV.rsg>
#include <coedef.h>
#include <eiksvdef.h>
#include <aknconsts.h>
@@ -107,7 +107,7 @@
const TInt KKeyEventICodeThreshold = 0x001f;
const TInt KMaxLanguageCodeLength = 6; // 5 digits + separator
-
+const TInt KRemoveBlankDelay = 200000; // 0.2s
_LIT(KEikSrvUIResFileName, "z:\\resource\\eiksrvui.rsc");
_LIT_SECURITY_POLICY_PASS(KPassReadPolicy);
@@ -172,7 +172,8 @@
delete iMMCUnlock;
delete iIdler;
iEikSrv.Close(); // this shouldn't be connected here anyway
- delete iPtiEngine;
+ delete iPtiEngine;
+ iAlfClient.Close();
}
_LIT(KProductSpecificHalFile, "z:\\system\\data\\ProductSpecificHalParams.txt");
@@ -856,12 +857,26 @@
}
}
-void CAknCapAppServerAppUi::BlankScreenL(TBool aBlank, TBool aToForeground)
+TInt CAknCapAppServerAppUi::RemoveBlankCallBack( TAny* aThis )
+ {
+ static_cast<CAknCapAppServerAppUi*>( aThis )->DoRemoveBlank();
+ return EFalse;
+ }
+
+void CAknCapAppServerAppUi::BlankScreenL(TBool aBlank, TBool /* aToForeground */)
{
if (aBlank)
{
if (++iBlankWinRefCount == 1)
{
+ delete iRemoveBlankCallBack;
+ iRemoveBlankCallBack = NULL;
+
+ // We are ignoring the foreground parameter because we only have one
+ // type of blanking behaviour in AlfClient. Act as if ETrue
+ iAlfClient.BlankScreen(ETrue);
+ iForegroundBlankScreen = ETrue; // always as if foreground blanking
+/*
ASSERT(!iBlankWin);
if (aToForeground)
{
@@ -873,16 +888,30 @@
}
iBlankWin = CAknServBlankWin::NewL(iBackdropWindowGroup, iStatusPane);
iForegroundBlankScreen = aToForeground;
+*/
}
}
else if (--iBlankWinRefCount <= 0)
{
iBlankWinRefCount = 0;
- if (iForegroundBlankScreen)
+
+ // Blanking IPC is delayed or restarted
+ delete iRemoveBlankCallBack;
+ iRemoveBlankCallBack = NULL;
+ iRemoveBlankCallBack = CPeriodic::NewL(CActive::EPriorityLow);
+
+ iRemoveBlankCallBack->Start(
+ KRemoveBlankDelay,
+ KRemoveBlankDelay,
+ TCallBack(RemoveBlankCallBack, this));
+
+
+/* if (iForegroundBlankScreen)
{
+ */
#ifdef RD_UI_TRANSITION_EFFECTS_LAYOUT_SWITCH
+ /*
CWsScreenDevice* screen = iEikonEnv->ScreenDevice();
- /*
RWsSession& ws = iEikonEnv->WsSession();
TInt wgId = ws.GetFocusWindowGroup();
CApaWindowGroupName* wgName = CApaWindowGroupName::NewL(ws, wgId);
@@ -896,18 +925,28 @@
// AknTransEffect::GfxTransParam( KTfxServerUid )
// );
- GfxTransEffect::EndFullScreen();
+// GfxTransEffect::EndFullScreen();
#endif
- iBackdropWindowGroup.SetOrdinalPosition(1, ECoeWinPriorityNormal);
- }
+/* iBackdropWindowGroup.SetOrdinalPosition(1, ECoeWinPriorityNormal);
+ }
delete iBlankWin;
iBlankWin = 0;
+*/
iForegroundBlankScreen = EFalse;
}
}
+void CAknCapAppServerAppUi::DoRemoveBlank()
+ {
+ RDebug::Print( _L("CAknCapAppServerAppUi::DoRemoveBlank"));
+ iAlfClient.BlankScreen(EFalse);
+ delete iRemoveBlankCallBack;
+ iRemoveBlankCallBack = NULL;
+ }
+
void CAknCapAppServerAppUi::SwapLayoutSwitchBlankScreenL()
{
+ /*
if (iBlankWin)
{
if (!iForegroundBlankScreen)
@@ -920,6 +959,7 @@
delete iBlankWin;
iBlankWin = newBlankWin;
}
+ */
}
TBool CAknCapAppServerAppUi::IsDisplayingForegroundBlankScreen() const
--- a/uifw/AknGlobalUI/AknCapServer/src/AknEikSgcs.cpp Mon Mar 15 12:41:34 2010 +0200
+++ b/uifw/AknGlobalUI/AknCapServer/src/AknEikSgcs.cpp Wed Mar 31 21:59:52 2010 +0300
@@ -1025,9 +1025,15 @@
TInt modeIndex = mode.ModeNumber();
TBool blank = iLastScreenModeSet != -1;
- if (modeIndex != iLastScreenModeSet)
+
+ // We need to force a screen mode change if the new topState is not for a specified orientation
+ // and we have been doing any deferring of the state change
+ TBool forceScreenModeChange = (!topState.IsOrientationSpecified()) && BackgroundAppsStateChangeDeferred();
+
+ if (modeIndex != iLastScreenModeSet || forceScreenModeChange )
{
-
+ SetBackgroundAppsStateChangeDeferred( EFalse );
+
// Touch compatibility mode. Disable transition effects if compa-mode
// application becomes foreground. Restore back in opposite case.
if (iTouchCompaModeIf)
@@ -1051,8 +1057,8 @@
}
#endif
- if (!tfxOn)
- eikEnv->WsSession().ClearAllRedrawStores();
+ // if (!tfxOn)
+ // eikEnv->WsSession().ClearAllRedrawStores();
// If AknNfySrv or EikSrv is displaying a global note,
// the screen blanker is allowed to stay on until it times
@@ -1075,8 +1081,8 @@
FadeColorGenerationL();
SetLayoutBlankScreenL(blank, ESetLayoutBlankBetweenLayoutLoadAndScreenRotate);
- if (tfxOn)
- eikEnv->WsSession().ClearAllRedrawStores();
+ //if (tfxOn)
+ // eikEnv->WsSession().ClearAllRedrawStores();
// if layout change is preemptive for app change, move the app here
DoMoveApp();
@@ -1092,7 +1098,9 @@
iAvkonAppUiBase->SetLayoutAwareApp(!topState.IsLegacyLayout());
// Start callback for handling new layout
- if (newLayoutLoaded)
+ // Need to execute even if the layout is not new, but apps need to catch up
+ // to it because of deferred layout switches
+ if (newLayoutLoaded || forceScreenModeChange)
{
// Swap the screen blanker to update the foreground app's layout
if (blank && iSetLayoutBlankStep < ESetLayoutBlankAfterScreenRotate)
@@ -1132,7 +1140,10 @@
// The callback will not remove the screen blanker,
// so remove it now.
iBlankCount--;
+
+#ifndef RD_NO_SYSTEM_SCREEN_BLANKING
iAknCapAppServerAppUi->BlankScreenL(EFalse);
+#endif
}
}
}
@@ -1145,7 +1156,9 @@
{
// blank the screen and keep track of how many times it's been blanked
iBlankCount++;
+#ifndef RD_NO_SYSTEM_SCREEN_BLANKING
iAknCapAppServerAppUi->BlankScreenL(ETrue, ETrue);
+#endif
}
}
@@ -1386,7 +1399,9 @@
// remove any remaining screen blanker
for (; iRemoveBlankCount>0; iRemoveBlankCount--)
{
+#ifndef RD_NO_SYSTEM_SCREEN_BLANKING
TRAP_IGNORE( iAknCapAppServerAppUi->BlankScreenL( EFalse ) );
+#endif
}
iRemoveBlankCount = 0;
@@ -1522,6 +1537,15 @@
return EFalse;
}
+void CEikSgcServer::SetBackgroundAppsStateChangeDeferred(TBool aDeferred)
+ {
+ iBackgroundLayoutDeferred = aDeferred;
+ }
+
+TBool CEikSgcServer::BackgroundAppsStateChangeDeferred() const
+ {
+ return iBackgroundLayoutDeferred;
+ }
//
// CAknSgcServerImpl
//
--- a/uifw/AknGlobalUI/AknCapServer/src/AknMemoryCardDialogImpl.cpp Mon Mar 15 12:41:34 2010 +0200
+++ b/uifw/AknGlobalUI/AknCapServer/src/AknMemoryCardDialogImpl.cpp Wed Mar 31 21:59:52 2010 +0300
@@ -19,7 +19,7 @@
#include <aknmemorycardui.rsg>
#include <StringLoader.h>
#include <aknsoundsystem.h>
-#include <secondarydisplay/AknSecondaryDisplayDefs.h>
+#include <SecondaryDisplay/AknSecondaryDisplayDefs.h>
#include "AknCapServerEntry.h"
#include "AknCapServerDefs.h"
#include "AknMemoryCardDialogImpl.h"
--- a/uifw/AknGlobalUI/AknCapServer/src/aknKeyFilter.cpp Mon Mar 15 12:41:34 2010 +0200
+++ b/uifw/AknGlobalUI/AknCapServer/src/aknKeyFilter.cpp Wed Mar 31 21:59:52 2010 +0300
@@ -22,7 +22,7 @@
#include <e32property.h>
#include <UikonInternalPSKeys.h> // KUikLayoutState, KUikFlipStatus
#include <AvkonInternalCRKeys.h> // KAknQwertyInputModeActive
-#include <eikpriv.rsg>
+#include <EIKPRIV.rsg>
#include <AknDef.h>
#include <AknSgcc.h>
#include <aknenv.h>
@@ -292,27 +292,43 @@
if ( task.Exists() )
{
+ TVwsViewId idleView = TVwsViewId();
+ AknDef::GetPhoneIdleViewId( idleView );
// If the task already exists, bring it to foreground.
if ( aViewId.iAppUid == iHomeViewId.iAppUid )
{
// special process for appshell
- RThread menuThread;
- TInt error = menuThread.Open(task.ThreadId());
+ RThread thread;
+ TInt error = thread.Open(task.ThreadId());
if ( error == KErrNone )
{
- menuThread.SetProcessPriority(EPriorityForeground);
+ thread.SetProcessPriority(EPriorityForeground);
}
- //start different fullscreen effect when launching appshell
+ // start different fullscreen effect when launching app by KUidApaMessageSwitchOpenFile
GfxTransEffect::BeginFullScreen(
AknTransEffect::EApplicationActivate,
TRect(),
AknTransEffect::EParameterType,
- AknTransEffect::GfxTransParam( iHomeViewId.iAppUid ) );
-
+ AknTransEffect::GfxTransParam( aViewId.iAppUid ) );
+
// matrix menu will bring itself foreground when getting the message below
task.SendMessage( KUidApaMessageSwitchOpenFile , KNullDesC8 );
}
+ else if ( aViewId.iAppUid == idleView.iAppUid )
+ {
+ // special process for idle
+ RThread thread;
+ TInt error = thread.Open( task.ThreadId() );
+ if ( error == KErrNone )
+ {
+ thread.SetProcessPriority( EPriorityForeground );
+ }
+
+ // idle will bring itself foreground when getting the message below
+ task.SendMessage( KUidApaMessageSwitchOpenFile , KNullDesC8 );
+
+ }
else
{
CAknSgcClient::MoveApp(task.WgId(), ESgcMoveAppToForeground);
@@ -392,18 +408,6 @@
iHomeTimer = NULL;
if ( !iAppUi->HandleShortAppsKeyPressL() )
{
- RWsSession& ws = iEikonEnv->WsSession();
- TApaTaskList apList( ws );
- TApaTask task = apList.FindApp( iHomeViewId.iAppUid );
- if( task.Exists() && task.WgId() == ws.GetFocusWindowGroup() )
- {
- GfxTransEffect::BeginFullScreen(
- AknTransEffect::EApplicationExit,
- TRect(),
- AknTransEffect::EParameterType,
- AknTransEffect::GfxTransParam( iHomeViewId.iAppUid ) );
- }
-
ToggleShellL();
}
@@ -503,19 +507,21 @@
// use a state that results in screen mode zero for normal apps.
CAknLayoutConfig::THardwareStateArray hwStates =
CAknSgcClient::LayoutConfig().HardwareStates();
+
+ TBool changed;
TInt count = hwStates.Count();
for ( TInt ii = 0; ii < count; ii++ )
{
const CAknLayoutConfig::THardwareState& hwState = hwStates.At( ii );
if ( hwState.ScreenMode() == 0 )
{
- SetHardwareStateL( hwState.StateNumber() );
+ SetHardwareStateL( hwState.StateNumber(), changed );
return;
}
}
// Fall back to state 0.
- SetHardwareStateL( 0 );
+ SetHardwareStateL( 0, changed);
}
@@ -539,10 +545,11 @@
const CAknLayoutConfig::THardwareState& hwState = hwStates.At( ii );
if ( hwState.KeyCode() == aCode )
{
+ // Found the state
iSensorOrientation = hwState.StateNumber();
if( !iSlideOpen )
{
- RotateScreenL( hwState.StateNumber() );
+ UpdateStateAndNotifyL( hwState.StateNumber() );
#ifdef RD_INTELLIGENT_TEXT_INPUT
#if defined(__WINS__)
@@ -639,9 +646,14 @@
// Updates the hardware state P&S key.
// ---------------------------------------------------------------------------
//
-void CAknServKeyFilter::SetHardwareStateL( TInt aState )
+void CAknServKeyFilter::SetHardwareStateL( TInt aState, TBool& aChanged )
{
- TInt err = RProperty::Set( KPSUidUikon, KUikLayoutState, aState );
+ TInt currentState(-1);
+ RProperty::Get( KPSUidUikon, KUikLayoutState, currentState );
+ aChanged = currentState != aState;
+ if ( aChanged )
+ {
+ TInt err = RProperty::Set( KPSUidUikon, KUikLayoutState, aState );
#ifdef _DEBUG
_LIT( KDMsg1, "xxxx KUikLayoutState err=%d" );
@@ -665,6 +677,7 @@
#ifdef _DEBUG
User::LeaveIfError( err );
#endif
+ }
}
#ifdef RD_INTELLIGENT_TEXT_INPUT
@@ -791,18 +804,19 @@
{
CWsScreenDevice* screen = iEikonEnv->ScreenDevice();
TInt screenMode = screen->CurrentScreenMode();
- SetHardwareStateL( aState );
-
- // Update the setting cache and get SGCS to process the screen
- // mode change. This may broadcast a screen device change to
- // the apps, to inform them of the update.
- iAvkonEnv->SettingCache().Update( KAknHardwareLayoutSwitch );
- iAppUi->SgcServer()->HandleWindowGroupParamChangeL(
- iEikonEnv->RootWin().Identifier(),
- 0,
- 0,
- 0,
- KAknScreenModeUnset );
+ TBool changed;
+ SetHardwareStateL( aState, changed);
+
+ // Update the setting cache and get SGCS to process the screen
+ // mode change. This may broadcast a screen device change to
+ // the apps, to inform them of the update.
+ iAvkonEnv->SettingCache().Update( KAknHardwareLayoutSwitch );
+ iAppUi->SgcServer()->HandleWindowGroupParamChangeL(
+ iEikonEnv->RootWin().Identifier(),
+ 0,
+ 0,
+ 0,
+ KAknScreenModeUnset );
if ( screenMode == screen->CurrentScreenMode() )
{
@@ -815,5 +829,39 @@
iEikonEnv->WsSession().SendEventToAllWindowGroups( 0, event );
}
}
+
+// ---------------------------------------------------------------------------
+// CAknServKeyFilter::UpdateStateAndNotifyL
+// ---------------------------------------------------------------------------
+//
+void CAknServKeyFilter::UpdateStateAndNotifyL( TInt aState )
+ {
+ CWsScreenDevice* screen = iEikonEnv->ScreenDevice();
+ TInt screenMode = screen->CurrentScreenMode();
+ TBool changed;
+ SetHardwareStateL( aState, changed);
+
+ //Do something only if anything changed
+ if (changed)
+ {
+ // Update the setting cache and get SGCS to process the screen
+ // mode change. This may broadcast a screen device change to
+ // the apps, to inform them of the update.
+ iAvkonEnv->SettingCache().Update( KAknHardwareLayoutSwitch );
+ iAppUi->SgcServer()->HandleWindowGroupParamChangeL(
+ iEikonEnv->RootWin().Identifier(),
+ 0,
+ 0,
+ 0,
+ KAknScreenModeUnset );
+
+ }
+
+ if (screenMode == screen->CurrentScreenMode() )
+ {
+ // Remember that there was at least one inhibited screen mode
+ iAppUi->SgcServer()->SetBackgroundAppsStateChangeDeferred( ETrue );
+ }
+ }
// End of file
--- a/uifw/AknGlobalUI/AknCapServer/src/aknslidestatusnotifier.cpp Mon Mar 15 12:41:34 2010 +0200
+++ b/uifw/AknGlobalUI/AknCapServer/src/aknslidestatusnotifier.cpp Wed Mar 31 21:59:52 2010 +0300
@@ -2,7 +2,7 @@
* 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 the License "Eclipse Public License v1.0"
+* 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".
*
--- a/uifw/AknGlobalUI/NotifierWrapper/src/AknNotiferAppServerApplication.cpp Mon Mar 15 12:41:34 2010 +0200
+++ b/uifw/AknGlobalUI/NotifierWrapper/src/AknNotiferAppServerApplication.cpp Wed Mar 31 21:59:52 2010 +0300
@@ -33,7 +33,7 @@
#include "AknNotiferAppServerApplicationInterface.h"
#include <AknMediatorFacade.h>
-#include <secondarydisplay/AknSecondaryDisplayDefs.h>
+#include <SecondaryDisplay/AknSecondaryDisplayDefs.h>
#include <aknglobalpopupprioritycontroller.h>
//---- Awkward, but declaring base classes otherwise in Akncapserver entry would break app fw.
--- a/uifw/AknGlobalUI/OldStyleNotif/Inc/AknNotifyPlugin.h Mon Mar 15 12:41:34 2010 +0200
+++ b/uifw/AknGlobalUI/OldStyleNotif/Inc/AknNotifyPlugin.h Wed Mar 31 21:59:52 2010 +0300
@@ -28,7 +28,7 @@
#include <AknPanic.h>
#include <MediatorEventProvider.h>
#include <MediatorDomainUIDs.h>
-#include <secondarydisplay/AknSecondaryDisplayDefs.h>
+#include <SecondaryDisplay/AknSecondaryDisplayDefs.h>
class CAknIndicatorData;
--- a/uifw/AknGlobalUI/OldStyleNotif/Inc/AknSoftNotificationPlugin.h Mon Mar 15 12:41:34 2010 +0200
+++ b/uifw/AknGlobalUI/OldStyleNotif/Inc/AknSoftNotificationPlugin.h Wed Mar 31 21:59:52 2010 +0300
@@ -27,7 +27,7 @@
#include <aknstaticnotedialog.h>
#include <AknNotifyStd.h>
#include <AknMediatorFacade.h> // Not the best for the purpose but will do just fine.
-#include <secondarydisplay/AknSecondaryDisplayDefs.h>
+#include <SecondaryDisplay/AknSecondaryDisplayDefs.h>
#include <AknNotify.h>
#include "AknSystemPopup.h"
#include "AknGroupedNotifierNote.h"
--- a/uifw/AknGlobalUI/OldStyleNotif/Inc/AknSystemPopup.h Mon Mar 15 12:41:34 2010 +0200
+++ b/uifw/AknGlobalUI/OldStyleNotif/Inc/AknSystemPopup.h Wed Mar 31 21:59:52 2010 +0300
@@ -155,6 +155,7 @@
TPtrC iSoftkeyLeft;
/// Custom text for right softkey.
TPtrC iSoftkeyRight;
+ TBool iCaptured;
};
--- a/uifw/AknGlobalUI/OldStyleNotif/Src/AknSystemListMsgPopup.cpp Mon Mar 15 12:41:34 2010 +0200
+++ b/uifw/AknGlobalUI/OldStyleNotif/Src/AknSystemListMsgPopup.cpp Wed Mar 31 21:59:52 2010 +0300
@@ -35,7 +35,7 @@
#include <AknMediatorFacade.h>
#include <aknSDData.h>
-#include <secondarydisplay/AknSecondaryDisplayDefs.h>
+#include <SecondaryDisplay/AknSecondaryDisplayDefs.h>
#include "AknAppsKeyCleanup.inl"
--- a/uifw/AknGlobalUI/OldStyleNotif/Src/AknSystemPopup.cpp Mon Mar 15 12:41:34 2010 +0200
+++ b/uifw/AknGlobalUI/OldStyleNotif/Src/AknSystemPopup.cpp Wed Mar 31 21:59:52 2010 +0300
@@ -49,7 +49,7 @@
#include <AknMediatorFacade.h>
#include <aknSDData.h>
-#include <secondarydisplay/AknSecondaryDisplayDefs.h>
+#include <SecondaryDisplay/AknSecondaryDisplayDefs.h>
#include <AknsUtils.h>
#include <aknglobalpopupprioritycontroller.h>
#include "GlobalWindowPriorities.h"
@@ -766,6 +766,11 @@
void CAknGlobalNoteDialog::HandlePointerEventL(const TPointerEvent& aPointerEvent)
{
+ if (aPointerEvent.iType == TPointerEvent::EButton1Down)
+ {
+ iCaptured = ETrue;
+ }
+
if (Rect().Contains(aPointerEvent.iPosition) && (aPointerEvent.iType == TPointerEvent::EButton1Up)
&& iIsAlarm)
{
@@ -776,7 +781,7 @@
}
else if ((iSoftkeys == R_AVKON_SOFTKEYS_EMPTY) &&
(iTimeoutInMicroseconds != ENoTimeout) &&
- (aPointerEvent.iType == TPointerEvent::EButton1Up))
+ (aPointerEvent.iType == TPointerEvent::EButton1Up)&& iCaptured)
{
CEikDialog::TryExitL(EAknSoftkeyExit);
}
@@ -784,6 +789,10 @@
{
CAknStaticNoteDialog::HandlePointerEventL(aPointerEvent);
}
+ if (aPointerEvent.iType == TPointerEvent::EButton1Up)
+ {
+ iCaptured = EFalse;
+ }
}
// class CAknGlobalNoteSubject
--- a/uifw/AknGlobalUI/OldStyleNotif/Src/aknkeylocknotifier.cpp Mon Mar 15 12:41:34 2010 +0200
+++ b/uifw/AknGlobalUI/OldStyleNotif/Src/aknkeylocknotifier.cpp Wed Mar 31 21:59:52 2010 +0300
@@ -33,7 +33,7 @@
#include <aknnotecontrol.h>
#include <aknlayoutscalable_avkon.cdl.h>
-#include <secondarydisplay/AknSecondaryDisplayDefs.h>
+#include <SecondaryDisplay/AknSecondaryDisplayDefs.h>
#include <avkondomainpskeys.h> // KPSUidAvkonDomain, KAknKeyguardStatus, TAknKeyguardStatus
#include <startupdomainpskeys.h> // KStartupSecurityCodeQueryStatus
#include <coreapplicationuisdomainpskeys.h> // KCoreAppUIsAutolockStatus
@@ -992,7 +992,10 @@
TBool touchEnabled( AknLayoutUtils::PenEnabled() );
TBool hasSlider(iHardwareSupport != EKeyguardDefaultHardware);
-
+ if( FeatureManager::FeatureSupported( KFeatureIdFfPowerKeyAsKeyguard ) )
+ {
+ hasSlider = ETrue; // the only purpose is to display empty sotkeys
+ }
iKeyLockCba = CEikButtonGroupContainer::NewL(
CEikButtonGroupContainer::ECba,
CEikButtonGroupContainer::EHorizontal,
--- a/uifw/AknGlobalUI/OldStyleNotif/Src/aknsystemconfirmationpopup.cpp Mon Mar 15 12:41:34 2010 +0200
+++ b/uifw/AknGlobalUI/OldStyleNotif/Src/aknsystemconfirmationpopup.cpp Wed Mar 31 21:59:52 2010 +0300
@@ -35,7 +35,7 @@
#include <AknMediatorFacade.h>
#include <aknSDData.h>
-#include <secondarydisplay/AknSecondaryDisplayDefs.h>
+#include <SecondaryDisplay/AknSecondaryDisplayDefs.h>
const TInt KCharsInTInt = 4; // TInt32 takes 4 chars.
--- a/uifw/AknGlobalUI/OldStyleNotif/Src/aknsystemmsgpopup.cpp Mon Mar 15 12:41:34 2010 +0200
+++ b/uifw/AknGlobalUI/OldStyleNotif/Src/aknsystemmsgpopup.cpp Wed Mar 31 21:59:52 2010 +0300
@@ -34,7 +34,7 @@
#include <aknSDData.h>
#include <AknMediatorFacade.h>
#include <aknnoteattributes.h>
-#include <secondarydisplay/AknSecondaryDisplayDefs.h>
+#include <SecondaryDisplay/AknSecondaryDisplayDefs.h>
#include "AknAppsKeyCleanup.inl"
const TInt KCharsInTInt = 4; // TInt32 takes 4 chars.
--- a/uifw/AknGlobalUI/OldStyleNotif/Src/aknsystemprogresspopup.cpp Mon Mar 15 12:41:34 2010 +0200
+++ b/uifw/AknGlobalUI/OldStyleNotif/Src/aknsystemprogresspopup.cpp Wed Mar 31 21:59:52 2010 +0300
@@ -38,7 +38,7 @@
#include <aknlayoutscalable_avkon.cdl.h>
#include <AknMediatorFacade.h>
#include <aknSDData.h>
-#include <secondarydisplay/AknSecondaryDisplayDefs.h>
+#include <SecondaryDisplay/AknSecondaryDisplayDefs.h>
#include "AknAppsKeyCleanup.inl"
const TInt KCharsInTInt = 4; // TInt32 takes 4 chars.
--- a/uifw/AvKon/EABI/AVKONU.DEF Mon Mar 15 12:41:34 2010 +0200
+++ b/uifw/AvKon/EABI/AVKONU.DEF Wed Mar 31 21:59:52 2010 +0300
@@ -4599,4 +4599,8 @@
_ZTI17CAknSmileyManager @ 4598 NONAME
_ZTV14CAknSmileyIcon @ 4599 NONAME
_ZTV17CAknSmileyManager @ 4600 NONAME
+ _ZN20CAknPopupSettingPage15ProcessCommandLEi @ 4601 NONAME
+ _ZN26CAknRadioButtonSettingPage15ProcessCommandLEi @ 4602 NONAME
+ _ZThn84_N20CAknPopupSettingPage15ProcessCommandLEi @ 4603 NONAME
+ _ZThn84_N26CAknRadioButtonSettingPage15ProcessCommandLEi @ 4604 NONAME
--- a/uifw/AvKon/aknhlist/inc/aknsinglecolumnstylecoredatarow.h Mon Mar 15 12:41:34 2010 +0200
+++ b/uifw/AvKon/aknhlist/inc/aknsinglecolumnstylecoredatarow.h Wed Mar 31 21:59:52 2010 +0300
@@ -51,7 +51,11 @@
/** Third text column is enabled. */
EThirdColumnEnabled = 0x00010000,
/** Core data row is emphasised. */
- EEmphasis = 0x00020000
+ EEmphasis = 0x00020000,
+ /** Enable smiley icon in first column */
+ EFirstColumnSmiley = 0x00040000,
+ /** Enable smiley icon in second column */
+ ESecondColumnSmiley = 0x00080000
};
/** Icon types for single column style core data row. */
--- a/uifw/AvKon/aknhlist/inc/aknsinglecolumnstylesubtitlerow.h Mon Mar 15 12:41:34 2010 +0200
+++ b/uifw/AvKon/aknhlist/inc/aknsinglecolumnstylesubtitlerow.h Wed Mar 31 21:59:52 2010 +0300
@@ -59,6 +59,14 @@
EHighlightedOptIcon,
};
+ /** Single style subtitle row flags. */
+ enum TItemFlags
+ {
+ /** Enable smiley icon */
+ ESmiley = 0x00010000
+ };
+
+
/**
* Two phased constructor. Creates an instance of single column style
* subtitle row and leaves the newly created object in the cleanup
--- a/uifw/AvKon/aknhlist/inc/akntree.h Mon Mar 15 12:41:34 2010 +0200
+++ b/uifw/AvKon/aknhlist/inc/akntree.h Wed Mar 31 21:59:52 2010 +0300
@@ -22,6 +22,7 @@
#include <AknIconUtils.h> // TScaleMode
#include <babitflags.h>
+#include <AknSmileyUtils.h>
#include "akntreenode.h"
#include "akntreeobserver.h"
@@ -63,7 +64,7 @@
* @lib aknhlist.lib
* @since S60 v3.2
*/
-NONSHARABLE_CLASS( CAknTree ) : public CAknTreeNode
+NONSHARABLE_CLASS( CAknTree ) : public CAknTreeNode, public MAknSmileyObserver
{
public:
@@ -867,6 +868,50 @@
*/
void Collapse();
+ /**
+ * Init smiley manager in this tree.
+ * @since S60 5.2
+ */
+ void InitSmiley();
+
+ /**
+ * Draw smiley icon when aText contains simely text, otherwise it is as same
+ * as @c DrawText.
+ *
+ * @param aGc Graphics context.
+ *
+ * @param aRect Parent rectangle for the text layout.
+ *
+ * @param aTextLayout Text layout.
+ *
+ * @param aText Text.
+ *
+ * @param aFont Font. @c NULL if the font defined in layout is used.
+ *
+ * @param aFocused @c ETrue, if the text is drawn for focused tree list
+ * item, otherwise @c EFalse.
+ *
+ * @since S60 5.2
+ */
+ void DrawSmiley( CWindowGc& aGc, const TRect& aRect,
+ const TAknTextComponentLayout& aTextLayout,
+ const TDesC& aText, const CFont* aFont,
+ TBool aFocused );
+
+ /**
+ * Use smiley manager to convert smiley text to placehodler.
+ *
+ * @param aText Text to be processed.
+ * @return How many smiley icon found in aText. Or leave code if there is
+ * any problem.
+ * @since S60 5.2
+ */
+ TInt ConvertTextToSmiley( TDes& aText );
+
+private: // from MAknSmileyObserver
+ void SmileyStillImageLoaded( CAknSmileyIcon* aSmileyIcon );
+ void SmileyAnimationChanged( CAknSmileyIcon* aSmileyIcon );
+
private:
/**
@@ -995,6 +1040,15 @@
*/
TBitFlags32 iFlags;
+ /**
+ * Smiley manager. owned
+ */
+ CAknSmileyManager* iSmileyMan;
+
+ /**
+ * Smiley icon size
+ */
+ TSize iSmileySize;
};
--- a/uifw/AvKon/aknhlist/inc/akntreelistview.h Mon Mar 15 12:41:34 2010 +0200
+++ b/uifw/AvKon/aknhlist/inc/akntreelistview.h Wed Mar 31 21:59:52 2010 +0300
@@ -642,8 +642,10 @@
/**
* Updates scrollbars.
+ *
+ * @param aDrawNow Whether or not to draw the scrollbar.
*/
- void UpdateScrollbars();
+ void UpdateScrollbars( TBool aDrawNow );
/**
* Updates the horizontal position of the view so that the beginning of
@@ -1091,6 +1093,11 @@
* Last visible item index
*/
TInt iBottomIndex;
+
+ /**
+ * Whether or not mirrored layout is currently in use.
+ */
+ TBool iMirroredLayoutInUse;
};
--- a/uifw/AvKon/aknhlist/src/aknsinglecolumnstylecoredatarow.cpp Mon Mar 15 12:41:34 2010 +0200
+++ b/uifw/AvKon/aknhlist/src/aknsinglecolumnstylecoredatarow.cpp Wed Mar 31 21:59:52 2010 +0300
@@ -23,6 +23,7 @@
#include "akntree.h"
#include "aknsinglecolumnstylecoredatarow.h"
#include "akntreelistinternalconstants.h"
+#include "akntrace.h"
using AknTreeListIconID::KDefault;
using AknTreeListIconID::KNone;
@@ -457,6 +458,7 @@
void CAknSingleColumnStyleCoreDataRow::Draw( CWindowGc& aGc,
const TRect& aItemRect, const TRect& /*aRect*/, TBool aFocused ) const
{
+ _AKNTRACE_FUNC_ENTER;
CAknTree* root = Root();
__ASSERT_DEBUG( root, User::Invariant() );
@@ -493,9 +495,18 @@
if ( iFirstColumn )
{
+ if ( Flags() & EFirstColumnSmiley )
+ {
+ root->DrawSmiley( aGc, aItemRect, AknLayoutScalable_Avkon::
+ list_single_2heading_msg_pane_t2( textVariety),
+ *iFirstColumn, NULL, aFocused );
+ }
+ else
+ {
root->DrawText( aGc, aItemRect, AknLayoutScalable_Avkon::
list_single_2heading_msg_pane_t2( textVariety ),
- *iFirstColumn, NULL, this, aFocused, EFalse );
+ *iFirstColumn, NULL, this, aFocused, ETrue );
+ }
}
}
@@ -507,9 +518,20 @@
list_single_2heading_msg_pane_t3( textVariety ).LayoutLine() );
if ( iSecondColumn )
{
+ if ( Flags() & ESecondColumnSmiley )
+ {
+ _AKNTRACE("Draw Smiley");
+ root->DrawSmiley( aGc, aItemRect, AknLayoutScalable_Avkon::
+ list_single_2heading_msg_pane_t3(textVariety),
+ *iSecondColumn, NULL, aFocused );
+ }
+ else
+ {
+ _AKNTRACE("Draw Text ");
root->DrawText( aGc, aItemRect, AknLayoutScalable_Avkon::
list_single_2heading_msg_pane_t3( textVariety ),
- *iSecondColumn, NULL, this, aFocused, EFalse );
+ *iSecondColumn, NULL, this, aFocused, ETrue );
+ }
}
}
@@ -546,6 +568,7 @@
root->DrawIcon( optIconId2, optIconRect2.Size(), aGc,
optIconRect2.iTl, optIconRect2.Size() );
}
+ _AKNTRACE_FUNC_EXIT;
}
--- a/uifw/AvKon/aknhlist/src/aknsinglecolumnstylesubtitlerow.cpp Mon Mar 15 12:41:34 2010 +0200
+++ b/uifw/AvKon/aknhlist/src/aknsinglecolumnstylesubtitlerow.cpp Wed Mar 31 21:59:52 2010 +0300
@@ -289,10 +289,18 @@
layoutText.LayoutText( aItemRect, AknLayoutScalable_Avkon::
list_single_2heading_msg_pane_t1( textVariety ).LayoutLine() );
- root->DrawText( aGc, aItemRect, AknLayoutScalable_Avkon::
- list_single_2heading_msg_pane_t1( textVariety ), *iText, NULL,
- this, aFocused, ETrue );
-
+ if ( Flags() & ESmiley )
+ {
+ root->DrawSmiley( aGc, aItemRect, AknLayoutScalable_Avkon::
+ list_single_2heading_msg_pane_t1( textVariety),
+ *iText, NULL, aFocused );
+ }
+ else
+ {
+ root->DrawText( aGc, aItemRect, AknLayoutScalable_Avkon::
+ list_single_2heading_msg_pane_t1( textVariety ),
+ *iText, NULL, this, aFocused, ETrue );
+ }
// Optional indication icon.
TInt optIconVariety = 1; // Sorting group. Marked.
TRect optIconRect = RectFromLayout( aItemRect, AknLayoutScalable_Avkon::
--- a/uifw/AvKon/aknhlist/src/aknsinglecolumnstyletreelist.cpp Mon Mar 15 12:41:34 2010 +0200
+++ b/uifw/AvKon/aknhlist/src/aknsinglecolumnstyletreelist.cpp Wed Mar 31 21:59:52 2010 +0300
@@ -29,7 +29,7 @@
#include "aknsinglecolumnstylesimpledatarow.h"
#include "aknsinglecolumnstylesubtitlerow.h"
#include "aknsinglecolumnstyletreelist.h"
-
+#include "akntrace.h"
/** Set of flags that are always set on for hierarchical column list. */
const TInt KMandatoryListFlags = NULL;
@@ -169,6 +169,15 @@
{
flags |= CAknSingleColumnStyleCoreDataRow::EEmphasis;
}
+ if ( aFlags & ESmileyIcon )
+ {
+ flags |= CAknSingleColumnStyleCoreDataRow::EFirstColumnSmiley;
+ }
+ if ( aFlags & ESmileyIconSecond )
+ {
+ _AKNTRACE("Add ESecondColumnSmiley ");
+ flags |= CAknSingleColumnStyleCoreDataRow::ESecondColumnSmiley;
+ }
CAknSingleColumnStyleCoreDataRow* row =
CAknSingleColumnStyleCoreDataRow::NewLC( aFirstColumn,
@@ -207,6 +216,15 @@
{
flags |= CAknSingleColumnStyleCoreDataRow::EEmphasis;
}
+ if ( aFlags & ESmileyIcon )
+ {
+ flags |= CAknSingleColumnStyleCoreDataRow::EFirstColumnSmiley;
+ }
+ if ( aFlags & ESmileyIconSecond )
+ {
+ _AKNTRACE("Add ESecondColumnSmiley ");
+ flags |= CAknSingleColumnStyleCoreDataRow::ESecondColumnSmiley;
+ }
CAknSingleColumnStyleCoreDataRow* row =
CAknSingleColumnStyleCoreDataRow::NewLC( aFirstColumn,
@@ -247,7 +265,10 @@
{
flags |= CAknTreeNode::ENonEmpty;
}
-
+ if ( aFlags & ESmileyIcon )
+ {
+ flags |= CAknSingleColumnStyleSubtitleRow::ESmiley;
+ }
CAknSingleColumnStyleSubtitleRow* row =
CAknSingleColumnStyleSubtitleRow::NewLC( aText, flags );
TAknTreeItemID id = Tree().AddItemL( row, aParent, aDrawNow );
--- a/uifw/AvKon/aknhlist/src/akntree.cpp Mon Mar 15 12:41:34 2010 +0200
+++ b/uifw/AvKon/aknhlist/src/akntree.cpp Wed Mar 31 21:59:52 2010 +0300
@@ -33,6 +33,9 @@
#include "akntreelistinternalconstants.h"
const TInt KObserverArrayGranularity = 1;
+const TInt KMaxLength = 80;
+// smiley text place holder
+_LIT( KPlaceHolder, "\xFFF0i" );
// Tree flag definitions
enum TAknTreeFlags
@@ -63,6 +66,8 @@
//
CAknTree::~CAknTree()
{
+ delete iSmileyMan;
+ iSmileyMan = NULL;
delete iOrdering; iOrdering = NULL;
iCustomOrdering = NULL;
iObservers.Close();
@@ -1243,6 +1248,74 @@
}
}
+// ---------------------------------------------------------------------------
+// CAknTreeItem::InitSmiley().
+// Create smiley manager instance if there is not.
+// ---------------------------------------------------------------------------
+//
+void CAknTree::InitSmiley()
+ {
+ if ( !iSmileyMan )
+ {
+ TRAPD(err, iSmileyMan = CAknSmileyManager::NewL( this ));
+ if ( err != KErrNone )
+ {
+ delete iSmileyMan;
+ iSmileyMan = NULL;
+ }
+ }
+ }
+
+// ---------------------------------------------------------------------------
+// CAknTreeItem::DrawSmiley
+// Draw smiley icon, if it is just plain text, just draw like DrawText.
+// ---------------------------------------------------------------------------
+//
+void CAknTree::DrawSmiley(CWindowGc& aGc, const TRect& aRect,
+ const TAknTextComponentLayout& aTextLayout,
+ const TDesC& aText, const CFont* aFont,
+ TBool aFocused )
+ {
+ TBuf<KMaxLength*2> buf = aText.Left(KMaxLength*2);
+ // it is possiable that this been called after ~CAknTree()...
+ if ( iSmileyMan && ConvertTextToSmiley(buf) > KErrNone )
+ {
+ TRgb textColor;
+ TAknsQsnTextColorsIndex index =
+ aFocused ? EAknsCIQsnTextColorsCG10 : EAknsCIQsnTextColorsCG6;
+ AknsUtils::GetCachedColor( AknsUtils::SkinInstance(), textColor,
+ KAknsIIDQsnTextColors, index );
+ aGc.SetPenColor( textColor );
+
+ TAknLayoutText layoutText;
+ layoutText.LayoutText( aRect, aTextLayout.LayoutLine(), aFont );
+ TInt l = Min( layoutText.Font()->TextWidthInPixels( KPlaceHolder ),
+ layoutText.Font()->FontMaxHeight());
+ TSize s( l, l);
+ if ( iSmileySize != s )
+ {
+ iSmileyMan->SetSize( s);
+ iSmileySize = s;
+ }
+ iSmileyMan->DrawText( aGc, buf, layoutText, ETrue );
+ }
+ else
+ // no smiley existing...
+ {
+ DrawText( aGc, aRect, aTextLayout, aText, aFont, NULL, aFocused, EFalse);
+ }
+ }
+
+// ---------------------------------------------------------------------------
+// CAknTreeItem::ConvertTextToSmiley
+// ---------------------------------------------------------------------------
+//
+TInt CAknTree::ConvertTextToSmiley( TDes& aText )
+ {
+ TInt count = 0;
+ TRAPD( err, count = iSmileyMan->ConvertTextToCodesL( aText ));
+ return err == KErrNone ? count : err;
+ }
// ---------------------------------------------------------------------------
// C++ constructor.
@@ -1461,3 +1534,21 @@
__ASSERT_DEBUG( EFalse, User::Invariant() );
}
+// ---------------------------------------------------------------------------
+// From class MAknSmileyObserver.
+// Redraw whole control when smiley image ready
+// ---------------------------------------------------------------------------
+//
+void CAknTree::SmileyStillImageLoaded( CAknSmileyIcon* /*aSmileyIcon*/ )
+ {
+ iList.DrawDeferred();
+ }
+
+// ---------------------------------------------------------------------------
+// From class MAknSmileyObserver.
+// Empty implementation.
+// ---------------------------------------------------------------------------
+//
+void CAknTree::SmileyAnimationChanged( CAknSmileyIcon* /*aSmileyIcon*/ )
+ {
+ }
--- a/uifw/AvKon/aknhlist/src/akntreelist.cpp Mon Mar 15 12:41:34 2010 +0200
+++ b/uifw/AvKon/aknhlist/src/akntreelist.cpp Wed Mar 31 21:59:52 2010 +0300
@@ -80,6 +80,11 @@
View().EnableMarking( aFlags & KAknTreeListMarkable );
}
+ if ( diff & KAknTreeListSmiley && !AknLayoutUtils::LayoutMirrored() )
+ {
+ Tree().InitSmiley();
+ }
+
iFlags = aFlags;
}
--- a/uifw/AvKon/aknhlist/src/akntreelistphysicshandler.cpp Mon Mar 15 12:41:34 2010 +0200
+++ b/uifw/AvKon/aknhlist/src/akntreelistphysicshandler.cpp Wed Mar 31 21:59:52 2010 +0300
@@ -911,7 +911,7 @@
}
else if ( bottomItem == iTree->VisibleItemCount() )
{
- if ( upperItem != iOldTopItem )
+ if ( upperItem != iOldTopItem && ( upperItem != 0 || iOldTopItem != -1 ) )
{
iFeedback->InstantFeedback( iTreeListView,
ETouchFeedbackSensitiveList,
--- a/uifw/AvKon/aknhlist/src/akntreelistview.cpp Mon Mar 15 12:41:34 2010 +0200
+++ b/uifw/AvKon/aknhlist/src/akntreelistview.cpp Wed Mar 31 21:59:52 2010 +0300
@@ -32,7 +32,7 @@
#include "akntreeiterator.h"
#include "akntreelistphysicshandler.h"
-
+#include "akntrace.h"
#ifdef RD_UI_TRANSITION_EFFECTS_LIST
@@ -163,7 +163,8 @@
{
Window().Invalidate( Rect() );
}
- UpdateScrollbars();
+
+ UpdateScrollbars( ETrue );
}
@@ -213,7 +214,7 @@
// Draw always
Window().Invalidate( Rect() );
- UpdateScrollbars();
+ UpdateScrollbars( ETrue );
}
@@ -422,7 +423,7 @@
delete iEmptyListText;
iEmptyListText = NULL;
iEmptyListText = aText.AllocL();
- UpdateScrollbars();
+ UpdateScrollbars( ETrue );
}
@@ -504,7 +505,7 @@
{
CAknTreeItem* first = iTree.VisibleItem( aFirstItem );
UpdateVisibleItems( 0, first );
- UpdateScrollbars();
+ UpdateScrollbars( ETrue );
UpdateAnimation();
if ( aDrawNow )
@@ -742,11 +743,7 @@
void CAknTreeListView::MakeVisible( TBool aVisible )
{
CAknControl::MakeVisible( aVisible );
-
- if ( aVisible )
- {
- UpdateScrollbars();
- }
+ UpdateScrollbars( aVisible );
}
@@ -771,6 +768,11 @@
iScrollbarFrame = new ( ELeave ) CEikScrollBarFrame( this, this );
iScrollbarFrame->CreateDoubleSpanScrollBarsL( EFalse, EFalse );
+ if ( CAknEnv::Static()->TransparencyEnabled() && iPhysicsHandler )
+ {
+ // disable background drawing of scrollbar
+ iScrollbarFrame->DrawBackground( EFalse, EFalse );
+ }
}
@@ -782,62 +784,91 @@
void CAknTreeListView::HandleResourceChange( TInt aType )
{
CAknControl::HandleResourceChange( aType );
- if ( aType == KAknsMessageSkinChange )
- {
- TRAPD( error, CreateAnimationL() )
- if ( error )
- {
- delete iAnimation;
- iAnimation = NULL;
- }
- }
- else if ( aType == KEikDynamicLayoutVariantSwitch && FocusedItem() )
+
+ switch ( aType )
{
- if ( !FocusedItemVisible() )
+ case KAknsMessageSkinChange:
{
- TInt firstItemIndex = 0;
- if ( iItems.Count() && iItems[0].Item() )
+ TRAPD( error, CreateAnimationL() )
+ if ( error )
{
- firstItemIndex = iTree.VisibleItemIndex( iItems[0].Item() );
- }
-
- TInt index = 0;
- if ( firstItemIndex < iTree.VisibleItemIndex( FocusedItem() ) )
- {
- index = iItems.Count() - 1;
+ delete iAnimation;
+ iAnimation = NULL;
}
-
- SetFocusedItem( FocusedItem(), index, ETrue );
+ break;
}
- else
+
+ case KEikDynamicLayoutVariantSwitch:
{
- SetFocusedItem( FocusedItem(), FocusIndex(), ETrue );
-
-
- // This block moves visible view after layout switch
- // if there are not enough items to fill whole screen
- TInt visibleItemIndex = iTree.VisibleItemIndex( FocusedItem() );
- if ( visibleItemIndex != KErrNotFound)
+ iMirroredLayoutInUse = AknLayoutUtils::LayoutMirrored();
+
+ CAknTreeItem* focusedItem( FocusedItem() );
+ if ( focusedItem )
{
- TInt focusedItemIndex = FocusedItemIndex();
- if (focusedItemIndex != -1)
+ if ( !FocusedItemVisible() )
+ {
+ TInt firstItemIndex = 0;
+ if ( iItems.Count() && iItems[0].Item() )
+ {
+ firstItemIndex =
+ iTree.VisibleItemIndex( iItems[0].Item() );
+ }
+
+ TInt index = 0;
+ if ( firstItemIndex < iTree.VisibleItemIndex( focusedItem ) )
+ {
+ index = iItems.Count() - 1;
+ }
+
+ SetFocusedItem( focusedItem, index, ETrue );
+ }
+ else
{
- TInt height = iTree.VisibleItemCount() - visibleItemIndex + focusedItemIndex;
- TInt itemCountLimit = iItems.Count();
-
- if ( height < itemCountLimit && height < iTree.VisibleItemCount() )
+ SetFocusedItem( focusedItem, FocusIndex(), ETrue );
+
+ // This block moves visible view after layout switch
+ // if there are not enough items to fill whole screen
+ TInt visibleItemIndex =
+ iTree.VisibleItemIndex( focusedItem );
+ if ( visibleItemIndex != KErrNotFound )
{
- TInt move = itemCountLimit - height;
- UpdateVisibleItems( focusedItemIndex + move, FocusedItem() );
+ TInt focusedItemIndex = FocusedItemIndex();
+ if ( focusedItemIndex != -1 )
+ {
+ TInt visibleItemCount( iTree.VisibleItemCount() );
+
+ TInt height =
+ visibleItemCount - visibleItemIndex + focusedItemIndex;
+ TInt itemCountLimit = iItems.Count();
+
+ if ( height < itemCountLimit &&
+ height < visibleItemCount )
+ {
+ TInt move = itemCountLimit - height;
+ UpdateVisibleItems(
+ focusedItemIndex + move, focusedItem );
+ }
+ }
}
+ // end of block
}
}
- // end of block
+ break;
}
- }
- else if ( aType == KAknMessageFocusLost && HighlightEnabled() )
- {
- EnableHighlight( EFalse );
+
+ case KAknMessageFocusLost:
+ {
+ if ( HighlightEnabled() )
+ {
+ EnableHighlight( EFalse );
+ }
+ break;
+ }
+
+ default:
+ {
+ break;
+ }
}
}
@@ -858,7 +889,7 @@
return;
}
- if ( GrabbingComponent() != NULL )
+ if ( GrabbingComponent() )
{
iPhysicsHandler->ResetEventBlockingStatus();
}
@@ -913,7 +944,7 @@
}
TInt thumbPosition = aScrollBar->ThumbPosition();
- if ( AknLayoutUtils::LayoutMirrored() &&
+ if ( iMirroredLayoutInUse &&
aScrollBar != iScrollbarFrame->VerticalScrollBar() )
{
const TEikScrollBarModel* model = aScrollBar->Model();
@@ -932,7 +963,7 @@
case EEikScrollPageLeft:
case EEikScrollPageRight:
iViewLevel = thumbPosition;
- UpdateScrollbars();
+ UpdateScrollbars( ETrue );
UpdateAnimation();
Window().Invalidate( Rect() );
break;
@@ -944,15 +975,15 @@
break;
case EEikScrollThumbReleaseHoriz:
- UpdateScrollbars();
+ UpdateScrollbars( ETrue );
break;
case EEikScrollHome:
- // Not in use!
+ // Not in use
break;
case EEikScrollEnd:
- // Not in use!
+ // Not in use
break;
default:
@@ -1051,9 +1082,8 @@
if ( aDrawNow )
{
- // it should be DrawNow() here for fixing bug JLAI-7UE9RN
+ // DrawNow must be used here.
DrawNow();
- //Window().Invalidate( Rect() );
}
}
@@ -1137,7 +1167,9 @@
}
else if ( IsFocused() && FocusedItemVisible() )
{
- TRect rect = iItems[FocusIndex()].HighlightRect( iViewLevel, Indention(), IndentionWidth() );
+ TRect rect = iItems[FocusIndex()].HighlightRect( iViewLevel,
+ Indention(),
+ IndentionWidth() );
Window().Invalidate( rect );
}
@@ -1157,7 +1189,7 @@
LayoutView();
// Update scrollbars.
- UpdateScrollbars();
+ UpdateScrollbars( ETrue );
UpdateIndexes();
AknsUtils::RegisterControlPosition( this, PositionRelativeToScreen() );
@@ -1270,6 +1302,8 @@
{
EnableHighlight( ETrue );
}
+
+ iMirroredLayoutInUse = AknLayoutUtils::LayoutMirrored();
}
@@ -1282,10 +1316,7 @@
void CAknTreeListView::HandleItemAddedEvent( CAknTreeItem* /*aItem*/, TBool aDrawNow )
{
UpdateVisibleItems();
- if (aDrawNow)
- {
- UpdateScrollbars();
- }
+ UpdateScrollbars( aDrawNow );
}
@@ -1300,7 +1331,7 @@
// been changed, unless the it receives information from where the
// specified item was moved.
UpdateVisibleItems();
- UpdateScrollbars();
+ UpdateScrollbars( ETrue );
}
@@ -1355,10 +1386,7 @@
void CAknTreeListView::HandleItemRemovedEvent( CAknTreeItem* /*aItem*/, TBool aDrawNow )
{
UpdateVisibleItems();
- if (aDrawNow)
- {
- UpdateScrollbars();
- }
+ UpdateScrollbars( aDrawNow );
}
@@ -1381,7 +1409,8 @@
{
UpdateVisibleItems();
}
- UpdateScrollbars();
+
+ UpdateScrollbars( ETrue );
}
@@ -1421,7 +1450,7 @@
}
UpdateVisibleItems();
- UpdateScrollbars();
+ UpdateScrollbars( ETrue );
}
@@ -1473,10 +1502,8 @@
}
}
}
- if ( aDrawNow )
- {
- UpdateScrollbars();
- }
+
+ UpdateScrollbars( aDrawNow );
}
@@ -1626,7 +1653,7 @@
//
void CAknTreeListView::HandleRightArrowKeyEvent()
{
- if ( AknLayoutUtils::LayoutMirrored() )
+ if ( iMirroredLayoutInUse )
{
AscendFocus();
}
@@ -1643,7 +1670,7 @@
//
void CAknTreeListView::HandleLeftArrowKeyEvent()
{
- if ( AknLayoutUtils::LayoutMirrored() )
+ if ( iMirroredLayoutInUse )
{
DescendFocus();
}
@@ -1981,7 +2008,8 @@
// Fill whole control area with list items when physics enabled
// and threre is no horizontal scrollbar.
if ( iScrollbarFrame &&
- iScrollbarFrame->ScrollBarVisibility( CEikScrollBar::EHorizontal ) != CEikScrollBarFrame::EOn &&
+ iScrollbarFrame->ScrollBarVisibility(
+ CEikScrollBar::EHorizontal ) != CEikScrollBarFrame::EOn &&
viewRect.Height() < Rect().Height() )
{
viewRect.iTl.iY = Rect().iTl.iY;
@@ -1999,10 +2027,24 @@
// scrollbars changes.
// ---------------------------------------------------------------------------
//
-void CAknTreeListView::UpdateScrollbars()
+void CAknTreeListView::UpdateScrollbars( TBool aDrawNow )
{
if ( iScrollbarFrame )
{
+ TBool drawHorizontal;
+ TBool drawVertical;
+ if ( !aDrawNow )
+ {
+ // Backup the old values.
+ iScrollbarFrame->DrawBackgroundState( drawHorizontal,
+ drawVertical );
+
+ // Disable the scrollbar background drawing for the duration
+ // of this call.
+ iScrollbarFrame->DrawBackground( EFalse, EFalse );
+ }
+
+
iPhysicsHandler->UpdateScrollIndex( iScrollPhysicsTop );
iScrollPhysicsTop = ETrue;
@@ -2021,7 +2063,7 @@
hScrollSpan = Max( hThumbPos + hThumbSpan, c/b );
}
- if ( AknLayoutUtils::LayoutMirrored() )
+ if ( iMirroredLayoutInUse )
{
hThumbPos = hScrollSpan - ( hThumbPos + hThumbSpan );
}
@@ -2068,7 +2110,7 @@
iScrollbarFrame->Tile( &hModel, &vModel );
LayoutView();
- UpdateScrollbars(); // Recursion
+ UpdateScrollbars( aDrawNow ); // Recursion
// Update animation in case that scrollbar visibility change
// has affected the highlight size of focused item.
@@ -2078,7 +2120,13 @@
{
// Set new model for scrollbars.
iScrollbarFrame->Tile( &hModel, &vModel );
- }
+ }
+
+ if ( !aDrawNow )
+ {
+ // Restore the previous draw background state values.
+ iScrollbarFrame->DrawBackground( drawHorizontal, drawVertical );
+ }
}
}
@@ -2782,6 +2830,12 @@
if ( iItems[ii].Item() )
{
+ if ( !aRect.Intersects(drawRect) )
+ {
+ //invisible item yet
+ continue;
+ }
+
#ifdef RD_UI_TRANSITION_EFFECTS_LIST
TRect tfxDrawRect( drawRect );
tfxDrawRect.Move( 0, -offset );
@@ -2791,7 +2845,6 @@
transApi->StartDrawing( MAknListBoxTfxInternal::EListNotSpecified );
}
-
TRect clippingRect( tfxDrawRect );
// If horizontal scrollbar on, reduce clipping rect
@@ -2809,7 +2862,6 @@
// Set clipping rect.
gc.SetClippingRect( clippingRect );
-
if ( transApi )
{
transApi->StopDrawing();
@@ -2817,7 +2869,9 @@
#endif
if ( ii < iBottomIndex )
{
- AknListUtils::DrawSeparator( gc, drawRect, textColor, skin );
+ TRect offsetRect( drawRect );
+ offsetRect.Move( 0, -offset );
+ AknListUtils::DrawSeparator( gc, offsetRect, textColor, skin );
}
TBool focused = ( IsFocused() && FocusedItem() &&
@@ -2845,7 +2899,8 @@
if ( transApi )
{
transApi->Invalidate(MAknListBoxTfxInternal::EListHighlight );
- transApi->BeginRedraw( MAknListBoxTfxInternal::EListHighlight, tfxHighlightRect );
+ transApi->BeginRedraw( MAknListBoxTfxInternal::EListHighlight,
+ tfxHighlightRect );
transApi->StartDrawing( MAknListBoxTfxInternal::EListHighlight );
}
#endif //RD_UI_TRANSITION_EFFECTS_LIST
@@ -2873,7 +2928,10 @@
{
if ( transApi )
{
- transApi->BeginRedraw(MAknListBoxTfxInternal::EListItem, tfxDrawRect, iTree.VisibleItemIndex(iItems[ii].Item()));
+ transApi->BeginRedraw(
+ MAknListBoxTfxInternal::EListItem,
+ tfxDrawRect,
+ iTree.VisibleItemIndex( iItems[ii].Item() ) );
transApi->StartDrawing( MAknListBoxTfxInternal::EListItem );
}
#endif //RD_UI_TRANSITION_EFFECTS_LIST
@@ -2886,7 +2944,9 @@
if ( transApi )
{
transApi->StopDrawing();
- transApi->EndRedraw(MAknListBoxTfxInternal::EListItem, iTree.VisibleItemIndex(iItems[ii].Item()));
+ transApi->EndRedraw(
+ MAknListBoxTfxInternal::EListItem,
+ iTree.VisibleItemIndex( iItems[ii].Item() ) );
}
}
#endif //RD_UI_TRANSITION_EFFECTS_LIST
--- a/uifw/AvKon/bwins/AVKONU.def Mon Mar 15 12:41:34 2010 +0200
+++ b/uifw/AvKon/bwins/AVKONU.def Wed Mar 31 21:59:52 2010 +0300
@@ -3467,4 +3467,6 @@
?DrawText@CAknSmileyManager@@QBEXAAVCWindowGc@@ABVTDesC16@@PBVCFont@@ABVTRect@@HW4TTextAlign@CGraphicsContext@@H@Z @ 3466 NONAME ; void CAknSmileyManager::DrawText(class CWindowGc &, class TDesC16 const &, class CFont const *, class TRect const &, int, enum CGraphicsContext::TTextAlign, int) const
??1CAknSmileyManager@@UAE@XZ @ 3467 NONAME ; CAknSmileyManager::~CAknSmileyManager(void)
?IsSmiley@CAknSmileyManager@@QBEHVTChar@@@Z @ 3468 NONAME ; int CAknSmileyManager::IsSmiley(class TChar) const
+ ?ProcessCommandL@CAknRadioButtonSettingPage@@MAEXH@Z @ 3469 NONAME ; void CAknRadioButtonSettingPage::ProcessCommandL(int)
+ ?ProcessCommandL@CAknPopupSettingPage@@MAEXH@Z @ 3470 NONAME ; void CAknPopupSettingPage::ProcessCommandL(int)
--- a/uifw/AvKon/group/Iconlist.txt Mon Mar 15 12:41:34 2010 +0200
+++ b/uifw/AvKon/group/Iconlist.txt Wed Mar 31 21:59:52 2010 +0300
@@ -836,3 +836,5 @@
/1,8 qgn_stat_servtab_uni.svg
/1,8 qgn_stat_hdmi_connect.svg
+
+/1,8 qgn_stat_joint_im_uni.svg
--- a/uifw/AvKon/inc/AknPreviewPopUp.h Mon Mar 15 12:41:34 2010 +0200
+++ b/uifw/AvKon/inc/AknPreviewPopUp.h Wed Mar 31 21:59:52 2010 +0300
@@ -242,10 +242,6 @@
// It is true when user clicks the popup, transfer pointer up event to its child control
TBool iAllowUpEvent;
-
- // Used to remember the local variable address which used to be
- // mark whether this object is deleted
- TBool * iIsDeleted;
};
--- a/uifw/AvKon/inc/AknSmileyModel.h Mon Mar 15 12:41:34 2010 +0200
+++ b/uifw/AvKon/inc/AknSmileyModel.h Wed Mar 31 21:59:52 2010 +0300
@@ -36,6 +36,7 @@
const TInt KSmileyNameLength = 8;
typedef TBuf<KSmileyNameLength> TSmileyText;
typedef RArray<TSmileyText> RSmileyTextArray;
+typedef RArray<TChar> RSmileyCodeArray;
NONSHARABLE_CLASS(TSmileyIconInfo)
{
@@ -80,9 +81,10 @@
TBool StillImageIsReadyToDraw() const;
TBool AnimationImageIsReadyToDraw() const;
- void AddText(const TDesC& aText);
- const TDesC& Text(TInt aVariate=0) const;
- TInt TextVariate() const;
+ void AddVariant(const TDesC& aText, TChar aBaseCode);
+ TInt VariantCount() const;
+ const TDesC& Text(TInt aVariant=0) const;
+ TChar Code(TInt aVariant=0) const;
private:
MAknSmileyObserver* iSmileyIconObserver;
@@ -90,9 +92,21 @@
CSmileyImage* iStillImage;
CSmileyImage* iAnimationImage;
RSmileyTextArray iTextArray;
+ RSmileyCodeArray iCodeArray;
};
typedef RArray<CSmileyIcon*> RSmileyIconPtrArray;
+NONSHARABLE_CLASS(TSmileyCodeIndex)
+ {
+public:
+ TSmileyCodeIndex(CSmileyIcon* aSmileyIcon, TInt aVariant=0) : iSmileyIcon(aSmileyIcon), iVariant(aVariant) {}
+ CSmileyIcon* Smiley() const { return iSmileyIcon; }
+ const TDesC& Text() const { return iSmileyIcon->Text(iVariant); }
+private:
+ CSmileyIcon* iSmileyIcon;
+ TInt iVariant;
+ };
+typedef RArray<TSmileyCodeIndex> RSmileyCodeIndexArray;
////////////////////////////////////////////////////////////////////
@@ -161,22 +175,20 @@
TChar SwitchToSmileyCode() const;
TChar SwitchToSctCode() const;
- TChar SmileyCode(TInt aIndex, TInt aVariate=0) const;
- TChar SmileyCode(CAknSmileyIcon* aSmileyIcon) const;
+ TChar SmileyCode(TInt aIndex, TInt aVariant=0) const;
+ TChar SmileyCode(const CAknSmileyIcon* aSmileyIcon) const;
void LoadStillImagesL(const TDesC& aText);
void LoadStillImageL(TChar aChar);
private:
- const TDesC& Text(TInt aIndex, TInt aVariate=0) const;
+ const TDesC& Text(TInt aIndex, TInt aVariant=0) const;
TInt ArrayCount() const;
- TChar EncodeSmileyCode(TInt aIndex, TInt aVariate) const;
- TBool DecodeSmileyCode(TChar aCode, TInt& aIndex, TInt& aVariate) const;
private:
MAknSmileyObserver* iSmileyIconObserver;
CSmileyTnumbnailAsynLoader iSmileyLoader;
RSmileyIconPtrArray iSmileyIconArray;
- TUint iBaseCode;
+ RSmileyCodeIndexArray iSmileyCodeIndexArray;
CSmileyTextTreeNode* iTextSearchTree;
TBuf<1024*2> iConvertBuffer;
--- a/uifw/AvKon/inc/akncombinedpane.h Mon Mar 15 12:41:34 2010 +0200
+++ b/uifw/AvKon/inc/akncombinedpane.h Wed Mar 31 21:59:52 2010 +0300
@@ -2,7 +2,7 @@
* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
+* 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".
*
--- a/uifw/AvKon/notifsrc/AknSDData.cpp Mon Mar 15 12:41:34 2010 +0200
+++ b/uifw/AvKon/notifsrc/AknSDData.cpp Wed Mar 31 21:59:52 2010 +0300
@@ -15,7 +15,7 @@
*
*/
-#include <secondarydisplay/AknSecondaryDisplayDefs.h>
+#include <SecondaryDisplay/AknSecondaryDisplayDefs.h>
#include <s32mem.h>
#include "aknSDData.h"
--- a/uifw/AvKon/smileyicons/qgn_indi_smiley_angry.svg Mon Mar 15 12:41:34 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
-<svg baseProfile="tiny" height="16px" version="1.1" viewBox="-0.001 0 16 16" width="16px" x="0px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" y="0px">
-<rect fill="none" height="16" width="15.999"/>
-<radialGradient cx="7.8774" cy="5.0117" gradientUnits="userSpaceOnUse" id="SVGID_1_" r="8.3632">
-<stop offset="0" style="stop-color:#FFDB00"/>
-<stop offset="0.6324" style="stop-color:#FF7100"/>
-<stop offset="1" style="stop-color:#FF3800"/>
-</radialGradient>
-<circle cx="8" cy="8" fill="url(#SVGID_1_)" r="6.5"/>
-<path d="M10.251,4.719l1.063-0.656l-0.578-0.82L8.439,5.838l0.317-0.196C8.686,5.816,8.645,6.008,8.645,6.208 c0,0.828,0.671,1.5,1.5,1.5c0.828,0,1.5-0.672,1.5-1.5C11.645,5.416,11.028,4.774,10.251,4.719z M5.264,3.242l-0.579,0.82 L5.738,4.72C4.964,4.78,4.354,5.42,4.354,6.208c0,0.828,0.671,1.5,1.5,1.5c0.828,0,1.5-0.672,1.5-1.5 c0-0.193-0.04-0.377-0.106-0.546l0.357,0.223L5.264,3.242z"/>
-<circle cx="5.854" cy="6.208" fill="#FFFFFF" r="1"/>
-<circle cx="10.145" cy="6.208" fill="#FFFFFF" r="1"/>
-<circle cx="10.145" cy="6.208" r="0.5"/>
-<circle cx="5.853" cy="6.208" r="0.5"/>
-<path d="M12.062,10.334c0,0.667-0.541,1.208-1.209,1.208H5.146c-0.667,0-1.208-0.541-1.208-1.208l0,0 c0-0.668,0.541-1.209,1.208-1.209h5.707C11.521,9.125,12.062,9.666,12.062,10.334L12.062,10.334z" fill="#FFFFFF"/>
-<path d="M10.854,8.626H5.145c-0.941,0-1.707,0.766-1.707,1.709c0,0.941,0.766,1.707,1.707,1.707h5.708 c0.941,0,1.707-0.766,1.707-1.707C12.561,9.392,11.795,8.626,10.854,8.626z M8.375,9.125h1.563v2.417H8.375V9.125z M7.625,11.542 H6.062V9.125h1.563V11.542z M3.937,10.334c0-0.668,0.541-1.209,1.208-1.209h0.166v2.417H5.146 C4.478,11.542,3.937,11.001,3.937,10.334z M10.853,11.542h-0.165V9.125h0.165c0.668,0,1.209,0.541,1.209,1.209 C12.062,11.001,11.521,11.542,10.853,11.542z"/>
-<path d="M7.999,1C4.134,1,1,4.134,1,8c0,3.867,3.134,7,6.999,7s7-3.133,7-7C14.999,4.134,11.864,1,7.999,1z M7.999,14.5 c-3.588,0-6.5-2.91-6.5-6.5s2.912-6.5,6.5-6.5c3.59,0,6.501,2.91,6.501,6.5S11.589,14.5,7.999,14.5z"/>
-</svg>
--- a/uifw/AvKon/smileyicons/qgn_indi_smiley_anim_coffee.svg Mon Mar 15 12:41:34 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,64 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" baseProfile="tiny" height="16" preserveAspectRatio="xMidYMid meet" viewBox="0 0 16 16" width="16">
-<defs>
-<linearGradient gradientUnits="userSpaceOnUse" id="shape4grad" x1="7.667" x2="7.667" y1="0.482" y2="8.281">
-<stop offset="0" stop-color="#8C6336"/>
-<stop offset="0.39" stop-color="#774D20"/>
-<stop offset="1" stop-color="#592E00"/>
-</linearGradient>
-<linearGradient gradientUnits="userSpaceOnUse" id="shape5grad" x1="-361.699" x2="-361.699" y1="2.142" y2="7.819">
-<stop offset="0" stop-color="#8C6336"/>
-<stop offset="0.39" stop-color="#774D20"/>
-<stop offset="1" stop-color="#592E00"/>
-</linearGradient>
-<linearGradient gradientUnits="userSpaceOnUse" id="shape6grad" x1="29.676" x2="29.676" y1="19.555" y2="25.232">
-<stop offset="0" stop-color="#8C6336"/>
-<stop offset="0.39" stop-color="#774D20"/>
-<stop offset="1" stop-color="#592E00"/>
-</linearGradient>
-<linearGradient gradientUnits="userSpaceOnUse" id="shape9grad" x1="14.551" x2="11.972" y1="10.078" y2="10.078">
-<stop offset="0" stop-color="#C0975F"/>
-<stop offset="1" stop-color="#986D2F"/>
-</linearGradient>
-<linearGradient gradientUnits="userSpaceOnUse" id="shape10grad" x1="3.232" x2="11.975" y1="10.536" y2="10.536">
-<stop offset="0" stop-color="#875924"/>
-<stop offset="0.013" stop-color="#8D5F2A"/>
-<stop offset="0.096" stop-color="#AF814C"/>
-<stop offset="0.175" stop-color="#C79964"/>
-<stop offset="0.248" stop-color="#D6A873"/>
-<stop offset="0.308" stop-color="#DBAD78"/>
-<stop offset="0.732" stop-color="#A4763F"/>
-<stop offset="1" stop-color="#85571F"/>
-</linearGradient>
-<linearGradient gradientUnits="userSpaceOnUse" id="shape12grad" x1="1.483" x2="13.723" y1="13.409" y2="13.409">
-<stop offset="0" stop-color="#986D2F"/>
-<stop offset="0.231" stop-color="#C0975F"/>
-<stop offset="1" stop-color="#986D2F"/>
-</linearGradient>
-</defs>
-<g>
-<g transform="translate(0.001) scale(1,1)">
-<path d="M7.068,8.323C5.355,5.836,7.64,3.776,7.068,0.549C10.955,3.582,7.584,5.603,7.068,8.323z" fill="url(#shape4grad)" fill-opacity="0.359" fill-rule="evenodd" stroke-opacity="0.359" transform="translate(0,0.001)">
-<animateTransform additive="replace" attributeName="transform" begin="0s" dur="1.50s" fill="freeze" keyTimes="0;0.334;1" type="translate" values="7.669,4.437;8.669,4.437;7.669,4.437"/>
-<animateTransform additive="sum" attributeName="transform" begin="0s" fill="freeze" type="translate" values="-7.668,-4.435;-7.668,-4.435"/>
-</path>
-<path d="M6.632,7.85C8.134,6.04,6.131,4.539,6.632,2.191C3.225,4.397,6.182,5.869,6.632,7.85z" fill="url(#shape5grad)" fill-opacity="0.359" fill-rule="evenodd" stroke-opacity="0.359" transform="translate(0.001,0.001)">
-<animateTransform additive="replace" attributeName="transform" begin="0s" dur="1.50s" fill="freeze" keyTimes="0;0.534;1" type="translate" values="6.106,5.021;9.481,5.021;6.106,5.021"/>
-<animateTransform additive="sum" attributeName="transform" begin="0s" fill="freeze" type="translate" values="-6.105,-5.02;-6.105,-5.02"/>
-</path>
-<path d="M8.428,8.549C7.105,6.939,8.869,5.606,8.428,3.518C11.426,5.481,8.825,6.789,8.428,8.549z" fill="url(#shape6grad)" fill-opacity="0.359" fill-rule="evenodd" stroke-opacity="0.359" transform="translate(0,0)">
-<animateTransform additive="replace" attributeName="transform" begin="0s" dur="1.50s" fill="freeze" keyTimes="0;0.467;1" type="translate" values="8.891,6.034;5.891,6.034;8.891,6.034"/>
-<animateTransform additive="sum" attributeName="transform" begin="0s" fill="freeze" type="translate" values="-8.890,-6.033;-8.890,-6.033"/>
-</path>
-<path d="M2.711,14.468C1.624,14.065,1,13.414,1,12.685L1,12.247L3.05,12.247C2.853,11.839,2.75,11.392,2.75,10.934L2.75,7L12.366,7L12.366,7.923C12.514,7.89,12.665,7.875,12.815,7.875C14.02,7.875,15.001,8.855,15.001,10.060C15.001,11.266,14.021,12.245,12.815,12.245C12.575,12.245,14.115,12.247,14.115,12.247L14.115,12.685C14.115,13.415,13.492,14.064,12.402,14.468L2.711,14.468L2.711,14.468M12.877,9.622C12.603,9.622,12.379,9.846,12.379,10.121C12.379,10.398,12.602,10.623,12.877,10.623C13.153,10.623,13.379,10.398,13.379,10.121C13.379,9.846,13.153,9.622,12.877,9.622L12.877,9.622" fill="black" fill-rule="evenodd" transform="translate(0,0.001)"/>
-<g transform="translate(0.001,0.001)">
-<path d="M12.862,8.351C11.895,8.351,11.113,9.132,11.113,10.099C11.113,11.066,11.895,11.848,12.862,11.848C13.827,11.848,14.61,11.066,14.61,10.099C14.61,9.132,13.827,8.351,12.862,8.351M12.862,10.973C12.379,10.973,11.988,10.58,11.988,10.098C11.988,9.616,12.38,9.224,12.862,9.224C13.343,9.224,13.735,9.617,13.735,10.098C13.735,10.58,13.344,10.973,12.862,10.973" fill="url(#shape9grad)" fill-rule="evenodd" transform="translate(0,0)"/>
-<path d="M11.976,10.973C11.976,12.421,10.8,13.595,9.353,13.595L5.855,13.595C4.407,13.595,3.232,12.421,3.232,10.973L3.232,10.973C3.232,9.524,3.232,7.475,3.232,7.475L11.974,7.475C11.976,7.475,11.976,9.523,11.976,10.973L11.976,10.973z" fill="url(#shape10grad)" fill-rule="evenodd" transform="translate(0,0)"/>
-<path d="M6.474,10.973C6.474,12.421,6.572,13.595,6.572,13.595C5.431,13.595,4.507,12.421,4.507,10.973L4.507,10.973C4.507,9.524,4.507,7.475,4.507,7.475L6.474,7.475L6.474,10.973z" fill="white" fill-rule="evenodd" transform="translate(0.001,0)"/>
-<path d="M2.911,14.096L12.296,14.096C13.158,13.777,13.723,13.282,13.723,12.721C10.662,12.721,4.39,12.721,1.483,12.721C1.482,13.282,2.049,13.775,2.911,14.096z" fill="url(#shape12grad)" fill-rule="evenodd" transform="translate(0,0)"/>
-</g>
-<rect fill="none" fill-rule="evenodd" height="16" width="16" x="0" y="0"/>
-</g>
-</g>
-</svg>
--- a/uifw/AvKon/smileyicons/qgn_indi_smiley_anim_coffee_static.svg Mon Mar 15 12:41:34 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,58 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" baseProfile="tiny" height="16" preserveAspectRatio="xMidYMid meet" viewBox="0 0 16 16" width="16">
-<defs>
-<linearGradient gradientUnits="userSpaceOnUse" id="shape4grad" x1="7.667" x2="7.667" y1="0.482" y2="8.281">
-<stop offset="0" stop-color="#8C6336"/>
-<stop offset="0.39" stop-color="#774D20"/>
-<stop offset="1" stop-color="#592E00"/>
-</linearGradient>
-<linearGradient gradientUnits="userSpaceOnUse" id="shape5grad" x1="-361.699" x2="-361.699" y1="2.142" y2="7.819">
-<stop offset="0" stop-color="#8C6336"/>
-<stop offset="0.39" stop-color="#774D20"/>
-<stop offset="1" stop-color="#592E00"/>
-</linearGradient>
-<linearGradient gradientUnits="userSpaceOnUse" id="shape6grad" x1="29.676" x2="29.676" y1="19.555" y2="25.232">
-<stop offset="0" stop-color="#8C6336"/>
-<stop offset="0.39" stop-color="#774D20"/>
-<stop offset="1" stop-color="#592E00"/>
-</linearGradient>
-<linearGradient gradientUnits="userSpaceOnUse" id="shape9grad" x1="14.551" x2="11.972" y1="10.078" y2="10.078">
-<stop offset="0" stop-color="#C0975F"/>
-<stop offset="1" stop-color="#986D2F"/>
-</linearGradient>
-<linearGradient gradientUnits="userSpaceOnUse" id="shape10grad" x1="3.232" x2="11.975" y1="10.536" y2="10.536">
-<stop offset="0" stop-color="#875924"/>
-<stop offset="0.013" stop-color="#8D5F2A"/>
-<stop offset="0.096" stop-color="#AF814C"/>
-<stop offset="0.175" stop-color="#C79964"/>
-<stop offset="0.248" stop-color="#D6A873"/>
-<stop offset="0.308" stop-color="#DBAD78"/>
-<stop offset="0.732" stop-color="#A4763F"/>
-<stop offset="1" stop-color="#85571F"/>
-</linearGradient>
-<linearGradient gradientUnits="userSpaceOnUse" id="shape12grad" x1="1.483" x2="13.723" y1="13.409" y2="13.409">
-<stop offset="0" stop-color="#986D2F"/>
-<stop offset="0.231" stop-color="#C0975F"/>
-<stop offset="1" stop-color="#986D2F"/>
-</linearGradient>
-</defs>
-<g>
-<g transform="translate(0.001) scale(1,1)">
-<path d="M7.068,8.323C5.355,5.836,7.64,3.776,7.068,0.549C10.955,3.582,7.584,5.603,7.068,8.323z" fill="url(#shape4grad)" fill-opacity="0.359" fill-rule="evenodd" stroke-opacity="0.359" transform="translate(0,0.001)">
-</path>
-<path d="M6.632,7.85C8.134,6.04,6.131,4.539,6.632,2.191C3.225,4.397,6.182,5.869,6.632,7.85z" fill="url(#shape5grad)" fill-opacity="0.359" fill-rule="evenodd" stroke-opacity="0.359" transform="translate(0.001,0.001)">
-</path>
-<path d="M8.428,8.549C7.105,6.939,8.869,5.606,8.428,3.518C11.426,5.481,8.825,6.789,8.428,8.549z" fill="url(#shape6grad)" fill-opacity="0.359" fill-rule="evenodd" stroke-opacity="0.359" transform="translate(0,0)">
-</path>
-<path d="M2.711,14.468C1.624,14.065,1,13.414,1,12.685L1,12.247L3.05,12.247C2.853,11.839,2.75,11.392,2.75,10.934L2.75,7L12.366,7L12.366,7.923C12.514,7.89,12.665,7.875,12.815,7.875C14.02,7.875,15.001,8.855,15.001,10.060C15.001,11.266,14.021,12.245,12.815,12.245C12.575,12.245,14.115,12.247,14.115,12.247L14.115,12.685C14.115,13.415,13.492,14.064,12.402,14.468L2.711,14.468L2.711,14.468M12.877,9.622C12.603,9.622,12.379,9.846,12.379,10.121C12.379,10.398,12.602,10.623,12.877,10.623C13.153,10.623,13.379,10.398,13.379,10.121C13.379,9.846,13.153,9.622,12.877,9.622L12.877,9.622" fill="black" fill-rule="evenodd" transform="translate(0,0.001)"/>
-<g transform="translate(0.001,0.001)">
-<path d="M12.862,8.351C11.895,8.351,11.113,9.132,11.113,10.099C11.113,11.066,11.895,11.848,12.862,11.848C13.827,11.848,14.61,11.066,14.61,10.099C14.61,9.132,13.827,8.351,12.862,8.351M12.862,10.973C12.379,10.973,11.988,10.58,11.988,10.098C11.988,9.616,12.38,9.224,12.862,9.224C13.343,9.224,13.735,9.617,13.735,10.098C13.735,10.58,13.344,10.973,12.862,10.973" fill="url(#shape9grad)" fill-rule="evenodd" transform="translate(0,0)"/>
-<path d="M11.976,10.973C11.976,12.421,10.8,13.595,9.353,13.595L5.855,13.595C4.407,13.595,3.232,12.421,3.232,10.973L3.232,10.973C3.232,9.524,3.232,7.475,3.232,7.475L11.974,7.475C11.976,7.475,11.976,9.523,11.976,10.973L11.976,10.973z" fill="url(#shape10grad)" fill-rule="evenodd" transform="translate(0,0)"/>
-<path d="M6.474,10.973C6.474,12.421,6.572,13.595,6.572,13.595C5.431,13.595,4.507,12.421,4.507,10.973L4.507,10.973C4.507,9.524,4.507,7.475,4.507,7.475L6.474,7.475L6.474,10.973z" fill="white" fill-rule="evenodd" transform="translate(0.001,0)"/>
-<path d="M2.911,14.096L12.296,14.096C13.158,13.777,13.723,13.282,13.723,12.721C10.662,12.721,4.39,12.721,1.483,12.721C1.482,13.282,2.049,13.775,2.911,14.096z" fill="url(#shape12grad)" fill-rule="evenodd" transform="translate(0,0)"/>
-</g>
-<rect fill="none" fill-rule="evenodd" height="16" width="16" x="0" y="0"/>
-</g>
-</g>
-</svg>
--- a/uifw/AvKon/smileyicons/qgn_indi_smiley_anim_connive.svg Mon Mar 15 12:41:34 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,36 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" baseProfile="tiny" height="16" preserveAspectRatio="xMidYMid meet" viewBox="-8 -8 16 16" width="16">
-<defs>
-<radialGradient cx="7.878" cy="5.012" gradientUnits="userSpaceOnUse" id="shape7grad" r="8.364">
-<stop offset="0" stop-color="#FFF000"/>
-<stop offset="1" stop-color="#FFBF00"/>
-</radialGradient>
-</defs>
-<g>
-<g transform="translate(-7.999,-8) scale(1.001,1)">
-<g transform="translate(0.001)">
-<rect fill="none" fill-rule="evenodd" height="16" transform="translate(0.001)" width="15.999" x="0" y="0"/>
-<circle cx="8" cy="8" fill="black" fill-rule="evenodd" r="7"/>
-<path d="M14.5,8C14.5,11.59,11.59,14.5,8,14.5C4.411,14.5,1.5,11.59,1.5,8C1.5,4.411,4.411,1.5,8,1.5C11.59,1.5,14.5,4.411,14.5,8z" fill="url(#shape7grad)" fill-rule="evenodd"/>
-</g>
-<path d="M7.731,6.626C7.731,7.731,6.836,8.626,5.728,8.626C4.624,8.626,3.73,7.731,3.73,6.626C3.73,5.521,4.625,4.626,5.728,4.626C6.836,4.626,7.731,5.521,7.731,6.626z" fill="white" fill-rule="evenodd" transform="translate(0.001,0.001)"/>
-<path d="M12.351,6.626C12.351,7.731,11.455,8.626,10.351,8.626C9.246,8.626,8.351,7.731,8.351,6.626C8.351,5.522,9.246,4.626,10.351,4.626C11.455,4.626,12.351,5.522,12.351,6.626z" fill="white" fill-rule="evenodd" transform="translate(0.001,0.001)"/>
-<g transform="translate(0.001)">
-<animateTransform additive="replace" attributeName="transform" begin="0s" dur="1.90s" fill="freeze" keyTimes="0;0.216;0.316;0.427;0.632;0.737;0.843;1" type="translate" values="8.041,6.627;8.041,6.627;9.041,6.627;9.041,6.627;7.041,6.627;7.041,6.627;8.041,6.627;8.041,6.627"/>
-<animateTransform additive="sum" attributeName="transform" begin="0s" fill="freeze" type="translate" values="-8.04,-6.626;-8.04,-6.626"/>
-<path d="M6.731,6.626C6.731,7.179,6.283,7.626,5.731,7.626C5.178,7.626,4.731,7.179,4.731,6.626C4.731,6.074,5.178,5.626,5.731,5.626C6.283,5.626,6.731,6.074,6.731,6.626z" fill="black" fill-rule="evenodd" transform="translate(0.001,0.001)"/>
-<path d="M11.351,6.626C11.351,7.179,10.904,7.626,10.351,7.626C9.799,7.626,9.351,7.179,9.351,6.626C9.351,6.074,9.799,5.626,10.351,5.626C10.904,5.626,11.351,6.074,11.351,6.626z" fill="black" fill-rule="evenodd" transform="translate(0.001,0.001)"/>
-</g>
-<g transform="translate(0)">
-<g transform="translate(0)">
-<g transform="translate(0)">
-<path d="M8.042,12.507C6.138,12.507,4.558,11.212,4.072,9.461L3.21,9.461C3.716,11.685,5.667,13.356,8.042,13.356C10.418,13.356,12.37,11.683,12.875,9.461L12.014,9.461C11.528,11.212,9.947,12.507,8.042,12.507z" fill="black" fill-rule="evenodd" transform="translate(0,0)"/>
-</g>
-</g>
-</g>
-<polygon fill="black" fill-rule="evenodd" points="4.874,4.031 4.874,4.031 5.319,3.135 7.319,4.136 6.871,5.031" transform="translate(0.001,0.001)"/>
-<polygon fill="black" fill-rule="evenodd" points="8.707,4.136 8.707,4.136 10.707,3.135 11.153,4.031 9.153,5.031" transform="translate(0.001,0.001)"/>
-</g>
-</g>
-</svg>
--- a/uifw/AvKon/smileyicons/qgn_indi_smiley_anim_connive_static.svg Mon Mar 15 12:41:34 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" baseProfile="tiny" height="16" preserveAspectRatio="xMidYMid meet" viewBox="-8 -8 16 16" width="16">
-<defs>
-<radialGradient cx="7.878" cy="5.012" gradientUnits="userSpaceOnUse" id="shape7grad" r="8.364">
-<stop offset="0" stop-color="#FFF000"/>
-<stop offset="1" stop-color="#FFBF00"/>
-</radialGradient>
-</defs>
-<g>
-<g transform="translate(-7.999,-8) scale(1.001,1)">
-<g transform="translate(0.001)">
-<rect fill="none" fill-rule="evenodd" height="16" transform="translate(0.001)" width="15.999" x="0" y="0"/>
-<circle cx="8" cy="8" fill="black" fill-rule="evenodd" r="7"/>
-<path d="M14.5,8C14.5,11.59,11.59,14.5,8,14.5C4.411,14.5,1.5,11.59,1.5,8C1.5,4.411,4.411,1.5,8,1.5C11.59,1.5,14.5,4.411,14.5,8z" fill="url(#shape7grad)" fill-rule="evenodd"/>
-</g>
-<path d="M7.731,6.626C7.731,7.731,6.836,8.626,5.728,8.626C4.624,8.626,3.73,7.731,3.73,6.626C3.73,5.521,4.625,4.626,5.728,4.626C6.836,4.626,7.731,5.521,7.731,6.626z" fill="white" fill-rule="evenodd" transform="translate(0.001,0.001)"/>
-<path d="M12.351,6.626C12.351,7.731,11.455,8.626,10.351,8.626C9.246,8.626,8.351,7.731,8.351,6.626C8.351,5.522,9.246,4.626,10.351,4.626C11.455,4.626,12.351,5.522,12.351,6.626z" fill="white" fill-rule="evenodd" transform="translate(0.001,0.001)"/>
-<g transform="translate(0.001)">
-<path d="M6.731,6.626C6.731,7.179,6.283,7.626,5.731,7.626C5.178,7.626,4.731,7.179,4.731,6.626C4.731,6.074,5.178,5.626,5.731,5.626C6.283,5.626,6.731,6.074,6.731,6.626z" fill="black" fill-rule="evenodd" transform="translate(0.001,0.001)"/>
-<path d="M11.351,6.626C11.351,7.179,10.904,7.626,10.351,7.626C9.799,7.626,9.351,7.179,9.351,6.626C9.351,6.074,9.799,5.626,10.351,5.626C10.904,5.626,11.351,6.074,11.351,6.626z" fill="black" fill-rule="evenodd" transform="translate(0.001,0.001)"/>
-</g>
-<g transform="translate(0)">
-<g transform="translate(0)">
-<g transform="translate(0)">
-<path d="M8.042,12.507C6.138,12.507,4.558,11.212,4.072,9.461L3.21,9.461C3.716,11.685,5.667,13.356,8.042,13.356C10.418,13.356,12.37,11.683,12.875,9.461L12.014,9.461C11.528,11.212,9.947,12.507,8.042,12.507z" fill="black" fill-rule="evenodd" transform="translate(0,0)"/>
-</g>
-</g>
-</g>
-<polygon fill="black" fill-rule="evenodd" points="4.874,4.031 4.874,4.031 5.319,3.135 7.319,4.136 6.871,5.031" transform="translate(0.001,0.001)"/>
-<polygon fill="black" fill-rule="evenodd" points="8.707,4.136 8.707,4.136 10.707,3.135 11.153,4.031 9.153,5.031" transform="translate(0.001,0.001)"/>
-</g>
-</g>
-</svg>
--- a/uifw/AvKon/smileyicons/qgn_indi_smiley_anim_denial.svg Mon Mar 15 12:41:34 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,43 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" baseProfile="tiny" height="16" preserveAspectRatio="xMidYMid meet" viewBox="0 0 15 16" width="15">
-<defs>
-<radialGradient cx="7.881" cy="5.012" gradientUnits="userSpaceOnUse" id="shape4grad" r="8.364">
-<stop offset="0" stop-color="#FFF000"/>
-<stop offset="1" stop-color="#FFBF00"/>
-</radialGradient>
-</defs>
-<g>
-<circle cx="8" cy="8" fill="black" fill-rule="evenodd" r="7"/>
-<path d="M14.504,8C14.504,11.59,11.593,14.5,8.004,14.5C4.414,14.5,1.504,11.59,1.504,8C1.504,4.411,4.414,1.5,8.004,1.5C11.593,1.5,14.504,4.411,14.504,8z" fill="url(#shape4grad)" fill-rule="evenodd" transform="translate(0)"/>
-<g>
-<animateTransform additive="replace" attributeName="transform" begin="0s" dur="0.06s" fill="freeze" keyTimes="0;0.167;0.334;0.5;0.667;0.834;1" type="translate" values="5.728,7.157;4.728,7.157;5.728,7.157;6.728,7.157;5.728,7.157;4.728,7.157;5.728,7.157"/>
-<animateTransform additive="sum" attributeName="transform" begin="0s" fill="freeze" type="translate" values="-5.727,-7.156;-5.727,-7.156"/>
-<ellipse cx="0" cy="0" fill="white" fill-rule="evenodd" rx="1.89" ry="1.986" transform="translate(5.729,7.139)"/>
-<ellipse cx="0" cy="0" fill="black" fill-rule="evenodd" rx="0.889" ry="0.935" transform="translate(5.75,8.228)"/>
-</g>
-<g>
-<animateTransform additive="replace" attributeName="transform" begin="0s" dur="0.06s" fill="freeze" keyTimes="0;0.167;0.334;0.5;0.667;0.834;1" type="translate" values="10.145,7.139;9.145,7.139;10.145,7.139;11.145,7.139;10.145,7.139;9.145,7.139;10.145,7.139"/>
-<animateTransform additive="sum" attributeName="transform" begin="0s" fill="freeze" type="translate" values="-10.144,-7.138;-10.144,-7.138"/>
-<ellipse cx="0" cy="0" fill="white" fill-rule="evenodd" rx="1.89" ry="1.986" transform="translate(10.146,7.139)"/>
-<ellipse cx="0" cy="0" fill="black" fill-rule="evenodd" rx="0.889" ry="0.934" transform="translate(9.99,8.190)"/>
-</g>
-<g transform="translate(0)">
-<animateTransform additive="replace" attributeName="transform" begin="0s" dur="0.06s" fill="freeze" keyTimes="0;0.167;0.334;0.5;0.667;0.834;1" type="translate" values="7.894,12.239;6.894,12.239;7.894,12.239;8.894,12.239;7.894,12.239;6.894,12.239;7.894,12.239"/>
-<animateTransform additive="sum" attributeName="transform" begin="0s" fill="freeze" type="translate" values="-7.893,-12.238;-7.893,-12.238"/>
-<g transform="translate(0)">
-<g transform="translate(0)">
-<path d="M6.354,13.124C7.25,12.228,8.25,11.853,9.440,13.06L10.042,12.457C8.604,11.04,7.271,10.895,5.747,12.558C5.942,12.756,6.173,12.943,6.354,13.124z" fill="black" fill-rule="evenodd" transform="translate(0,0.001)"/>
-</g>
-</g>
-</g>
-<path d="M12.827,7.323C12.461,7.875,11.997,6.722,10.996,6.056C9.993,5.391,8.831,5.466,9.197,4.913C9.565,4.359,10.675,4.449,11.676,5.114C12.681,5.782,13.195,6.769,12.827,7.323z" fill="black" fill-rule="evenodd" transform="translate(0,0)">
-<animateTransform additive="replace" attributeName="transform" begin="0s" dur="0.06s" fill="freeze" keyTimes="0;0.167;0.334;0.5;0.667;0.834;1" type="translate" values="11.036,6.006;10.036,6.006;11.036,6.006;12.036,6.006;11.036,6.006;10.036,6.006;11.036,6.006"/>
-<animateTransform additive="sum" attributeName="transform" begin="0s" fill="freeze" type="translate" values="-11.035,-6.005;-11.035,-6.005"/>
-</path>
-<path d="M6.975,4.981C7.282,5.571,6.047,5.415,4.981,5.968C3.912,6.521,3.415,7.575,3.109,6.986C2.803,6.395,3.421,5.469,4.488,4.915C5.558,4.362,6.671,4.393,6.975,4.981z" fill="black" fill-rule="evenodd" transform="translate(0)">
-<animateTransform additive="replace" attributeName="transform" begin="0s" dur="0.06s" fill="freeze" keyTimes="0;0.167;0.334;0.5;0.667;0.834;1" type="translate" values="5.029,5.837;4.029,5.837;5.029,5.837;6.029,5.837;5.029,5.837;4.029,5.837;5.029,5.837"/>
-<animateTransform additive="sum" attributeName="transform" begin="0s" fill="freeze" type="translate" values="-5.028,-5.836;-5.028,-5.836"/>
-</path>
-</g>
-</svg>
--- a/uifw/AvKon/smileyicons/qgn_indi_smiley_anim_denial_static.svg Mon Mar 15 12:41:34 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" baseProfile="tiny" height="16" preserveAspectRatio="xMidYMid meet" viewBox="0 0 15 16" width="15">
-<defs>
-<radialGradient cx="7.881" cy="5.012" gradientUnits="userSpaceOnUse" id="shape4grad" r="8.364">
-<stop offset="0" stop-color="#FFF000"/>
-<stop offset="1" stop-color="#FFBF00"/>
-</radialGradient>
-</defs>
-<g>
-<circle cx="8" cy="8" fill="black" fill-rule="evenodd" r="7"/>
-<path d="M14.504,8C14.504,11.59,11.593,14.5,8.004,14.5C4.414,14.5,1.504,11.59,1.504,8C1.504,4.411,4.414,1.5,8.004,1.5C11.593,1.5,14.504,4.411,14.504,8z" fill="url(#shape4grad)" fill-rule="evenodd" transform="translate(0)"/>
-<g>
-<ellipse cx="0" cy="0" fill="white" fill-rule="evenodd" rx="1.89" ry="1.986" transform="translate(5.729,7.139)"/>
-<ellipse cx="0" cy="0" fill="black" fill-rule="evenodd" rx="0.889" ry="0.935" transform="translate(5.75,8.228)"/>
-</g>
-<g>
-<ellipse cx="0" cy="0" fill="white" fill-rule="evenodd" rx="1.89" ry="1.986" transform="translate(10.146,7.139)"/>
-<ellipse cx="0" cy="0" fill="black" fill-rule="evenodd" rx="0.889" ry="0.934" transform="translate(9.99,8.190)"/>
-</g>
-<g transform="translate(0)">
-<g transform="translate(0)">
-<g transform="translate(0)">
-<path d="M6.354,13.124C7.25,12.228,8.25,11.853,9.440,13.06L10.042,12.457C8.604,11.04,7.271,10.895,5.747,12.558C5.942,12.756,6.173,12.943,6.354,13.124z" fill="black" fill-rule="evenodd" transform="translate(0,0.001)"/>
-</g>
-</g>
-</g>
-<path d="M12.827,7.323C12.461,7.875,11.997,6.722,10.996,6.056C9.993,5.391,8.831,5.466,9.197,4.913C9.565,4.359,10.675,4.449,11.676,5.114C12.681,5.782,13.195,6.769,12.827,7.323z" fill="black" fill-rule="evenodd" transform="translate(0,0)">
-</path>
-<path d="M6.975,4.981C7.282,5.571,6.047,5.415,4.981,5.968C3.912,6.521,3.415,7.575,3.109,6.986C2.803,6.395,3.421,5.469,4.488,4.915C5.558,4.362,6.671,4.393,6.975,4.981z" fill="black" fill-rule="evenodd" transform="translate(0)">
-</path>
-</g>
-</svg>
--- a/uifw/AvKon/smileyicons/qgn_indi_smiley_anim_flirt.svg Mon Mar 15 12:41:34 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,50 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" baseProfile="tiny" height="16" preserveAspectRatio="xMidYMid meet" viewBox="-8 -8 16 16" width="16">
-<defs>
-<radialGradient cx="7.878" cy="5.012" gradientUnits="userSpaceOnUse" id="shape6grad" r="8.363">
-<stop offset="0" stop-color="#FFF000"/>
-<stop offset="1" stop-color="#FFBF00"/>
-</radialGradient>
-</defs>
-<g>
-<g transform="translate(-8,-8)">
-<g>
-<circle cx="8" cy="8" fill="black" fill-rule="evenodd" r="7"/>
-<path d="M14.5,8C14.5,11.59,11.59,14.5,8,14.5C4.411,14.5,1.5,11.59,1.5,8C1.5,4.411,4.411,1.5,8,1.5C11.59,1.5,14.5,4.411,14.5,8z" fill="url(#shape6grad)" fill-rule="evenodd"/>
-<g display="none" transform="translate(0,0.001)">
-<g transform="translate(0,0.001)">
-<path d="M5.355,7.193C5.994,7.562,6.809,7.343,7.175,6.707C6.639,6.396,5.37,5.664,4.869,5.374C4.501,6.012,4.719,6.828,5.355,7.193M11.132,5.374C10.594,5.685,9.402,6.374,8.823,6.707C9.190,7.345,10.005,7.562,10.642,7.195C11.282,6.827,11.499,6.012,11.132,5.374" fill="white" fill-rule="evenodd" transform="translate(0.001)"/>
-</g>
-</g>
-</g>
-<g>
-<animate attributeName="display" begin="0s" calcMode="discrete" dur="1.21s" fill="freeze" keyTimes="0;0.662;1" values="inline;none;inline"/>
-<ellipse cx="0" cy="0" fill="white" fill-rule="evenodd" rx="1.89" ry="1.986" transform="translate(5.746,5.827)"/>
-<ellipse cx="0" cy="0" fill="black" fill-rule="evenodd" rx="1.098" ry="1.152" transform="translate(5.745,5.827)"/>
-</g>
-<g>
-<ellipse cx="0" cy="0" fill="white" fill-rule="evenodd" rx="1.89" ry="1.986" transform="translate(10.367,5.827)"/>
-<ellipse cx="0" cy="0" fill="black" fill-rule="evenodd" rx="1.098" ry="1.152" transform="translate(10.365,5.827)"/>
-</g>
-<g transform="translate(0)">
-<animate attributeName="display" begin="0s" calcMode="discrete" dur="1.21s" fill="freeze" keyTimes="0;0.662;1" values="inline;none;inline"/>
-<g transform="translate(0)">
-<g transform="translate(0)">
-<path d="M8.042,12.509C6.138,12.509,4.558,11.212,4.072,9.462L3.21,9.462C3.716,11.685,5.667,13.358,8.042,13.358C10.418,13.358,12.37,11.685,12.875,9.462L12.014,9.462C11.528,11.212,9.947,12.509,8.042,12.509z" fill="black" fill-rule="evenodd" transform="translate(0,0)"/>
-</g>
-</g>
-</g>
-</g>
-<path d="M3.968,7.744C4.137,7.237,4.264,6.813,5.067,6.518C4.094,6.307,3.206,6.518,2.486,7.661L2.076,7.788C2.408,6.414,3.468,5.56,4.652,5.566L4.652,5.566C5.44,5.565,6.254,5.937,6.917,6.669L6.917,6.669L6.802,6.982C5.87,6.982,4.983,6.813,4.179,7.701L3.968,7.744z" display="none" fill="black" fill-rule="evenodd" transform="matrix(0.958 0.289 -0.288 0.958 -4.756 -9.763)">
-<animate attributeName="display" begin="0s" calcMode="discrete" dur="1.21s" fill="freeze" keyTimes="0;0.662;1" values="none;inline;none"/>
-</path>
-<rect fill="none" fill-rule="evenodd" height="16.375" transform="scale(0.978)" width="16.375" x="-8.187" y="-8.187"/>
-<g display="none" transform="translate(4.258,0.125) scale(-1,1)">
-<animate attributeName="display" begin="0s" calcMode="discrete" dur="1.21s" fill="freeze" keyTimes="0;0.662;1" values="none;inline;none"/>
-<path d="M1.42,3.258C2.46,4.297,4,4.764,5.507,4.311C7.013,3.856,8.04,2.618,8.334,1.178L1.42,3.258z" fill="none" fill-rule="evenodd" transform="translate(0,0.001)"/>
-<path d="M4.913,2.369C2.758,3.018,0,2.786,0,2.786C1.125,4.766,3.477,5.809,5.75,5.124C8.027,4.44,9.414,2.274,9.256,0C9.256,0,7.067,1.721,4.913,2.369z" fill="white" fill-rule="evenodd" transform="translate(0,0.001)"/>
-<path d="M4.797,1.984C2.803,2.585,0,2.786,0,2.786C1.125,4.766,3.477,5.809,5.75,5.124C8.027,4.44,9.414,2.274,9.256,0C9.256,0,6.792,1.384,4.797,1.984M5.507,4.311C4,4.764,2.46,4.297,1.42,3.258C1.42,3.258,3.533,3.134,5.050,2.678C6.605,2.21,8.335,1.178,8.335,1.178C8.04,2.618,7.013,3.856,5.507,4.311" fill="black" fill-rule="evenodd" transform="translate(0,0.001)"/>
-</g>
-</g>
-</svg>
--- a/uifw/AvKon/smileyicons/qgn_indi_smiley_anim_flirt_static.svg Mon Mar 15 12:41:34 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,45 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" baseProfile="tiny" height="16" preserveAspectRatio="xMidYMid meet" viewBox="-8 -8 16 16" width="16">
-<defs>
-<radialGradient cx="7.878" cy="5.012" gradientUnits="userSpaceOnUse" id="shape6grad" r="8.363">
-<stop offset="0" stop-color="#FFF000"/>
-<stop offset="1" stop-color="#FFBF00"/>
-</radialGradient>
-</defs>
-<g>
-<g transform="translate(-8,-8)">
-<g>
-<circle cx="8" cy="8" fill="black" fill-rule="evenodd" r="7"/>
-<path d="M14.5,8C14.5,11.59,11.59,14.5,8,14.5C4.411,14.5,1.5,11.59,1.5,8C1.5,4.411,4.411,1.5,8,1.5C11.59,1.5,14.5,4.411,14.5,8z" fill="url(#shape6grad)" fill-rule="evenodd"/>
-<g transform="translate(0 0.001)">
-<g transform="translate(0 0.001)">
-<path d="M5.355,7.193C5.994,7.562,6.809,7.343,7.175,6.707C6.639,6.396,5.37,5.664,4.869,5.374C4.501,6.012,4.719,6.828,5.355,7.193M11.132,5.374C10.594,5.685,9.402,6.374,8.823,6.707C9.190,7.345,10.005,7.562,10.642,7.195C11.282,6.827,11.499,6.012,11.132,5.374" fill="white" fill-rule="evenodd" transform="translate(0.001)"/>
-</g>
-</g>
-</g>
-<g>
-<ellipse cx="0" cy="0" fill="white" fill-rule="evenodd" rx="1.89" ry="1.986" transform="translate(5.746,5.827)"/>
-<ellipse cx="0" cy="0" fill="black" fill-rule="evenodd" rx="1.098" ry="1.152" transform="translate(5.745,5.827)"/>
-</g>
-<g>
-<ellipse cx="0" cy="0" fill="white" fill-rule="evenodd" rx="1.89" ry="1.986" transform="translate(10.367,5.827)"/>
-<ellipse cx="0" cy="0" fill="black" fill-rule="evenodd" rx="1.098" ry="1.152" transform="translate(10.365,5.827)"/>
-</g>
-<g transform="translate(0)">
-<g transform="translate(0)">
-<g transform="translate(0)">
-<path d="M8.042,12.509C6.138,12.509,4.558,11.212,4.072,9.462L3.21,9.462C3.716,11.685,5.667,13.358,8.042,13.358C10.418,13.358,12.37,11.685,12.875,9.462L12.014,9.462C11.528,11.212,9.947,12.509,8.042,12.509z" fill="black" fill-rule="evenodd" transform="translate(0,0)"/>
-</g>
-</g>
-</g>
-</g>
-<path d="M3.968 7.744 C4.137 7.237 4.264 6.813 5.067 6.518 C4.094 6.307 3.206 6.518 2.486 7.661 L2.076 7.788 C2.408 6.414 3.468 5.56 4.652 5.566 L4.652 5.566 C5.44 5.565 6.254 5.937 6.917 6.669 L6.917 6.669 L6.802 6.982 C5.87 6.982 4.983 6.813 4.179 7.701 z" transform="matrix(0.958 0.289 -0.288 0.958 -4.756 -9.763)" style="fill:rgb(0,0,0);fill-rule:evenodd"/>
-<rect height="16.375" transform="scale(0.978)" width="16.375" x="-8.187" y="-8.187" style="fill:none;fill-rule:evenodd"/>
-<g transform="translate(4.258 0.125) scale(-1 1)">
-<path d="M1.42 3.258 C2.46 4.297 4 4.764 5.507 4.311 C7.013 3.856 8.04 2.618 8.334 1.178 z" transform="translate(0 0.001)" style="fill:none;fill-rule:evenodd"/>
-<path d="M4.913 2.369 C2.758 3.018 0 2.786 0 2.786 C1.125 4.766 3.477 5.809 5.75 5.124 C8.027 4.44 9.414 2.274 9.256 0 C9.256 0 7.067 1.721 4.913 2.369 z" transform="translate(0 0.001)" style="fill:rgb(255,255,255);fill-rule:evenodd"/>
-<path d="M4.797 1.984 C2.803 2.585 0 2.786 0 2.786 C1.125 4.766 3.477 5.809 5.75 5.124 C8.027 4.44 9.414 2.274 9.256 0 C9.256 0 6.792 1.384 4.797 1.984 M5.507 4.311 C4 4.764 2.46 4.297 1.42 3.258 C1.42 3.258 3.533 3.134 5.05 2.678 C6.605 2.21 8.335 1.178 8.335 1.178 C8.04 2.618 7.013 3.856 5.507 4.311" transform="translate(0 0.001)" style="fill:rgb(0,0,0);fill-rule:evenodd"/>
-</g>
-</g>
-</svg>
--- a/uifw/AvKon/smileyicons/qgn_indi_smiley_anim_frustrated.svg Mon Mar 15 12:41:34 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,36 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" baseProfile="tiny" height="16" preserveAspectRatio="xMidYMid meet" viewBox="-8 -8 16 16" width="16">
-<defs>
-<radialGradient cx="7.878" cy="5.012" gradientUnits="userSpaceOnUse" id="shape7grad" r="8.364">
-<stop offset="0" stop-color="#FFF000"/>
-<stop offset="1" stop-color="#FFBF00"/>
-</radialGradient>
-</defs>
-<g>
-<g transform="translate(-7.999,-8) scale(1.001,1)">
-<g transform="translate(0.001)">
-<rect fill="none" fill-rule="evenodd" height="16" transform="translate(0.001)" width="15.999" x="0" y="0"/>
-<circle cx="8" cy="8" fill="black" fill-rule="evenodd" r="7"/>
-<path d="M14.5,8C14.5,11.59,11.59,14.5,8,14.5C4.411,14.5,1.5,11.59,1.5,8C1.5,4.411,4.411,1.5,8,1.5C11.59,1.5,14.5,4.411,14.5,8z" fill="url(#shape7grad)" fill-rule="evenodd"/>
-</g>
-<g transform="translate(0.001)">
-<animateTransform additive="replace" attributeName="transform" begin="0.50s" dur="0.71s" fill="freeze" keyTimes="0;0.141;0.282;0.423;0.564;0.705;0.846;1" type="translate" values="8,6.493;8,5.993;8,5.993;9,5.993;6.756,5.993;9.157,5.993;6.606,5.993;8,5.993"/>
-<animateTransform additive="sum" attributeName="transform" begin="0.50s" fill="freeze" type="translate" values="-7.999,-6.492;-7.999,-6.492"/>
-<polygon fill="black" fill-rule="evenodd" points="7.452,6.685 7.452,6.685 4.141,4.772 3.833,5.825 6.452,6.64 3.72,7.191 4.117,8.214" transform="translate(0,0)"/>
-<polygon fill="black" fill-rule="evenodd" points="8.546,6.685 8.546,6.685 11.858,4.772 12.167,5.825 9.549,6.64 12.28,7.191 11.882,8.214" transform="translate(0,0)"/>
-</g>
-<path d="M3.918,11.499L5.433,10.257C5.599,10.12,5.836,10.12,6.003,10.255L6.003,10.255L6.85,10.943L7.733,10.25C7.897,10.12,8.131,10.124,8.294,10.254L8.294,10.254L9.145,10.944L10.049,10.248C10.212,10.119,10.445,10.123,10.606,10.254L10.606,10.254L12.084,11.455L11.516,12.151L10.316,11.176L9.41,11.877C9.245,12.004,9.014,12,8.853,11.867L8.853,11.867L8.005,11.179L7.123,11.874C6.957,12.003,6.724,12.003,6.561,11.867L6.561,11.867L5.719,11.183L4.836,11.909L4.488,12.195L3.918,11.499L3.918,11.499z" fill="black" fill-rule="evenodd" transform="translate(0,0.001)">
-<animate attributeName="display" begin="0s" calcMode="discrete" dur="0.50s" fill="freeze" keyTimes="0;1" values="inline;none"/>
-</path>
-<g display="none" transform="translate(4,5.342) scale(0.5)">
-<animate attributeName="display" begin="0s" calcMode="discrete" dur="0.50s" fill="freeze" keyTimes="0;1" values="none;inline"/>
-<animateTransform additive="replace" attributeName="transform" begin="0.50s" dur="1.11s" fill="freeze" keyTimes="0;0.181;0.271;0.361;0.451;0.541;0.64;1" type="translate" values="8,10.684;8,10.684;9,10.684;6.757,10.684;9.158,10.684;6.607,10.684;8,10.684;8,10.684"/>
-<animateTransform additive="sum" attributeName="transform" begin="0.50s" dur="0.10s" fill="freeze" keyTimes="0;1" type="scale" values="0.5,0.5;1,1"/>
-<animateTransform additive="sum" attributeName="transform" begin="0.50s" fill="freeze" type="translate" values="-8,-10.683;-8,-10.683"/>
-<path d="M11.594,10.952C11.594,12.61,9.986,13.684,8,13.684C6.016,13.684,4.408,12.61,4.408,10.952C4.408,9.297,6.016,7.684,8,7.684C9.985,7.685,11.594,9.296,11.594,10.952z" fill="black" fill-rule="evenodd" transform="translate(0,0.001)"/>
-<path d="M8,13.044C6.533,13.044,5.047,12.325,5.047,10.952C5.047,9.712,6.31,8.325,8,8.325C9.691,8.325,10.952,9.712,10.952,10.952C10.952,12.325,9.469,13.044,8,13.044L8,13.044z" fill="#FF2E00" fill-rule="evenodd" transform="translate(0,0)"/>
-</g>
-</g>
-</g>
-</svg>
--- a/uifw/AvKon/smileyicons/qgn_indi_smiley_anim_frustrated_static.svg Mon Mar 15 12:41:34 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" baseProfile="tiny" height="16" preserveAspectRatio="xMidYMid meet" viewBox="-8 -8 16 16" width="16">
-<defs>
-<radialGradient cx="7.878" cy="5.012" gradientUnits="userSpaceOnUse" id="shape7grad" r="8.364">
-<stop offset="0" stop-color="#FFF000"/>
-<stop offset="1" stop-color="#FFBF00"/>
-</radialGradient>
-</defs>
-<g>
-<g transform="translate(-7.999,-8) scale(1.001,1)">
-<g transform="translate(0.001)">
-<rect x="0.0" y="0.0" transform="translate(0.001)" fill="none" width="15.999" fill-rule="evenodd" height="16"/>
-<circle fill="black" r="7" fill-rule="evenodd" cx="8.0" cy="8.0"/>
-<path fill="url(#shape7grad)" d="M 14.5 8.0 C 14.5 11.59 11.59 14.5 8.0 14.5 C 4.411 14.5 1.5 11.59 1.5 8.0 C 1.5 4.411 4.411 1.5 8.0 1.5 C 11.59 1.5 14.5 4.411 14.5 8.0 z" fill-rule="evenodd"/>
-</g>
-<g transform="translate(0.001)">
-<polygon fill="black" fill-rule="evenodd" transform="translate(0,0)" points="7.452,6.685 7.452,6.685 4.141,4.772 3.833,5.825 6.452,6.64 3.72,7.191 4.117,8.214"/>
-<polygon fill="black" fill-rule="evenodd" transform="translate(0,0)" points="8.546,6.685 8.546,6.685 11.858,4.772 12.167,5.825 9.549,6.64 12.28,7.191 11.882,8.214"/>
-</g>
-<path fill="black" d="M 3.918 11.499 L 5.433 10.257 C 5.599 10.12 5.836 10.12 6.003 10.255 L 6.003 10.255 L 6.85 10.943 L 7.733 10.25 C 7.897 10.12 8.131 10.124 8.294 10.254 L 8.294 10.254 L 9.145 10.944 L 10.049 10.248 C 10.212 10.119 10.445 10.123 10.606 10.254 L 10.606 10.254 L 12.084 11.455 L 11.516 12.151 L 10.316 11.176 L 9.41 11.877 C 9.245 12.004 9.014 12.0 8.853 11.867 L 8.853 11.867 L 8.005 11.179 L 7.123 11.874 C 6.957 12.003 6.724 12.003 6.561 11.867 L 6.561 11.867 L 5.719 11.183 L 4.836 11.909 L 4.488 12.195 L 3.918 11.499 L 3.918 11.499 z" fill-rule="evenodd" transform="translate(0,0.001)"/>
-<g transform="translate(0,0) scale(1)">
-<path fill="black" d="M 11.594 10.952 C 11.594 12.61 9.986 13.684 8.0 13.684 C 6.016 13.684 4.408 12.61 4.408 10.952 C 4.408 9.297 6.016 7.684 8.0 7.684 C 9.985 7.685 11.594 9.296 11.594 10.952 z" fill-rule="evenodd" transform="translate(0,0.001)"/>
-<path fill="#FF2E00" d="M 8.0 13.044 C 6.533 13.044 5.047 12.325 5.047 10.952 C 5.047 9.712 6.31 8.325 8.0 8.325 C 9.691 8.325 10.952 9.712 10.952 10.952 C 10.952 12.325 9.469 13.044 8.0 13.044 L 8.0 13.044 z" fill-rule="evenodd" transform="translate(0,0)"/>
-</g>
-</g>
-</g>
-</svg>
\ No newline at end of file
--- a/uifw/AvKon/smileyicons/qgn_indi_smiley_anim_gum.svg Mon Mar 15 12:41:34 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,69 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" baseProfile="tiny" height="16" preserveAspectRatio="xMidYMid meet" viewBox="-8 -8 16 16" width="16">
-<defs>
-<radialGradient cx="7.878" cy="5.012" gradientUnits="userSpaceOnUse" id="shape7grad" r="8.364">
-<stop offset="0" stop-color="#FFF000"/>
-<stop offset="1" stop-color="#FFBF00"/>
-</radialGradient>
-</defs>
-<g>
-<g transform="translate(-7.998,-8.046)">
-<g transform="translate(0.001)">
-<rect fill="none" fill-rule="evenodd" height="16" transform="translate(0.001)" width="15.999" x="0" y="0"/>
-<path d="M14.999,8C14.999,11.866,11.865,15,8,15C4.134,15,1,11.866,1,8C1,4.135,4.134,1.001,8,1.001C11.865,1.001,14.999,4.135,14.999,8z" fill="black" fill-rule="evenodd" transform="translate(0)"/>
-<path d="M14.501,8C14.501,11.591,11.591,14.501,8,14.501C4.41,14.501,1.5,11.591,1.5,8C1.5,4.41,4.41,1.5,8,1.5C11.591,1.5,14.501,4.41,14.501,8z" fill="url(#shape7grad)" fill-rule="evenodd"/>
-</g>
-<g>
-<path d="M7.69,6.626C7.69,7.731,6.795,8.626,5.688,8.626C4.584,8.626,3.69,7.731,3.69,6.626C3.69,5.521,4.585,4.626,5.688,4.626C6.796,4.626,7.69,5.521,7.69,6.626z" fill="white" fill-rule="evenodd" transform="translate(0,0.001)"/>
-<path d="M6.69,6.626C6.69,7.179,6.242,7.626,5.69,7.626C5.137,7.626,4.69,7.179,4.69,6.626C4.69,6.074,5.137,5.626,5.69,5.626C6.242,5.626,6.69,6.074,6.69,6.626z" fill="black" fill-rule="evenodd" transform="translate(0,0.001)"/>
-</g>
-<g>
-<path d="M12.31,6.626C12.31,7.731,11.414,8.626,10.31,8.626C9.205,8.626,8.310,7.731,8.310,6.626C8.310,5.522,9.205,4.626,10.31,4.626C11.414,4.626,12.31,5.522,12.31,6.626z" fill="white" fill-rule="evenodd" transform="translate(0,0.001)"/>
-<path d="M11.31,6.626C11.31,7.179,10.862,7.626,10.31,7.626C9.757,7.626,9.310,7.179,9.310,6.626C9.310,6.074,9.757,5.626,10.31,5.626C10.862,5.626,11.31,6.074,11.31,6.626z" fill="black" fill-rule="evenodd" transform="translate(0,0.001)"/>
-</g>
-<g transform="translate(0)">
-<animate attributeName="display" begin="0s" calcMode="discrete" dur="1s" fill="freeze" keyTimes="0;1" values="inline;none"/>
-<animateTransform additive="replace" attributeName="transform" begin="0s" dur="1s" fill="freeze" keyTimes="0;0.201;0.401;0.601;0.801;1" type="translate" values="10.059,10.783;9.213,10.994;10.059,10.783;9.213,10.994;10.059,10.783;8.156,11.206"/>
-<animateTransform additive="sum" attributeName="transform" begin="0s" dur="1s" fill="freeze" keyTimes="0;0.201;0.401;0.601;0.801;1" type="rotate" values="0;9.256;0;10.008;0;29.142"/>
-<animateTransform additive="sum" attributeName="transform" begin="0s" fill="freeze" type="translate" values="-10.058,-10.782;-10.058,-10.782"/>
-<g transform="translate(0.001,0.001)">
-<path d="M7.051,11.629C8.658,12.004,10.403,11.395,11.402,9.958L12.098,10.444C10.916,12.142,8.866,12.881,6.959,12.478C6.995,12.32,6.995,11.877,7.051,11.629z" fill="black" fill-rule="evenodd" transform="translate(0.001)"/>
-</g>
-<path d="M13.032,10.014C12.349,10.131,11.702,9.672,11.587,8.99L10.851,9.117C11.038,10.205,12.071,10.938,13.159,10.752L13.032,10.014z" fill="black" fill-rule="evenodd" transform="translate(0,0)"/>
-</g>
-<g display="none" transform="translate(0.001)">
-<animate attributeName="display" begin="0s" calcMode="discrete" dur="1s" fill="freeze" keyTimes="0;1" values="none;inline"/>
-<g transform="translate(0)">
-<path d="M6.606,11.224C7.462,11.497,8.412,11.495,9.317,11.155L9.615,11.951C8.536,12.356,7.405,12.363,6.382,12.046C6.41,11.851,6.567,11.4,6.606,11.224z" fill="black" fill-rule="evenodd" transform="translate(0.001,0)"/>
-</g>
-<g transform="translate(0.001)">
-<path d="M10.625,12.186C9.997,11.895,9.726,11.151,10.016,10.523L9.338,10.21C8.873,11.212,9.309,12.401,10.311,12.864L10.625,12.186z" fill="black" fill-rule="evenodd" transform="translate(0.001,0.001)"/>
-<path d="M5.972,10.563C6.262,11.183,5.994,11.919,5.375,12.211L5.688,12.879C6.678,12.414,7.105,11.237,6.642,10.248L5.972,10.563z" fill="black" fill-rule="evenodd" transform="translate(0.001,0.001)"/>
-</g>
-</g>
-<g display="none" transform="translate(0,0.001)">
-<animate attributeName="display" begin="0s" calcMode="discrete" dur="1.10s" fill="freeze" keyTimes="0;1" values="none;inline"/>
-<animateTransform additive="replace" attributeName="transform" begin="1.10s" dur="0.63s" fill="freeze" keyTimes="0;0.953;1" type="translate" values="5.491,14.356;0.558,18.091;-5.312,22.535"/>
-<animateTransform additive="sum" attributeName="transform" begin="1.10s" dur="0.63s" fill="freeze" keyTimes="0;0.953;1" type="scale" values="1,1;3,3;5.381,5.381"/>
-<animateTransform additive="sum" attributeName="transform" begin="1.10s" fill="freeze" type="translate" values="-5.49,-14.355;-5.49,-14.355"/>
-<g>
-<path d="M9.266,11.655C9.266,12.373,8.683,12.955,7.965,12.955C7.246,12.955,6.664,12.373,6.664,11.655C6.664,10.936,7.246,10.354,7.965,10.354C8.683,10.354,9.266,10.936,9.266,11.655z" fill="#ED1E79" fill-rule="evenodd" transform="translate(0,0.001)"/>
-<ellipse cx="0" cy="0" fill="#FFA6EB" fill-rule="evenodd" rx="0.552" ry="0.482" transform="matrix(0.823 -0.569 0.57 0.823 7.557 11.203)">
-<animate attributeName="display" begin="0s" calcMode="discrete" dur="1.72s" fill="freeze" keyTimes="0;1" values="inline;none"/>
-</ellipse>
-</g>
-</g>
-<g display="none">
-<animate attributeName="display" begin="0s" calcMode="discrete" dur="3.01s" fill="freeze" keyTimes="0;0.864;1" values="none;inline;inline"/>
-<path d="M7.69,6.626C7.69,7.731,6.795,8.626,5.688,8.626C4.584,8.626,3.69,7.731,3.69,6.626C3.69,5.521,4.585,4.626,5.688,4.626C6.796,4.626,7.69,5.521,7.69,6.626z" fill="white" fill-rule="evenodd" transform="translate(0,0.001)"/>
-<path d="M6.69,6.626C6.69,7.179,6.242,7.626,5.69,7.626C5.137,7.626,4.69,7.179,4.69,6.626C4.69,6.074,5.137,5.626,5.69,5.626C6.242,5.626,6.69,6.074,6.69,6.626z" fill="black" fill-rule="evenodd" transform="translate(0,0.001)"/>
-</g>
-<g display="none">
-<animate attributeName="display" begin="0s" calcMode="discrete" dur="3s" fill="freeze" keyTimes="0;0.774;1" values="none;inline;inline"/>
-<path d="M12.31,6.626C12.31,7.731,11.414,8.626,10.31,8.626C9.205,8.626,8.310,7.731,8.310,6.626C8.310,5.522,9.205,4.626,10.31,4.626C11.414,4.626,12.31,5.522,12.31,6.626z" fill="white" fill-rule="evenodd" transform="translate(0,0.001)"/>
-<path d="M11.31,6.626C11.31,7.179,10.862,7.626,10.31,7.626C9.757,7.626,9.310,7.179,9.310,6.626C9.310,6.074,9.757,5.626,10.31,5.626C10.862,5.626,11.31,6.074,11.31,6.626z" fill="black" fill-rule="evenodd" transform="translate(0,0.001)"/>
-</g>
-</g>
-</g>
-</svg>
--- a/uifw/AvKon/smileyicons/qgn_indi_smiley_anim_gum_static.svg Mon Mar 15 12:41:34 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" baseProfile="tiny" height="16" preserveAspectRatio="xMidYMid meet" viewBox="-8 -8 16 16" width="16">
-<defs>
-<radialGradient cx="7.878" cy="5.012" gradientUnits="userSpaceOnUse" id="shape7grad" r="8.364">
-<stop offset="0" stop-color="#FFF000"/>
-<stop offset="1" stop-color="#FFBF00"/>
-</radialGradient>
-</defs>
-<g>
-<g transform="translate(-7.998 -8.046)">
-<g transform="translate(-5.49 -14.355) scale(5.381)">
-<g transform="translate(-5.52208 -7.48666) translate(0.0437268 0) translate(-0.0109317 -0.0109317) translate(0.0327951 -0.0109317) translate(0.0109317 0) translate(-0.0327951 0.0109317)">
-<path style="fill:rgb(237,30,121);fill-rule:evenodd" d="M9.266 11.655 C9.266 12.373 8.683 12.955 7.965 12.955 C7.246 12.955 6.664 12.373 6.664 11.655 C6.664 10.936 7.246 10.354 7.965 10.354 C8.683 10.354 9.266 10.936 9.266 11.655 z" transform="translate(0 0.001)"/>
-</g>
-</g>
-<g>
-<path style="fill:rgb(255,255,255);fill-rule:evenodd" d="M7.69 6.626 C7.69 7.731 6.795 8.626 5.688 8.626 C4.584 8.626 3.69 7.731 3.69 6.626 C3.69 5.521 4.585 4.626 5.688 4.626 C6.796 4.626 7.69 5.521 7.69 6.626 z" transform="translate(0 0.001)"/>
-<path style="fill:rgb(0,0,0);fill-rule:evenodd" d="M6.69 6.626 C6.69 7.179 6.242 7.626 5.69 7.626 C5.137 7.626 4.69 7.179 4.69 6.626 C4.69 6.074 5.137 5.626 5.69 5.626 C6.242 5.626 6.69 6.074 6.69 6.626 z" transform="translate(0 0.001)"/>
-</g>
-<g>
-<path style="fill:rgb(255,255,255);fill-rule:evenodd" d="M12.31 6.626 C12.31 7.731 11.414 8.626 10.31 8.626 C9.205 8.626 8.31 7.731 8.31 6.626 C8.31 5.522 9.205 4.626 10.31 4.626 C11.414 4.626 12.31 5.522 12.31 6.626 z" transform="translate(0 0.001)"/>
-<path style="fill:rgb(0,0,0);fill-rule:evenodd" d="M11.31 6.626 C11.31 7.179 10.862 7.626 10.31 7.626 C9.757 7.626 9.31 7.179 9.31 6.626 C9.31 6.074 9.757 5.626 10.31 5.626 C10.862 5.626 11.31 6.074 11.31 6.626 z" transform="translate(0 0.001)"/>
-</g>
-</g>
-</g>
-</svg>
--- a/uifw/AvKon/smileyicons/qgn_indi_smiley_anim_idea.svg Mon Mar 15 12:41:34 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,59 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" baseProfile="tiny" height="16" preserveAspectRatio="xMidYMid meet" viewBox="-8 -8 16 16" width="16">
-<defs>
-<radialGradient cx="7.878" cy="5.012" gradientUnits="userSpaceOnUse" id="shape6grad" r="8.363">
-<stop offset="0" stop-color="#FFF000"/>
-<stop offset="1" stop-color="#FFBF00"/>
-</radialGradient>
-<radialGradient cx="3.975" cy="4.574" gradientUnits="userSpaceOnUse" id="shape21grad" r="3.688">
-<stop offset="0" stop-color="#FFF000"/>
-<stop offset="1" stop-color="#FFBF00"/>
-</radialGradient>
-</defs>
-<g>
-<g transform="translate(-8,-8)">
-<animateTransform additive="replace" attributeName="transform" begin="0s" fill="freeze" type="translate" values="0,0;0,0"/>
-<animateTransform additive="sum" attributeName="transform" begin="0s" dur="1.41s" fill="freeze" keyTimes="0;0.859;1" type="scale" values="1,1;1,1;0.361,0.361"/>
-<animateTransform additive="sum" attributeName="transform" begin="0s" fill="freeze" type="translate" values="-8,-8;-8,-8"/>
-<g>
-<circle cx="8" cy="8" fill="black" fill-rule="evenodd" r="7"/>
-<path d="M14.5,8C14.5,11.59,11.59,14.5,8,14.5C4.411,14.5,1.5,11.59,1.5,8C1.5,4.411,4.411,1.5,8,1.5C11.59,1.5,14.5,4.411,14.5,8z" fill="url(#shape6grad)" fill-rule="evenodd"/>
-<g display="none" transform="translate(0,0.001)">
-<g transform="translate(0,0.001)">
-<path d="M5.355,7.193C5.994,7.562,6.809,7.343,7.175,6.707C6.639,6.396,5.37,5.664,4.869,5.374C4.501,6.012,4.719,6.828,5.355,7.193M11.132,5.374C10.594,5.685,9.402,6.374,8.823,6.707C9.190,7.345,10.005,7.562,10.642,7.195C11.282,6.827,11.499,6.012,11.132,5.374" fill="white" fill-rule="evenodd" transform="translate(0.001)"/>
-</g>
-</g>
-</g>
-<path d="M4,4.5C4,5.605,3.105,6.5,2,6.5C0.896,6.5,0,5.605,0,4.5C0,3.396,0.896,2.5,2,2.5C3.105,2.5,4,3.396,4,4.5z" fill="white" fill-rule="evenodd" transform="translate(3.188,2.5)"/>
-<path d="M9.5,4.5C9.5,5.605,8.605,6.5,7.5,6.5C6.396,6.5,5.5,5.605,5.5,4.5C5.5,3.396,6.396,2.5,7.5,2.5C8.605,2.5,9.5,3.396,9.5,4.5z" fill="white" fill-rule="evenodd" transform="translate(3.188,2.5)"/>
-<g>
-<animateTransform additive="replace" attributeName="transform" begin="0s" dur="0.61s" fill="freeze" keyTimes="0;0.673;1" type="translate" values="8.584,6.501;8.584,6.501;7.897,6.876"/>
-<animateTransform additive="sum" attributeName="transform" begin="0s" fill="freeze" type="translate" values="-8.583,-6.5;-8.583,-6.5"/>
-<path d="M3.771,4.085C3.771,4.637,3.324,5.085,2.771,5.085C2.219,5.085,1.771,4.637,1.771,4.085C1.771,3.532,2.219,3.085,2.771,3.085C3.324,3.085,3.771,3.532,3.771,4.085z" fill="black" fill-rule="evenodd" transform="translate(3.188,2.501)"/>
-<path d="M9.023,3.918C9.023,4.470,8.575,4.917,8.023,4.917C7.47,4.917,7.023,4.470,7.023,3.918C7.023,3.365,7.47,2.918,8.023,2.918C8.575,2.918,9.023,3.365,9.023,3.918z" fill="black" fill-rule="evenodd" transform="translate(3.188,2.5)"/>
-</g>
-<rect fill="black" fill-rule="evenodd" height="0.999" transform="translate(3.188,2.5)" width="3.875" x="2.833" y="8.622"/>
-<path d="M0.565,1.93C1.479,1.681,2.796,1.632,4.3,2.503C3.449,0.777,1.918,0.535,0.565,1.93z" fill="black" fill-rule="evenodd" transform="translate(3.188,2.501)">
-<animateTransform additive="replace" attributeName="transform" begin="0s" dur="0.61s" fill="freeze" keyTimes="0;0.673;1" type="translate" values="5.62,4.273;5.62,4.273;5.245,3.585"/>
-<animateTransform additive="sum" attributeName="transform" begin="0s" fill="freeze" type="translate" values="-2.432,-1.772;-2.432,-1.772"/>
-</path>
-<path d="M11.068,0.831C9.792,0.709,8.023,0.942,6.211,2.445C6.959,-0.049,8.947,-0.722,11.068,0.831z" fill="black" fill-rule="evenodd" transform="translate(3.188,2.501)">
-<animateTransform additive="replace" attributeName="transform" begin="0s" dur="0.61s" fill="freeze" keyTimes="0;0.673;1" type="translate" values="11.827,3.723;11.827,3.723;10.827,3.598"/>
-<animateTransform additive="sum" attributeName="transform" begin="0s" dur="0.61s" fill="freeze" keyTimes="0;0.673;1" type="rotate" values="0;0;9.294"/>
-<animateTransform additive="sum" attributeName="transform" begin="0s" dur="0.61s" fill="freeze" keyTimes="0;0.673;1" type="scale" values="1,1;1,1;0.799,0.799"/>
-<animateTransform additive="sum" attributeName="transform" begin="0s" fill="freeze" type="translate" values="-8.638,-1.222;-8.638,-1.222"/>
-</path>
-</g>
-<rect fill="none" fill-rule="evenodd" height="16.375" transform="scale(0.978)" width="16.375" x="-8.187" y="-8.187"/>
-<g display="none" transform="translate(-0.439,-0.314) scale(0.089)">
-<animate attributeName="display" begin="0s" calcMode="discrete" dur="1.21s" fill="freeze" keyTimes="0;1" values="none;inline"/>
-<animateTransform additive="replace" attributeName="transform" begin="1.21s" fill="freeze" type="translate" values="-0.086,0.198;-0.086,0.198"/>
-<animateTransform additive="sum" attributeName="transform" begin="1.21s" dur="0.59s" fill="freeze" keyTimes="0;0.339;1" type="scale" values="0.089,0.089;1.057,1.057;1.057,1.057"/>
-<animateTransform additive="sum" attributeName="transform" begin="1.21s" fill="freeze" type="translate" values="-3.975,-5.759;-3.975,-5.759"/>
-<path d="M4.950,11.52L4.81,11.52L3.231,11.52L3.09,11.52L2.965,11.457L2.364,11.16L2.03,10.997L2.03,10.624L2.03,8.525C1.83,8.245,1.691,7.899,1.551,7.561C1.433,7.273,1.287,6.915,1.162,6.79C-0.387,5.242,-0.387,2.719,1.162,1.166C1.913,0.415,2.912,0,3.975,0C5.039,0,6.037,0.415,6.789,1.167C8.339,2.719,8.339,5.241,6.789,6.79C6.672,6.906,6.542,7.283,6.448,7.555C6.329,7.902,6.204,8.256,6.01,8.539L6.01,10.623L6.01,10.996L5.676,11.16L5.075,11.457L4.950,11.52L4.950,11.52z" fill="black" fill-rule="evenodd" transform="translate(0,0.001)"/>
-<path d="M6.362,6.367C5.862,6.867,5.791,8.369,5.145,8.49C4.745,8.565,3.336,8.566,2.937,8.497C2.277,8.382,2.098,6.877,1.588,6.367C0.269,5.047,0.269,2.91,1.588,1.591C2.908,0.272,5.046,0.272,6.363,1.591C7.683,2.909,7.684,5.047,6.362,6.367z" fill="url(#shape21grad)" fill-rule="evenodd" transform="translate(0.001,0)"/>
-<polygon fill="#B2B2B2" fill-rule="evenodd" points="5.411,8.358 5.411,8.358 2.631,8.358 2.631,10.624 3.233,10.919 4.81,10.919 5.411,10.624" transform="translate(0.001,0)"/>
-</g>
-</g>
-</svg>
--- a/uifw/AvKon/smileyicons/qgn_indi_smiley_anim_idea_static.svg Mon Mar 15 12:41:34 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" baseProfile="tiny" height="16" preserveAspectRatio="xMidYMid meet" viewBox="-8 -8 16 16" width="16">
-<defs>
-<radialGradient cx="7.878" cy="5.012" gradientUnits="userSpaceOnUse" id="shape6grad" r="8.363">
-<stop offset="0" stop-color="#FFF000"/>
-<stop offset="1" stop-color="#FFBF00"/>
-</radialGradient>
-<radialGradient cx="3.975" cy="4.574" gradientUnits="userSpaceOnUse" id="shape21grad" r="3.688">
-<stop offset="0" stop-color="#FFF000"/>
-<stop offset="1" stop-color="#FFBF00"/>
-</radialGradient>
-</defs>
-<g>
-<g transform="translate(-3.975,-5.759) scale(1.057)">
-<path d="M4.950,11.52L4.81,11.52L3.231,11.52L3.09,11.52L2.965,11.457L2.364,11.16L2.03,10.997L2.03,10.624L2.03,8.525C1.83,8.245,1.691,7.899,1.551,7.561C1.433,7.273,1.287,6.915,1.162,6.79C-0.387,5.242,-0.387,2.719,1.162,1.166C1.913,0.415,2.912,0,3.975,0C5.039,0,6.037,0.415,6.789,1.167C8.339,2.719,8.339,5.241,6.789,6.79C6.672,6.906,6.542,7.283,6.448,7.555C6.329,7.902,6.204,8.256,6.01,8.539L6.01,10.623L6.01,10.996L5.676,11.16L5.075,11.457L4.950,11.52L4.950,11.52z" fill="black" fill-rule="evenodd" transform="translate(0,0.001)"/>
-<path d="M6.362,6.367C5.862,6.867,5.791,8.369,5.145,8.49C4.745,8.565,3.336,8.566,2.937,8.497C2.277,8.382,2.098,6.877,1.588,6.367C0.269,5.047,0.269,2.91,1.588,1.591C2.908,0.272,5.046,0.272,6.363,1.591C7.683,2.909,7.684,5.047,6.362,6.367z" fill="url(#shape21grad)" fill-rule="evenodd" transform="translate(0.001,0)"/>
-<polygon fill="#B2B2B2" fill-rule="evenodd" points="5.411,8.358 5.411,8.358 2.631,8.358 2.631,10.624 3.233,10.919 4.81,10.919 5.411,10.624" transform="translate(0.001,0)"/>
-</g>
-</g>
-</svg>
--- a/uifw/AvKon/smileyicons/qgn_indi_smiley_anim_innocent.svg Mon Mar 15 12:41:34 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,51 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" baseProfile="tiny" height="16" preserveAspectRatio="xMidYMid meet" viewBox="-8 -8 16 16" width="16">
-<defs>
-<radialGradient cx="7.878" cy="5.012" gradientUnits="userSpaceOnUse" id="shape7grad" r="8.364">
-<stop offset="0" stop-color="#FFF000"/>
-<stop offset="1" stop-color="#FFBF00"/>
-</radialGradient>
-<radialGradient cx="12.407" cy="9.421" gradientUnits="userSpaceOnUse" id="shape17grad" r="1.421">
-<stop offset="0" stop-color="#F15A24"/>
-<stop offset="0.426" stop-color="#F78614"/>
-<stop offset="1" stop-color="#FFBF00"/>
-</radialGradient>
-<radialGradient cx="3.637" cy="9.421" gradientUnits="userSpaceOnUse" id="shape18grad" r="1.314">
-<stop offset="0" stop-color="#F15A24"/>
-<stop offset="0.426" stop-color="#F78614"/>
-<stop offset="1" stop-color="#FFBF00"/>
-</radialGradient>
-</defs>
-<g>
-<g transform="translate(-7.999,-8) scale(1.001)">
-<g transform="translate(0.001)">
-<rect fill="none" fill-rule="evenodd" height="16" transform="translate(0.001)" width="15.999" x="0" y="0"/>
-<circle cx="8" cy="8" fill="black" fill-rule="evenodd" r="7"/>
-<path d="M14.5,8C14.5,11.59,11.59,14.5,8,14.5C4.411,14.5,1.5,11.59,1.5,8C1.5,4.411,4.411,1.5,8,1.5C11.59,1.5,14.5,4.411,14.5,8z" fill="url(#shape7grad)" fill-rule="evenodd"/>
-</g>
-<path d="M7.69,6.29C7.69,7.395,6.795,8.29,5.688,8.29C4.584,8.29,3.69,7.395,3.69,6.29C3.69,5.185,4.585,4.29,5.688,4.29C6.796,4.29,7.69,5.185,7.69,6.29z" fill="white" fill-rule="evenodd" transform="translate(0,0)"/>
-<path d="M12.311,6.29C12.311,7.395,11.415,8.29,10.311,8.29C9.206,8.29,8.311,7.395,8.311,6.29C8.311,5.186,9.206,4.29,10.311,4.29C11.415,4.29,12.311,5.186,12.311,6.29z" fill="white" fill-rule="evenodd" transform="translate(0,0)"/>
-<g transform="translate(0.001,0.001)">
-<animateTransform additive="replace" attributeName="transform" begin="0s" dur="1.61s" fill="freeze" keyTimes="0;0.504;0.684;1" type="translate" values="8,6.291;8,6.291;8.568,5.651;8.568,5.651"/>
-<animateTransform additive="sum" attributeName="transform" begin="0s" fill="freeze" type="translate" values="-7.999,-6.29;-7.999,-6.29"/>
-<path d="M6.69,6.29C6.69,6.843,6.242,7.29,5.69,7.29C5.137,7.29,4.69,6.843,4.69,6.29C4.69,5.738,5.137,5.29,5.69,5.29C6.242,5.29,6.69,5.738,6.69,6.29z" fill="black" fill-rule="evenodd" transform="translate(0,0)"/>
-<path d="M11.311,6.29C11.311,6.843,10.863,7.29,10.311,7.29C9.758,7.29,9.311,6.843,9.311,6.29C9.311,5.738,9.758,5.29,10.311,5.29C10.863,5.29,11.311,5.738,11.311,6.29z" fill="black" fill-rule="evenodd" transform="translate(0,0)"/>
-</g>
-<g transform="translate(0,0.001)">
-<g>
-<g>
-<path d="M8,12.507C6.096,12.507,4.516,11.212,4.030,9.461L3.168,9.461C3.672,11.685,5.625,13.358,8,13.358C10.375,13.358,12.33,11.685,12.834,9.462L11.973,9.462C11.485,11.212,9.905,12.507,8,12.507z" fill="black" fill-rule="evenodd" transform="translate(0,0)"/>
-</g>
-</g>
-</g>
-<path d="M13.832,9.429C13.832,10.212,13.198,10.846,12.415,10.846C11.633,10.846,10.999,10.212,10.999,9.429C10.999,8.647,11.633,8.013,12.415,8.013C13.198,8.013,13.832,8.647,13.832,9.429z" fill="url(#shape17grad)" fill-rule="evenodd" transform="translate(0.001,0.001)"/>
-<path d="M5.002,9.429C5.002,10.212,4.367,10.846,3.585,10.846C2.802,10.846,2.168,10.212,2.168,9.429C2.168,8.647,2.802,8.013,3.585,8.013C4.367,8.013,5.002,8.647,5.002,9.429z" fill="url(#shape18grad)" fill-rule="evenodd" transform="translate(0.001,0.001)"/>
-<g display="none">
-<animate attributeName="display" begin="0s" calcMode="discrete" dur="0.40s" fill="freeze" keyTimes="0;1" values="none;inline"/>
-<path d="M8,0.334C5.376,0.334,3.25,1.191,3.25,2.25C3.25,3.31,5.376,4.166,8,4.166C10.625,4.166,12.75,3.308,12.75,2.249C12.75,1.190,10.624,0.334,8,0.334M8,3.168C5.861,3.168,4.571,2.562,4.288,2.25C4.571,1.941,5.861,1.333,8,1.333C10.141,1.333,11.428,1.939,11.714,2.25C11.429,2.562,10.141,3.168,8,3.168" fill="black" fill-opacity="0.403" fill-rule="evenodd" stroke-opacity="0.403" transform="translate(0,0)"/>
-<path d="M8,0C5.376,0,3.25,0.859,3.25,1.918C3.25,2.977,5.376,3.833,8,3.833C10.625,3.833,12.75,2.975,12.75,1.916C12.75,0.857,10.624,0,8,0M8,2.833C5.861,2.833,4.571,2.227,4.288,1.916C4.571,1.607,5.861,1,8,1C10.141,1,11.428,1.606,11.714,1.918C11.429,2.228,10.141,2.833,8,2.833" fill="white" fill-rule="evenodd" transform="translate(0,0.001)"/>
-</g>
-</g>
-</g>
-</svg>
--- a/uifw/AvKon/smileyicons/qgn_indi_smiley_anim_innocent_static.svg Mon Mar 15 12:41:34 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" baseProfile="tiny" height="16" preserveAspectRatio="xMidYMid meet" viewBox="-8 -8 16 16" width="16">
-<defs>
-<radialGradient cx="7.878" cy="5.012" gradientUnits="userSpaceOnUse" id="shape7grad" r="8.364">
-<stop offset="0" stop-color="#FFF000"/>
-<stop offset="1" stop-color="#FFBF00"/>
-</radialGradient>
-<radialGradient cx="12.407" cy="9.421" gradientUnits="userSpaceOnUse" id="shape17grad" r="1.421">
-<stop offset="0" stop-color="#F15A24"/>
-<stop offset="0.426" stop-color="#F78614"/>
-<stop offset="1" stop-color="#FFBF00"/>
-</radialGradient>
-<radialGradient cx="3.637" cy="9.421" gradientUnits="userSpaceOnUse" id="shape18grad" r="1.314">
-<stop offset="0" stop-color="#F15A24"/>
-<stop offset="0.426" stop-color="#F78614"/>
-<stop offset="1" stop-color="#FFBF00"/>
-</radialGradient>
-</defs>
-<g>
-<g transform="translate(-7.999 -8) scale(1.001)">
-<g transform="translate(0.001)">
-<circle cx="8" cy="8" r="7" style="fill:rgb(0,0,0);fill-rule:evenodd"/>
-<path d="M14.5 8 C14.5 11.59 11.59 14.5 8 14.5 C4.411 14.5 1.5 11.59 1.5 8 C1.5 4.411 4.411 1.5 8 1.5 C11.59 1.5 14.5 4.411 14.5 8 z" style="fill:url(#shape7grad);fill-rule:evenodd"/>
-</g>
-<path
-d="M7.69 6.29 C7.69 7.395 6.795 8.29 5.688 8.29 C4.584 8.29 3.69 7.395 3.69 6.29 C3.69 5.185 4.585 4.29 5.688 4.29 C6.796 4.29 7.69 5.185 7.69 6.29 z" transform="translate(0 0)" style="fill:rgb(255,255,255);fill-rule:evenodd"/>
-<path d="M12.311 6.29 C12.311 7.395 11.415 8.29 10.311 8.29 C9.206 8.29 8.311 7.395 8.311 6.29 C8.311 5.186 9.206 4.29 10.311 4.29 C11.415 4.29 12.311 5.186 12.311 6.29 z" transform="translate(0 0)" style="fill:rgb(255,255,255);fill-rule:evenodd"/>
-<g transform="translate(0.001 0.001)">
-<path d="M6.69 6.29 C6.69 6.843 6.242 7.29 5.69 7.29 C5.137 7.29 4.69 6.843 4.69 6.29 C4.69 5.738 5.137 5.29 5.69 5.29 C6.242 5.29 6.69 5.738 6.69 6.29 z" transform="translate(0 0)" style="fill:rgb(0,0,0);fill-rule:evenodd"/>
-<path d="M11.311 6.29 C11.311 6.843 10.863 7.29 10.311 7.29 C9.758 7.29 9.311 6.843 9.311 6.29 C9.311 5.738 9.758 5.29 10.311 5.29 C10.863 5.29 11.311 5.738 11.311 6.29 z" transform="translate(0 0)" style="fill:rgb(0,0,0);fill-rule:evenodd"/>
-</g>
-<g transform="translate(0 0.001)">
-<g>
-<g>
-<path d="M8 12.507 C6.096 12.507 4.516 11.212 4.03 9.461 L3.168 9.461 C3.672 11.685 5.625 13.358 8 13.358 C10.375 13.358 12.33 11.685 12.834 9.462 L11.973 9.462 C11.485 11.212 9.905 12.507 8 12.507 z" transform="translate(0 0)" style="fill:rgb(0,0,0);fill-rule:evenodd"/>
-</g>
-</g>
-</g>
-<path d="M13.832 9.429 C13.832 10.212 13.198 10.846 12.415 10.846 C11.633 10.846 10.999 10.212 10.999 9.429 C10.999 8.647 11.633 8.013 12.415 8.013 C13.198 8.013 13.832 8.647 13.832 9.429 z" transform="translate(0.001 0.001)" style="fill:url(#shape17grad);fill-rule:evenodd"/>
-<path d="M5.002 9.429 C5.002 10.212 4.367 10.846 3.585 10.846 C2.802 10.846 2.168 10.212 2.168 9.429 C2.168 8.647 2.802 8.013 3.585 8.013 C4.367 8.013 5.002 8.647 5.002 9.429 z" transform="translate(0.001 0.001)" style="fill:url(#shape18grad);fill-rule:evenodd"/>
-<g>
-<path d="M8 0.334 C5.376 0.334 3.25 1.191 3.25 2.25 C3.25 3.31 5.376 4.166 8 4.166 C10.625 4.166 12.75 3.308 12.75 2.249 C12.75 1.19 10.624 0.334 8 0.334 M8 3.168 C5.861 3.168 4.571 2.562 4.288 2.25 C4.571 1.941 5.861 1.333 8 1.333 C10.141 1.333 11.428 1.939 11.714 2.25 C11.429 2.562 10.141 3.168 8 3.168" transform="translate(0 0)" style="fill:rgb(0,0,0);fill-opacity:0.403;fill-rule:evenodd;stroke-opacity:0.403"/>
-<path d="M8 0 C5.376 0 3.25 0.859 3.25 1.918 C3.25 2.977 5.376 3.833 8 3.833 C10.625 3.833 12.75 2.975 12.75 1.916 C12.75 0.857 10.624 0 8 0 M8 2.833 C5.861 2.833 4.571 2.227 4.288 1.916 C4.571 1.607 5.861 1 8 1 C10.141 1 11.428 1.606 11.714 1.918 C11.429 2.228 10.141 2.833 8 2.833" transform="translate(0 0.001)" style="fill:rgb(255,255,255);fill-rule:evenodd"/>
-</g>
-</g>
-</g>
-</svg>
--- a/uifw/AvKon/smileyicons/qgn_indi_smiley_anim_laugh.svg Mon Mar 15 12:41:34 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,60 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" baseProfile="tiny" height="16" preserveAspectRatio="xMidYMid meet" viewBox="-8 -8 16 16" width="16">
-<defs>
-<radialGradient cx="7.878" cy="5.012" gradientUnits="userSpaceOnUse" id="shape6grad" r="8.363">
-<stop offset="0" stop-color="#FFF000"/>
-<stop offset="1" stop-color="#FFBF00"/>
-</radialGradient>
-</defs>
-<g>
-<g transform="translate(-8,-8)">
-<g>
-<circle cx="8" cy="8" fill="black" fill-rule="evenodd" r="7"/>
-<path d="M14.5,8C14.5,11.59,11.59,14.5,8,14.5C4.411,14.5,1.5,11.59,1.5,8C1.5,4.411,4.411,1.5,8,1.5C11.59,1.5,14.5,4.411,14.5,8z" fill="url(#shape6grad)" fill-rule="evenodd"/>
-<g display="none" transform="translate(0,0.001)">
-<g transform="translate(0,0.001)">
-<path d="M5.355,7.193C5.994,7.562,6.809,7.343,7.175,6.707C6.639,6.396,5.37,5.664,4.869,5.374C4.501,6.012,4.719,6.828,5.355,7.193M11.132,5.374C10.594,5.685,9.402,6.374,8.823,6.707C9.190,7.345,10.005,7.562,10.642,7.195C11.282,6.827,11.499,6.012,11.132,5.374" fill="white" fill-rule="evenodd" transform="translate(0.001)"/>
-</g>
-</g>
-</g>
-<g display="none">
-<ellipse cx="0" cy="0" fill="white" fill-rule="evenodd" rx="1.89" ry="1.986" transform="translate(5.746,5.827)"/>
-<ellipse cx="0" cy="0" fill="black" fill-rule="evenodd" rx="1.098" ry="1.152" transform="translate(5.745,5.827)"/>
-</g>
-<g display="none">
-<ellipse cx="0" cy="0" fill="white" fill-rule="evenodd" rx="1.89" ry="1.986" transform="translate(10.367,5.827)"/>
-<ellipse cx="0" cy="0" fill="black" fill-rule="evenodd" rx="1.098" ry="1.152" transform="translate(10.365,5.827)"/>
-</g>
-<g display="none" transform="translate(0)">
-<g transform="translate(0)">
-<g transform="translate(0)">
-<path d="M8.042,12.509C6.138,12.509,4.558,11.212,4.072,9.462L3.21,9.462C3.716,11.685,5.667,13.358,8.042,13.358C10.418,13.358,12.37,11.685,12.875,9.462L12.014,9.462C11.528,11.212,9.947,12.509,8.042,12.509z" fill="black" fill-rule="evenodd" transform="translate(0,0)"/>
-</g>
-</g>
-</g>
-</g>
-<rect fill="none" fill-rule="evenodd" height="16.375" transform="scale(0.978)" width="16.375" x="-8.187" y="-8.187"/>
-<g display="none" transform="matrix(-0.951 0.31 0.31 0.951 3.958 -1.551)">
-<animate attributeName="display" begin="0s" calcMode="discrete" dur="0.81s" fill="freeze" keyTimes="0;0.247;0.494;0.754;1" values="none;inline;none;inline;inline"/>
-<path d="M1.42,3.258C2.46,4.297,4,4.764,5.507,4.311C7.013,3.856,8.04,2.618,8.334,1.178L1.42,3.258z" fill="none" fill-rule="evenodd" transform="translate(0,0.001)"/>
-<path d="M4.913,2.369C2.758,3.018,0,2.786,0,2.786C1.125,4.766,3.477,5.809,5.75,5.124C8.027,4.44,9.414,2.274,9.256,0C9.256,0,7.067,1.721,4.913,2.369z" fill="white" fill-rule="evenodd" transform="translate(0,0.001)"/>
-<path d="M4.797,1.984C2.803,2.585,0,2.786,0,2.786C1.125,4.766,3.477,5.809,5.75,5.124C8.027,4.44,9.414,2.274,9.256,0C9.256,0,6.792,1.384,4.797,1.984M5.507,4.311C4,4.764,2.46,4.297,1.42,3.258C1.42,3.258,3.533,3.134,5.050,2.678C6.605,2.21,8.335,1.178,8.335,1.178C8.04,2.618,7.013,3.856,5.507,4.311" fill="black" fill-rule="evenodd" transform="translate(0,0.001)"/>
-</g>
-<g>
-<animate attributeName="display" begin="0s" calcMode="discrete" dur="0.61s" fill="freeze" keyTimes="0;0.328;0.656;1" values="inline;none;inline;none"/>
-<path d="M3.968,7.744C4.137,7.237,4.264,6.813,5.067,6.518C4.094,6.307,3.206,6.518,2.486,7.661L2.076,7.788C2.408,6.414,3.468,5.56,4.652,5.566L4.652,5.566C5.44,5.565,6.254,5.937,6.917,6.669L6.917,6.669L6.802,6.982C5.87,6.982,4.983,6.813,4.179,7.701L3.968,7.744z" fill="black" fill-rule="evenodd" transform="matrix(0.775 -0.027 0.028 0.775 -6.043 -8.116)"/>
-<path d="M3.968,7.744C4.137,7.237,4.264,6.813,5.067,6.518C4.094,6.307,3.206,6.518,2.486,7.661L2.076,7.788C2.408,6.414,3.468,5.56,4.652,5.566L4.652,5.566C5.44,5.565,6.254,5.937,6.917,6.669L6.917,6.669L6.802,6.982C5.87,6.982,4.983,6.813,4.179,7.701L3.968,7.744z" fill="black" fill-rule="evenodd" transform="matrix(-0.772 0.003 0.003 0.771 5.956 -8.225)"/>
-</g>
-<g transform="translate(-5.5)">
-<animate attributeName="display" begin="0s" calcMode="discrete" dur="0.61s" fill="freeze" keyTimes="0;0.345;0.656;1" values="inline;none;inline;none"/>
-<path d="M11,0C11,3.039,8.537,5.5,5.5,5.5C2.464,5.5,0,3.039,0,0C2.125,0,9.167,0,11,0z" fill="black" fill-rule="evenodd" transform="translate(0,0.001)"/>
-<path d="M5.5,4.5C3.362,4.5,1.569,3.001,1.112,0.998L9.889,0.998C9.433,3.003,7.639,4.5,5.5,4.5L5.5,4.5z" fill="white" fill-rule="evenodd" transform="translate(0.001,0)"/>
-</g>
-<g display="none" transform="translate(0,1)">
-<animate attributeName="display" begin="0s" calcMode="discrete" dur="0.81s" fill="freeze" keyTimes="0;0.247;0.494;0.754;1" values="none;inline;none;inline;inline"/>
-<path d="M3.968,7.744C4.137,7.237,4.264,6.813,5.067,6.518C4.094,6.307,3.206,6.518,2.486,7.661L2.076,7.788C2.408,6.414,3.468,5.56,4.652,5.566L4.652,5.566C5.44,5.565,6.254,5.937,6.917,6.669L6.917,6.669L6.802,6.982C5.87,6.982,4.983,6.813,4.179,7.701L3.968,7.744z" fill="black" fill-rule="evenodd" transform="matrix(0.775 -0.027 0.028 0.775 -6.043 -8.116)"/>
-<path d="M3.968,7.744C4.137,7.237,4.264,6.813,5.067,6.518C4.094,6.307,3.206,6.518,2.486,7.661L2.076,7.788C2.408,6.414,3.468,5.56,4.652,5.566L4.652,5.566C5.44,5.565,6.254,5.937,6.917,6.669L6.917,6.669L6.802,6.982C5.87,6.982,4.983,6.813,4.179,7.701L3.968,7.744z" fill="black" fill-rule="evenodd" transform="matrix(-0.772 0.003 0.003 0.771 5.956 -8.225)"/>
-</g>
-</g>
-</svg>
--- a/uifw/AvKon/smileyicons/qgn_indi_smiley_anim_laugh_static.svg Mon Mar 15 12:41:34 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" baseProfile="tiny" height="16" preserveAspectRatio="xMidYMid meet" viewBox="-8 -8 16 16" width="16">
-<defs>
-<radialGradient cx="7.878" cy="5.012" gradientUnits="userSpaceOnUse" id="shape6grad" r="8.363">
-<stop offset="0" stop-color="#FFF000"/>
-<stop offset="1" stop-color="#FFBF00"/>
-</radialGradient>
-</defs>
-<g>
-<g transform="translate(-8 -8)">
-<g>
-<circle cx="8" cy="8" r="7" style="fill:rgb(0,0,0);fill-rule:evenodd"/>
-<path d="M14.5 8 C14.5 11.59 11.59 14.5 8 14.5 C4.411 14.5 1.5 11.59 1.5 8 C1.5 4.411 4.411 1.5 8 1.5 C11.59 1.5 14.5 4.411 14.5 8 z" style="fill:url(#shape6grad);fill-rule:evenodd"/>
-</g>
-</g>
-<g transform="matrix(-0.951 0.31 0.31 0.951 3.958 -1.551)">
-<path d="M1.42 3.258 C2.46 4.297 4 4.764 5.507 4.311 C7.013 3.856 8.04 2.618 8.334 1.178 z" transform="translate(0 0.001)" style="fill:none;fill-rule:evenodd"/>
-<path d="M4.913 2.369 C2.758 3.018 0 2.786 0 2.786 C1.125 4.766 3.477 5.809 5.75 5.124 C8.027 4.44 9.414 2.274 9.256 0 C9.256 0 7.067 1.721 4.913 2.369 z" transform="translate(0 0.001)" style="fill:rgb(255,255,255);fill-rule:evenodd"/>
-<path d="M4.797 1.984 C2.803 2.585 0 2.786 0 2.786 C1.125 4.766 3.477 5.809 5.75 5.124 C8.027 4.44 9.414 2.274 9.256 0 C9.256 0 6.792 1.384 4.797 1.984 M5.507 4.311 C4 4.764 2.46 4.297 1.42 3.258 C1.42 3.258 3.533 3.134 5.05 2.678 C6.605 2.21 8.335 1.178 8.335 1.178 C8.04 2.618 7.013 3.856 5.507 4.311" transform="translate(0 0.001)" style="fill:rgb(0,0,0);fill-rule:evenodd"/>
-</g>
-<g transform="translate(0 1)">
-<path d="M3.968 7.744 C4.137 7.237 4.264 6.813 5.067 6.518 C4.094 6.307 3.206 6.518 2.486 7.661 L2.076 7.788 C2.408 6.414 3.468 5.56 4.652 5.566 L4.652 5.566 C5.44 5.565 6.254 5.937 6.917 6.669 L6.917 6.669 L6.802 6.982 C5.87 6.982 4.983 6.813 4.179 7.701 z" transform="matrix(0.775 -0.027 0.028 0.775 -6.043 -8.116)" style="fill:rgb(0,0,0);fill-rule:evenodd"/>
-<path d="M3.968 7.744 C4.137 7.237 4.264 6.813 5.067 6.518 C4.094 6.307 3.206 6.518 2.486 7.661 L2.076 7.788 C2.408 6.414 3.468 5.56 4.652 5.566 L4.652 5.566 C5.44 5.565 6.254 5.937 6.917 6.669 L6.917 6.669 L6.802 6.982 C5.87 6.982 4.983 6.813 4.179 7.701 z" transform="matrix(-0.772 0.003 0.003 0.771 5.956 -8.225)" style="fill:rgb(0,0,0);fill-rule:evenodd"/>
-</g>
-</g>
-</svg>
--- a/uifw/AvKon/smileyicons/qgn_indi_smiley_anim_party.svg Mon Mar 15 12:41:34 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,61 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" baseProfile="tiny" height="16" preserveAspectRatio="xMidYMid meet" viewBox="-8 -8 16 16" width="16">
-<defs>
-<radialGradient cx="7.878" cy="5.012" gradientUnits="userSpaceOnUse" id="shape7grad" r="8.364">
-<stop offset="0" stop-color="#FFF000"/>
-<stop offset="1" stop-color="#FFBF00"/>
-</radialGradient>
-<linearGradient gradientUnits="userSpaceOnUse" id="shape16grad" x1="11.986" x2="16.488" y1="0.083" y2="4.585">
-<stop offset="0" stop-color="#4285D2"/>
-<stop offset="0.506" stop-color="#73F80F"/>
-<stop offset="0.565" stop-color="#6AF11D"/>
-<stop offset="0.676" stop-color="#54E041"/>
-<stop offset="0.827" stop-color="#2FC47B"/>
-<stop offset="1" stop-color="#00A0C6"/>
-</linearGradient>
-</defs>
-<g>
-<rect fill="none" fill-rule="evenodd" height="16.375" transform="scale(0.978)" width="16.375" x="-8.187" y="-8.187"/>
-<g transform="translate(-7.999,-7.958)">
-<g transform="translate(0.001)">
-<circle cx="8" cy="8" fill="black" fill-rule="evenodd" r="7"/>
-<path d="M14.5,8C14.5,11.59,11.59,14.5,8,14.5C4.411,14.5,1.5,11.59,1.5,8C1.5,4.411,4.411,1.5,8,1.5C11.59,1.5,14.5,4.411,14.5,8z" fill="url(#shape7grad)" fill-rule="evenodd"/>
-</g>
-<g transform="translate(0.001,0)">
-<ellipse cx="0" cy="0" fill="white" fill-rule="evenodd" rx="1.89" ry="1.986" transform="translate(5.69,6.542)"/>
-<ellipse cx="0" cy="0" fill="black" fill-rule="evenodd" rx="1.098" ry="1.152" transform="translate(5.69,6.542)"/>
-<g transform="translate(0,0)">
-<path d="M12.2,6.542C12.2,7.639,11.355,8.527,10.308,8.527C9.264,8.527,8.42,7.638,8.42,6.542C8.42,5.446,9.265,4.557,10.308,4.557C11.355,4.558,12.2,5.446,12.2,6.542z" fill="white" fill-rule="evenodd" transform="translate(0.001,0.001)"/>
-<ellipse cx="0" cy="0" fill="black" fill-rule="evenodd" rx="1.098" ry="1.152" transform="translate(10.31,6.542)"/>
-</g>
-</g>
-<g>
-<path d="M14.801,6.901L14.301,6.776C14.241,6.76,12.773,6.379,11.143,4.749C9.408,3.016,9.236,1.709,9.229,1.654L9.174,1.204L9.623,1.134L15.215,0.266L15.85,0.168L15.752,0.803L14.883,6.392L14.801,6.901L14.801,6.901z" fill="black" fill-rule="evenodd" transform="translate(0,0)"/>
-<path d="M14.417,6.319C14.417,6.319,13.03,5.971,11.474,4.415C9.836,2.777,9.695,1.598,9.695,1.598L15.285,0.73L14.417,6.319z" fill="url(#shape16grad)" fill-rule="evenodd" transform="translate(0.001,0.001)"/>
-<g transform="translate(4.366,0.586) scale(0.677,0.707)">
-<ellipse cx="0" cy="0" fill="#2E69B0" fill-rule="evenodd" rx="1" ry="0.811" transform="matrix(0.78 0.98 -1.287 1.025 11.043 3.591)"/>
-<ellipse cx="0" cy="0" fill="#00FFFF" fill-rule="evenodd" rx="0.86" ry="0.774" transform="matrix(0.947 0.947 -1.088 1.09 13.817 4.095)"/>
-<ellipse cx="0" cy="0" fill="#29ABE2" fill-rule="evenodd" rx="0.564" ry="0.525" transform="matrix(0.76 1.351 -1.664 0.937 13.594 1.634)"/>
-</g>
-</g>
-<g transform="translate(0.001,0)">
-<path d="M9.735,11.796C7.655,12.779,5.162,11.898,4.171,9.827L3.401,10.193C4.596,12.686,7.599,13.747,10.105,12.561C9.983,12.31,9.846,12.027,9.735,11.796z" fill="black" fill-rule="evenodd" transform="translate(0.001,0.001)"/>
-</g>
-</g>
-<g transform="translate(-8.041,-7.916)">
-<rect display="none" fill="#FF0000" fill-rule="evenodd" height="1.933" transform="matrix(0.708 -0.706 0.707 0.708 -9.579 5.42)" width="1.208" x="1.155" y="13.316">
-<animate attributeName="display" begin="0s" calcMode="discrete" dur="0.69s" fill="freeze" keyTimes="0;0.609;1" values="none;inline;none"/>
-</rect>
-<rect display="none" fill="white" fill-rule="evenodd" height="1.933" transform="matrix(0.707 -0.707 0.708 0.707 -8.734 5.787)" width="1.21" x="2.008" y="12.462">
-<animate attributeName="display" begin="0s" calcMode="discrete" dur="0.76s" fill="freeze" keyTimes="0;0.487;1" values="none;inline;none"/>
-</rect>
-<rect display="none" fill="#FF0000" fill-rule="evenodd" height="1.933" transform="matrix(0.708 -0.706 0.707 0.708 -7.874 6.131)" width="1.207" x="2.863" y="11.608">
-<animate attributeName="display" begin="0s" calcMode="discrete" dur="0.83s" fill="freeze" keyTimes="0;0.386;1" values="none;inline;none"/>
-</rect>
-<rect display="none" fill="white" fill-rule="evenodd" height="1.933" transform="matrix(0.707 -0.707 0.708 0.707 -7.024 6.495)" width="1.21" x="3.717" y="10.754">
-<animate attributeName="display" begin="0s" calcMode="discrete" dur="0.90s" fill="freeze" keyTimes="0;0.301;1" values="none;inline;none"/>
-</rect>
-</g>
-</g>
-</svg>
--- a/uifw/AvKon/smileyicons/qgn_indi_smiley_anim_party_static.svg Mon Mar 15 12:41:34 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" baseProfile="tiny" height="16" preserveAspectRatio="xMidYMid meet" viewBox="-8 -8 16 16" width="16">
-<defs>
-<radialGradient cx="7.878" cy="5.012" gradientUnits="userSpaceOnUse" id="shape7grad" r="8.364">
-<stop offset="0" stop-color="#FFF000"/>
-<stop offset="1" stop-color="#FFBF00"/>
-</radialGradient>
-<linearGradient gradientUnits="userSpaceOnUse" id="shape16grad" x1="11.986" x2="16.488" y1="0.083" y2="4.585">
-<stop offset="0" stop-color="#4285D2"/>
-<stop offset="0.506" stop-color="#73F80F"/>
-<stop offset="0.565" stop-color="#6AF11D"/>
-<stop offset="0.676" stop-color="#54E041"/>
-<stop offset="0.827" stop-color="#2FC47B"/>
-<stop offset="1" stop-color="#00A0C6"/>
-</linearGradient>
-</defs>
-<g>
-<g transform="translate(-7.999 -7.958)">
-<g transform="translate(0.001)">
-<circle cx="8" cy="8" r="7" style="fill:rgb(0,0,0);fill-rule:evenodd"/>
-<path d="M14.5 8 C14.5 11.59 11.59 14.5 8 14.5 C4.411 14.5 1.5 11.59 1.5 8 C1.5 4.411 4.411 1.5 8 1.5 C11.59 1.5 14.5 4.411 14.5 8 z" style="fill:url(#shape7grad);fill-rule:evenodd"/>
-</g>
-<g transform="translate(0.001 0)">
-<ellipse cx="0" cy="0" rx="1.89" ry="1.986" transform="translate(5.69 6.542)" style="fill:rgb(255,255,255);fill-rule:evenodd"/>
-<ellipse cx="0" cy="0" rx="1.098" ry="1.152" transform="translate(5.69 6.542)" style="fill:rgb(0,0,0);fill-rule:evenodd"/>
-<g transform="translate(0 0)">
-<path d="M12.2 6.542 C12.2 7.639 11.355 8.527 10.308 8.527 C9.264 8.527 8.42 7.638 8.42 6.542 C8.42 5.446 9.265 4.557 10.308 4.557 C11.355 4.558 12.2 5.446 12.2 6.542 z" transform="translate(0.001 0.001)" style="fill:rgb(255,255,255);fill-rule:evenodd"/>
-<ellipse cx="0" cy="0" rx="1.098" ry="1.152" transform="translate(10.31 6.542)" style="fill:rgb(0,0,0);fill-rule:evenodd"/>
-</g>
-</g>
-<g>
-<path d="M14.801 6.901 L14.301 6.776 C14.241 6.76 12.773 6.379 11.143 4.749 C9.408 3.016 9.236 1.709 9.229 1.654 L9.174 1.204 L9.623 1.134 L15.215 0.266 L15.85 0.168 L15.752 0.803 L14.883 6.392 L14.801 6.901 z" transform="translate(0 0)" style="fill:rgb(0,0,0);fill-rule:evenodd"/>
-<path d="M14.417 6.319 C14.417 6.319 13.03 5.971 11.474 4.415 C9.836 2.777 9.695 1.598 9.695 1.598 L15.285 0.73 z" transform="translate(0.001 0.001)" style="fill:url(#shape16grad);fill-rule:evenodd"/>
-<g transform="translate(4.366 0.586) scale(0.677 0.707)">
-<ellipse cx="0" cy="0" rx="1" ry="0.811" transform="matrix(0.78 0.98 -1.287 1.025 11.043 3.591)" style="fill:rgb(46,105,176);fill-rule:evenodd"/>
-<ellipse cx="0" cy="0" rx="0.86" ry="0.774" transform="matrix(0.947 0.947 -1.088 1.09 13.817 4.095)" style="fill:rgb(0,255,255);fill-rule:evenodd"/>
-<ellipse cx="0" cy="0" rx="0.564" ry="0.525" transform="matrix(0.76 1.351 -1.664 0.937 13.594 1.634)" style="fill:rgb(41,171,226);fill-rule:evenodd"/>
-</g>
-</g>
-<g transform="translate(0.001 0)">
-<path d="M9.735 11.796 C7.655 12.779 5.162 11.898 4.171 9.827 L3.401 10.193 C4.596 12.686 7.599 13.747 10.105 12.561 C9.983 12.31 9.846 12.027 9.735 11.796 z" transform="translate(0.001 0.001)" style="fill:rgb(0,0,0);fill-rule:evenodd"/>
-</g>
-</g>
-<g transform="translate(-8.041 -7.916)">
-</g>
-</g>
-</svg>
--- a/uifw/AvKon/smileyicons/qgn_indi_smiley_anim_run.svg Mon Mar 15 12:41:34 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" baseProfile="tiny" height="16" preserveAspectRatio="xMidYMid meet" viewBox="0 0 16 16" width="16">
-<g>
-<g>
-<g transform="translate(0)">
-<animate attributeName="display" begin="0s" calcMode="discrete" dur="0.40s" fill="freeze" keyTimes="0;0.25;1" values="inline;none;inline"/>
-<path d="M5.829,14.063L3.35,14.058L3.323,9.266L3.742,9.198L3.445,7.41L5.733,7.057L5.423,4.821C4.329,4.715,3.468,3.79,3.468,2.665C3.468,1.474,4.44,0.5,5.633,0.5C6.827,0.5,7.799,1.473,7.799,2.665C7.799,3.076,7.683,3.461,7.485,3.788L8.948,3.588L8.983,3.839L11.636,3.839L12.382,8.624L9.936,9.032L9.502,6.358L9.332,6.361L9.997,11.027L12.679,11.009L12.675,13.492L7.883,13.518L7.489,11.131L5.834,11.412L5.829,14.063L5.829,14.063z" fill="white" fill-rule="evenodd" transform="translate(0,0.001)"/>
-<path d="M5.633,4.318C6.546,4.318,7.285,3.578,7.285,2.665C7.285,1.752,6.546,1.014,5.633,1.014C4.720,1.014,3.981,1.754,3.981,2.665C3.981,3.579,4.720,4.318,5.633,4.318M9.558,11.54L9.263,9.629L9.264,9.629L8.744,5.85L9.938,5.844L10.358,8.443L11.797,8.204L11.197,4.351L8.537,4.351L8.513,4.163L5.901,4.522L6.309,7.487L4.033,7.836L4.273,9.275L6.507,8.926L6.553,9.254L3.839,9.7L3.859,13.549L5.317,13.55L5.32,10.983L7.912,10.542L8.315,13.007L12.164,12.986L12.166,11.527L9.558,11.54" fill="black" fill-rule="evenodd" transform="translate(0.001,0.001)"/>
-</g>
-<g display="none" transform="translate(0,0)">
-<animate attributeName="display" begin="0s" calcMode="discrete" dur="0.40s" fill="freeze" keyTimes="0;0.25;0.5;0.75;1" values="none;inline;none;inline;none"/>
-<path d="M6.009,15.487L3.655,11.313L5.345,9.974L4.549,8.931L5.857,7.968L5.424,4.817C4.329,4.712,3.471,3.787,3.471,2.665C3.471,1.473,4.441,0.502,5.634,0.502C6.827,0.502,7.797,1.472,7.797,2.665C7.797,3.076,7.682,3.46,7.483,3.787L8.948,3.586L9.061,4.393L11.82,6.257L9.759,10.639L9.408,10.48L9.273,11.232L11.818,12.085L11.006,14.433L7.626,13.29L8.178,14.283L6.009,15.487L6.009,15.487z" fill="white" fill-rule="evenodd" transform="translate(0.001,0)"/>
-<path d="M5.633,4.318C6.546,4.318,7.285,3.578,7.285,2.665C7.285,1.752,6.546,1.014,5.633,1.014C4.720,1.014,3.981,1.754,3.981,2.665C3.981,3.579,4.720,4.318,5.633,4.318M9.021,9.74L9.511,9.964L11.171,6.437L8.584,4.69L8.513,4.163L5.901,4.522L6.407,8.197L5.273,9.035L6.054,10.064L4.316,11.442L6.207,14.793L7.482,14.086L6.236,11.841L7.313,10.976L7.044,12.555L10.691,13.785L11.166,12.406L8.693,11.574L9.021,9.74M9.29,6.968L9.018,7.614L8.858,6.679L9.29,6.968" fill="black" fill-rule="evenodd" transform="translate(0.001,0)"/>
-</g>
-<g display="none" transform="translate(0,0.001)">
-<animate attributeName="display" begin="0s" calcMode="discrete" dur="0.30s" fill="freeze" keyTimes="0;0.667;1" values="none;inline;none"/>
-<path d="M7.533,15.5L4.374,11.895L5.389,10.7L5.127,10.132L4.66,10.336L3.638,8.07L5.745,7.15L5.424,4.817C4.329,4.713,3.468,3.787,3.468,2.665C3.468,1.473,4.438,0.502,5.633,0.502C6.826,0.502,7.797,1.472,7.797,2.665C7.797,3.076,7.683,3.46,7.482,3.785L8.948,3.585L9.799,9.751L8.445,11.771L10.382,13.57L8.695,15.388L8.195,14.928L7.533,15.5L7.533,15.5z" fill="white" fill-rule="evenodd" transform="translate(0,0.001)"/>
-<path d="M5.633,4.318C6.546,4.318,7.285,3.578,7.285,2.665C7.285,1.752,6.546,1.014,5.633,1.014C4.720,1.014,3.981,1.754,3.981,2.665C3.981,3.579,4.720,4.318,5.633,4.318M7.777,11.851L9.264,9.629L8.513,4.163L5.901,4.522L6.306,7.463L4.317,8.334L4.918,9.665L5.351,9.476L5.566,9.867L6.564,9.336L6.651,9.962L5.047,11.886L7.582,14.781L8.204,14.244L8.667,14.668L9.659,13.599L7.777,11.851" fill="black" fill-rule="evenodd" transform="translate(0,0.001)"/>
-</g>
-<rect fill="none" fill-rule="evenodd" height="16" width="16" x="0" y="0"/>
-</g>
-</g>
-</svg>
--- a/uifw/AvKon/smileyicons/qgn_indi_smiley_anim_run_static.svg Mon Mar 15 12:41:34 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" baseProfile="tiny" height="16" preserveAspectRatio="xMidYMid meet" viewBox="0 0 16 16" width="16">
-<g>
-<g>
-<g transform="translate(0)">
-<path d="M5.829 14.063 L3.35 14.058 L3.323 9.266 L3.742 9.198 L3.445 7.41 L5.733 7.057 L5.423 4.821 C4.329 4.715 3.468 3.79 3.468 2.665 C3.468 1.474 4.44 0.5 5.633 0.5 C6.827 0.5 7.799 1.473 7.799 2.665 C7.799 3.076 7.683 3.461 7.485 3.788 L8.948 3.588 L8.983 3.839 L11.636 3.839 L12.382 8.624 L9.936 9.032 L9.502 6.358 L9.332 6.361 L9.997 11.027 L12.679 11.009 L12.675 13.492 L7.883 13.518 L7.489 11.131 L5.834 11.412 L5.829 14.063 z" transform="translate(0 0.001)" style="fill:rgb(255,255,255);fill-rule:evenodd"/>
-<path d="M5.633 4.318 C6.546 4.318 7.285 3.578 7.285 2.665 C7.285 1.752 6.546 1.014 5.633 1.014 C4.72 1.014 3.981 1.754 3.981 2.665 C3.981 3.579 4.72 4.318 5.633 4.318 M9.558 11.54 L9.263 9.629 L9.264 9.629 L8.744 5.85 L9.938 5.844 L10.358 8.443 L11.797 8.204 L11.197 4.351 L8.537 4.351 L8.513 4.163 L5.901 4.522 L6.309 7.487 L4.033 7.836 L4.273 9.275 L6.507 8.926 L6.553 9.254 L3.839 9.7 L3.859 13.549 L5.317 13.55 L5.32 10.983 L7.912 10.542 L8.315 13.007 L12.164 12.986 L12.166 11.527 L9.558 11.54" transform="translate(0.001 0.001)" style="fill:rgb(0,0,0);fill-rule:evenodd"/>
-</g>
-</g>
-</g>
-</svg>
--- a/uifw/AvKon/smileyicons/qgn_indi_smiley_anim_silly.svg Mon Mar 15 12:41:34 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,49 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" baseProfile="tiny" height="16" preserveAspectRatio="xMidYMid meet" viewBox="0 0 16 16" width="16">
-<defs>
-<radialGradient cx="7.878" cy="5.012" gradientUnits="userSpaceOnUse" id="shape7grad" r="8.364">
-<stop offset="0" stop-color="#FFF000"/>
-<stop offset="1" stop-color="#FFBF00"/>
-</radialGradient>
-</defs>
-<g>
-<g transform="translate(0.001) scale(1,1)">
-<g>
-<rect fill="none" fill-rule="evenodd" height="16" width="16" x="0" y="0"/>
-<circle cx="8" cy="8" fill="black" fill-rule="evenodd" r="7"/>
-<path d="M14.5,8C14.5,11.59,11.589,14.5,8,14.5C4.41,14.5,1.5,11.59,1.5,8C1.5,4.411,4.41,1.5,8,1.5C11.589,1.5,14.5,4.411,14.5,8z" fill="url(#shape7grad)" fill-rule="evenodd" transform="translate(0)"/>
-</g>
-<path d="M7.69,6.626C7.69,7.731,6.795,8.626,5.688,8.626C4.584,8.626,3.69,7.731,3.69,6.626C3.69,5.521,4.585,4.626,5.688,4.626C6.796,4.626,7.69,5.521,7.69,6.626z" fill="white" fill-rule="evenodd" transform="translate(0,0.001)">
-<animateTransform additive="replace" attributeName="transform" begin="0s" fill="freeze" type="translate" values="5.689,6.627;5.689,6.627"/>
-<animateTransform additive="sum" attributeName="transform" begin="0s" dur="0.30s" fill="freeze" keyTimes="0;1" type="scale" values="1,1;1.201,1.201"/>
-<animateTransform additive="sum" attributeName="transform" begin="0s" fill="freeze" type="translate" values="-5.689,-6.625;-5.689,-6.625"/>
-</path>
-<path d="M12.311,6.626C12.311,7.731,11.415,8.626,10.311,8.626C9.206,8.626,8.311,7.731,8.311,6.626C8.311,5.522,9.206,4.626,10.311,4.626C11.415,4.626,12.311,5.522,12.311,6.626z" fill="white" fill-rule="evenodd" transform="translate(0,0.001)">
-<animateTransform additive="replace" attributeName="transform" begin="0s" fill="freeze" type="translate" values="10.31,6.627;10.31,6.627"/>
-<animateTransform additive="sum" attributeName="transform" begin="0s" dur="0.30s" fill="freeze" keyTimes="0;1" type="scale" values="1,1;1.201,1.201"/>
-<animateTransform additive="sum" attributeName="transform" begin="0s" fill="freeze" type="translate" values="-10.31,-6.626;-10.31,-6.626"/>
-</path>
-<path d="M6.69,6.626C6.69,7.179,6.242,7.626,5.69,7.626C5.137,7.626,4.69,7.179,4.69,6.626C4.69,6.074,5.137,5.626,5.69,5.626C6.242,5.626,6.69,6.074,6.69,6.626z" fill="black" fill-rule="evenodd" transform="translate(0,0.001)">
-<animateTransform additive="replace" attributeName="transform" begin="0s" dur="1s" fill="freeze" keyTimes="0;0.201;0.601;1" type="translate" values="5.689,6.627;5.689,6.627;6.689,6.627;6.689,6.627"/>
-<animateTransform additive="sum" attributeName="transform" begin="0s" fill="freeze" type="translate" values="-5.689,-6.625;-5.689,-6.625"/>
-</path>
-<path d="M11.311,6.626C11.311,7.179,10.863,7.626,10.311,7.626C9.758,7.626,9.311,7.179,9.311,6.626C9.311,6.074,9.758,5.626,10.311,5.626C10.863,5.626,11.311,6.074,11.311,6.626z" fill="black" fill-rule="evenodd" transform="translate(0,0.001)">
-<animateTransform additive="replace" attributeName="transform" begin="0s" dur="1s" fill="freeze" keyTimes="0;0.201;0.601;1" type="translate" values="10.31,6.627;10.31,6.627;9.310,6.627;9.310,6.627"/>
-<animateTransform additive="sum" attributeName="transform" begin="0s" fill="freeze" type="translate" values="-10.31,-6.625;-10.31,-6.625"/>
-</path>
-<path d="M8,12.507C6.096,12.507,4.516,11.212,4.030,9.461L3.168,9.461C3.672,11.685,5.625,13.358,8,13.358C10.376,13.358,12.329,11.685,12.834,9.462L11.971,9.462C11.485,11.212,9.905,12.507,8,12.507z" fill="black" fill-rule="evenodd" transform="translate(0,0.001)">
-<animate attributeName="display" begin="0s" calcMode="discrete" dur="0.10s" fill="freeze" keyTimes="0;1" values="inline;none"/>
-</path>
-<g display="none" transform="translate(0.001)">
-<animate attributeName="display" begin="0s" calcMode="discrete" dur="0.20s" fill="freeze" keyTimes="0;1" values="none;inline"/>
-<path d="M13.105,9.563L13.037,8.744C9.813,8.95,7.683,10.356,5.587,10.336C4.862,10.334,4.132,10.190,3.316,9.78L2.961,10.495L2.958,10.495C3.711,10.872,4.431,11.056,5.129,11.11C5.345,12.956,6.485,14.094,7.77,13.946C9.577,13.739,10.338,12.202,10.367,10.046C11.209,9.815,12.103,9.62,13.105,9.563z" fill="black" fill-rule="evenodd" transform="translate(0,0.001)"/>
-<path d="M7.547,13.459C7.047,13.459,6.573,13.191,6.217,12.709C5.908,12.293,5.705,11.737,5.625,11.107C5.928,10.814,6.781,10.627,7.579,10.9C7.923,10.416,9.45,10.140,9.822,10.265C9.822,12.083,9.020,13.296,7.712,13.449C7.657,13.457,7.603,13.459,7.547,13.459L7.547,13.459z" fill="#FF2E00" fill-rule="evenodd" transform="translate(0.001,0.001)"/>
-</g>
-<g display="none" transform="translate(-1.451,-0.416) scale(1.14,1)">
-<animate attributeName="display" begin="0s" calcMode="discrete" dur="0.20s" fill="freeze" keyTimes="0;0.5;1" values="none;inline;none"/>
-<path d="M5.619,10.992C7.499,12.303,10.087,11.839,11.396,9.959L12.093,10.445C10.517,12.709,7.398,13.267,5.133,11.688C5.291,11.459,5.473,11.202,5.619,10.992z" fill="black" fill-rule="evenodd" transform="translate(0,0.001)"/>
-</g>
-</g>
-</g>
-</svg>
--- a/uifw/AvKon/smileyicons/qgn_indi_smiley_anim_silly_static.svg Mon Mar 15 12:41:34 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" baseProfile="tiny" height="16" preserveAspectRatio="xMidYMid meet" viewBox="0 0 16 16" width="16">
-<defs>
-<radialGradient cx="7.878" cy="5.012" gradientUnits="userSpaceOnUse" id="shape7grad" r="8.364">
-<stop offset="0" stop-color="#FFF000"/>
-<stop offset="1" stop-color="#FFBF00"/>
-</radialGradient>
-</defs>
-<g>
-<g transform="translate(0.001) scale(1 1)">
-<g>
-<circle cx="8" cy="8" r="7" style="fill:rgb(0,0,0);fill-rule:evenodd"/>
-<path d="M14.5 8 C14.5 11.59 11.589 14.5 8 14.5 C4.41 14.5 1.5 11.59 1.5 8 C1.5 4.411 4.41 1.5 8 1.5 C11.589 1.5 14.5 4.411 14.5 8 z" transform="translate(0)" style="fill:url(#shape7grad);fill-rule:evenodd"/>
-</g>
-<path d="M7.69 6.626 C7.69 7.731 6.795 8.626 5.688 8.626 C4.584 8.626 3.69 7.731 3.69 6.626 C3.69 5.521 4.585 4.626 5.688 4.626 C6.796 4.626 7.69 5.521 7.69 6.626 z" transform="translate(0 0.001)" style="fill:rgb(255,255,255);fill-rule:evenodd"/>
-<path d="M12.311 6.626 C12.311 7.731 11.415 8.626 10.311 8.626 C9.206 8.626 8.311 7.731 8.311 6.626 C8.311 5.522 9.206 4.626 10.311 4.626 C11.415 4.626 12.311 5.522 12.311 6.626 z" transform="translate(0 0.001)" style="fill:rgb(255,255,255);fill-rule:evenodd"/>
-<path d="M6.69 6.626 C6.69 7.179 6.242 7.626 5.69 7.626 C5.137 7.626 4.69 7.179 4.69 6.626 C4.69 6.074 5.137 5.626 5.69 5.626 C6.242 5.626 6.69 6.074 6.69 6.626 z" transform="translate(0 0.001)" style="fill:rgb(0,0,0);fill-rule:evenodd"/>
-<path d="M11.311 6.626 C11.311 7.179 10.863 7.626 10.311 7.626 C9.758 7.626 9.311 7.179 9.311 6.626 C9.311 6.074 9.758 5.626 10.311 5.626 C10.863 5.626 11.311 6.074 11.311 6.626 z" transform="translate(0 0.001)" style="fill:rgb(0,0,0);fill-rule:evenodd"/>
-<g transform="translate(0.001)">
-<path d="M13.105 9.563 L13.037 8.744 C9.813 8.95 7.683 10.356 5.587 10.336 C4.862 10.334 4.132 10.19 3.316 9.78 L2.961 10.495 L2.958 10.495 C3.711 10.872 4.431 11.056 5.129 11.11 C5.345 12.956 6.485 14.094 7.77 13.946 C9.577 13.739 10.338 12.202 10.367 10.046 C11.209 9.815 12.103 9.62 13.105 9.563 z" transform="translate(0 0.001)" style="fill:rgb(0,0,0);fill-rule:evenodd"/>
-<path d="M7.547 13.459 C7.047 13.459 6.573 13.191 6.217 12.709 C5.908 12.293 5.705 11.737 5.625 11.107 C5.928 10.814 6.781 10.627 7.579 10.9 C7.923 10.416 9.45 10.14 9.822 10.265 C9.822 12.083 9.02 13.296 7.712 13.449 C7.657 13.457 7.603 13.459 7.547 13.459 z" transform="translate(0.001 0.001)" style="fill:rgb(255,46,0);fill-rule:evenodd"/>
-</g>
-</g>
-</g>
-</svg>
--- a/uifw/AvKon/smileyicons/qgn_indi_smiley_anim_sleep.svg Mon Mar 15 12:41:34 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,47 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" baseProfile="tiny" height="16" preserveAspectRatio="xMidYMid meet" viewBox="-8 -8 16 16" width="16">
-<defs>
-<radialGradient cx="7.878" cy="5.012" gradientUnits="userSpaceOnUse" id="shape6grad" r="8.364">
-<stop offset="0" stop-color="#FFF000"/>
-<stop offset="1" stop-color="#FFBF00"/>
-</radialGradient>
-</defs>
-<g>
-<g transform="translate(-7.999,-8)">
-<rect fill="none" fill-rule="evenodd" height="16" transform="translate(0.001)" width="15.999" x="0" y="0"/>
-<circle cx="8" cy="8" fill="black" fill-rule="evenodd" r="7"/>
-<path d="M14.5,8C14.5,11.59,11.59,14.5,8,14.5C4.411,14.5,1.5,11.59,1.5,8C1.5,4.411,4.411,1.5,8,1.5C11.59,1.5,14.5,4.411,14.5,8z" fill="url(#shape6grad)" fill-rule="evenodd"/>
-<g transform="translate(0.001,0.001)">
-<path d="M3.267,5.685C3.505,6.673,4.395,7.408,5.455,7.408C6.331,7.408,7.091,6.908,7.461,6.177L6.794,5.834C6.547,6.323,6.04,6.658,5.454,6.658C4.756,6.658,4.169,6.178,4.001,5.533L3.267,5.685z" fill="black" fill-rule="evenodd" transform="translate(0.001,0)"/>
-<path d="M12.733,5.685C12.495,6.673,11.606,7.408,10.545,7.408C9.669,7.408,8.91,6.908,8.539,6.177L9.205,5.835C9.452,6.323,9.959,6.658,10.544,6.658C11.244,6.658,11.83,6.178,11.997,5.533L12.733,5.685z" fill="black" fill-rule="evenodd" transform="translate(0.001,0)"/>
-</g>
-<g transform="translate(0.001)">
-<animate attributeName="display" begin="0s" calcMode="discrete" dur="1.41s" fill="freeze" keyTimes="0;0.426;1" values="inline;none;inline"/>
-<path d="M11.365,11.084C11.365,12.636,9.858,13.643,8,13.643C6.142,13.643,4.635,12.636,4.635,11.084C4.635,9.533,6.142,8.023,8,8.023C9.858,8.023,11.365,9.532,11.365,11.084z" fill="black" fill-rule="evenodd" transform="translate(0)"/>
-<path d="M8,13.042C6.626,13.042,5.235,12.37,5.235,11.084C5.235,9.922,6.418,8.624,8,8.624C9.584,8.624,10.764,9.922,10.764,11.084C10.766,12.37,9.374,13.042,8,13.042L8,13.042z" fill="#FF2E00" fill-rule="evenodd" transform="translate(0,0.001)"/>
-</g>
-<g display="none">
-<animate attributeName="display" begin="0s" calcMode="discrete" dur="1.41s" fill="freeze" keyTimes="0;0.426;1" values="none;inline;none"/>
-<path d="M8,13.006C6.842,13.006,5.901,12.065,5.901,10.907C5.901,9.748,6.842,8.806,8,8.806C9.158,8.806,10.101,9.749,10.101,10.907C10.101,12.066,9.157,13.006,8,13.006L8,13.006z" fill="black" fill-rule="evenodd" transform="translate(0,0.001)"/>
-<path d="M9.5,10.907C9.5,11.736,8.828,12.407,8,12.407C7.171,12.407,6.5,11.736,6.5,10.907C6.5,10.079,7.171,9.407,8,9.407C8.828,9.407,9.5,10.079,9.5,10.907z" fill="#FF2E00" fill-rule="evenodd" transform="translate(0,0.001)"/>
-</g>
-</g>
-<g display="none" transform="translate(-5.035,-2.933) scale(0.5)">
-<animate attributeName="display" begin="0s" calcMode="discrete" dur="1.41s" fill="freeze" keyTimes="0;0.497;1" values="none;inline;none"/>
-<animateTransform additive="replace" attributeName="transform" begin="0.70s" dur="0.70s" fill="freeze" keyTimes="0;1" type="translate" values="0.596,1.3;1.679,-5.45"/>
-<animateTransform additive="sum" attributeName="transform" begin="0.70s" dur="0.70s" fill="freeze" keyTimes="0;1" type="scale" values="0.5,0.5;1,1"/>
-<animateTransform additive="sum" attributeName="transform" begin="0.70s" fill="freeze" type="translate" values="-11.261,-8.466;-11.261,-8.466"/>
-<polygon fill="white" fill-rule="evenodd" points="13.263,10.745 13.263,10.745 9.261,10.745 9.261,9.547 10.582,7.906 9.393,7.906 9.393,6.189 13.219,6.189 13.219,7.409 11.928,9.028 13.263,9.028" transform="translate(0,0)"/>
-<polygon fill="black" fill-rule="evenodd" points="9.763,9.726 11.624,7.405 9.895,7.405 9.895,6.689 12.719,6.689 12.719,7.236 10.887,9.528 12.763,9.528 12.763,10.243 9.763,10.243 9.763,9.726" transform="translate(0,0)"/>
-</g>
-<g display="none" transform="translate(-3.603,-3.048) scale(0.5)">
-<animate attributeName="display" begin="0s" calcMode="discrete" dur="1.20s" fill="freeze" keyTimes="0;0.5;1" values="none;inline;none"/>
-<animateTransform additive="replace" attributeName="transform" begin="0.60s" dur="0.60s" fill="freeze" keyTimes="0;1" type="translate" values="1.793,0.904;4.793,-5.221"/>
-<animateTransform additive="sum" attributeName="transform" begin="0.60s" dur="0.60s" fill="freeze" keyTimes="0;1" type="scale" values="0.5,0.5;1,1"/>
-<animateTransform additive="sum" attributeName="transform" begin="0.60s" fill="freeze" type="translate" values="-10.792,-7.903;-10.792,-7.903"/>
-<polygon fill="white" fill-rule="evenodd" points="12.794,10.183 12.794,10.183 8.792,10.183 8.792,8.985 10.113,7.343 8.924,7.343 8.924,5.625 12.749,5.625 12.749,6.847 11.459,8.464 12.794,8.464" transform="translate(0,0.001)"/>
-<polygon fill="black" fill-rule="evenodd" points="9.294,9.164 11.155,6.843 9.426,6.843 9.426,6.125 12.25,6.125 12.25,6.672 10.418,8.964 12.294,8.964 12.294,9.681 9.294,9.681 9.294,9.164" transform="translate(0,0)"/>
-</g>
-</g>
-</svg>
--- a/uifw/AvKon/smileyicons/qgn_indi_smiley_anim_sleep_static.svg Mon Mar 15 12:41:34 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" baseProfile="tiny" height="16" preserveAspectRatio="xMidYMid meet" viewBox="-8 -8 16 16" width="16">
-<defs>
-<radialGradient cx="7.878" cy="5.012" gradientUnits="userSpaceOnUse" id="shape6grad" r="8.364">
-<stop offset="0" stop-color="#FFF000"/>
-<stop offset="1" stop-color="#FFBF00"/>
-</radialGradient>
-</defs>
-<g>
-<g transform="translate(-7.999 -8)">
-<circle cx="8" cy="8" r="7" style="fill:rgb(0,0,0);fill-rule:evenodd"/>
-<path d="M14.5 8 C14.5 11.59 11.59 14.5 8 14.5 C4.411 14.5 1.5 11.59 1.5 8 C1.5 4.411 4.411 1.5 8 1.5 C11.59 1.5 14.5 4.411 14.5 8 z" style="fill:url(#shape6grad);fill-rule:evenodd"/>
-<g transform="translate(0.001 0.001)">
-<path d="M3.267 5.685 C3.505 6.673 4.395 7.408 5.455 7.408 C6.331 7.408 7.091 6.908 7.461 6.177 L6.794 5.834 C6.547 6.323 6.04 6.658 5.454 6.658 C4.756 6.658 4.169 6.178 4.001 5.533 z" transform="translate(0.001 0)" style="fill:rgb(0,0,0);fill-rule:evenodd"/>
-<path d="M12.733 5.685 C12.495 6.673 11.606 7.408 10.545 7.408 C9.669 7.408 8.91 6.908 8.539 6.177 L9.205 5.835 C9.452 6.323 9.959 6.658 10.544 6.658 C11.244 6.658 11.83 6.178 11.997 5.533 z" transform="translate(0.001 0)" style="fill:rgb(0,0,0);fill-rule:evenodd"/>
-</g>
-<g transform="translate(0.001)">
-<path d="M11.365 11.084 C11.365 12.636 9.858 13.643 8 13.643 C6.142 13.643 4.635 12.636 4.635 11.084 C4.635 9.533 6.142 8.023 8 8.023 C9.858 8.023 11.365 9.532 11.365 11.084 z" transform="translate(0)" style="fill:rgb(0,0,0);fill-rule:evenodd"/>
-<path d="M8 13.042 C6.626 13.042 5.235 12.37 5.235 11.084 C5.235 9.922 6.418 8.624 8 8.624 C9.584 8.624 10.764 9.922 10.764 11.084 C10.766 12.37 9.374 13.042 8 13.042 z" transform="translate(0 0.001)" style="fill:rgb(255,46,0);fill-rule:evenodd"/>
-</g>
-</g>
-</g>
-</svg>
--- a/uifw/AvKon/smileyicons/qgn_indi_smiley_anim_surprised.svg Mon Mar 15 12:41:34 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" baseProfile="tiny" height="16" preserveAspectRatio="xMidYMid meet" viewBox="-8 -8 16 16" width="16">
-<defs>
-<radialGradient cx="7.881" cy="5.012" gradientUnits="userSpaceOnUse" id="shape4grad" r="8.364">
-<stop offset="0" stop-color="#FFF000"/>
-<stop offset="1" stop-color="#FFBF00"/>
-</radialGradient>
-</defs>
-<g>
-<circle cx="8" cy="8" fill="black" fill-rule="evenodd" r="7" transform="translate(-7.945,-8.079)"/>
-<path d="M14.504,8C14.504,11.59,11.593,14.5,8.004,14.5C4.414,14.5,1.504,11.59,1.504,8C1.504,4.411,4.414,1.5,8.004,1.5C11.593,1.5,14.504,4.411,14.504,8z" fill="url(#shape4grad)" fill-rule="evenodd" transform="translate(-7.945,-8.079)"/>
-<path d="M7.985,12.915C7.391,12.888,6.87,12.481,7.023,12.053C7.15,11.698,7.211,11.247,7.98,11.247C8.749,11.247,8.884,11.756,8.995,12.053C9.113,12.375,8.577,12.945,7.985,12.915z" fill="#E10B0B" fill-rule="evenodd" transform="translate(-7.945,-8.079)">
-<animateTransform additive="replace" attributeName="transform" begin="0.01s" fill="freeze" type="translate" values="0.057,4.002;0.057,4.002"/>
-<animateTransform additive="sum" attributeName="transform" begin="0.01s" dur="0.04s" fill="freeze" keyTimes="0;0.25;0.75;1" type="scale" values="1,1;2.289,2.517;2.289,2.517;0.998,0.75"/>
-<animateTransform additive="sum" attributeName="transform" begin="0.01s" fill="freeze" type="translate" values="-8.002,-12.08;-8.002,-12.08"/>
-</path>
-<g transform="translate(-7.945,-8.079)">
-<animateTransform additive="replace" attributeName="transform" begin="0s" fill="freeze" type="translate" values="-2.195,-0.941;-2.195,-0.941"/>
-<animateTransform additive="sum" attributeName="transform" begin="0s" dur="0.06s" fill="freeze" keyTimes="0;0.167;0.834;1" type="scale" values="1,1;1.44,1.438;1.44,1.438;1.001,0.999"/>
-<animateTransform additive="sum" attributeName="transform" begin="0s" fill="freeze" type="translate" values="-5.75,-7.138;-5.75,-7.138"/>
-<ellipse cx="0" cy="0" fill="white" fill-rule="evenodd" rx="1.89" ry="1.986" transform="translate(5.75,7.139)"/>
-<ellipse cx="0" cy="0" fill="black" fill-rule="evenodd" rx="1.098" ry="1.152" transform="translate(5.75,7.139)"/>
-</g>
-<g transform="translate(-7.945,-8.079)">
-<animateTransform additive="replace" attributeName="transform" begin="0s" fill="freeze" type="translate" values="2.425,-0.941;2.425,-0.941"/>
-<animateTransform additive="sum" attributeName="transform" begin="0s" dur="0.06s" fill="freeze" keyTimes="0;0.167;0.834;1" type="scale" values="1,1;1.439,1.439;1.439,1.439;1,1"/>
-<animateTransform additive="sum" attributeName="transform" begin="0s" fill="freeze" type="translate" values="-10.369,-7.138;-10.369,-7.138"/>
-<ellipse cx="0" cy="0" fill="white" fill-rule="evenodd" rx="1.89" ry="1.986" transform="translate(10.37,7.139)"/>
-<ellipse cx="0" cy="0" fill="black" fill-rule="evenodd" rx="1.098" ry="1.152" transform="translate(10.37,7.139)"/>
-</g>
-<path d="M-2.352,-0.966C-2.208,-1.357,-1.089,-1.304,0.147,-0.847C1.382,-0.39,2.267,0.297,2.122,0.688C1.978,1.079,1.152,0.233,-0.084,-0.224C-1.319,-0.681,-2.497,-0.575,-2.352,-0.966z" fill="black" fill-rule="evenodd" transform="translate(3.603,-2.861) scale(0.73,0.944)">
-<animateTransform additive="replace" attributeName="transform" begin="0s" dur="0.05s" fill="freeze" keyTimes="0;0.201;1" type="translate" values="3.603,-2.861;3.647,-3.879;3.647,-3.879"/>
-<animateTransform additive="sum" attributeName="transform" begin="0s" fill="freeze" type="scale" values="0.73,0.944;0.73,0.944"/>
-</path>
-<path d="M-2.191,0.412C-2.449,0.055,-1.591,-0.483,-0.275,-0.79C1.042,-1.097,2.318,-1.056,2.576,-0.699C2.834,-0.342,1.453,-0.528,0.137,-0.221C-1.180,0.085,-1.933,0.769,-2.191,0.412z" fill="black" fill-rule="evenodd" transform="translate(-2.983,-3.035) scale(0.781,1.096)">
-<animateTransform additive="replace" attributeName="transform" begin="0s" dur="0.05s" fill="freeze" keyTimes="0;0.201;1" type="translate" values="-2.983,-3.035;-3.27,-4.178;-3.27,-4.178"/>
-<animateTransform additive="sum" attributeName="transform" begin="0s" fill="freeze" type="scale" values="0.781,1.096;0.781,1.096"/>
-</path>
-</g>
-</svg>
--- a/uifw/AvKon/smileyicons/qgn_indi_smiley_anim_surprised_static.svg Mon Mar 15 12:41:34 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,25 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" baseProfile="tiny" height="16" preserveAspectRatio="xMidYMid meet" viewBox="-8 -8 16 16" width="16">
-<defs>
-<radialGradient cx="7.881" cy="5.012" gradientUnits="userSpaceOnUse" id="shape4grad" r="8.364">
-<stop offset="0" stop-color="#FFF000"/>
-<stop offset="1" stop-color="#FFBF00"/>
-</radialGradient>
-</defs>
-<g>
-<circle cx="8" cy="8" r="7" transform="translate(-7.945 -8.079)" style="fill:rgb(0,0,0);fill-rule:evenodd"/>
-<path d="M14.504 8 C14.504 11.59 11.593 14.5 8.004 14.5 C4.414 14.5 1.504 11.59 1.504 8 C1.504 4.411 4.414 1.5 8.004 1.5 C11.593 1.5 14.504 4.411 14.504 8 z" transform="translate(-7.945 -8.079)" style="fill:url(#shape4grad);fill-rule:evenodd"/>
-<path d="M7.985 12.915 C7.391 12.888 6.87 12.481 7.023 12.053 C7.15 11.698 7.211 11.247 7.98 11.247 C8.749 11.247 8.884 11.756 8.995 12.053 C9.113 12.375 8.577 12.945 7.985 12.915 z" transform="translate(-7.945 -8.079)" style="fill:rgb(225,11,11);fill-rule:evenodd"/>
-<g transform="translate(-7.945 -8.079)">
-<ellipse cx="0" cy="0" rx="1.89" ry="1.986" transform="translate(5.75 7.139)" style="fill:rgb(255,255,255);fill-rule:evenodd"/>
-<ellipse cx="0" cy="0" rx="1.098" ry="1.152" transform="translate(5.75 7.139)" style="fill:rgb(0,0,0);fill-rule:evenodd"/>
-</g>
-<g transform="translate(-7.945 -8.079)">
-<ellipse cx="0" cy="0" rx="1.89" ry="1.986" transform="translate(10.37 7.139)" style="fill:rgb(255,255,255);fill-rule:evenodd"/>
-<ellipse cx="0" cy="0" rx="1.098" ry="1.152" transform="translate(10.37 7.139)" style="fill:rgb(0,0,0);fill-rule:evenodd"/>
-</g>
-<path d="M-2.352 -0.966 C-2.208 -1.357 -1.089 -1.304 0.147 -0.847 C1.382 -0.39 2.267 0.297 2.122 0.688 C1.978 1.079 1.152 0.233 -0.084 -0.224 C-1.319 -0.681 -2.497 -0.575 -2.352 -0.966 z" transform="translate(3.603 -2.861) scale(0.73 0.944)" style="fill:rgb(0,0,0);fill-rule:evenodd"/>
-<path d="M-2.191 0.412 C-2.449 0.055 -1.591 -0.483 -0.275 -0.79 C1.042 -1.097 2.318 -1.056 2.576 -0.699 C2.834 -0.342 1.453 -0.528 0.137 -0.221 C-1.18 0.085 -1.933 0.769 -2.191 0.412 z" transform="translate(-2.983 -3.035) scale(0.781 1.096)" style="fill:rgb(0,0,0);fill-rule:evenodd"/>
-</g>
-</svg>
--- a/uifw/AvKon/smileyicons/qgn_indi_smiley_bigsmile.svg Mon Mar 15 12:41:34 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
-<svg baseProfile="tiny" height="16px" version="1.1" viewBox="0 0 15.999 16" width="15.999px" x="0px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" y="0px">
-<g>
-<g>
-<circle cx="8" cy="8" r="7"/>
-<radialGradient cx="7.8774" cy="5.0117" gradientUnits="userSpaceOnUse" id="SVGID_1_" r="8.3632">
-<stop offset="0" style="stop-color:#FFF000"/>
-<stop offset="1" style="stop-color:#FFBF00"/>
-</radialGradient>
-<circle cx="8" cy="8" fill="url(#SVGID_1_)" r="6.5"/>
-<path d="M8.057,8.25C5.766,8.25,2.999,8,2.999,8c0,2.761,2.239,5,5,5S13,10.761,13,8 C13,8,10.348,8.25,8.057,8.25z" fill="#FFFFFF" stroke="#000000"/>
-<g display="none">
-<g display="inline">
-<path d="M5.354,7.193c0.639,0.369,1.454,0.15,1.82-0.486C6.639,6.396,5.37,5.663,4.869,5.373 C4.501,6.011,4.719,6.827,5.354,7.193z M11.132,5.373c-0.539,0.312-1.731,1-2.31,1.333c0.367,0.638,1.182,0.855,1.819,0.488 C11.282,6.826,11.498,6.011,11.132,5.373z" fill="#FFFFFF"/>
-</g>
-</g>
-</g>
-<path d="M7.878,5.835c0,0.321-0.693-0.134-1.697-0.134c-1,0-1.931,0.455-1.931,0.134c0-0.32,0.752-1.294,1.752-1.294 C7.006,4.541,7.878,5.515,7.878,5.835z"/>
-<path d="M11.986,5.835c0,0.321-0.693-0.134-1.697-0.134c-1,0-1.931,0.455-1.931,0.134c0-0.32,0.752-1.294,1.752-1.294 C11.114,4.541,11.986,5.515,11.986,5.835z"/>
-</g>
-</svg>
--- a/uifw/AvKon/smileyicons/qgn_indi_smiley_cry.svg Mon Mar 15 12:41:34 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,16 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
-<svg baseProfile="tiny" height="16px" version="1.1" viewBox="-0.001 0 16 16" width="16px" x="0px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" y="0px">
-<rect fill="none" height="16" width="15.999"/>
-<radialGradient cx="8.0381" cy="4.9995" gradientUnits="userSpaceOnUse" id="SVGID_1_" r="8.6853">
-<stop offset="0" style="stop-color:#FFF000"/>
-<stop offset="1" style="stop-color:#FFBF00"/>
-</radialGradient>
-<path d="M14.916,9.042c0,3.729-3.023,5.811-6.751,5.811c-3.726,0-6.75-2.082-6.75-5.811 c0-3.726,3.024-7.689,6.75-7.689C11.893,1.354,14.916,5.316,14.916,9.042z" fill="url(#SVGID_1_)"/>
-<path d="M1.166,9.043c0.008-3.849,3.086-7.919,7-7.941l0,0c3.914,0.021,6.992,4.092,7,7.941l0,0c-0.006,3.886-3.189,6.054-7,6.061 l0,0C4.356,15.097,1.172,12.929,1.166,9.043L1.166,9.043z M1.666,9.043c0.004,3.565,2.856,5.542,6.5,5.559l0,0 c3.645-0.017,6.494-1.993,6.501-5.559l0,0c-0.007-3.606-2.962-7.434-6.501-7.439l0,0C4.625,1.61,1.672,5.437,1.666,9.043 L1.666,9.043z"/>
-<path d="M3.583,5.354c0,0-1.188,3.732-0.938,6.857c0.75,1,1.375,1.291,2.375,1.791 c-0.938-3.563-0.313-8.147,0.563-9.959C4.749,4.376,3.583,5.354,3.583,5.354z" fill="#1FB5FF"/>
-<path d="M3.393,5.19c1.406-1.628,3.129-1.758,3.639-1.756l0,0c0.096,0,0.151,0.004,0.157,0.004l0,0V3.44L7.144,3.938 c-0.002,0-0.035-0.004-0.112-0.004l0,0c-0.436,0.002-1.988,0.108-3.26,1.585l0,0L3.393,5.19L3.393,5.19z"/>
-<path d="M12.708,5.354c0,0,1.188,3.732,0.938,6.857c-0.75,1-1.375,1.291-2.375,1.791 c0.938-3.563,0.313-8.147-0.563-9.959C11.542,4.376,12.708,5.354,12.708,5.354z" fill="#1FB5FF"/>
-<path d="M9.259,3.933c-0.078,0-0.11,0.004-0.11,0.004l0,0l-0.047-0.5c0.007,0,0.062-0.004,0.157-0.004l0,0 c0.509-0.002,2.23,0.128,3.639,1.756l0,0l-0.379,0.326C11.245,4.042,9.692,3.936,9.259,3.933L9.259,3.933z"/>
-<path d="M8.056,9.046c-1.12,0-2.247,0.486-3.513,1.508l0,0L3.915,9.778C5.276,8.675,6.63,8.045,8.056,8.045l0,0 c1.398,0,2.791,0.605,4.256,1.771l0,0l-0.623,0.783C10.322,9.515,9.154,9.046,8.056,9.046L8.056,9.046z M4.542,10.554l0.002,0.002 L4.542,10.554L4.542,10.554z"/>
-</svg>
--- a/uifw/AvKon/smileyicons/qgn_indi_smiley_evil.svg Mon Mar 15 12:41:34 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
-<svg baseProfile="tiny" height="16px" version="1.1" viewBox="-0.001 0 16 16" width="16px" x="0px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" y="0px">
-<rect fill="none" height="16" width="15.999"/>
-<radialGradient cx="7.8774" cy="5.0117" gradientUnits="userSpaceOnUse" id="SVGID_1_" r="8.3632">
-<stop offset="0" style="stop-color:#FFF000"/>
-<stop offset="1" style="stop-color:#FFBF00"/>
-</radialGradient>
-<circle cx="8" cy="8" fill="url(#SVGID_1_)" r="6.5"/>
-<path d="M12.149,8c0,2.291-1.859,4.15-4.15,4.15S3.85,10.291,3.85,8H2.999c0,2.761,2.239,5,5,5S13,10.761,13,8H12.149z"/>
-<path d="M12.329,5.347l-0.438-0.758L8.004,7.26L4.107,4.584L3.67,5.341l0.579,0.284c-0.304,0.77-0.013,1.666,0.725,2.09 c0.806,0.465,1.833,0.193,2.306-0.604l0.715,0.351h0.005l0.72-0.352c0.474,0.797,1.5,1.069,2.307,0.604 c0.737-0.424,1.027-1.317,0.726-2.087L12.329,5.347z"/>
-<path d="M7.999,1C4.134,1,1,4.134,1,8c0,3.867,3.134,7,6.999,7s7-3.133,7-7C14.999,4.134,11.864,1,7.999,1z M7.999,14.5 c-3.588,0-6.5-2.91-6.5-6.5s2.912-6.5,6.5-6.5c3.59,0,6.501,2.91,6.501,6.5S11.589,14.5,7.999,14.5z"/>
-</svg>
--- a/uifw/AvKon/smileyicons/qgn_indi_smiley_eyebrows.svg Mon Mar 15 12:41:34 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
-<svg baseProfile="tiny" height="16" version="1.1" viewBox="0 0 16 16" width="16" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
-<g>
-<rect fill="none" height="16" width="16"/>
-<g>
-<circle cx="8" cy="8" r="6.999"/>
-<radialGradient cx="7.8779" cy="5.0117" gradientUnits="userSpaceOnUse" id="XMLID_2_" r="8.3634">
-<stop offset="0" style="stop-color:#FFF000"/>
-<stop offset="1" style="stop-color:#FFBF00"/>
-</radialGradient>
-<circle cx="8" cy="8" fill="url(#XMLID_2_)" r="6.501"/>
-<g>
-<g>
-<circle cx="5.249" cy="7.362" fill="#FFFFFF" r="2"/>
-<circle cx="5.709" cy="7.238" r="1"/>
-</g>
-<g>
-<circle cx="10.749" cy="7.362" fill="#FFFFFF" r="2"/>
-<circle cx="11.208" cy="6.717" r="1"/>
-</g>
-</g>
-<rect height="0.999" width="3.877" x="6.081" y="11.484"/>
-<path d="M2.665,5.703c0.943-0.575,2.402-1.059,4.371-0.572C5.521,3.476,3.726,3.7,2.665,5.703z"/>
-<path d="M14.607,3.332c-1.488-0.144-3.551,0.13-5.662,1.883C9.814,2.305,12.133,1.52,14.607,3.332z"/>
-</g>
-</g>
-</svg>
--- a/uifw/AvKon/smileyicons/qgn_indi_smiley_heart.svg Mon Mar 15 12:41:34 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,16 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
-<svg baseProfile="tiny" height="16px" version="1.1" viewBox="-0.001 0 16 16" width="16px" x="0px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" y="0px">
-<radialGradient cx="8" cy="7.7183" gradientUnits="userSpaceOnUse" id="SVGID_1_" r="6.3124">
-<stop offset="0" style="stop-color:#FF7800"/>
-<stop offset="0.176" style="stop-color:#FF7400"/>
-<stop offset="0.3604" style="stop-color:#FF6700"/>
-<stop offset="0.5486" style="stop-color:#FF5200"/>
-<stop offset="0.7395" style="stop-color:#FF3500"/>
-<stop offset="0.9306" style="stop-color:#FF1000"/>
-<stop offset="1" style="stop-color:#FF0000"/>
-</radialGradient>
-<path d="M7.995,13.304c-0.59-0.828-1.6-1.843-2.805-2.631 c-1.92-1.26-3.915-2.804-4.126-4.705C0.821,3.782,2.19,2.611,3.55,2.244c0.281-0.073,0.565-0.111,0.848-0.111 c1.344,0,2.479,0.848,3.116,2.331L8.006,5.61l0.491-1.146c0.637-1.483,1.766-2.331,3.096-2.331c0.283,0,0.566,0.038,0.844,0.111 c1.389,0.375,2.771,1.546,2.49,3.716c-0.252,1.965-2.475,3.632-4.126,4.713C9.597,11.463,8.585,12.479,7.995,13.304L7.995,13.304z" fill="url(#SVGID_1_)" fill-rule="evenodd"/>
-<rect fill="none" fill-rule="evenodd" height="16" width="15.999"/>
-<path d="M12.577,1.728c-1.651-0.445-3.574,0.2-4.57,2.525 C7.01,1.928,5.064,1.282,3.413,1.728c-1.549,0.417-3.161,1.786-2.881,4.3C0.78,8.267,3.144,9.973,4.896,11.12 c1.7,1.114,2.91,2.637,3.099,3.285c0.189-0.648,1.398-2.171,3.099-3.285c1.753-1.147,4.085-2.915,4.364-5.093 C15.78,3.519,14.128,2.145,12.577,1.728z M14.927,5.96c-0.252,1.965-2.475,3.632-4.126,4.713c-1.204,0.79-2.216,1.806-2.806,2.631 c-0.59-0.828-1.601-1.843-2.805-2.631C3.27,9.413,1.275,7.869,1.064,5.968C0.821,3.782,2.19,2.611,3.55,2.244 c0.281-0.073,0.565-0.111,0.848-0.111c1.345,0,2.48,0.848,3.117,2.331L8.006,5.61l0.491-1.146c0.637-1.483,1.766-2.331,3.096-2.331 c0.283,0,0.566,0.038,0.844,0.111C13.825,2.619,15.208,3.79,14.927,5.96z" fill-rule="evenodd"/>
-</svg>
--- a/uifw/AvKon/smileyicons/qgn_indi_smiley_irritated.svg Mon Mar 15 12:41:34 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
-<svg baseProfile="tiny" height="16" version="1.1" viewBox="0 0 16 16" width="16" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
-<g>
-<rect fill="none" height="16" width="16"/>
-<g>
-<circle cx="8" cy="8" r="7"/>
-<radialGradient cx="7.8779" cy="5.0117" gradientUnits="userSpaceOnUse" id="XMLID_2_" r="8.3632">
-<stop offset="0" style="stop-color:#FFF000"/>
-<stop offset="1" style="stop-color:#FFBF00"/>
-</radialGradient>
-<circle cx="8" cy="8" fill="url(#XMLID_2_)" r="6.5"/>
-<g>
-<polygon points="7.452,6.685 4.141,4.772 3.833,5.825 6.452,6.64 3.719,7.191 4.117,8.213 "/>
-<polygon points="8.547,6.685 11.859,4.772 12.166,5.825 9.549,6.64 12.281,7.191 11.883,8.213 "/>
-</g>
-<path d="M3.918,11.498l1.514-1.242c0.166-0.137,0.404-0.137,0.57-0.002l0,0l0.847,0.688l0.883-0.692 c0.164-0.131,0.398-0.127,0.561,0.004l0,0l0.85,0.69l0.904-0.696c0.164-0.129,0.396-0.125,0.559,0.006l0,0l1.477,1.201 l-0.568,0.696l-1.201-0.975L9.41,11.876C9.244,12.003,9.014,12,8.852,11.867l0,0l-0.847-0.688l-0.882,0.695 c-0.166,0.129-0.399,0.129-0.562-0.007l0,0l-0.842-0.684l-0.883,0.726l-0.348,0.286L3.918,11.498L3.918,11.498z"/>
-</g>
-</g>
-</svg>
--- a/uifw/AvKon/smileyicons/qgn_indi_smiley_kissing.svg Mon Mar 15 12:41:34 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
-<svg baseProfile="tiny" height="16" version="1.1" viewBox="0 0 16 16" width="16" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
-<g>
-<rect fill="none" height="16" width="16"/>
-<g>
-<circle cx="8" cy="8" r="7"/>
-<radialGradient cx="7.8779" cy="5.0117" gradientUnits="userSpaceOnUse" id="XMLID_4_" r="8.3632">
-<stop offset="0" style="stop-color:#FFF000"/>
-<stop offset="1" style="stop-color:#FFBF00"/>
-</radialGradient>
-<circle cx="8" cy="8" fill="url(#XMLID_4_)" r="6.5"/>
-<path d="M6.77,5.437H6.768C6.534,5.89,6.054,6.189,5.517,6.189c-0.074,0-0.153-0.009-0.229-0.02 C4.661,6.071,4.207,5.592,4.105,5.021L3.367,5.149c0.02,0.113,0.072,0.214,0.109,0.32C3.082,5.696,2.647,5.938,2.208,5.938 c0.489,0.195,1.056,0.272,1.668,0.238c0.324,0.374,0.766,0.651,1.299,0.736c0.112,0.016,0.226,0.024,0.342,0.024 c0.816,0,1.551-0.455,1.916-1.156L6.77,5.437z"/>
-<path d="M9.147,5.437h0.002C9.383,5.89,9.863,6.189,10.4,6.189c0.074,0,0.153-0.009,0.229-0.02 c0.627-0.099,1.081-0.578,1.183-1.149l0.738,0.129c-0.02,0.113-0.072,0.214-0.109,0.32c0.395,0.227,0.829,0.469,1.268,0.469 c-0.489,0.195-1.056,0.272-1.668,0.238c-0.324,0.374-0.766,0.651-1.299,0.736c-0.112,0.016-0.226,0.024-0.342,0.024 c-0.816,0-1.551-0.455-1.916-1.156L9.147,5.437z"/>
-<path d="M9.484,9.345c-0.842-0.234-1.441,0.672-1.441,0.672s-0.6-0.906-1.441-0.672s-1.627,1.438-2.512,1.359 c2.283,0.781,2.34,2.057,3.953,2.244c1.612-0.188,1.67-1.463,3.953-2.244C11.111,10.782,10.326,9.579,9.484,9.345z" fill="#ED2F42"/>
-<path d="M8.042,9.634c-0.96-1.035-1.815-0.496-2.656,0.17c-0.446,0.354-1.058,0.743-1.604,0.868 c0.171,0.117,1.641,0.844,2.369,1.563c1.47,1.292,2.363,1.247,3.783,0c0.598-0.595,2.066-1.407,2.299-1.531 c-0.561-0.22-1.088-0.547-1.534-0.9C9.628,8.956,8.918,8.69,8.042,9.634z M9.417,9.585c0.412,0.103,1.465,0.956,1.91,1.147 c-0.747,0.355-1.332,0.785-1.723,1.127c-1.288,1.132-1.892,1.081-3.123,0c-0.39-0.342-0.902-0.771-1.649-1.127 c0.487-0.207,1.435-1.061,1.836-1.147c0.663-0.144,1.375,0.681,1.375,0.681S8.758,9.421,9.417,9.585z"/>
-<radialGradient cx="3.3423" cy="8.376" gradientUnits="userSpaceOnUse" id="XMLID_5_" r="1.417">
-<stop offset="0" style="stop-color:#F15A24"/>
-<stop offset="0.425" style="stop-color:#F78614"/>
-<stop offset="1" style="stop-color:#FFBF00"/>
-</radialGradient>
-<circle cx="3.342" cy="8.376" fill="url(#XMLID_5_)" r="1.417"/>
-<radialGradient cx="12.7593" cy="8.376" gradientUnits="userSpaceOnUse" id="XMLID_6_" r="1.417">
-<stop offset="0" style="stop-color:#F15A24"/>
-<stop offset="0.425" style="stop-color:#F78614"/>
-<stop offset="1" style="stop-color:#FFBF00"/>
-</radialGradient>
-<circle cx="12.759" cy="8.376" fill="url(#XMLID_6_)" r="1.417"/>
-</g>
-</g>
-</svg>
--- a/uifw/AvKon/smileyicons/qgn_indi_smiley_nerd.svg Mon Mar 15 12:41:34 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
-<svg baseProfile="tiny" height="16px" version="1.1" viewBox="-0.001 0 16 16" width="16px" x="0px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" y="0px">
-<rect fill="none" height="16" width="15.999"/>
-<radialGradient cx="7.8779" cy="5.0117" gradientUnits="userSpaceOnUse" id="SVGID_1_" r="8.363">
-<stop offset="0" style="stop-color:#FFF000"/>
-<stop offset="1" style="stop-color:#FFBF00"/>
-</radialGradient>
-<circle cx="8" cy="8" fill="url(#SVGID_1_)" r="6.5"/>
-<path d="M10.936,10.649c-1.621,1.62-4.25,1.619-5.87-0.001L4.464,11.25c1.952,1.952,5.12,1.952,7.071,0 C11.338,11.051,11.115,10.83,10.936,10.649z"/>
-<path d="M14.641,5.875h-1.495c-0.177-0.282-0.476-0.479-0.833-0.479H3.687c-0.357,0-0.656,0.197-0.833,0.479H1.359v1.5h1.328v1.25 c0,0.553,0.448,1,1,1h3c0.552,0,1-0.447,1-1v-1.25h0.625v1.25c0,0.553,0.447,1,1,1h3c0.553,0,1-0.447,1-1v-1.25h1.328V5.875z"/>
-<path d="M6.687,9.125h-3c-0.275,0-0.501-0.226-0.501-0.501V6.396c0-0.275,0.226-0.502,0.501-0.502h3 c0.275,0,0.501,0.227,0.501,0.502v2.229C7.188,8.899,6.962,9.125,6.687,9.125L6.687,9.125z" fill="#FFFFFF"/>
-<path d="M12.312,9.125H9.313c-0.275,0-0.502-0.226-0.502-0.501V6.396c0-0.275,0.227-0.502,0.502-0.502h2.999 c0.275,0,0.501,0.227,0.501,0.502v2.229C12.813,8.899,12.587,9.125,12.312,9.125L12.312,9.125z" fill="#FFFFFF"/>
-<circle cx="5.171" cy="7.516" r="0.75"/>
-<circle cx="10.828" cy="7.516" r="0.75"/>
-<path d="M7.999,1C4.134,1,1,4.134,1,8c0,3.867,3.134,7,6.999,7s7-3.133,7-7C14.999,4.134,11.864,1,7.999,1z M8,14.5 c-3.588,0-6.5-2.91-6.5-6.5S4.412,1.5,8,1.5c3.59,0,6.5,2.91,6.5,6.5S11.59,14.5,8,14.5z"/>
-</svg>
--- a/uifw/AvKon/smileyicons/qgn_indi_smiley_neutral.svg Mon Mar 15 12:41:34 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,16 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
-<svg baseProfile="tiny" height="16px" version="1.1" viewBox="-0.001 0 16 16" width="16px" x="0px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" y="0px">
-<rect fill="none" height="16" width="16"/>
-<radialGradient cx="7.8774" cy="5.0112" gradientUnits="userSpaceOnUse" id="SVGID_1_" r="8.363">
-<stop offset="0" style="stop-color:#FFF000"/>
-<stop offset="1" style="stop-color:#FFBF00"/>
-</radialGradient>
-<circle cx="7.999" cy="8" fill="url(#SVGID_1_)" r="6.5"/>
-<path d="M7.999,1C4.134,1,1,4.134,1,8c0,3.867,3.134,7,6.999,7c3.866,0,7-3.133,7-7C15,4.134,11.865,1,7.999,1z M7.999,14.5 c-3.588,0-6.5-2.91-6.5-6.5c0-3.59,2.912-6.5,6.5-6.5c3.59,0,6.5,2.91,6.5,6.5C14.5,11.589,11.589,14.5,7.999,14.5z"/>
-<rect height="1" width="7" x="4.5" y="10.834"/>
-<circle cx="10.095" cy="7.084" fill="#FFFFFF" r="2"/>
-<circle cx="10.095" cy="7.459" r="1"/>
-<circle cx="5.904" cy="7.084" fill="#FFFFFF" r="2"/>
-<circle cx="5.904" cy="7.459" r="1"/>
-</svg>
--- a/uifw/AvKon/smileyicons/qgn_indi_smiley_pirate.svg Mon Mar 15 12:41:34 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
-<svg baseProfile="tiny" height="16" version="1.1" viewBox="0 0 16 16" width="16" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
-<g>
-<rect fill="none" height="16" width="16"/>
-<g>
-<g>
-<circle cx="8" cy="8.875" r="7"/>
-<radialGradient cx="7.8779" cy="5.8867" gradientUnits="userSpaceOnUse" id="XMLID_2_" r="8.363">
-<stop offset="0" style="stop-color:#FFF000"/>
-<stop offset="1" style="stop-color:#FFBF00"/>
-</radialGradient>
-<circle cx="8" cy="8.875" fill="url(#XMLID_2_)" r="6.5"/>
-<g>
-<g>
-<circle cx="5.25" cy="8.237" fill="#FFFFFF" r="2"/>
-<circle cx="5.25" cy="8.237" r="1"/>
-</g>
-<g>
-<circle cx="10.625" cy="8.362" r="2.625"/>
-</g>
-</g>
-<rect height="0.886" transform="matrix(0.9254 0.379 -0.379 0.9254 3.5282 -2.6607)" width="13.281" x="1.881" y="7.187"/>
-</g>
-<path d="M14.334,5.948c-1.254-2.726-4.18-4.436-7.306-4.011C4.316,2.306,2.18,4.183,1.348,6.605L14.334,5.948z" fill="#005899"/>
-<path d="M11.789,3.959c-0.299-2.202,1.635-3.846,1.635-3.846C14.27,1.896,13.557,3.633,11.789,3.959z" fill="#005899"/>
-<path d="M11.799,3.918c1.262-0.861,2.523-1.119,4.016-0.286C14.523,4.93,13.688,5.127,11.799,3.918z" fill="#005899"/>
-</g>
-</g>
-</svg>
--- a/uifw/AvKon/smileyicons/qgn_indi_smiley_sarcastic.svg Mon Mar 15 12:41:34 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
-<svg baseProfile="tiny" height="16" version="1.1" viewBox="0 0 16 16" width="16" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
-<g>
-<rect fill="none" height="16" width="16"/>
-<g>
-<circle cx="8" cy="8" r="7"/>
-<radialGradient cx="7.8779" cy="5.0117" gradientUnits="userSpaceOnUse" id="XMLID_2_" r="8.363">
-<stop offset="0" style="stop-color:#FFF000"/>
-<stop offset="1" style="stop-color:#FFBF00"/>
-</radialGradient>
-<circle cx="8" cy="8" fill="url(#XMLID_2_)" r="6.5"/>
-<g>
-<g>
-<circle cx="5.25" cy="7.362" fill="#FFFFFF" r="2"/>
-<circle cx="6" cy="6.779" r="1"/>
-</g>
-<g>
-<circle cx="10.75" cy="7.362" fill="#FFFFFF" r="2"/>
-<circle cx="11.25" cy="6.612" r="1"/>
-</g>
-</g>
-<polygon points="4.775,3.642 5.221,2.747 7.221,3.747 6.773,4.642 4.775,3.642 "/>
-<polygon points="8.607,3.747 10.607,2.747 11.055,3.642 9.055,4.642 8.607,3.747 "/>
-<g>
-<path d="M5.6,11.374c1.88,1.31,4.469,0.846,5.777-1.034l0.697,0.486c-1.576,2.265-4.695,2.822-6.96,1.245 C5.273,11.84,5.454,11.584,5.6,11.374z"/>
-</g>
-</g>
-</g>
-</svg>
--- a/uifw/AvKon/smileyicons/qgn_indi_smiley_sarcastic_mad.svg Mon Mar 15 12:41:34 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
-<svg baseProfile="tiny" height="16px" version="1.1" viewBox="-0.001 0 16 16" width="16px" x="0px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" y="0px">
-<rect fill="none" height="16" width="15.999"/>
-<radialGradient cx="7.877" cy="5.0117" gradientUnits="userSpaceOnUse" id="SVGID_1_" r="8.3634">
-<stop offset="0" style="stop-color:#FFF000"/>
-<stop offset="1" style="stop-color:#FFBF00"/>
-</radialGradient>
-<circle cx="8" cy="8" fill="url(#SVGID_1_)" r="6.5"/>
-<path d="M5.264,3.677l-0.578,0.82l1.252,0.782C5.909,5.277,5.883,5.271,5.854,5.271c-0.932,0-1.688,0.756-1.688,1.688 s0.756,1.688,1.688,1.688S7.542,7.89,7.542,6.958c0-0.297-0.083-0.571-0.218-0.813l0.28,0.175L5.264,3.677z M10.133,5.271 c-0.029,0-0.057,0.007-0.085,0.009l1.266-0.782l-0.578-0.82L8.439,6.272l0.232-0.144C8.531,6.375,8.445,6.655,8.445,6.958 c0,0.932,0.756,1.688,1.688,1.688S11.82,7.89,11.82,6.958S11.064,5.271,10.133,5.271z"/>
-<circle cx="5.854" cy="6.958" fill="#FFFFFF" r="1.25"/>
-<circle cx="10.133" cy="6.958" fill="#FFFFFF" r="1.25"/>
-<circle cx="5.854" cy="6.958" r="0.5"/>
-<circle cx="10.146" cy="6.958" r="0.5"/>
-<path d="M6.247,11.538c-0.629-0.475-1.146-0.824-1.412-0.798l0,0c-0.139,0.004-0.282,0.04-0.533,0.284l0,0l-0.709-0.707 c0.364-0.372,0.804-0.582,1.242-0.576l0,0c0.833,0.025,1.391,0.568,1.999,0.986l0,0c0.604,0.441,1.201,0.802,1.891,0.8l0,0 c0.664,0,1.54-0.327,2.745-1.521l0,0l0.706,0.708c-1.299,1.297-2.43,1.814-3.451,1.814l0,0C7.673,12.524,6.876,11.994,6.247,11.538 L6.247,11.538z M4.301,11.025C4.301,11.025,4.301,11.025,4.301,11.025L4.301,11.025h0.002H4.301L4.301,11.025z"/>
-<path d="M7.999,1C4.134,1,1,4.134,1,8c0,3.867,3.134,7,6.999,7s7-3.133,7-7C14.999,4.134,11.864,1,7.999,1z M7.999,14.5 c-3.588,0-6.5-2.91-6.5-6.5s2.912-6.5,6.5-6.5c3.59,0,6.501,2.91,6.501,6.5S11.589,14.5,7.999,14.5z"/>
-</svg>
--- a/uifw/AvKon/smileyicons/qgn_indi_smiley_smile.svg Mon Mar 15 12:41:34 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
-<svg baseProfile="tiny" height="16px" version="1.1" viewBox="0 0 15.999 16" width="15.999px" x="0px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" y="0px">
-<g>
-<g>
-<circle cx="8" cy="8" r="7"/>
-<radialGradient cx="7.8779" cy="5.0117" gradientUnits="userSpaceOnUse" id="SVGID_1_" r="8.363">
-<stop offset="0" style="stop-color:#FFF000"/>
-<stop offset="1" style="stop-color:#FFBF00"/>
-</radialGradient>
-<circle cx="8" cy="8" fill="url(#SVGID_1_)" r="6.5"/>
-<g display="none">
-<g display="inline">
-<path d="M5.354,7.193c0.639,0.369,1.454,0.15,1.82-0.486C6.639,6.396,5.37,5.663,4.869,5.373 C4.501,6.011,4.719,6.827,5.354,7.193z M11.132,5.373c-0.539,0.312-1.731,1-2.31,1.333c0.367,0.638,1.182,0.855,1.819,0.488 C11.282,6.826,11.498,6.011,11.132,5.373z" fill="#FFFFFF"/>
-</g>
-</g>
-</g>
-<ellipse cx="5.746" cy="5.826" fill="#FFFFFF" rx="1.89" ry="1.985"/>
-<ellipse cx="5.745" cy="5.826" rx="1.097" ry="1.151"/>
-<g>
-<ellipse cx="10.366" cy="5.826" fill="#FFFFFF" rx="1.89" ry="1.985"/>
-<ellipse cx="10.365" cy="5.826" rx="1.097" ry="1.151"/>
-</g>
-<g>
-<g>
-<g>
-<path d="M8.042,12.508c-1.905,0-3.485-1.297-3.97-3.047H3.209c0.506,2.223,2.457,3.896,4.833,3.896s4.328-1.673,4.833-3.896 h-0.862C11.527,11.211,9.947,12.508,8.042,12.508z"/>
-</g>
-</g>
-</g>
-</g>
-</svg>
--- a/uifw/AvKon/smileyicons/qgn_indi_smiley_spring.svg Mon Mar 15 12:41:34 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,94 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
-<svg baseProfile="tiny" height="16" version="1.1" viewBox="0 0 16 16" width="16" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
-<g>
-<rect fill="none" height="16" width="16"/>
-<g>
-<circle cx="7.27" cy="8.605" r="7"/>
-<radialGradient cx="7.1475" cy="5.6172" gradientUnits="userSpaceOnUse" id="XMLID_14_" r="8.3632">
-<stop offset="0" style="stop-color:#FFF000"/>
-<stop offset="1" style="stop-color:#FFBF00"/>
-</radialGradient>
-<circle cx="7.269" cy="8.605" fill="url(#XMLID_14_)" r="6.5"/>
-<g>
-<g>
-<circle cx="4.519" cy="7.593" fill="#FFFFFF" r="2"/>
-<circle cx="4.685" cy="7.135" r="1"/>
-</g>
-<g>
-<circle cx="10.019" cy="7.593" fill="#FFFFFF" r="2"/>
-<circle cx="9.936" cy="6.968" r="1"/>
-</g>
-</g>
-<g>
-<path d="M10.285,11.405c-1.621,1.62-4.25,1.619-5.87-0.001l-0.602,0.602c1.951,1.952,5.12,1.952,7.071,0 C10.688,11.807,10.465,11.586,10.285,11.405z"/>
-</g>
-</g>
-<g>
-<radialGradient cx="-77.1538" cy="7.6035" gradientTransform="matrix(0.9434 0.3316 -0.3316 0.9434 88.0172 31.2223)" gradientUnits="userSpaceOnUse" id="XMLID_15_" r="4.1221">
-<stop offset="0" style="stop-color:#39B54A"/>
-<stop offset="1" style="stop-color:#004F37"/>
-</radialGradient>
-<path d="M14.389,11.46c-0.465,0.829-1.51,1.296-1.51,1.296s-0.484-1.011-0.367-1.955 c0.123-0.992,0.885-1.175,1.404-0.993C14.434,9.99,14.891,10.564,14.389,11.46z" fill="url(#XMLID_15_)"/>
-<radialGradient cx="215.6543" cy="272.5693" gradientTransform="matrix(0.3316 -0.9434 0.9434 0.3316 -315.9427 125.8754)" gradientUnits="userSpaceOnUse" id="XMLID_16_" r="4.1233">
-<stop offset="0" style="stop-color:#39B54A"/>
-<stop offset="1" style="stop-color:#004F37"/>
-</radialGradient>
-<path d="M11.584,11.247c0.83,0.465,1.295,1.509,1.295,1.509s-1.01,0.484-1.955,0.367 C9.934,13,9.748,12.237,9.932,11.72C10.113,11.202,10.688,10.743,11.584,11.247z" fill="url(#XMLID_16_)"/>
-<radialGradient cx="-49.3149" cy="565.3789" gradientTransform="matrix(-0.9434 -0.3316 0.3316 -0.9434 -221.2897 529.8353)" gradientUnits="userSpaceOnUse" id="XMLID_17_" r="4.1181">
-<stop offset="0" style="stop-color:#39B54A"/>
-<stop offset="1" style="stop-color:#004F37"/>
-</radialGradient>
-<path d="M11.369,14.052c0.467-0.829,1.51-1.296,1.51-1.296s0.484,1.011,0.367,1.955 c-0.123,0.992-0.885,1.175-1.404,0.993C11.324,15.521,10.867,14.947,11.369,14.052z" fill="url(#XMLID_17_)"/>
-<radialGradient cx="-342.1211" cy="300.4141" gradientTransform="matrix(-0.3316 0.9434 -0.9434 -0.3316 182.6713 435.1813)" gradientUnits="userSpaceOnUse" id="XMLID_18_" r="4.1228">
-<stop offset="0" style="stop-color:#39B54A"/>
-<stop offset="1" style="stop-color:#004F37"/>
-</radialGradient>
-<path d="M14.174,14.265c-0.828-0.465-1.295-1.509-1.295-1.509s1.012-0.484,1.955-0.367 c0.992,0.123,1.176,0.886,0.994,1.403C15.645,14.31,15.07,14.769,14.174,14.265z" fill="url(#XMLID_18_)"/>
-</g>
-<g>
-<radialGradient cx="-108.0513" cy="105.0234" gradientTransform="matrix(0.2621 0.965 -0.965 0.2621 132.2873 79.1717)" gradientUnits="userSpaceOnUse" id="XMLID_19_" r="3.0883">
-<stop offset="0" style="stop-color:#39B54A"/>
-<stop offset="1" style="stop-color:#004F37"/>
-</radialGradient>
-<path d="M4.167,2.891c-0.71,0.065-1.442-0.38-1.442-0.38s0.417-0.729,1.051-1.059 c0.665-0.346,1.103,0.045,1.211,0.443C5.094,2.294,4.934,2.82,4.167,2.891z" fill="url(#XMLID_19_)"/>
-<radialGradient cx="118.5859" cy="240.9951" gradientTransform="matrix(0.965 -0.2621 0.2621 0.965 -174.9807 -199.049)" gradientUnits="userSpaceOnUse" id="XMLID_20_" r="3.0908">
-<stop offset="0" style="stop-color:#39B54A"/>
-<stop offset="1" style="stop-color:#004F37"/>
-</radialGradient>
-<path d="M3.106,1.068c0.065,0.71-0.381,1.442-0.381,1.442S1.996,2.093,1.667,1.459 C1.321,0.794,1.713,0.355,2.11,0.248C2.507,0.141,3.036,0.3,3.106,1.068z" fill="url(#XMLID_20_)"/>
-<radialGradient cx="-17.3877" cy="467.6338" gradientTransform="matrix(-0.2621 -0.965 0.965 -0.2621 -453.2023 108.218)" gradientUnits="userSpaceOnUse" id="XMLID_21_" r="3.0887">
-<stop offset="0" style="stop-color:#39B54A"/>
-<stop offset="1" style="stop-color:#004F37"/>
-</radialGradient>
-<path d="M1.283,2.13c0.709-0.066,1.442,0.381,1.442,0.381S2.307,3.239,1.673,3.568 C1.008,3.914,0.571,3.523,0.462,3.124C0.355,2.728,0.515,2.2,1.283,2.13z" fill="url(#XMLID_21_)"/>
-<radialGradient cx="-244.0229" cy="331.6602" gradientTransform="matrix(-0.965 0.2621 -0.2621 -0.965 -145.9344 386.4396)" gradientUnits="userSpaceOnUse" id="XMLID_22_" r="3.0896">
-<stop offset="0" style="stop-color:#39B54A"/>
-<stop offset="1" style="stop-color:#004F37"/>
-</radialGradient>
-<path d="M2.344,3.952c-0.066-0.71,0.381-1.441,0.381-1.441s0.729,0.418,1.058,1.051 c0.346,0.665-0.047,1.104-0.443,1.211C2.941,4.88,2.414,4.721,2.344,3.952z" fill="url(#XMLID_22_)"/>
-</g>
-<g>
-<radialGradient cx="-41.0405" cy="-80.561" gradientTransform="matrix(0.9995 -0.0325 0.0325 0.9995 57.3548 81.4338)" gradientUnits="userSpaceOnUse" id="XMLID_23_" r="2.5918">
-<stop offset="0" style="stop-color:#39B54A"/>
-<stop offset="1" style="stop-color:#004F37"/>
-</radialGradient>
-<path d="M14.395,1.073c-0.085,0.593-0.59,1.104-0.59,1.104s-0.515-0.482-0.662-1.063 c-0.152-0.61,0.252-0.892,0.598-0.902S14.484,0.435,14.395,1.073z" fill="url(#XMLID_23_)"/>
-<radialGradient cx="303.0293" cy="308.8408" gradientTransform="matrix(-0.0325 -0.9995 0.9995 -0.0325 -285.1209 315.1648)" gradientUnits="userSpaceOnUse" id="XMLID_24_" r="2.5912">
-<stop offset="0" style="stop-color:#39B54A"/>
-<stop offset="1" style="stop-color:#004F37"/>
-</radialGradient>
-<path d="M12.701,1.588c0.592,0.083,1.104,0.59,1.104,0.59s-0.482,0.514-1.063,0.661 c-0.611,0.153-0.892-0.252-0.902-0.598C11.828,1.896,12.061,1.496,12.701,1.588z" fill="url(#XMLID_24_)"/>
-<radialGradient cx="-86.3721" cy="652.9092" gradientTransform="matrix(-0.9995 0.0325 -0.0325 -0.9995 -51.3899 657.6404)" gradientUnits="userSpaceOnUse" id="XMLID_25_" r="2.5922">
-<stop offset="0" style="stop-color:#39B54A"/>
-<stop offset="1" style="stop-color:#004F37"/>
-</radialGradient>
-<path d="M13.213,3.282c0.086-0.593,0.592-1.104,0.592-1.104s0.514,0.482,0.66,1.063 c0.153,0.61-0.252,0.892-0.598,0.903C13.522,4.153,13.124,3.921,13.213,3.282z" fill="url(#XMLID_25_)"/>
-<radialGradient cx="-430.4419" cy="263.5088" gradientTransform="matrix(0.0325 0.9995 -0.9995 0.0325 291.0858 423.9095)" gradientUnits="userSpaceOnUse" id="XMLID_26_" r="2.5922">
-<stop offset="0" style="stop-color:#39B54A"/>
-<stop offset="1" style="stop-color:#004F37"/>
-</radialGradient>
-<path d="M14.907,2.768c-0.591-0.083-1.103-0.59-1.103-0.59s0.481-0.514,1.063-0.661 c0.609-0.152,0.891,0.253,0.902,0.598C15.78,2.459,15.549,2.859,14.907,2.768z" fill="url(#XMLID_26_)"/>
-</g>
-</g>
-</svg>
--- a/uifw/AvKon/smileyicons/qgn_indi_smiley_suprised.svg Mon Mar 15 12:41:34 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
-<svg baseProfile="tiny" height="16px" version="1.1" viewBox="-0.001 0 16 16" width="16px" x="0px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" y="0px">
-<rect fill="none" height="16" width="15.999"/>
-<radialGradient cx="7.8779" cy="5.0112" gradientUnits="userSpaceOnUse" id="SVGID_1_" r="8.363">
-<stop offset="0" style="stop-color:#FFF000"/>
-<stop offset="1" style="stop-color:#FFBF00"/>
-</radialGradient>
-<circle cx="8" cy="8" fill="url(#SVGID_1_)" r="6.5"/>
-<path d="M7.999,1C4.134,1,1,4.134,1,8c0,3.867,3.134,7,6.999,7s7-3.133,7-7C14.999,4.134,11.864,1,7.999,1z M7.999,14.5 c-3.588,0-6.5-2.91-6.5-6.5c0-3.59,2.912-6.5,6.5-6.5c3.59,0,6.501,2.91,6.501,6.5C14.5,11.589,11.589,14.5,7.999,14.5z"/>
-<circle cx="10.472" cy="5.552" r="2.25"/>
-<circle cx="10.472" cy="5.552" fill="#FFFFFF" r="1.75"/>
-<circle cx="10.472" cy="5.552" r="0.5"/>
-<circle cx="5.527" cy="5.552" r="2.25"/>
-<circle cx="5.527" cy="5.552" fill="#FFFFFF" r="1.77"/>
-<circle cx="5.527" cy="5.552" r="0.5"/>
-<path d="M11.364,11.173c0,1.552-1.507,2.558-3.365,2.558s-3.365-1.006-3.365-2.558s1.507-3.062,3.365-3.062 S11.364,9.622,11.364,11.173z" fill="#FF2E00"/>
-<path d="M4.383,11.173c0.01-1.713,1.623-3.304,3.616-3.313l0,0c1.993,0.008,3.606,1.6,3.616,3.313l0,0 c-0.01,1.742-1.683,2.805-3.616,2.809l0,0C6.066,13.978,4.391,12.916,4.383,11.173L4.383,11.173z M4.885,11.173 c0.002,1.36,1.33,2.299,3.114,2.307l0,0c1.784-0.008,3.112-0.946,3.114-2.307l0,0c-0.002-1.391-1.391-2.809-3.114-2.811l0,0 C6.276,8.365,4.887,9.783,4.885,11.173L4.885,11.173z"/>
-</svg>
--- a/uifw/AvKon/smileyicons/qgn_indi_smiley_tongue.svg Mon Mar 15 12:41:34 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
-<svg baseProfile="tiny" height="16px" version="1.1" viewBox="-0.001 0 16 16" width="16px" x="0px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" y="0px">
-<rect fill="none" height="16" width="16"/>
-<radialGradient cx="7.8774" cy="5.0112" gradientUnits="userSpaceOnUse" id="SVGID_1_" r="8.363">
-<stop offset="0" style="stop-color:#FFF000"/>
-<stop offset="1" style="stop-color:#FFBF00"/>
-</radialGradient>
-<circle cx="7.999" cy="8" fill="url(#SVGID_1_)" r="6.5"/>
-<circle cx="9.978" cy="5.811" r="2.5"/>
-<circle cx="9.978" cy="5.811" fill="#FFFFFF" r="2"/>
-<circle cx="9.513" cy="5.938" r="0.75"/>
-<path d="M3.967,7.744c0.169-0.508,0.296-0.931,1.1-1.227c-0.973-0.211-1.861,0-2.581,1.143L2.075,7.787 C2.407,6.413,3.468,5.56,4.651,5.566l0,0c0.788-0.002,1.602,0.371,2.266,1.102l0,0L6.801,6.982c-0.931,0-1.819-0.169-2.623,0.719 L3.967,7.744z"/>
-<path d="M12.833,9.199l-0.066-0.82C9.542,8.585,7.413,9.992,5.316,9.971C4.591,9.969,3.861,9.824,3.045,9.416l-0.356,0.716H2.687 c0.754,0.377,1.474,0.56,2.172,0.614c0.216,1.847,1.356,2.984,2.641,2.836c1.807-0.207,2.568-1.744,2.596-3.9 C10.939,9.451,11.832,9.255,12.833,9.199z"/>
-<path d="M7.276,13.096c-0.5,0-0.973-0.268-1.33-0.75c-0.308-0.417-0.511-0.973-0.592-1.603 c0.304-0.292,1.156-0.48,1.955-0.207c0.344-0.484,1.87-0.76,2.242-0.635c0,1.818-0.802,3.032-2.109,3.185 C7.386,13.092,7.331,13.096,7.276,13.096L7.276,13.096z" fill="#FF2E00"/>
-<path d="M7.999,1C4.134,1,1,4.134,1,8c0,3.867,3.134,7,6.999,7c3.866,0,7-3.133,7-7C15,4.134,11.865,1,7.999,1z M7.999,14.5 c-3.588,0-6.5-2.91-6.5-6.5c0-3.59,2.912-6.5,6.5-6.5c3.59,0,6.5,2.91,6.5,6.5C14.5,11.589,11.589,14.5,7.999,14.5z"/>
-</svg>
--- a/uifw/AvKon/smileyicons/qgn_indi_smiley_unhappy.svg Mon Mar 15 12:41:34 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
-<svg baseProfile="tiny" height="16px" version="1.1" viewBox="0 0 15.999 16" width="15.999px" x="0px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" y="0px">
-<g>
-<g>
-<g>
-<g>
-<circle cx="8" cy="8" r="7"/>
-<radialGradient cx="7.8774" cy="5.0117" gradientUnits="userSpaceOnUse" id="SVGID_1_" r="8.3635">
-<stop offset="0" style="stop-color:#FFF000"/>
-<stop offset="1" style="stop-color:#FFBF00"/>
-</radialGradient>
-<circle cx="8" cy="8" fill="url(#SVGID_1_)" r="6.5"/>
-<g display="none">
-<g display="inline">
-<path d="M5.354,7.193c0.639,0.369,1.454,0.15,1.82-0.486C6.639,6.396,5.37,5.663,4.869,5.373 C4.501,6.011,4.719,6.827,5.354,7.193z M11.132,5.373c-0.539,0.312-1.731,1-2.31,1.333c0.367,0.638,1.182,0.855,1.819,0.488 C11.282,6.826,11.498,6.011,11.132,5.373z" fill="#FFFFFF"/>
-</g>
-</g>
-</g>
-<path d="M6.829,7.887c0,1.084,0.172-0.091-1.079-0.091c-1.291,0-1.15,1.175-1.15,0.091c0-1.084,0.499-1.963,1.114-1.963 C6.331,5.924,6.829,6.803,6.829,7.887z"/>
-<path d="M11.446,7.887c0,1.084,0.172-0.091-1.079-0.091c-1.291,0-1.15,1.175-1.15,0.091c0-1.084,0.499-1.963,1.114-1.963 C10.948,5.924,11.446,6.803,11.446,7.887z"/>
-<rect height="0.75" transform="matrix(0.7699 -0.6382 0.6382 0.7699 -1.8628 4.3062)" width="3.332" x="3.374" y="4.361"/>
-</g>
-<rect height="0.75" transform="matrix(0.7699 0.6382 -0.6382 0.7699 5.5622 -5.9558)" width="3.332" x="9.374" y="4.36"/>
-</g>
-<g>
-<g>
-<g>
-<path d="M5.031,12.431c1.621-1.62,4.25-1.619,5.869,0.001l0.602-0.602c-1.951-1.952-5.119-1.952-7.07,0 C4.629,12.03,4.852,12.25,5.031,12.431z"/>
-</g>
-</g>
-</g>
-</g>
-</svg>
--- a/uifw/AvKon/smileyicons/qgn_indi_smiley_verycool.svg Mon Mar 15 12:41:34 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,40 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
-<svg baseProfile="tiny" height="16" version="1.1" viewBox="0 0 16 16" width="16" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
-<g>
-<rect fill="none" height="16" width="16"/>
-<g>
-<circle cx="8" cy="8" r="7"/>
-<radialGradient cx="7.8779" cy="5.0117" gradientUnits="userSpaceOnUse" id="XMLID_5_" r="8.3632">
-<stop offset="0" style="stop-color:#FFF000"/>
-<stop offset="1" style="stop-color:#FFBF00"/>
-</radialGradient>
-<circle cx="8" cy="8" fill="url(#XMLID_5_)" r="6.5"/>
-<g>
-<path d="M14.732,4.001c0,0-6.354,0.839-6.743,0.84c-0.396,0-6.722-0.84-6.722-0.84C0.779,5.75,1.801,7.565,3.548,8.052 c1.675,0.468,3.399-0.457,3.97-2.072C7.673,5.913,7.833,5.879,7.99,5.879C8.158,5.88,8.326,5.916,8.488,5.995 c0.576,1.605,2.295,2.522,3.965,2.057C14.199,7.565,15.223,5.75,14.732,4.001z"/>
-</g>
-</g>
-<g>
-<linearGradient gradientUnits="userSpaceOnUse" id="XMLID_6_" x1="5.21" x2="4.5706" y1="4.7246" y2="7.7828">
-<stop offset="0" style="stop-color:#FFFFFF"/>
-<stop offset="1" style="stop-color:#000000"/>
-</linearGradient>
-<path d="M5.205,4.515L3.37,7.986C3.43,8.007,3.483,8.038,3.544,8.055 c0.181,0.051,0.362,0.077,0.543,0.097c0.125,0.01,0.249,0.012,0.373,0.01c0.024,0,0.049,0,0.073-0.001l1.848-3.497L5.205,4.515z" fill="url(#XMLID_6_)" fill-opacity="0.8" stroke-opacity="0.8"/>
-<linearGradient gradientUnits="userSpaceOnUse" id="XMLID_7_" x1="3.9858" x2="3.3802" y1="4.6631" y2="7.5599">
-<stop offset="0" style="stop-color:#FFFFFF"/>
-<stop offset="1" style="stop-color:#000000"/>
-</linearGradient>
-<path d="M4.34,4.406L2.647,7.634c0.082,0.053,0.158,0.111,0.245,0.157 c0.013,0.008,0.025,0.017,0.039,0.024c0.015,0.007,0.03,0.011,0.045,0.018l1.769-3.375L4.34,4.406z" fill="url(#XMLID_7_)" fill-opacity="0.8" stroke-opacity="0.8"/>
-<linearGradient gradientUnits="userSpaceOnUse" id="XMLID_8_" x1="11.8291" x2="10.8514" y1="4.6211" y2="7.4705">
-<stop offset="0" style="stop-color:#FFFFFF"/>
-<stop offset="1" style="stop-color:#000000"/>
-</linearGradient>
-<path d="M11.547,4.418L9.85,7.669c0.053,0.033,0.104,0.072,0.158,0.103 c0.047,0.024,0.094,0.047,0.141,0.069c0.107,0.052,0.217,0.096,0.328,0.136c0.104,0.035,0.209,0.067,0.316,0.093 c0.029,0.008,0.061,0.013,0.092,0.02l2.006-3.845L11.547,4.418z" fill="url(#XMLID_8_)" fill-opacity="0.8" stroke-opacity="0.8"/>
-</g>
-<g>
-<path d="M4.389,9.966C5.085,11.26,6.426,12.15,8,12.15c1.573,0,2.915-0.891,3.61-2.185H4.389z" fill="none"/>
-<path d="M3.167,9.104C3.672,11.327,5.624,13,8,13c2.377,0,4.329-1.673,4.833-3.896H3.167z" fill="#FFFFFF"/>
-<path d="M3.167,9.104C3.672,11.327,5.624,13,8,13c2.377,0,4.329-1.673,4.833-3.896H3.167z M8,12.15 c-1.573,0-2.914-0.891-3.61-2.185h7.22C10.914,11.26,9.572,12.15,8,12.15z"/>
-</g>
-</g>
-</svg>
--- a/uifw/AvKon/smileyicons/qgn_indi_smiley_wink.svg Mon Mar 15 12:41:34 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
-<svg baseProfile="tiny" height="16px" version="1.1" viewBox="0 0 15.999 16" width="15.999px" x="0px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" y="0px">
-<g>
-<g>
-<g>
-<g>
-<circle cx="8" cy="8" r="7"/>
-<radialGradient cx="7.8774" cy="5.0117" gradientUnits="userSpaceOnUse" id="SVGID_1_" r="8.3635">
-<stop offset="0" style="stop-color:#FFF000"/>
-<stop offset="1" style="stop-color:#FFBF00"/>
-</radialGradient>
-<circle cx="8" cy="8" fill="url(#SVGID_1_)" r="6.5"/>
-<path d="M12.091,9.686c-0.354,1.25-1.917,2.896-3.604,2.854c-1.748-0.043-3.271-2.166-3.896-2.729S3.215,9.28,3.089,9.85 c-0.421,0.914,1.363,3.421,5.286,3.482c2.07,0.033,4.5-2.191,4.5-3.625L12.091,9.686z"/>
-<g display="none">
-<g display="inline">
-<path d="M5.354,7.193c0.639,0.369,1.454,0.15,1.82-0.486C6.639,6.396,5.37,5.663,4.869,5.373 C4.501,6.011,4.719,6.827,5.354,7.193z M11.132,5.373c-0.539,0.312-1.731,1-2.31,1.333c0.367,0.638,1.182,0.855,1.819,0.488 C11.282,6.826,11.498,6.011,11.132,5.373z" fill="#FFFFFF"/>
-</g>
-</g>
-</g>
-</g>
-<path d="M8.097,8.5c0.138-0.369,0.256-2.075-0.613-3.23C6.532,4.007,4.759,3.896,4.611,4.007c-0.146,0.111,1.391,0.399,2.34,1.662 C7.431,6.304,7.67,7.065,7.808,7.65C7.486,7.085,6.913,6.417,6.086,6.046C4.643,5.401,3.004,5.92,2.863,6.234 c-0.14,0.313,1.272,0.301,2.715,0.947C7.021,7.827,7.95,8.886,8.091,8.573C8.099,8.555,8.094,8.523,8.097,8.5z"/>
-</g>
-<ellipse cx="10.956" cy="6.588" fill="#FFFFFF" rx="1.89" ry="1.985"/>
-<ellipse cx="10.955" cy="6.588" rx="0.978" ry="1.026"/>
-</g>
-</svg>
--- a/uifw/AvKon/smileyicons/qgn_indi_smiley_wink_grin.svg Mon Mar 15 12:41:34 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
-<svg baseProfile="tiny" height="16px" version="1.1" viewBox="0 0 15.999 16" width="15.999px" x="0px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" y="0px">
-<g>
-<g>
-<g>
-<g>
-<circle cx="8" cy="8" r="7"/>
-<radialGradient cx="7.8774" cy="5.0112" gradientUnits="userSpaceOnUse" id="SVGID_1_" r="8.3632">
-<stop offset="0" style="stop-color:#FFF000"/>
-<stop offset="1" style="stop-color:#FFBF00"/>
-</radialGradient>
-<circle cx="8" cy="8" fill="url(#SVGID_1_)" r="6.5"/>
-<path d="M8.167,10.832c-1.726-0.279-2.499-0.541-3.577-1.021C3.821,9.469,3.215,9.28,3.089,9.85 c-0.421,0.914,1.372,3.321,5.286,3.483c3.729,0.153,5.174-3.637,5.174-5.068C13.549,8.265,10.959,11.282,8.167,10.832z"/>
-<g display="none">
-<g display="inline">
-<path d="M5.354,7.193c0.639,0.369,1.454,0.15,1.82-0.486C6.639,6.396,5.37,5.663,4.869,5.373 C4.501,6.011,4.719,6.827,5.354,7.193z M11.132,5.373c-0.539,0.312-1.731,1-2.31,1.333c0.367,0.638,1.182,0.855,1.819,0.488 C11.282,6.826,11.498,6.011,11.132,5.373z" fill="#FFFFFF"/>
-</g>
-</g>
-</g>
-</g>
-<path d="M8.097,8.5C8.234,8.131,8.353,6.426,7.483,5.27C6.532,4.007,4.759,3.896,4.611,4.007c-0.146,0.111,1.391,0.399,2.34,1.662 C7.431,6.304,7.67,7.065,7.808,7.65C7.486,7.085,6.913,6.417,6.086,6.046C4.643,5.401,3.004,5.92,2.863,6.234 c-0.14,0.313,1.272,0.301,2.715,0.947C7.021,7.828,7.95,8.886,8.091,8.573C8.099,8.556,8.094,8.523,8.097,8.5z"/>
-</g>
-<g>
-<ellipse cx="10.827" cy="6.449" fill="#FFFFFF" rx="1.89" ry="1.985"/>
-<ellipse cx="10.826" cy="6.449" rx="0.972" ry="1.02"/>
-</g>
-</g>
-</svg>
--- a/uifw/AvKon/smileyicons/qgn_indi_smiley_wondering.svg Mon Mar 15 12:41:34 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
-<svg baseProfile="tiny" height="16px" version="1.1" viewBox="-0.001 0 16 16" width="16px" x="0px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" y="0px">
-<rect fill="none" height="16" width="15.999"/>
-<radialGradient cx="7.8774" cy="5.0117" gradientUnits="userSpaceOnUse" id="SVGID_1_" r="8.3634">
-<stop offset="0" style="stop-color:#FFF000"/>
-<stop offset="1" style="stop-color:#FFBF00"/>
-</radialGradient>
-<circle cx="8" cy="8" fill="url(#SVGID_1_)" r="6.501"/>
-<path d="M7.999,1C4.134,1,1,4.134,1,8c0,3.867,3.134,7,6.999,7c3.865,0,7-3.133,7-7C14.999,4.134,11.864,1,7.999,1z M7.999,14.5 c-3.588,0-6.5-2.91-6.5-6.5s2.912-6.5,6.5-6.5C11.588,1.5,14.5,4.41,14.5,8S11.588,14.5,7.999,14.5z"/>
-<rect height="1" transform="matrix(0.9879 0.155 -0.155 0.9879 1.8535 -1.1029)" width="7" x="4.499" y="10.834"/>
-<path d="M3.014,6.319c0.825,0,3.606,0,4,0c0,1.103-0.895,2-2,2C3.907,8.319,3.014,7.422,3.014,6.319z" fill="#FFFFFF"/>
-<path d="M8.32,6.319c0.825,0,3.606,0,4,0c0,1.103-0.895,2-2,2C9.213,8.319,8.32,7.422,8.32,6.319z" fill="#FFFFFF"/>
-<path d="M2.473,6.34h1.965C4.45,6.883,4.89,7.319,5.434,7.319c0.547,0,0.984-0.437,0.996-0.979h0.606v-0.8H2.473V6.34z M7.779,5.541 v0.8h1.964c0.013,0.542,0.453,0.979,0.996,0.979c0.547,0,0.984-0.437,0.996-0.979h0.606v-0.8H7.779z"/>
-</svg>
--- a/uifw/AvKon/src/AknAppUi.cpp Mon Mar 15 12:41:34 2010 +0200
+++ b/uifw/AvKon/src/AknAppUi.cpp Wed Mar 31 21:59:52 2010 +0300
@@ -69,7 +69,7 @@
#include <gfxtranseffect/gfxtranseffect.h>
#include <aknSDData.h>
-#include <secondarydisplay/AknSecondaryDisplayDefs.h>
+#include <SecondaryDisplay/AknSecondaryDisplayDefs.h>
#include <startupdomainpskeys.h>
#include "transitionmanager.h"
--- a/uifw/AvKon/src/AknCheckBoxSettingPage.cpp Mon Mar 15 12:41:34 2010 +0200
+++ b/uifw/AvKon/src/AknCheckBoxSettingPage.cpp Wed Mar 31 21:59:52 2010 +0300
@@ -362,6 +362,13 @@
switch (aCommandId)
{
case EAknSoftkeySelect:
+ {
+ if ( EnableSingleClickHighlight( aCommandId ) )
+ {
+ break;
+ }
+ // no single click mode was enabled, fall through
+ }
case EAknSoftkeyMark:
case EAknSoftkeyUnmark:
if ( AknLayoutUtils::PenEnabled() )
--- a/uifw/AvKon/src/AknListBoxSettingPage.cpp Mon Mar 15 12:41:34 2010 +0200
+++ b/uifw/AvKon/src/AknListBoxSettingPage.cpp Wed Mar 31 21:59:52 2010 +0300
@@ -168,6 +168,33 @@
return EFalse;
}
+//---------------------------------------------------------------------------------------
+// CAknListBoxSettingPage::EnableSingleClickHighlightL()
+// Enables highlight to listbox control in single click mode if needed
+//---------------------------------------------------------------------------------------
+//
+TBool CAknListBoxSettingPage::EnableSingleClickHighlight( TInt aCommandId )
+ {
+ TBool highLightEnabled = EFalse;
+
+ if ( aCommandId == EAknSoftkeySelect &&
+ ListBoxControl()->ItemDrawer()->Flags()
+ & CListItemDrawer::ESingleClickDisabledHighlight )
+ {
+ TKeyEvent event;
+ event.iCode = EKeyOK;
+ // restore highlight with simulated key event
+ TKeyResponse response =
+ ListBoxControl()->OfferKeyEventL( event, EEventKey );
+
+ if ( response == EKeyWasConsumed )
+ {
+ highLightEnabled = ETrue;
+ }
+ }
+ return highLightEnabled;
+ }
+
void CAknListBoxSettingPage::CreateIconAndAddToArrayL(
CArrayPtr<CGulIcon>*& aIconArray,
const TAknsItemID& aId,
--- a/uifw/AvKon/src/AknPopupField.cpp Mon Mar 15 12:41:34 2010 +0200
+++ b/uifw/AvKon/src/AknPopupField.cpp Wed Mar 31 21:59:52 2010 +0300
@@ -208,10 +208,7 @@
void CAknPopupField::SetUpScrollBarL()
{
- if ( !iExtension || !iExtension->iSingleClickEnabled )
- {
- __ASSERT_DEBUG( iCba, Panic( EAknPanicPopupFieldCBADoesntExist ) );
- }
+ __ASSERT_DEBUG( iCba, Panic( EAknPanicPopupFieldCBADoesntExist ) );
__ASSERT_DEBUG(iSelectionList != NULL, Panic(EAknPanicPopupFieldSelectionListDoesntExist));
iSelectionList->SetMopParent(this); // to get remote scb
iSelectionList->CreateScrollBarFrameL(ETrue, ETrue);
@@ -832,10 +829,7 @@
void CAknPopupField::CreatePopoutL()
{
- if ( !iExtension || !iExtension->iSingleClickEnabled )
- {
- CreateCbaL();
- }
+ CreateCbaL();
ConstructSelectionListL();
ChangeMode(EAknPopupFieldSelectionListMode);
SetUpScrollBarL();
--- a/uifw/AvKon/src/AknPopupSettingPage.cpp Mon Mar 15 12:41:34 2010 +0200
+++ b/uifw/AvKon/src/AknPopupSettingPage.cpp Wed Mar 31 21:59:52 2010 +0300
@@ -820,4 +820,18 @@
{
}
+//---------------------------------------------------------------------------------------
+// CAknPopupSettingPage::ProcessCommandL()
+// Processes events from the softkeys. (Or translated from key events)
+//---------------------------------------------------------------------------------------
+//
+EXPORT_C void CAknPopupSettingPage::ProcessCommandL( TInt aCommandId )
+ {
+ if ( !EnableSingleClickHighlight( aCommandId ) )
+ {
+ // no single click mode was enabled, just call the base class method
+ CAknSettingPage::ProcessCommandL( aCommandId );
+ }
+ }
+
// End of File
--- a/uifw/AvKon/src/AknPreviewPopUp.cpp Mon Mar 15 12:41:34 2010 +0200
+++ b/uifw/AvKon/src/AknPreviewPopUp.cpp Wed Mar 31 21:59:52 2010 +0300
@@ -67,8 +67,7 @@
: iContent( aContent ),
iController( aController ),
iFlags( aStyle ),
- iAllowUpEvent(EFalse),
- iIsDeleted(0)
+ iAllowUpEvent(EFalse)
{
GfxTransEffect::Register( this, KGfxPreviewPopupControlUid );
}
@@ -81,12 +80,6 @@
{
AKNTASHOOK_REMOVE();
- if( iIsDeleted )
- {
- *iIsDeleted = ETrue ;
- iIsDeleted = 0 ;
- }
-
GfxTransEffect::Deregister( this );
if ( CapturesPointer() )
@@ -516,9 +509,6 @@
//
void CAknPreviewPopUp::HandlePointerEventL( const TPointerEvent& aPointerEvent )
{
- TBool isDelete = EFalse;
- iIsDeleted = &isDelete;
-
if ( AknLayoutUtils::PenEnabled() )
{
iCloseMenu = EFalse;
@@ -532,10 +522,6 @@
{
iAllowUpEvent = ETrue;
CCoeControl::HandlePointerEventL( aPointerEvent );
- if( isDelete )
- {
- return;
- }
if ( !( iFlags & CAknPreviewPopUpController::EPermanentMode ) && aPointerEvent.iType == TPointerEvent::EButton1Up && IsVisible() )
{
// if pointer up is already redirected to the content, but the popup is still visible,
@@ -607,10 +593,6 @@
(aPointerEvent.iType == TPointerEvent::EButton1Up && iAllowUpEvent ) )
{
CCoeControl::HandlePointerEventL( aPointerEvent );
- if( isDelete )
- {
- return;
- }
}
}
else
@@ -619,10 +601,6 @@
aPointerEvent.iType == TPointerEvent::EButtonRepeat )
{
CCoeControl::HandlePointerEventL( aPointerEvent );
- if( isDelete )
- {
- return;
- }
}
}
@@ -632,8 +610,6 @@
iAllowUpEvent = EFalse;
}
}
-
- iIsDeleted = 0;
}
// -----------------------------------------------------------------------------
--- a/uifw/AvKon/src/AknRadioButtonSettingPage.cpp Mon Mar 15 12:41:34 2010 +0200
+++ b/uifw/AvKon/src/AknRadioButtonSettingPage.cpp Wed Mar 31 21:59:52 2010 +0300
@@ -500,4 +500,18 @@
{
}
+//---------------------------------------------------------------------------------------
+// CAknRadioButtonSettingPage::ProcessCommandL()
+// Processes events from the softkeys. (Or translated from key events)
+//---------------------------------------------------------------------------------------
+//
+EXPORT_C void CAknRadioButtonSettingPage::ProcessCommandL( TInt aCommandId )
+ {
+ if ( !EnableSingleClickHighlight( aCommandId ) )
+ {
+ // no single click mode was enabled, just call the base class method
+ CAknSettingPage::ProcessCommandL( aCommandId );
+ }
+ }
+
// End of File
--- a/uifw/AvKon/src/AknSettingItemList.cpp Mon Mar 15 12:41:34 2010 +0200
+++ b/uifw/AvKon/src/AknSettingItemList.cpp Wed Mar 31 21:59:52 2010 +0300
@@ -2640,7 +2640,7 @@
{
// launch the setting page index
SettingItemArray()->At(aIndex)->EditItemL( aCalledFromMenu );
- iSettingItemListBox->View()->DrawItem( iSettingItemListBox->CurrentItemIndex() );
+ iSettingItemListBox->DrawDeferred();
}
_AKNTRACE_FUNC_EXIT;
--- a/uifw/AvKon/src/AknSettingPage.cpp Mon Mar 15 12:41:34 2010 +0200
+++ b/uifw/AvKon/src/AknSettingPage.cpp Wed Mar 31 21:59:52 2010 +0300
@@ -1391,17 +1391,6 @@
{
AknItemActionMenuRegister::SetOverridingMenuBarOwnerL( NULL );
- if ( GfxTransEffect::IsRegistered( this ) )
- {
- GfxTransEffect::Begin( this, KGfxControlDisappearAction );
- MakeVisible( EFalse );
- GfxTransEffect::End( this );
- }
- else
- {
- MakeVisible( EFalse );
- }
-
if ( aAccept )
{
AcceptSettingL();
@@ -1414,6 +1403,17 @@
if ( iSettingPageObserver )
iSettingPageObserver->HandleSettingPageEventL(this, MAknSettingPageObserver::EEventSettingCancelled);
}
+
+ if ( GfxTransEffect::IsRegistered( this ) )
+ {
+ GfxTransEffect::Begin( this, KGfxControlDisappearAction );
+ MakeVisible( EFalse );
+ GfxTransEffect::End( this );
+ }
+ else
+ {
+ MakeVisible( EFalse );
+ }
iEikonEnv->RemoveFromStack(iCba);
delete iCba;
--- a/uifw/AvKon/src/AknSmileyImage.cpp Mon Mar 15 12:41:34 2010 +0200
+++ b/uifw/AvKon/src/AknSmileyImage.cpp Wed Mar 31 21:59:52 2010 +0300
@@ -234,7 +234,7 @@
if(iImageSkinItemId.iMinor > 0)
{
MAknsSkinInstance* skin = AknsUtils::SkinInstance();
- TRAPD(err, AknsUtils::CreateColorIconL(skin, iImageSkinItemId,
+ TRAP_IGNORE( AknsUtils::CreateColorIconL(skin, iImageSkinItemId,
KAknsIIDQsnTextColors, EAknsCIQsnTextColorsCG19,
iFrame, iFrameMask,
smileyMifName, iImageMifPkgItemId, iImageMifPkgItemId,
@@ -242,7 +242,7 @@
}
else
{
- TRAPD(err, AknIconUtils::CreateIconL(iFrame, iFrameMask, smileyMifName, iImageMifPkgItemId, iImageMifPkgItemId));
+ TRAP_IGNORE( AknIconUtils::CreateIconL(iFrame, iFrameMask, smileyMifName, iImageMifPkgItemId, iImageMifPkgItemId));
}
if(iIsAnimation) // the first frame of animation svg is blank without correct content
--- a/uifw/AvKon/src/AknSmileyModel.cpp Mon Mar 15 12:41:34 2010 +0200
+++ b/uifw/AvKon/src/AknSmileyModel.cpp Wed Mar 31 21:59:52 2010 +0300
@@ -30,7 +30,7 @@
#include "AknSmileyModel.h"
#include "AknSmileyImage.h"
-
+#include "akntrace.h"
///////////////////////////////////////////////////////////////////////////////////////////////
// TSmileyIconInfo
@@ -94,6 +94,7 @@
delete iAnimationImage;
iTextArray.Close();
+ iCodeArray.Close();
}
const CFbsBitmap* CSmileyIcon::Image() const
@@ -188,9 +189,10 @@
return (iAnimationImage && iAnimationImage->ReadyToDraw());
}
-void CSmileyIcon::AddText(const TDesC& aText) // for spliting strings = ":P :p :-P :-p";
+void CSmileyIcon::AddVariant(const TDesC& aText, TChar aBaseCode)
{
TPtrC ptr(aText);
+ TUint16 baseCode = aBaseCode;
while(ptr.Length())
{
@@ -204,14 +206,19 @@
iTextArray.Append(ptr.Left(left));
ptr.Set(ptr.Right(right));
+ iCodeArray.Append(baseCode++);
}
}
-const TDesC& CSmileyIcon::Text(TInt aVariate) const
+TInt CSmileyIcon::VariantCount() const
{
- if(aVariate>=0 && aVariate<TextVariate())
+ return iTextArray.Count();
+ }
+const TDesC& CSmileyIcon::Text(TInt aVariant) const
+ {
+ if(aVariant>=0 && aVariant<VariantCount())
{
- return iTextArray[aVariate];
+ return iTextArray[aVariant];
}
else
{
@@ -219,11 +226,17 @@
}
}
-TInt CSmileyIcon::TextVariate() const
+TChar CSmileyIcon::Code(TInt aVariant) const
{
- return iTextArray.Count();
+ if(aVariant>=0 && aVariant<VariantCount())
+ {
+ return iCodeArray[aVariant];
}
-
+ else
+ {
+ return 0;
+ }
+ }
///////////////////////////////////////////////////////////////////////////////////////////////
@@ -294,8 +307,6 @@
~CSmileyTextTreeNode();
TChar Char() const;
- TChar LastChildChar() const;
- TChar FirstChildChar() const;
CSmileyTextTreeNode* AddTreeL(const TDesC& aText, TChar aCode);
TInt ChildCount() const;
@@ -303,7 +314,7 @@
CSmileyTextTreeNode* Child(TChar aChar) const;
private:
- CSmileyTextTreeNode* AddChildL(TChar aChar);
+ CSmileyTextTreeNode* AddChildAscendingL(TChar aChar);
private:
TChar iChar;
@@ -332,42 +343,19 @@
return iChar;
}
-TChar CSmileyTextTreeNode::LastChildChar() const
- {
- if(iChildArray)
- {
- TInt index = iChildArray->Count() - 1;
- return iChildArray->At(index)->Char();
- }
- else
- {
- return 0;
- }
- }
-TChar CSmileyTextTreeNode::FirstChildChar() const
- {
- if(iChildArray)
- {
- return iChildArray->At(0)->Char();
- }
- else
- {
- return 0;
- }
- }
CSmileyTextTreeNode* CSmileyTextTreeNode::AddTreeL(const TDesC& aText, TChar aCode)
{
TInt length = aText.Length();
if(length > 0)
{
- CSmileyTextTreeNode* node = AddChildL(aText[0]);
+ CSmileyTextTreeNode* node = AddChildAscendingL(aText[0]);
return node->AddTreeL(aText.Right(length-1), aCode);
}
else
{
- return AddChildL(aCode);
+ return AddChildAscendingL(aCode);
}
}
@@ -399,7 +387,13 @@
{
if(iChildArray)
{
- for(TInt i=iChildArray->Count()-1; i>=0; i--)
+ const TInt KFirstPos = 0;
+ const TInt KEndPos = iChildArray->Count() - 1;
+ if(aChar<iChildArray->At(KFirstPos)->Char() || aChar>iChildArray->At(KEndPos)->Char())
+ {
+ return NULL;
+ }
+ for(TInt i=KEndPos; i>=KFirstPos; i--)
{
CSmileyTextTreeNode* node = iChildArray->At(i);
if(node->Char() == aChar)
@@ -412,7 +406,7 @@
return NULL;
}
-CSmileyTextTreeNode* CSmileyTextTreeNode::AddChildL(TChar aChar)
+CSmileyTextTreeNode* CSmileyTextTreeNode::AddChildAscendingL(TChar aChar)
{
// new
if(!iChildArray)
@@ -447,8 +441,8 @@
// CSmileyModel
///////////////////////////////////////////////////////////////////////////////////////////////
-const TUint16 KBaseCodeOn = 0xf880;
-const TUint16 KBaseCodeOff = 0x7FFF;
+const TUint16 KBaseCode = 0xf880;
+//const TUint16 KBaseCodeOff = 0x7FFF;
_LIT(KPlaceHolder, "\xf880i");
CSmileyModel::CSmileyModel(MAknSmileyObserver* aObserver) : iSmileyIconObserver(aObserver)
@@ -460,6 +454,7 @@
ReleaseResource();
iSmileyIconArray.Close();
+ iSmileyCodeIndexArray.Close();
}
void CSmileyModel::LoadResourceL()
@@ -473,7 +468,7 @@
TInt offset = CCoeEnv::Static()->AddResourceFileL(smileyRscName);
CCoeEnv::Static()->CreateResourceReaderLC(reader, R_SMILEY_ICONS_INFO);
- iBaseCode = KBaseCodeOn;
+ TUint16 codeRef = KBaseCode;
TInt index = 0;
iTextSearchTree = new (ELeave) CSmileyTextTreeNode(0);
@@ -484,13 +479,12 @@
TSmileyIconInfo info;
TBool isAnimation = (reader.ReadInt16() == 1);
- TInt code = reader.ReadInt16();
+ TInt16 code = reader.ReadInt16();
TInt bmpId1 = reader.ReadInt32();
TInt maskId1 = reader.ReadInt32();
TInt bmpId2 = reader.ReadInt32();
TInt maskId2 = reader.ReadInt32();
- if(iBaseCode > code) iBaseCode = code;
info.iIndex = index++;
@@ -508,13 +502,14 @@
TBuf<64> smileyName = reader.ReadTPtrC(); // strings
CSmileyIcon* icon = CSmileyIcon::NewL(info, this);
- icon->AddText(smileyName);
+ icon->AddVariant(smileyName, codeRef);
iSmileyIconArray.Append(icon);
// build text search tree
- for(TInt j=0; j<icon->TextVariate(); j++)
+ for(TInt j=0; j<icon->VariantCount(); j++)
{
- iTextSearchTree->AddTreeL(icon->Text(j), SmileyCode(i,j));
+ iTextSearchTree->AddTreeL(icon->Text(j), codeRef++);
+ iSmileyCodeIndexArray.Append(TSmileyCodeIndex(icon,j));
}
}
@@ -526,12 +521,16 @@
info.iIndex = index++;
info.iSkinItemID = KAknsIIDQgnIndiSwitchSmiley2;
info.iDefaultStillImageID = EMbmSmileyQgn_indi_switch_smiley2;
- iSmileyIconArray.Append(CSmileyIcon::NewL(info,this));
+ CSmileyIcon* switchSmileyIcon = CSmileyIcon::NewL(info, this);
+ iSmileyIconArray.Append(switchSmileyIcon);
+ iSmileyCodeIndexArray.Append(TSmileyCodeIndex(switchSmileyIcon));
info.iIndex = index++;
info.iSkinItemID = KAknsIIDQgnIndiSwitchSct2;
info.iDefaultStillImageID = EMbmSmileyQgn_indi_switch_sct2;
- iSmileyIconArray.Append(CSmileyIcon::NewL(info,this));
+ CSmileyIcon* switchSctIcon = CSmileyIcon::NewL(info,this);
+ iSmileyIconArray.Append(switchSctIcon);
+ iSmileyCodeIndexArray.Append(TSmileyCodeIndex(switchSctIcon));
}
@@ -547,13 +546,13 @@
}
iSmileyIconArray.Reset();
+ iSmileyCodeIndexArray.Reset();
// reset task loader
iSmileyLoader.DiscardAll();
delete iTextSearchTree;
iTextSearchTree = NULL;
- iBaseCode = 0x7FFF; // max value
}
TInt CSmileyModel::ConvertCodesToTextL(TDes& aText)
@@ -589,12 +588,11 @@
TInt CSmileyModel::ConvertTextToCodesL(TDes& aText)
{
+ _AKNTRACE_FUNC_ENTER;
TInt converted = 0;
iConvertBuffer.Zero();
CSmileyTextTreeNode* node = iTextSearchTree;
- TChar lastChar = node->LastChildChar();
- TChar firstChar = node->FirstChildChar();
TInt matchedLength = 0;
// deal all
@@ -604,50 +602,52 @@
TChar character = aText[pos++];
iConvertBuffer.Append(character);
- if(!(character<firstChar || character>lastChar)) // is possible
- {
CSmileyTextTreeNode* find = node->Child(character);
if(find)
{
matchedLength++; // character is mathed
CSmileyTextTreeNode* child = find->Child(0);
- if(child && child->ChildCount()==0) // whole combination is matched
+ TBool notFinished = (child && child->ChildCount());
+ if(notFinished) // not ended
{
- converted++;
-
+ node = find; // match next
+ continue;
+ }
+ else if(child) // whole combination is matched and ended
+ {
TChar code = child->Char();
// replace with code
iConvertBuffer.SetLength(iConvertBuffer.Length() - matchedLength);
iConvertBuffer.Append(code);
iConvertBuffer.Append('i');
-
+ converted++; // returned value added
// load thumnail
LoadStillImageL(code);
// restart
matchedLength = 0;
node = iTextSearchTree;
- }
- else
- {
- node = find;
+ continue;
}
-
- lastChar = node->LastChildChar();
- firstChar = node->FirstChildChar();
- continue;
+ else // in this case matchedLength already increased by 1
+ {
+ matchedLength--;
}
}
- // character is not matched
+ // matching failed
if(matchedLength)
{
+ // back to the 2nd char
+ TInt rollBack = matchedLength;
+ iConvertBuffer.SetLength(iConvertBuffer.Length() - rollBack);
+ pos -= rollBack;
+
+ // reset matching context
matchedLength = 0;
node = iTextSearchTree;
- lastChar = node->LastChildChar();
- firstChar = node->FirstChildChar();
}
}
@@ -657,20 +657,22 @@
aText.Copy(iConvertBuffer);
}
+ _AKNTRACE_FUNC_EXIT;
return converted;
}
TBool CSmileyModel::IsSmiley(TChar aCode) const
{
- return (aCode >= iBaseCode);
+ TInt smileyCodeIndex = (TUint16)aCode - KBaseCode;
+ return (smileyCodeIndex>=0 && smileyCodeIndex<iSmileyCodeIndexArray.Count());
}
const TDesC& CSmileyModel::Text(TChar aCode) const
{
- TInt index, variate;
- if(DecodeSmileyCode(aCode, index, variate))
+ if(IsSmiley(aCode))
{
- return Text(index, variate);
+ TInt smileyCodeIndex = (TUint16)aCode - KBaseCode;
+ return iSmileyCodeIndexArray[smileyCodeIndex].Text();
}
else
{
@@ -751,6 +753,7 @@
void CSmileyModel::DrawText(CWindowGc& aGc, const TDesC& aText, const TAknLayoutText& aLayout, TBool aUseLogicalToVisualConversion) const
{
+ _AKNTRACE_FUNC_ENTER;
// adapter variables
const CFont* font = aLayout.Font();
TRect textRect = aLayout.TextRect();
@@ -781,7 +784,6 @@
TPtr ptr = visualBuf->Des();
TInt maxWidth = textRect.Size().iWidth;
-
// Logical to visual conversion.
AknBidiTextUtils::ConvertToVisualAndClip(
aText,
@@ -789,7 +791,6 @@
*font,
maxWidth,
maxWidth );
-
// for smiley begin
const TInt length = ptr.Length();
if(length>1 && IsSmiley(ptr[length-2]))
@@ -841,6 +842,7 @@
}
//aGc.DiscardFont(); // Release the font cache
+ _AKNTRACE_FUNC_EXIT;
}
void CSmileyModel::DrawText(CWindowGc& aGc, const TDesC& aText, const CFont* aFont, const TRect& aBox, TInt aBaselineOffset,
@@ -880,7 +882,7 @@
aGc.UseFont(aFont);
- TInt fontH = aFont->HeightInPixels();
+ TInt fontH = aFont->FontMaxHeight();
TBool metSmileyNotReady = EFalse;
@@ -911,8 +913,9 @@
if(icon)
{
TSize size = icon->Size();
- TPoint tl = aBox.iTl + offset;
- tl.iY = tl.iY - (size.iHeight + fontH) / 2;
+ TPoint tl = aBox.iTl;
+ tl.iX += offset.iX;
+ //tl.iY = tl.iY - size.iHeight/*(size.iHeight + fontH) / 2*/;
TRect imgWindow(tl, size);
imgWindow.Intersection(aBox);
if(!imgWindow.IsEmpty())
@@ -928,7 +931,8 @@
}
}
- offset += TPoint(aFont->TextWidthInPixels(ptr.Left(2)),0);
+ //offset += TPoint(aFont->TextWidthInPixels(ptr.Left(2)),0);
+ offset.iX += size.iWidth;
}
ptr.Set(ptr.Right(ptr.Length()-2));
@@ -938,10 +942,10 @@
CAknSmileyIcon* CSmileyModel::Smiley(TChar aCode) const
{
- TInt index, variate;
- if(DecodeSmileyCode(aCode, index, variate))
+ if(IsSmiley(aCode))
{
- return (*this)[index];
+ TInt smileyCodeIndex = (TUint16)aCode - KBaseCode;
+ return iSmileyCodeIndexArray[smileyCodeIndex].Smiley();
}
else
{
@@ -986,17 +990,26 @@
return SmileyCode(Count()+1);
}
-TChar CSmileyModel::SmileyCode(TInt aIndex, TInt aVariate) const
+TChar CSmileyModel::SmileyCode(TInt aIndex, TInt aVariant) const
{
- return EncodeSmileyCode(aIndex, aVariate);
+ const CAknSmileyIcon* iconWrapper = (*this)[aIndex];
+ const CSmileyIcon* icon = static_cast<const CSmileyIcon*>(iconWrapper);
+ if(icon)
+ {
+ return icon->Code(aVariant);
+ }
+ else
+ {
+ return 0;
+ }
}
-TChar CSmileyModel::SmileyCode(CAknSmileyIcon* aSmileyIcon) const
+TChar CSmileyModel::SmileyCode(const CAknSmileyIcon* aSmileyIcon) const
{
if(aSmileyIcon)
{
- CSmileyIcon* icon = static_cast<CSmileyIcon*>(aSmileyIcon);
- return EncodeSmileyCode(icon->Index(), 0);
+ const CSmileyIcon* icon = static_cast<const CSmileyIcon*>(aSmileyIcon);
+ return icon->Code();
}
else
{
@@ -1018,12 +1031,12 @@
iSmileyLoader.AddTaskL(icon);
}
-const TDesC& CSmileyModel::Text(TInt aIndex, TInt aVariate) const
+const TDesC& CSmileyModel::Text(TInt aIndex, TInt aVariant) const
{
CSmileyIcon* icon = static_cast<CSmileyIcon*>((*this)[aIndex]);
if(icon)
{
- return icon->Text(aVariate);
+ return icon->Text(aVariant);
}
else
{
@@ -1034,34 +1047,9 @@
TInt CSmileyModel::ArrayCount() const
{
return iSmileyIconArray.Count();
- }
-TChar CSmileyModel::EncodeSmileyCode(TInt aIndex, TInt aVariate) const
- {
- if(aVariate)
- {
- return (iBaseCode + aIndex + (aVariate<<8));
- }
- else
- {
- return (iBaseCode + aIndex);
- }
- }
-#define KMaskL 0x00FF
-TBool CSmileyModel::DecodeSmileyCode(TChar aCode, TInt& aIndex, TInt& aVariate) const
- {
- if(aCode >= iBaseCode)
- {
- aIndex = (aCode&KMaskL) - (iBaseCode&KMaskL);
- aVariate = (aCode>>8) - (iBaseCode>>8);
- return ETrue;
- }
- else
- {
- return EFalse;
- }
}
void CSmileyModel::SmileyStillImageLoaded(CAknSmileyIcon* aSmileyIcon)
--- a/uifw/AvKon/src/AknTextSettingPage.cpp Mon Mar 15 12:41:34 2010 +0200
+++ b/uifw/AvKon/src/AknTextSettingPage.cpp Wed Mar 31 21:59:52 2010 +0300
@@ -34,7 +34,132 @@
#include <eikedwob.h>
#include <AknTasHook.h>
+#include <AknFepInternalPSKeys.h>
+#include <e32property.h>
+#include <AknDef.h>
+static _LIT_SECURITY_POLICY_PASS( KAllowAllPolicy );
+static _LIT_SECURITY_POLICY_C1( KPowerMgmtPolicy, ECapabilityPowerMgmt );
+
+/*
+ * this class is a fixing for bug ESLM-8395MP
+ * Settingpage will keep watch the RProperty(set by Fep) to hide it self
+ */
+class CAknFepSettingDialogStatusWatcher : public CActive
+ {
+public:
+
+ static CAknFepSettingDialogStatusWatcher* NewL( CAknTextSettingPage* aControl )
+ {
+ CAknFepSettingDialogStatusWatcher* watcher = new (ELeave) CAknFepSettingDialogStatusWatcher( aControl );
+ CleanupStack::PushL( watcher );
+ watcher->ConstructL();
+ CleanupStack::Pop(watcher);
+ return watcher;
+ }
+
+ CAknFepSettingDialogStatusWatcher( CAknTextSettingPage* aControl )
+ : CActive( EPriorityNormal )
+ , iControl( aControl )
+ {
+ CActiveScheduler::Add( this );
+ }
+
+ ~CAknFepSettingDialogStatusWatcher()
+ {
+ StopWatching();
+ iFepSettingDialogStatusProperty.Close();
+ }
+
+ void StartWatchingL()
+ {
+ if ( !IsActive() )
+ {
+ iFepSettingDialogStatusProperty.Subscribe( iStatus );
+ SetActive();
+ }
+ }
+
+ void StopWatching()
+ {
+ Cancel();
+ }
+
+private:
+
+ void ConstructL()
+ {
+ // Define PS Key
+ TInt err = RProperty::Define(
+ KPSUidAknFep,
+ KAknFepSettingDialogState,
+ RProperty::EInt,
+ KAllowAllPolicy, // None
+ KPowerMgmtPolicy );
+
+ if (err != KErrAlreadyExists)
+ {
+ User::LeaveIfError( err );
+ }
+ User::LeaveIfError( iFepSettingDialogStatusProperty.Attach( KPSUidAknFep
+ , KAknFepSettingDialogState, EOwnerThread ) );
+ }
+
+ void HandleAknFepSettingDialogStatusChangeNotificationL()
+ {
+ TInt isOpen = 0;
+ TInt ret = iFepSettingDialogStatusProperty.Get( isOpen );
+ if ( ret!=KErrOverflow )
+ {
+ User::LeaveIfError( ret );
+ }
+
+ if ( !iControl )
+ {
+ return;
+ }
+
+ if ( isOpen )
+ {
+ iControl->MakeVisible( EFalse );
+ }
+ else
+ {
+ iControl->MakeVisible( ETrue );
+ }
+ }
+
+private: // from CActive
+
+ void RunL()
+ {
+ if ( iStatus.Int() == KErrNone )
+ {
+ HandleAknFepSettingDialogStatusChangeNotificationL();
+ StartWatchingL();
+ }
+ }
+
+ void DoCancel()
+ {
+ iFepSettingDialogStatusProperty.Cancel();
+ }
+
+private:
+ //
+ // not owned
+ //
+ CAknTextSettingPage* iControl;
+
+ RProperty iFepSettingDialogStatusProperty;
+ };
+
+
+// ============================================================================
+// text settingpage private extented class
+//
+// ============================================================================
+//
class CAknTextSettingPageExtension : public CBase
, public MEikEdwinObserver
{
@@ -51,16 +176,24 @@
~CAknTextSettingPageExtension()
{
iExtensionOwner = 0;
+
+ if( iAknFepSettingDialogStatusWatcher )
+ {
+ iAknFepSettingDialogStatusWatcher->StopWatching();
+ }
+ delete iAknFepSettingDialogStatusWatcher;
}
TInt PreviousCba()
{
return iPreviousCba;
};
+
void SetPreviousCba(TInt aCbaId)
{
iPreviousCba = aCbaId;
}
+
TBool PopupState()
{
return iPopupState;
@@ -82,10 +215,13 @@
private:
void ConstructL()
{
+ iAknFepSettingDialogStatusWatcher = CAknFepSettingDialogStatusWatcher::NewL( iExtensionOwner );
+ iAknFepSettingDialogStatusWatcher->StartWatchingL();
}
CAknTextSettingPageExtension(CAknTextSettingPage* aExtensionOwner )
- : iPreviousCba( 0 ), iExtensionOwner( aExtensionOwner )
+ : iPreviousCba( 0 )
+ , iExtensionOwner( aExtensionOwner )
, iPopupState( EFalse )
{
}
@@ -94,6 +230,11 @@
TInt iPreviousCba;
CAknTextSettingPage* iExtensionOwner;
TBool iPopupState; // when open the popup set popup state flag to 1
+
+ //
+ // active object keep watching Fep's property (Owned)
+ //
+ CAknFepSettingDialogStatusWatcher* iAknFepSettingDialogStatusWatcher;
};
/**
--- a/uifw/AvKon/src/AknTransparentCameraSettingPage.cpp Mon Mar 15 12:41:34 2010 +0200
+++ b/uifw/AvKon/src/AknTransparentCameraSettingPage.cpp Wed Mar 31 21:59:52 2010 +0300
@@ -347,9 +347,16 @@
// Respond to softkey events
switch (aCommandId)
{
+ case EAknSoftkeySelect:
+ {
+ if ( EnableSingleClickHighlight( aCommandId ) )
+ {
+ break;
+ }
+ // no single click mode was enabled, fall through
+ }
case EAknSoftkeyOk:
- case EAknSoftkeySelect:
- case EAknSoftkeyDone:
+ case EAknSoftkeyDone:
SelectCurrentItemL(); // has non-trivial implemenations in listbox type
// controls to put the selection on the current item
AttemptExitL(ETrue);
--- a/uifw/AvKon/src/aknPopup.cpp Mon Mar 15 12:41:34 2010 +0200
+++ b/uifw/AvKon/src/aknPopup.cpp Wed Mar 31 21:59:52 2010 +0300
@@ -1162,10 +1162,6 @@
{
AttemptExitL( ETrue );
}
- else
- {
- AttemptExitL( EFalse );
- }
}
//EFTG-7HWDP6.
@@ -1179,24 +1175,11 @@
break;
case TPointerEvent::EButton1Down:
_AKNTRACE("CAknPopupList::HandlePointerEventL: TPointerEvent::EButton1Down");
- // as in comments close popup if pointer goes outside of the popup list
- if ( !Rect().Contains( aPointerEvent.iPosition ) )
+ if ( FindBox()
+ && ( FindBox()->Editor().Rect().Contains( aPointerEvent.iPosition ) )
+ && !( iPopupListExtension->iFlags & EPopupLayoutSwitchEvent ) )
{
- MTouchFeedback* feedback = MTouchFeedback::Instance();
- if ( feedback )
- {
- feedback->InstantFeedback( ETouchFeedbackPopUp );
- }
- AttemptExitL( EFalse );
- }
- else
- {
- if( FindBox()
- && ( FindBox()->Editor().Rect().Contains( aPointerEvent.iPosition ) )
- && !( iPopupListExtension->iFlags & EPopupLayoutSwitchEvent ) )
- {
- iPopupListExtension->iFlags |= EPopupFepStartEvent;
- }
+ iPopupListExtension->iFlags |= EPopupFepStartEvent;
}
break;
case TPointerEvent::EDrag:
--- a/uifw/AvKon/src/akncolourselectiongrid.cpp Mon Mar 15 12:41:34 2010 +0200
+++ b/uifw/AvKon/src/akncolourselectiongrid.cpp Wed Mar 31 21:59:52 2010 +0300
@@ -2021,13 +2021,6 @@
if ( !Rect().Contains( aPointerEvent.iPosition ) )
{
- if ( aPointerEvent.iType == TPointerEvent::EButton1Down )
- {
- TryExitL( EAknSoftkeyCancel );
- _AKNTRACE_FUNC_EXIT;
- return;
- }
-
if ( aPointerEvent.iType == TPointerEvent::EDrag )
{
iExtension->iIsDragged = ETrue;
--- a/uifw/AvKon/src/akncombinedpane.cpp Mon Mar 15 12:41:34 2010 +0200
+++ b/uifw/AvKon/src/akncombinedpane.cpp Wed Mar 31 21:59:52 2010 +0300
@@ -2,7 +2,7 @@
* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
+* 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".
*
--- a/uifw/AvKon/src/akndiscreetpopupdrawer.cpp Mon Mar 15 12:41:34 2010 +0200
+++ b/uifw/AvKon/src/akndiscreetpopupdrawer.cpp Wed Mar 31 21:59:52 2010 +0300
@@ -219,7 +219,14 @@
{
// draw background of the popup
MAknsSkinInstance* skin = AknsUtils::SkinInstance();
- AknsDrawUtils::DrawFrame( skin, aGc, aRect, aRect,
+ TAknLayoutRect innerLayout;
+ // Use bg_popup_preview_window_pane_g1() for getting innerRect,
+ // no need to create a new layout id for discreet popup.
+ innerLayout.LayoutRect( aRect,
+ AknLayoutScalable_Avkon::bg_popup_preview_window_pane_g1() );
+ TRect innerRect = innerLayout.Rect();
+
+ AknsDrawUtils::DrawFrame( skin, aGc, aRect, innerRect,
KAknsIIDQsnFrPopupPreview, KAknsIIDDefault );
// Draw the texts
--- a/uifw/AvKon/src/akngrid.cpp Mon Mar 15 12:41:34 2010 +0200
+++ b/uifw/AvKon/src/akngrid.cpp Wed Mar 31 21:59:52 2010 +0300
@@ -1860,7 +1860,12 @@
if (vSbarModel.iScrollSpan-vSbarModel.iThumbPosition<vSbarModel.iThumbSpan)
{
vSbarModel.iThumbPosition=Max(0,vSbarModel.iScrollSpan-vSbarModel.iThumbSpan);
- gridView->MoveToItemIndexL(currentIndex,CListBoxView::ENoSelection); // force a scroll if neccessary
+ if ( !iExtension->iSingleClickEnabled )
+ {
+ // force a scroll if neccessary
+ gridView->MoveToItemIndexL( currentIndex,
+ CListBoxView::ENoSelection );
+ }
}
}
if (iSBFrame->ScrollBarVisibility(CEikScrollBar::EHorizontal)!=CEikScrollBarFrame::EOff)
--- a/uifw/AvKon/src/aknindicator.cpp Mon Mar 15 12:41:34 2010 +0200
+++ b/uifw/AvKon/src/aknindicator.cpp Wed Mar 31 21:59:52 2010 +0300
@@ -975,6 +975,7 @@
case EAknIndicatorUSBMemActive:
case EAknIndicatorStopWatch:
case EAknIndicatorMecoServiceTab:
+ case EAknIndicatorIntegratedIM:
{
// Main pane
TRect mainPaneRect;
--- a/uifw/AvKon/src/akninfrm.cpp Mon Mar 15 12:41:34 2010 +0200
+++ b/uifw/AvKon/src/akninfrm.cpp Wed Mar 31 21:59:52 2010 +0300
@@ -278,7 +278,7 @@
TBool apac( AknLayoutUtils::Variant() == EApacVariant && ( iFlags & EShowIndicators ) );
- TAknWindowComponentLayout outline = AknLayoutScalable_Avkon::find_pane();
+ TAknWindowComponentLayout outline = AknLayoutScalable_Avkon::input_find_pane();
TAknWindowLineLayout iconPos = AknLayoutScalable_Avkon::find_popup_pane_g1().LayoutLine();
TAknTextComponentLayout editor = AknLayoutScalable_Avkon::input_popup_find_pane_t1( apac ? 2 : 0 );
@@ -331,7 +331,7 @@
{
_AKNTRACE( "[%s][%s] Standard Layout",
"CAknInputFrame", __FUNCTION__ );
- outline = AknLayoutScalable_Avkon::find_pane();
+ outline = AknLayoutScalable_Avkon::input_find_pane();
iconPos = AknLayoutScalable_Avkon::find_pane_g1();
editor = AknLayoutScalable_Avkon::input_find_pane_t2( apac ? 1: 0 );
r.LayoutRect( rect, AknLayoutScalable_Avkon::input_find_pane() );
--- a/uifw/AvKon/src/aknlistquerydialog.cpp Mon Mar 15 12:41:34 2010 +0200
+++ b/uifw/AvKon/src/aknlistquerydialog.cpp Wed Mar 31 21:59:52 2010 +0300
@@ -19,7 +19,7 @@
#include <AknMediatorFacade.h>
#include <MediatorEventProvider.h>
#include <MediatorDomainUIDs.h>
-#include <secondarydisplay/AknSecondaryDisplayDefs.h>
+#include <SecondaryDisplay/AknSecondaryDisplayDefs.h>
#include "aknPopupHeadingPane.h"
#include "aknlistquerycontrol.h"
@@ -713,32 +713,6 @@
EXPORT_C void CAknListQueryDialog::HandlePointerEventL(const TPointerEvent& aPointerEvent)
{
- // list query is dismissed if tapped outside
- if ( aPointerEvent.iType == TPointerEvent::EButton1Down )
- {
- if( !Rect().Contains( aPointerEvent.iPosition ) )
- {
- if ( !iIdle )
- {
- MTouchFeedback* feedback = MTouchFeedback::Instance();
- if ( feedback )
- {
- feedback->InstantFeedback( ETouchFeedbackPopUp );
- }
- iIdle = CIdle::NewL(CActive::EPriorityIdle);
- iIdle->Start(TCallBack(ClosePopup, this));
- return;
- }
- }
-
- TInt index;
- if ( ListBox()->View()->XYPosToItemIndex( aPointerEvent.iPosition, index ) )
- {
- ListBox()->View()->ItemDrawer()->SetFlags(
- CListItemDrawer::EPressedDownState );
- }
- }
-
CAknQueryDialog::HandlePointerEventL( aPointerEvent );
}
--- a/uifw/AvKon/src/aknlists.cpp Mon Mar 15 12:41:34 2010 +0200
+++ b/uifw/AvKon/src/aknlists.cpp Wed Mar 31 21:59:52 2010 +0300
@@ -616,28 +616,8 @@
aItemDrawer->SetHighlightedBackColor(AKN_LAF_COLOR_STATIC(
AKN_LAYOUT_WINDOW_List_pane_highlight_graphics__various__Line_2(TRect(0,0,0,0)).iC));
}
-
-TInt AknListBoxLayouts::AdjustPopupLayoutData( const TRect& aScreenRect )
- {
- _AKNTRACE( "[%s][%s][%d].", "AknListBoxLayouts", __FUNCTION__, __LINE__ );
- TInt width = aScreenRect.Width();
- TInt height = aScreenRect.Height();
-
- if ( width ==640 && height ==360 ) //QHD
- {
- return 32;
- }
- else if(( width ==320 && height ==240 ) //QVGA, QVGA2
- ||( width ==640 && height ==480 )) //VGA, VAG3
- {
- return 0;
- }
- else
- {
- Panic( EAknPopupLayoutUnknownResolution );
- return 0;
- }
- }
+
+
// -----------------------------------------------------------------------------
// IdFromTextAlign
// -----------------------------------------------------------------------------
@@ -1169,43 +1149,31 @@
SetupFormTextCell( aListBox, aItemDrawer, index, font, C, lm, rm, B, W, aAlign, p1, p2 );
}
-// this is common popuplist setup code
-static TSize PopupListItemSize(const TAknWindowLineLayout &aL)
+// ----------------------------------------------------------------------------
+// This is common popup list setup code.
+// ----------------------------------------------------------------------------
+//
+static TSize PopupListItemSize( const TAknWindowLineLayout &aL )
{
_AKNTRACE( "[%s][%d]", __FUNCTION__, __LINE__ );
- TAknLayoutRect temp, layout;
+ TAknLayoutRect temp;
+ TAknLayoutRect layout;
TRect mainPane;
AknLayoutUtils::LayoutMetricsRect( AknLayoutUtils::EPopupParent, mainPane );
- temp.LayoutRect( mainPane, AknLayoutScalable_Avkon::popup_menu_window(13));
+ temp.LayoutRect( mainPane,
+ AknLayoutScalable_Avkon::popup_menu_window(
+ Layout_Meta_Data::IsLandscapeOrientation() ? 43 : 13 ) );
TRect screenRect;
AknLayoutUtils::LayoutMetricsRect( AknLayoutUtils::EScreen, screenRect );
- TAknWindowLineLayout lineLayout = AknLayoutScalable_Avkon::listscroll_menu_pane(0).LayoutLine();
-
- // Layout data of listscroll_menu_pane are changed for CR 417-35260.
- // The change is just for QHD landscape model.
- // The CR makes listscroll_menu_pane's ir or il bigger than normal,
- // so that width of list item is smaller than needs. Then, first cell
- // of list item can not be drawn on proper position.
- // Adjustment of layout is a solution for this problem. This is not a perfect idea, but
- // creating a new layout for popuplist is too complex to do that. Adjustment is a must.
- if(Layout_Meta_Data::IsLandscapeOrientation())
- {
- TInt offset = AknListBoxLayouts::AdjustPopupLayoutData( screenRect );
- if (!AknLayoutUtils::LayoutMirrored())
- {
- lineLayout.ir -= offset;
- }
- else
- {
- lineLayout.il -= offset;
- }
- }
- layout.LayoutRect( temp.Rect(), lineLayout);
+
+ layout.LayoutRect( temp.Rect(),
+ AknLayoutScalable_Avkon::listscroll_menu_pane( 0 ) );
- temp.LayoutRect( layout.Rect(), AknLayoutScalable_Avkon::list_menu_pane(0));
- layout.LayoutRect( temp.Rect(), aL);
+ temp.LayoutRect( layout.Rect(),
+ AknLayoutScalable_Avkon::list_menu_pane( 0 ) );
+ layout.LayoutRect( temp.Rect(), aL );
return layout.Rect().Size();
}
@@ -3464,6 +3432,15 @@
itemDrawer->SetItemMarkPosition( 3 );
itemDrawer->SetItemMarkReplacement( KFirstMovingCSIconReplacement );
}
+
+ // Mirrored layout does not have smiley.
+ if ( !AknLayoutUtils::LayoutMirrored() &&
+ itemDrawer->Flags() & CListItemDrawer::EDrawSmileyIcon )
+ {
+ formattedCellData->InitSmileyL();
+ // only second lable can have smiley icon now.
+ formattedCellData->SetSmileySubCellL(2);
+ }
_AKNTRACE_FUNC_EXIT;
}
@@ -3787,6 +3764,16 @@
itemDrawer->SetItemMarkReverse( ETrue );
itemDrawer->SetItemMarkPosition( 3 );
itemDrawer->SetItemMarkReplacement( KFirstMovingCSIconReplacement );
+
+ // Mirrored layout does not have smiley.
+ // for conversation
+ if ( !AknLayoutUtils::LayoutMirrored() &&
+ itemDrawer->Flags() & CListItemDrawer::EDrawSmileyIcon )
+ {
+ formattedCellData->InitSmileyL();
+ // only second lable can have smiley icon now.
+ formattedCellData->SetSmileySubCellL(2);
+ }
_AKNTRACE_FUNC_EXIT;
}
--- a/uifw/AvKon/src/aknpopuplayout.cpp Mon Mar 15 12:41:34 2010 +0200
+++ b/uifw/AvKon/src/aknpopuplayout.cpp Wed Mar 31 21:59:52 2010 +0300
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2002-2010 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"
@@ -21,7 +21,6 @@
#include <eiklbx.h>
#include <aknPopupHeadingPane.h>
#include <AknPanic.h>
-#include <AknLayout.lag>
#include <aknenv.h>
#include <AknUtils.h>
@@ -34,8 +33,6 @@
#include <aknmessagequerycontrol.h>
#include <aknsfld.h>
-#include <skinlayout.cdl.h>
-
#include <AknLayout2ScalableDef.h>
#include <aknlayoutscalable_avkon.cdl.h>
#include <layoutmetadata.cdl.h>
@@ -44,6 +41,8 @@
#include <touchfeedback.h>
#include <aknlists.h>
+const AknLayoutUtils::SAknLayoutRect KEmptyLayout =
+ { ELayoutEmpty, 0, 0, 0, 0, ELayoutEmpty, ELayoutEmpty };
static CCoeControl *FindControl(TAknPopupLayoutsNode *aNode, TInt aId)
{
@@ -58,37 +57,15 @@
return NULL;
}
-static TInt GetMaxListHeight()
+
+static TInt GetMaxListHeight( const TRect& aClientRect )
{
- TAknLayoutRect temp, layout;
-
- TRect mainPane;
- TRect statusPane;
- TRect controlPane;
- AknLayoutUtils::LayoutMetricsRect( AknLayoutUtils::EPopupParent, mainPane );
- AknLayoutUtils::LayoutMetricsRect( AknLayoutUtils::EStatusPane, statusPane );
- AknLayoutUtils::LayoutMetricsRect( AknLayoutUtils::EControlPane, controlPane );
-
- // in landscape orientation popuplist can't go on top of statuspane
- if ( !Layout_Meta_Data::IsLandscapeOrientation() )
- {
- mainPane.iTl.iY -= statusPane.Height();
- }
-
- // treat mainpane+statuspane area as popup window
- // too bad we can't use this, because e.g. QVGA landscape has border-size 7
- // in avkon layout and border-size 9 in skin drawing...
- /*temp.LayoutRect( mainPane, AknLayoutScalable_Avkon::listscroll_menu_pane(0));
- layout.LayoutRect( temp.Rect(), AknLayoutScalable_Avkon::list_menu_pane(0));
- return layout.Rect().Height();*/
-
- // shadow
- TInt varietyIndex = Layout_Meta_Data::IsLandscapeOrientation();
+ TBool isLandscape( Layout_Meta_Data::IsLandscapeOrientation() );
TAknLayoutRect insideArea;
insideArea.LayoutRect(
- mainPane,
- AknLayoutScalable_Avkon::bg_popup_window_pane_g1(varietyIndex) );
+ aClientRect,
+ AknLayoutScalable_Avkon::bg_popup_window_pane_g1( isLandscape ) );
return insideArea.Rect().Height();
}
@@ -109,65 +86,83 @@
EXPORT_C
-void AknPopupLayouts::HandleSizeChanged( TAknPopupWindowLayoutDef &aDef,
+void AknPopupLayouts::HandleSizeChanged( TAknPopupWindowLayoutDef& aDef,
TAknPopupLayouts aLayout_1,
- TAknPopupLayoutsNode *aNode)
+ TAknPopupLayoutsNode* aNode )
{
- CAknPopupHeadingPane *aHeading = (CAknPopupHeadingPane*)FindControl(aNode, EHeadingNode);
- CEikListBox *aListBox = (CEikListBox*)FindControl(aNode, EListNode);
- CCoeControl *aWindowOwningControl = FindControl(aNode, EWindowOwningNode);
- CAknMessageQueryControl *aMsgQueryCtrl = (CAknMessageQueryControl*)FindControl(aNode, EMessageBoxNode);
+ CAknPopupHeadingPane* heading =
+ static_cast<CAknPopupHeadingPane*>(
+ FindControl( aNode, EHeadingNode ) );
+
+ CEikListBox* listBox =
+ static_cast<CEikListBox*>( FindControl( aNode, EListNode ) );
+
+ CCoeControl* windowOwningControl = FindControl( aNode, EWindowOwningNode );
+
+ CAknMessageQueryControl* msgQueryCtrl =
+ static_cast<CAknMessageQueryControl*>(
+ FindControl( aNode, EMessageBoxNode ) );
- TInt aLayout = aLayout_1;
- TInt numofitems = aListBox->Model()->NumberOfItems();
-
- aListBox->View()->ItemDrawer()->SetSkinEnabledL(ETrue);
-
- TInt maxListHeight = GetMaxListHeight();
+ TInt layoutFlags = aLayout_1;
+ TInt numofitems = listBox->Model()->NumberOfItems();
- // position popup window's bottom correctly
+ // Position popup window's bottom correctly.
TRect clientRect;
- AknLayoutUtils::LayoutMetricsRect(AknLayoutUtils::EPopupParent, clientRect);
- // set windowrect to minimum size - this will be adjusted later
- TAknLayoutRect windowRect;
- windowRect.LayoutRect( clientRect, AknLayoutScalable_Avkon::popup_menu_window(8));
- aDef.iWindowRect = windowRect.Rect();
- TRAP_IGNORE( aListBox->View()->ItemDrawer()->SetSkinEnabledL(ETrue) );
+ AknLayoutUtils::LayoutMetricsRect( AknLayoutUtils::EPopupParent,
+ clientRect );
+
+ TInt maxListHeight = GetMaxListHeight( clientRect );
+
+ TRect nullRect( 0, 0, 0, 0 );
+
+ TBool isLandscape = Layout_Meta_Data::IsLandscapeOrientation();
- // Popup window when the size does not change based on
- // the number of items.
+ // Set windowRect to minimum size - this will be adjusted later.
+ TAknLayoutRect windowRectLayout;
+ windowRectLayout.LayoutRect(
+ clientRect,
+ AknLayoutScalable_Avkon::popup_menu_window( isLandscape ? 19 : 8 ) );
+ aDef.iWindowRect = windowRectLayout.Rect();
+
+ TRAP_IGNORE( listBox->View()->ItemDrawer()->SetSkinEnabledL( ETrue ) );
+
+ // Popup window when the size does not change based on the number of items.
TBool fixedWindowSize = EFalse;
- if ( (aLayout & EAknPopupLayoutsDynamic) || numofitems == 0 ||
- (aLayout & EAknPopupLayoutsFind) )
+ if ( layoutFlags & EAknPopupLayoutsDynamic ||
+ numofitems == 0 ||
+ layoutFlags & EAknPopupLayoutsFind )
{
- aLayout &= ~EAknPopupLayoutsDynamic;
+ layoutFlags &= ~EAknPopupLayoutsDynamic;
fixedWindowSize = ETrue;
}
// heading =============================================================
TInt spaceForHeading = 0;
- if (aHeading)
+ if ( heading )
{
- aHeading->SetLayout( CAknPopupHeadingPane::EListHeadingPane );
+ heading->SetLayout( CAknPopupHeadingPane::EListHeadingPane );
TAknLayoutRect tempHeadingRect;
- tempHeadingRect.LayoutRect(clientRect,
- AknLayoutScalable_Avkon::heading_pane(0));
+ tempHeadingRect.LayoutRect(
+ clientRect,
+ AknLayoutScalable_Avkon::heading_pane( 0 ) );
spaceForHeading = tempHeadingRect.Rect().Height();
maxListHeight -= spaceForHeading;
}
- aDef.iPopupMenuWindowOffset=TPoint(0,spaceForHeading);
+ aDef.iPopupMenuWindowOffset.SetXY( 0, spaceForHeading );
// findbox =============================================================
TBool windowSizeFind = EFalse;
TInt spaceForFind = 0;
- if (aLayout & EAknPopupLayoutsFind)
+ if ( layoutFlags & EAknPopupLayoutsFind )
{
- aLayout &= ~EAknPopupLayoutsFind;
+ layoutFlags &= ~EAknPopupLayoutsFind;
windowSizeFind = ETrue;
- // calculate space needed for find
+ // Calculate space needed for find box.
TAknLayoutRect tempFindRect;
- tempFindRect.LayoutRect(clientRect,AknLayoutScalable_Avkon::find_popup_pane_cp2(0));
+ tempFindRect.LayoutRect(
+ clientRect,
+ AknLayoutScalable_Avkon::find_popup_pane_cp2( 0 ) );
spaceForFind = tempFindRect.Rect().Height();
maxListHeight -= spaceForFind;
}
@@ -175,321 +170,282 @@
// messagebox ==========================================================
TRect messageRect;
TInt messageNumOfLines = 0;
+ TInt messageBoxItemVariety = 0;
TBool messageBox = EFalse;
- if (aMsgQueryCtrl && aMsgQueryCtrl->Lines() > 0)
+ TAknWindowComponentLayout messageBoxItemLayout;
+ if ( msgQueryCtrl && msgQueryCtrl->Lines() > 0 )
{
messageBox = ETrue;
- messageNumOfLines = aMsgQueryCtrl->Lines();
- TInt varietyIndex = 0;
- switch(messageNumOfLines)
+ messageNumOfLines = msgQueryCtrl->Lines();
+
+ switch ( messageNumOfLines )
{
- case (0):
- case (1): varietyIndex = 0;
- break;
- case (2): varietyIndex = 1;
- break;
- default : varietyIndex = 2;
+ case 0:
+ case 1:
+ {
+ messageBoxItemVariety = 0;
+ break;
+ }
+ case 2:
+ {
+ messageBoxItemVariety = 1;
+ break;
+ }
+ default:
+ {
+ messageBoxItemVariety = 2;
+ break;
+ }
}
- TAknWindowLineLayout lay = AknLayoutScalable_Apps::loc_type_pane(varietyIndex).LayoutLine();
- TAknLayoutRect layout;
- layout.LayoutRect( TRect(0,0,0,0), lay );
- messageRect = layout.Rect();
+
+ messageBoxItemLayout =
+ AknLayoutScalable_Apps::loc_type_pane( messageBoxItemVariety );
+
+ TAknLayoutRect layoutRect;
+ layoutRect.LayoutRect( nullRect, messageBoxItemLayout );
+ messageRect = layoutRect.Rect();
maxListHeight -= messageRect.Height();
}
TInt minItems = 1;
- TRect scrollBarRect(0,0,0,0);
+ TRect scrollBarRect( nullRect );
TAknWindowLineLayout listLayout;
TAknLayoutScalableParameterLimits listLimits;
- switch(aLayout)
+ switch ( layoutFlags )
{
case EPopupSNotePopupWindow:
case EMenuUnknownColumnWindow:
case EMenuUnknownFormattedCellWindow:
case EMenuWindow:
{
- minItems = aHeading ? 5 : 6;
- listLayout = AknLayoutScalable_Avkon::list_single_pane_cp2(0);
+ minItems = heading ? 5 : 6;
+ listLayout = AknLayoutScalable_Avkon::list_single_pane_cp2( 0 );
listLimits = AknLayoutScalable_Avkon::list_single_pane_cp2_ParamLimits();
break;
}
case EMenuGraphicWindow:
{
minItems = 5;
- listLayout = AknLayoutScalable_Avkon::list_single_graphic_pane_cp2(0);
+ listLayout = AknLayoutScalable_Avkon::list_single_graphic_pane_cp2( 0 );
listLimits = AknLayoutScalable_Avkon::list_single_graphic_pane_cp2_ParamLimits();
break;
}
case EMenuGraphicHeadingWindow:
{
minItems = 5;
- listLayout = AknLayoutScalable_Avkon::list_single_graphic_heading_pane_cp2(0);
+ listLayout = AknLayoutScalable_Avkon::list_single_graphic_heading_pane_cp2( 0 );
listLimits = AknLayoutScalable_Avkon::list_single_graphic_heading_pane_cp2_ParamLimits();
break;
}
case EMenuDoubleWindow:
{
minItems = 3;
- listLayout = AknLayoutScalable_Avkon::list_double_pane_cp2(0);
+ listLayout = AknLayoutScalable_Avkon::list_double_pane_cp2( 0 );
listLimits = AknLayoutScalable_Avkon::list_double_pane_cp2_ParamLimits();
break;
}
case EMenuDoubleLargeGraphicWindow:
{
minItems = 3;
- listLayout = AknLayoutScalable_Avkon::list_double_large_graphic_pane_cp2(0);
+ listLayout = AknLayoutScalable_Avkon::list_double_large_graphic_pane_cp2( 0 );
listLimits = AknLayoutScalable_Avkon::list_double_large_graphic_pane_cp2_ParamLimits();
break;
}
+ default:
+ {
+ break;
+ }
}
- if (!fixedWindowSize)
+ if ( !fixedWindowSize )
{
minItems = 1;
}
- TInt maxLayoutItems = listLimits.LastRow() + 1; // last row is a zero based index, we need num items which is 1 based
-
- //aDef.iVertLineExt1.LayoutRect(TRect(1,1,1,1), 0, 0,0, ELayoutEmpty, ELayoutEmpty, 0,0);
- //aDef.iVertLineExt2.LayoutRect(TRect(1,1,1,1), 0, 0,0, ELayoutEmpty, ELayoutEmpty, 0,0);
+ // Last row is a zero based index, we need num items which is 1 based.
+ TInt maxLayoutItems = listLimits.LastRow() + 1;
TAknLayoutRect listItemRect;
- listItemRect.LayoutRect( aDef.iWindowRect, listLayout);
+ listItemRect.LayoutRect( aDef.iWindowRect, listLayout );
TInt listItemHeight = listItemRect.Rect().Height();
TInt maxItems = maxListHeight / listItemHeight;
+
// minItems == 1 only if the popuplist is dynamically changeable
- if ( (numofitems > 1) && (minItems == 1) )
+ if ( ( numofitems > 1 ) && ( minItems == 1 ) )
{
minItems = numofitems;
}
- if (minItems > maxItems)
+
+ if ( minItems > maxItems )
{
minItems = maxItems;
}
- // maxItems might be greater than max items from layout -> use layout's maximum
- if (minItems > maxLayoutItems)
+
+ // maxItems might be greater than max items from layout ->
+ // use layout's maximum.
+ if ( minItems > maxLayoutItems )
{
minItems = maxLayoutItems;
}
- TRect window_rect = AknPopupLayouts::MenuRect(aDef);
+ TRect windowRect( AknPopupLayouts::MenuRect( aDef ) );
- TAknLayoutRect temp, layout;
+ TAknLayoutRect temp;
+ TAknLayoutRect layout;
TRect screenRect;
AknLayoutUtils::LayoutMetricsRect( AknLayoutUtils::EScreen, screenRect );
- TAknWindowLineLayout lineLayout = AknLayoutScalable_Avkon::listscroll_menu_pane(0).LayoutLine();
+ TAknWindowLineLayout lineLayout(
+ AknLayoutScalable_Avkon::listscroll_menu_pane( 0 ).LayoutLine() );
- // Layout data of listscroll_menu_pane are changed for CR 417-35260.
- // The change is just for QHD landscape model.
- // The CR makes listscroll_menu_pane's ir or il bigger than normal,
- // so that width of list item is smaller than needs. Then, first cell
- // of list item can not be drawn on proper position.
- // Adjustment of layout is a solution for this problem. This is not a perfect idea, but
- // creating a new layout for popuplist is too complex to do that. Adjustment is a must.
- if(Layout_Meta_Data::IsLandscapeOrientation())
- {
- TInt offset = AknListBoxLayouts::AdjustPopupLayoutData( screenRect );
- if (!AknLayoutUtils::LayoutMirrored())
- {
- lineLayout.ir -= offset;
- }
- else
- {
- lineLayout.il -= offset;
- }
- }
- temp.LayoutRect( window_rect, lineLayout);
+ temp.LayoutRect( windowRect, lineLayout );
+
+ layout.LayoutRect( temp.Rect(),
+ AknLayoutScalable_Avkon::list_menu_pane( 0 ) );
- layout.LayoutRect( temp.Rect(), AknLayoutScalable_Avkon::list_menu_pane(0));
- TRect tempListRect = layout.Rect(); // this is list's rect for the whole window
+ // This is list's rect for the whole window.
+ TRect tempListRect( layout.Rect() );
- // subtract heading, findbox and messagebox from tempListRect
+ // Subtract heading, find box and message box from tempListRect.
tempListRect.iBr.iY -= spaceForFind;
tempListRect.iTl.iY += spaceForHeading;
tempListRect.iTl.iY += messageRect.Height();
- // We really don't want parent relative list layout here because findbox will be overwritten.
- // Just calculate list height and use that.
- TRect nullRect(0,0,0,0);
- listLayout.iH = (TInt16)(minItems * listItemHeight);
+ // We really don't want parent relative list layout here because find box
+ // will be overwritten. Just calculate list height and use that.
+ listLayout.iH = (TInt16)( minItems * listItemHeight );
listLayout.ib = ELayoutEmpty;
- aDef.iListRect.LayoutRect(tempListRect,
- listLayout);
+ aDef.iListRect.LayoutRect( tempListRect, listLayout );
- // we have to scale iWindowRect to list rect - layout is not (yet) correct
+ // We have to scale iWindowRect to list rect - layout is not (yet) correct.
TInt usedHeight = aDef.iListRect.Rect().Height()
+ spaceForFind
+ spaceForHeading
+ messageRect.Height();
-
- // popupwindow's inside area
- TInt varietyIndex = Layout_Meta_Data::IsLandscapeOrientation();
-
- TAknLayoutRect insideArea;
- insideArea.LayoutRect(
- window_rect,
- AknLayoutScalable_Avkon::bg_popup_window_pane_g1(varietyIndex) );
- if (layout.Rect().Height() < usedHeight)
+ if ( layout.Rect().Height() < usedHeight )
{
- aDef.iWindowRect.iTl.iY -= (usedHeight - layout.Rect().Height());
+ aDef.iWindowRect.iTl.iY -= (usedHeight - layout.Rect().Height() );
}
AknLayoutUtils::TAknCbaLocation cbaLocation = AknLayoutUtils::CbaLocation();
- // In landscape we have to center (on y-axis) popup window (but not with bottom CBA)
- if (varietyIndex == 1 && cbaLocation != AknLayoutUtils::EAknCbaLocationBottom)
+ // In landscape we have to center (on y-axis) popup window
+ // (but not with bottom CBA).
+ if ( isLandscape &&
+ cbaLocation != AknLayoutUtils::EAknCbaLocationBottom )
{
- TRect mainPane;
- AknLayoutUtils::LayoutMetricsRect( AknLayoutUtils::EPopupParent, mainPane );
- TInt diff = (mainPane.Height()-aDef.iWindowRect.Height()) / 2;
+ TInt diff = ( clientRect.Height() - aDef.iWindowRect.Height() ) / 2;
aDef.iWindowRect.iTl.iY -= diff;
aDef.iWindowRect.iBr.iY -= diff;
- // with right CBA, move window to the right side of the screen
- if (cbaLocation == AknLayoutUtils::EAknCbaLocationRight)
+ // With right CBA, move window to the right side of the screen.
+ if ( cbaLocation == AknLayoutUtils::EAknCbaLocationRight )
{
- TInt offset = mainPane.Width()-aDef.iWindowRect.iBr.iX;
+ TInt offset = clientRect.Width() - aDef.iWindowRect.iBr.iX;
aDef.iWindowRect.iTl.iX += offset;
aDef.iWindowRect.iBr.iX += offset;
- }
-
- //should this be uncommented??
- // If we have left CBA, we move window to left side of screen (on x-axis).
- /*else if (cbaLocation == AknLayoutUtils::EAknCbaLocationLeft)
- {
- TInt xOffset = aDef.iWindowRect.iTl.iX;
- if ( xOffset > 0 )
- {
- aDef.iWindowRect.iTl.iX = 0;
- aDef.iWindowRect.iBr.iX -= xOffset;
- }
- }*/
- }
-
- TRect screen;
- AknLayoutUtils::LayoutMetricsRect( AknLayoutUtils::EScreen, screen );
-
+ }
+ }
+
TAknLayoutRect cbaRect;
- cbaRect.LayoutRect( screen,
- AknLayoutScalable_Avkon::popup_sk_window( 0 ).LayoutLine() );
+ cbaRect.LayoutRect(
+ screenRect,
+ AknLayoutScalable_Avkon::popup_sk_window( 0 ).LayoutLine() );
- if ( AknLayoutUtils::PenEnabled() )
+ TSize size( aDef.iWindowRect.Size() );
+
+ // Add softkey height.
+ size.iHeight += cbaRect.Rect().Height();
+
+ // Reduce listbox's and popup's height if total height is more than
+ // screen height.
+ if ( size.iHeight > screenRect.Height() )
{
- TSize size( aDef.iWindowRect.Size() );
- // add softkey height
- size.iHeight += cbaRect.Rect().Height();
+ listLayout.iH -= ( size.iHeight - screenRect.Height() );
+ aDef.iListRect.LayoutRect( tempListRect, listLayout );
- // Reduce listbox's and popup's height if total height is more than
- // screen height.
- if ( size.iHeight > screen.Height() )
- {
- listLayout.iH -= ( size.iHeight - screen.Height() );
- aDef.iListRect.LayoutRect( tempListRect, listLayout );
-
- size.iHeight = screen.Height();
- }
-
- aDef.iWindowRect.SetRect( AknPopupUtils::Position( size, ETrue ), size );
+ size.iHeight = screenRect.Height();
}
- // now we finally know the window rect: first setup heading
- if (aHeading)
+ aDef.iWindowRect.SetRect( AknPopupUtils::Position( size, ETrue ), size );
+
+ // Now we finally know the window rect: first setup heading.
+ if ( heading )
{
- aDef.iHeadingRect.LayoutRect(AknPopupLayouts::MenuRect(aDef),
- AknLayoutScalable_Avkon::heading_pane(0));
+ aDef.iHeadingRect.LayoutRect(
+ AknPopupLayouts::MenuRect( aDef ),
+ AknLayoutScalable_Avkon::heading_pane( 0 ) );
}
- MenuPopupWindowGraphics(aDef);
- aWindowOwningControl->SetRect(WindowRect(aDef));
- HandleSizeAndPositionOfComponents(aDef, aListBox, aHeading);
+ MenuPopupWindowGraphics( aDef );
+ windowOwningControl->SetRect( WindowRect( aDef ) );
+ HandleSizeAndPositionOfComponents( aDef, listBox, heading );
- layout.LayoutRect(MenuRect(aDef), lineLayout);
- TRect scrollBarClientRect(layout.Rect());
-
- if ( AknLayoutUtils::PenEnabled() )
- {
- // remove softkey height that was added earlier so that
- // scroll bar doesn't get behind the softkey
- scrollBarClientRect.iBr.iY -= cbaRect.Rect().Height();
- }
+ layout.LayoutRect( MenuRect( aDef ), lineLayout );
+ TRect scrollBarClientRect( layout.Rect() );
- if (aHeading)
+ // Remove softkey height that was added earlier so that
+ // scroll bar doesn't get behind the softkey.
+ scrollBarClientRect.iBr.iY -= cbaRect.Rect().Height();
+
+ if ( heading )
{
scrollBarClientRect.iTl.iY += spaceForHeading;
}
- if (windowSizeFind)
+ if ( windowSizeFind )
{
scrollBarClientRect.iBr.iY -= spaceForFind;
}
- if (messageBox)
+ if ( messageBox )
{
scrollBarClientRect.iTl.iY += messageRect.Height();
}
- varietyIndex = 0;
+
AknLayoutUtils::LayoutVerticalScrollBar(
- aListBox->ScrollBarFrame(),
+ listBox->ScrollBarFrame(),
scrollBarClientRect,
- AknLayoutScalable_Avkon::scroll_pane_cp25(varietyIndex).LayoutLine() ) ;
+ AknLayoutScalable_Avkon::scroll_pane_cp25( 0 ).LayoutLine() );
- if (messageBox)
+ if ( messageBox )
{
TAknLayoutRect msgQuery;
-
- TInt varietyIndex = 0;
- switch(messageNumOfLines)
- {
- case (0):
- case (1): varietyIndex = 0;
- break;
- case (2): varietyIndex = 1;
- break;
- default : varietyIndex = 2;
- }
- msgQuery.LayoutRect( AknPopupLayouts::MenuRect(aDef),
- AknLayoutScalable_Apps::loc_type_pane(varietyIndex).LayoutLine() );
- aMsgQueryCtrl->SetRect(msgQuery.Rect());
+ msgQuery.LayoutRect( AknPopupLayouts::MenuRect( aDef ),
+ messageBoxItemLayout );
+ msgQueryCtrl->SetRect( msgQuery.Rect() );
}
- window_rect = WindowRect(aDef);
- MAknsControlContext *cc = AknsDrawUtils::ControlContext( aListBox );
+ windowRect = WindowRect( aDef );
+ MAknsControlContext* cc = AknsDrawUtils::ControlContext( listBox );
TBool defaultContext = EFalse;
- if (!cc)
+ if ( !cc )
{
- cc = aListBox->View()->ItemDrawer()->SkinBackgroundControlContext();
+ cc = listBox->View()->ItemDrawer()->SkinBackgroundControlContext();
defaultContext = ETrue;
}
- if (cc)
+ if ( cc )
{
- CAknsBasicBackgroundControlContext *bcc = (CAknsBasicBackgroundControlContext*)cc;
- TAknLayoutRect popupBgRect;
- popupBgRect.LayoutRect(window_rect,
- SkinLayout::Popup_windows_skin_placing__background_slice__Line_1(window_rect));
- bcc->SetBitmap(KAknsIIDQsnFrPopupCenter);
- if (defaultContext) bcc->SetRect(popupBgRect.Rect());
- bcc->SetParentPos(aWindowOwningControl->PositionRelativeToScreen());
- if (defaultContext)
- bcc->SetParentPos(TPoint(0,0));
+ CAknsBasicBackgroundControlContext* bcc =
+ static_cast<CAknsBasicBackgroundControlContext*>( cc );
+ bcc->SetBitmap( KAknsIIDQsnFrPopupCenter );
+
+ if ( defaultContext )
+ {
+ bcc->SetRect( windowRect );
+ bcc->SetParentPos( TPoint( 0, 0 ) );
+ }
+ else
+ {
+ bcc->SetParentPos( windowOwningControl->PositionRelativeToScreen() );
+ }
}
-// handled in CFormattedCellListBoxDataExtension, since listbox does not always cover whole
-// window rect (listquery/popup list), especially when items are added after construction
-/*
- // note, that cleanup is done in ~CFormattedCellListBoxData()
- // or ( shudder ) in ~CColumnListBoxData()
- MTouchFeedback* feedback = MTouchFeedback::Instance();
- if( feedback )
- {
- feedback->SetFeedbackArea( aListBox, 0, aListBox->Rect(),
- ETouchFeedbackBasic, ETouchEventStylusDown );
- }
-*/
-}
+ }
+
EXPORT_C void AknPopupLayouts::HandleSizeAndPositionOfComponents(const TAknPopupWindowLayoutDef &aDef,
CCoeControl *aContent,
@@ -513,19 +469,25 @@
if (aValue < aMin) aValue = aMin;
}
+
// Disable "unreferenced formal parameter" for when aEikEnv is not used in the AKN_LAF_COLOR_ENV macro.
#pragma warning(disable : 4100)
-EXPORT_C void AknPopupLayouts::HandleDraw(CEikonEnv* /*aEikEnv*/,
- CWindowGc &aGc,
- const TAknPopupWindowLayoutDef &aDef,
- CEikListBox* aListBox,
- CAknPopupHeadingPane* aHeading)
+EXPORT_C void AknPopupLayouts::HandleDraw( CEikonEnv* /*aEikEnv*/,
+ CWindowGc& aGc,
+ const TAknPopupWindowLayoutDef& aDef,
+ CEikListBox* aListBox,
+ CAknPopupHeadingPane* aHeading )
{
- TRect windowRect = MenuRect(const_cast<TAknPopupWindowLayoutDef&>(aDef));
- MAknsSkinInstance *skin = AknsUtils::SkinInstance();
- MAknsControlContext *cc = AknsDrawUtils::ControlContext( aListBox );
+ TRect windowRect(
+ MenuRect( const_cast<TAknPopupWindowLayoutDef&>( aDef ) ) );
+ MAknsSkinInstance* skin = AknsUtils::SkinInstance();
+ MAknsControlContext* cc = AknsDrawUtils::ControlContext( aListBox );
TBool windowFrameDrawn = EFalse;
- if (!cc) cc = aListBox->View()->ItemDrawer()->SkinBackgroundControlContext();
+
+ if ( !cc )
+ {
+ cc = aListBox->View()->ItemDrawer()->SkinBackgroundControlContext();
+ }
TRegionFix<5> dontDrawRegion;
TRegionFix<22> drawRegion;
@@ -536,77 +498,114 @@
// If there are scroll bars and they draw their own background, take
// them out of clipping region
CEikScrollBarFrame* scrollBarFrame = aListBox->ScrollBarFrame();
- if (scrollBarFrame)
+ if ( scrollBarFrame )
{
CEikScrollBar* hBar = scrollBarFrame->GetScrollBarHandle(
- CEikScrollBar::EHorizontal);
+ CEikScrollBar::EHorizontal );
CEikScrollBar* vBar = scrollBarFrame->GetScrollBarHandle(
- CEikScrollBar::EVertical);
+ CEikScrollBar::EVertical );
TBool drawHorizontal = ETrue;
TBool drawVertical = ETrue;
- scrollBarFrame->DrawBackgroundState(drawHorizontal, drawVertical);
+ scrollBarFrame->DrawBackgroundState( drawHorizontal, drawVertical );
drawHorizontal = drawHorizontal && hBar && hBar->IsVisible();
drawVertical = drawVertical && vBar && vBar->IsVisible();
- if (drawHorizontal)
+
+ if ( drawHorizontal )
{
- TRect scrollBarRect(hBar->Rect());
- if (hBar->OwnsWindow())
+ TRect scrollBarRect( hBar->Rect() );
+ if ( hBar->OwnsWindow() )
{
- TPoint windowPos = aDef.iWindowRect.iTl;
- TPoint scrollBarPos = hBar->PositionRelativeToScreen();
- scrollBarRect.Move(scrollBarPos - windowPos);
+ TPoint windowPos( aDef.iWindowRect.iTl );
+ TPoint scrollBarPos( hBar->PositionRelativeToScreen() );
+ scrollBarRect.Move( scrollBarPos - windowPos );
}
- dontDrawRegion.AddRect(scrollBarRect);
+ dontDrawRegion.AddRect( scrollBarRect );
}
- if (drawVertical)
+
+ if ( drawVertical )
{
- TRect scrollBarRect(vBar->Rect());
- if (vBar->OwnsWindow())
+ TRect scrollBarRect( vBar->Rect() );
+ if ( vBar->OwnsWindow() )
{
- TPoint windowPos = aDef.iWindowRect.iTl;
- TPoint scrollBarPos = vBar->PositionRelativeToScreen();
- scrollBarRect.Move(scrollBarPos - windowPos);
+ TPoint windowPos( aDef.iWindowRect.iTl );
+ TPoint scrollBarPos( vBar->PositionRelativeToScreen() );
+ scrollBarRect.Move( scrollBarPos - windowPos );
}
- dontDrawRegion.AddRect(scrollBarRect);
+
+ dontDrawRegion.AddRect( scrollBarRect );
}
}
}
+
if ( aHeading )
{
dontDrawRegion.AddRect( aHeading->Rect() );
}
+
drawRegion.AddRect( windowRect );
drawRegion.SubRegion( dontDrawRegion );
- if (cc)
+
+ if ( cc )
{
- const TAknsItemID *popupBgId = &KAknsIIDQsnBgPopupBackground;
- TAknLayoutRect popupBgRect;
- popupBgRect.LayoutRect(windowRect, SkinLayout::Popup_windows_skin_placing__background_slice__Line_1(windowRect));
- AknsDrawUtils::DrawCachedImage(skin, aGc, popupBgRect.Rect(), *popupBgId);
+ const TAknsItemID* popupBgId = &KAknsIIDQsnBgPopupBackground;
+ AknsDrawUtils::DrawCachedImage( skin, aGc, windowRect, *popupBgId );
- const TAknsItemID *sliceId = &KAknsIIDQsnBgSlicePopup;
+ const TAknsItemID* sliceId = &KAknsIIDQsnBgSlicePopup;
TAknLayoutRect sliceRect;
- sliceRect.LayoutRect(windowRect, SkinLayout::Popup_windows_skin_placing__background_slice__Line_2());
- AknsDrawUtils::DrawCachedImage(skin, aGc, sliceRect.Rect(), *sliceId);
-
+ sliceRect.LayoutRect( windowRect,
+ AknLayoutScalable_Avkon::bg_list_pane_g5( 0 ) );
+ AknsDrawUtils::DrawCachedImage( skin, aGc, sliceRect.Rect(), *sliceId );
+
+ TAknWindowComponentLayout popupBgLayout(
+ AknLayoutScalable_Avkon::bg_popup_window_pane( 0 ) );
+
+ TAknWindowComponentLayout popupBgInnerLayout(
+ AknLayoutScalable_Avkon::bg_popup_window_pane_g1(
+ Layout_Meta_Data::IsLandscapeOrientation() ) );
+
TAknLayoutRect topLeft;
- topLeft.LayoutRect(windowRect, SkinLayout::Popup_windows_skin_placing__frame_general__Line_2());
+ topLeft.LayoutRect(
+ windowRect,
+ TAknWindowComponentLayout::Compose(
+ popupBgLayout,
+ TAknWindowComponentLayout::Split( popupBgInnerLayout, 0 ) ) );
+ TRect topLeftRect( topLeft.Rect() );
TAknLayoutRect bottomRight;
- bottomRight.LayoutRect(windowRect, SkinLayout::Popup_windows_skin_placing__frame_general__Line_5());
+ bottomRight.LayoutRect(
+ windowRect,
+ TAknWindowComponentLayout::Compose(
+ popupBgLayout,
+ TAknWindowComponentLayout::Split( popupBgInnerLayout, 8 ) ) );
+ TRect bottomRightRect( bottomRight.Rect() );
+
+ TRect outerRect( topLeftRect.iTl, bottomRightRect.iBr );
+ TRect innerRect( topLeftRect.iBr, bottomRightRect.iTl );
+
+ aGc.SetPenStyle( CGraphicsContext::ENullPen );
- TRect outerRect = TRect(topLeft.Rect().iTl, bottomRight.Rect().iBr);
- TRect innerRect = TRect(topLeft.Rect().iBr, bottomRight.Rect().iTl);
- aGc.SetPenStyle(CGraphicsContext::ENullPen);
- const TAknsItemID *frameId = &KAknsIIDQsnFrPopup;
- const TAknsItemID *frameCenterId = &KAknsIIDQsnFrPopupCenter;
+ const TAknsItemID* frameId = &KAknsIIDQsnFrPopup;
+ const TAknsItemID* frameCenterId = &KAknsIIDQsnFrPopupCenter;
+
aGc.SetClippingRegion( drawRegion );
- windowFrameDrawn = AknsDrawUtils::DrawFrame(skin, aGc, outerRect, innerRect, *frameId, *frameCenterId);
+
+ windowFrameDrawn = AknsDrawUtils::DrawFrame( skin,
+ aGc,
+ outerRect,
+ innerRect,
+ *frameId,
+ *frameCenterId );
aGc.CancelClippingRegion();
}
- if (!windowFrameDrawn)
+
+ if ( !windowFrameDrawn )
{
- AknDraw::DrawWindowShadow(aGc, aDef.iCover, aDef.iSecond, aDef.iFirst, aDef.iOutline, aDef.iInside);
+ AknDraw::DrawWindowShadow( aGc,
+ aDef.iCover,
+ aDef.iSecond,
+ aDef.iFirst,
+ aDef.iOutline,
+ aDef.iInside );
}
}
#pragma warning(default : 4100)
@@ -618,308 +617,288 @@
}
-EXPORT_C void AknPopupLayouts::MenuPopupWindowGraphics(TAknPopupWindowLayoutDef &aDef)
- {
- TRect window_rect = AknPopupLayouts::MenuRect(aDef);
- TAknWindowLineLayout s0 = AKN_LAYOUT_WINDOW_Menu_pop_up_window_graphics_Line_1(window_rect);
- TAknWindowLineLayout s1 = AKN_LAYOUT_WINDOW_Menu_pop_up_window_graphics_Line_2(window_rect);
- TAknWindowLineLayout s2 = AKN_LAYOUT_WINDOW_Menu_pop_up_window_graphics_Line_3(window_rect);
- TAknWindowLineLayout s3 = AKN_LAYOUT_WINDOW_Menu_pop_up_window_graphics_Line_4(window_rect);
- TAknWindowLineLayout s4 = AKN_LAYOUT_WINDOW_Menu_pop_up_window_graphics_Line_5(window_rect);
-
- aDef.iCover.LayoutRect( window_rect, s0);
- aDef.iSecond.LayoutRect( window_rect, s1);
- aDef.iFirst.LayoutRect( window_rect, s2);
- aDef.iOutline.LayoutRect(window_rect, s3);
- aDef.iInside.LayoutRect( window_rect, s4);
-}
-
-EXPORT_C void AknPopupLayouts::SetupMenuPopupWindow(TAknPopupWindowLayoutDef &aDef, TInt num, TBool heading)
+EXPORT_C void AknPopupLayouts::MenuPopupWindowGraphics(
+ TAknPopupWindowLayoutDef& aDef )
{
- SetupDefaults(aDef);
- TRect window_rect = AknPopupLayouts::MenuRect(aDef);
- TAknWindowLineLayout listLayout = AKN_LAYOUT_WINDOW_list_menu_pane(heading?1:0, num-1);
- // We really don't want parent relative list layout here because findbox will be overwritten.
- // Just calculate list height and use that.
- TRect nullRect(0,0,0,0);
- TRect listItemRect = RectFromLayout(nullRect, AknLayoutScalable_Avkon::list_single_number_heading_pane_cp2(0));
- listLayout.iH = (TInt16)(num * listItemRect.Height());
- listLayout.ib = ELayoutEmpty;
-
- aDef.iListRect.LayoutRect(window_rect, listLayout);
+ TRect windowRect( AknPopupLayouts::MenuRect( aDef ) );
- //aDef.iListRect.LayoutRect(window_rect, AKN_LAYOUT_WINDOW_list_menu_pane(heading?1:0, num-1));
-
- TAknWindowLineLayout part1 = AKN_LAYOUT_WINDOW_Pop_up_window_list_pane_descendants_Line_8;
- TAknWindowLineLayout part2 = AKN_LAYOUT_WINDOW_Menu_pop_up_window_descendants_Line_2;
-
- // Combine two layouts togeher.
- if (part2.iC != ELayoutEmpty) part1.iC = part2.iC;
- if (part2.il != ELayoutEmpty) part1.il = part2.il;
- if (part2.it != ELayoutEmpty) part1.it = part2.it;
- if (part2.ir != ELayoutEmpty) part1.ir = part2.ir;
- if (part2.ib != ELayoutEmpty) part1.ib = part2.ib;
- if (part2.iW != ELayoutEmpty) part1.iW = part2.iW;
- if (part2.iH != ELayoutEmpty) part1.iH = part2.iH;
-
- aDef.iHeadingRect.LayoutRect(window_rect, part1);
-
- //MenuPopupWindowGraphics(aDef);
+ aDef.iCover.LayoutRect(
+ windowRect, AknLayoutScalable_Avkon::bg_popup_window_pane_cp2( 0 ) );
+ aDef.iSecond.LayoutRect( windowRect, KEmptyLayout );
+ aDef.iFirst.LayoutRect( windowRect, KEmptyLayout );
+ aDef.iOutline.LayoutRect(
+ windowRect, AknLayoutScalable_Avkon::listscroll_menu_pane( 0 ) );
+ aDef.iInside.LayoutRect(
+ windowRect, AknLayoutScalable_Avkon::list_menu_pane( 0 ) );
}
-EXPORT_C void AknPopupLayouts::SetupPopupMenuGraphicWindow(TAknPopupWindowLayoutDef &aDef, TInt num, TBool heading)
+
+EXPORT_C void AknPopupLayouts::SetupMenuPopupWindow( TAknPopupWindowLayoutDef& aDef,
+ TInt aNum,
+ TBool aHeading )
{
- SetupDefaults(aDef);
- TRect window_rect = AknPopupLayouts::MenuRect(aDef);
- TAknWindowLineLayout listLayout = AKN_LAYOUT_WINDOW_list_menu_graphic_pane(heading?1:0, num-1);
- // We really don't want parent relative list layout here because findbox will be overwritten.
- // Just calculate list height and use that.
- TRect nullRect(0,0,0,0);
- TRect listItemRect = RectFromLayout(nullRect, AknLayoutScalable_Avkon::list_single_graphic_heading_pane_cp2(0));
- listLayout.iH = (TInt16)(num * listItemRect.Height());
- listLayout.ib = ELayoutEmpty;
-
- aDef.iListRect.LayoutRect(window_rect, listLayout);
+ SetupDefaults( aDef );
+
+ CommonSetup( aDef,
+ AknLayoutScalable_Avkon::list_single_number_heading_pane_cp2( 0 ),
+ aNum,
+ aHeading,
+ ETrue );
+ }
- //aDef.iListRect.LayoutRect(window_rect, AKN_LAYOUT_WINDOW_list_menu_graphic_pane(heading?1:0, num-1));
- TAknWindowLineLayout part1 = AKN_LAYOUT_WINDOW_Pop_up_window_list_pane_descendants_Line_8;
- TAknWindowLineLayout part2 = AKN_LAYOUT_WINDOW_Menu_pop_up_window_descendants_Line_2;
- // Combine two layouts togeher.
- if (part2.iC != ELayoutEmpty) part1.iC = part2.iC;
- if (part2.il != ELayoutEmpty) part1.il = part2.il;
- if (part2.it != ELayoutEmpty) part1.it = part2.it;
- if (part2.ir != ELayoutEmpty) part1.ir = part2.ir;
- if (part2.ib != ELayoutEmpty) part1.ib = part2.ib;
- if (part2.iW != ELayoutEmpty) part1.iW = part2.iW;
- if (part2.iH != ELayoutEmpty) part1.iH = part2.iH;
-
- aDef.iHeadingRect.LayoutRect(window_rect, part1);
-
- //MenuPopupWindowGraphics(aDef);
+EXPORT_C void AknPopupLayouts::SetupPopupMenuGraphicWindow(
+ TAknPopupWindowLayoutDef &aDef,
+ TInt aNum,
+ TBool aHeading )
+ {
+ SetupDefaults( aDef );
+
+ CommonSetup( aDef,
+ AknLayoutScalable_Avkon::list_single_graphic_heading_pane_cp2( 0 ),
+ aNum,
+ aHeading,
+ ETrue );
}
-EXPORT_C void AknPopupLayouts::SetupPopupMenuGraphicHeadingWindow(TAknPopupWindowLayoutDef &aDef, TInt num, TBool heading)
- {
- TRect window_rect = AknPopupLayouts::MenuRect(aDef);
- TAknWindowLineLayout listLayout = AKN_LAYOUT_WINDOW_list_menu_graphic_heading_pane(heading?1:0, num-1);
- // We really don't want parent relative list layout here because findbox will be overwritten.
- // Just calculate list height and use that.
- TRect nullRect(0,0,0,0);
- TRect listItemRect = RectFromLayout(nullRect, AknLayoutScalable_Avkon::list_single_graphic_heading_pane_cp2(0));
- listLayout.iH = (TInt16)(num * listItemRect.Height());
- listLayout.ib = ELayoutEmpty;
-
- aDef.iListRect.LayoutRect(window_rect, listLayout);
- TAknWindowLineLayout part1 = AKN_LAYOUT_WINDOW_Pop_up_window_list_pane_descendants_Line_8;
- TAknWindowLineLayout part2 = AKN_LAYOUT_WINDOW_Menu_pop_up_window_descendants_and_elements__single_graphic_heading__Line_2;
- // Combine two layouts togeher.
- if (part2.iC != ELayoutEmpty) part1.iC = part2.iC;
- if (part2.il != ELayoutEmpty) part1.il = part2.il;
- if (part2.it != ELayoutEmpty) part1.it = part2.it;
- if (part2.ir != ELayoutEmpty) part1.ir = part2.ir;
- if (part2.ib != ELayoutEmpty) part1.ib = part2.ib;
- if (part2.iW != ELayoutEmpty) part1.iW = part2.iW;
- if (part2.iH != ELayoutEmpty) part1.iH = part2.iH;
+EXPORT_C void AknPopupLayouts::SetupPopupMenuGraphicHeadingWindow(
+ TAknPopupWindowLayoutDef &aDef,
+ TInt aNum,
+ TBool aHeading )
+ {
+ CommonSetup( aDef,
+ AknLayoutScalable_Avkon::list_single_graphic_heading_pane_cp2( 0 ),
+ aNum,
+ aHeading,
+ EFalse );
- aDef.iHeadingRect.LayoutRect(window_rect, part1);
-
- //MenuPopupWindowGraphics(aDef);
-
- const TAknWindowLineLayout lines[] =
- {
- AKN_LAYOUT_WINDOW_Menu_pop_up_window_descendants_and_elements__single_graphic_heading__Line_3(heading?1:0),
- AKN_LAYOUT_WINDOW_Menu_pop_up_window_descendants_and_elements__single_graphic_heading__Line_3(1)
- };
- TRect inner_rect = window_rect;
- aDef.iVertLineExt1.LayoutRect( inner_rect, lines[0]);
- aDef.iVertLineExt2.LayoutRect( inner_rect, lines[1]);
+ TRect windowRect( AknPopupLayouts::MenuRect( aDef ) );
+ aDef.iHeadingRect.LayoutRect( windowRect,
+ AknLayoutScalable_Avkon::heading_pane( 0 ) );
}
-EXPORT_C void AknPopupLayouts::SetupPopupMenuDoubleWindow(TAknPopupWindowLayoutDef &aDef, TInt num, TBool heading)
+
+EXPORT_C void AknPopupLayouts::SetupPopupMenuDoubleWindow(
+ TAknPopupWindowLayoutDef& aDef,
+ TInt aNum,
+ TBool aHeading )
{
- SetupDefaults(aDef);
- TRect window_rect = AknPopupLayouts::MenuRect(aDef);
- TAknWindowLineLayout listLayout = AKN_LAYOUT_WINDOW_list_menu_double_pane_list_menu_double2_pane(heading?1:0, num-1);
- // We really don't want parent relative list layout here because findbox will be overwritten.
- // Just calculate list height and use that.
- TRect nullRect(0,0,0,0);
- TRect listItemRect = RectFromLayout(nullRect, AknLayoutScalable_Avkon::list_double2_graphic_pane_cp2(0));
- listLayout.iH = (TInt16)(num * listItemRect.Height());
- listLayout.ib = ELayoutEmpty;
-
- aDef.iListRect.LayoutRect(window_rect, listLayout);
-
- //aDef.iListRect.LayoutRect(window_rect, AKN_LAYOUT_WINDOW_list_menu_double_pane_list_menu_double2_pane(heading?1:0, num-1 ));
- TAknWindowLineLayout part1 = AKN_LAYOUT_WINDOW_Pop_up_window_list_pane_descendants_Line_8;
- TAknWindowLineLayout part2 = AKN_LAYOUT_WINDOW_Menu_pop_up_window_descendants__double__Line_2;
- // Combine two layouts togeher.
- if (part2.iC != ELayoutEmpty) part1.iC = part2.iC;
- if (part2.il != ELayoutEmpty) part1.il = part2.il;
- if (part2.it != ELayoutEmpty) part1.it = part2.it;
- if (part2.ir != ELayoutEmpty) part1.ir = part2.ir;
- if (part2.ib != ELayoutEmpty) part1.ib = part2.ib;
- if (part2.iW != ELayoutEmpty) part1.iW = part2.iW;
- if (part2.iH != ELayoutEmpty) part1.iH = part2.iH;
-
- aDef.iHeadingRect.LayoutRect(window_rect, part1);
-
- //MenuPopupWindowGraphics(aDef);
- }
+ SetupDefaults( aDef );
-EXPORT_C void AknPopupLayouts::SetupImageSelectionMenuPopupWindow(TAknPopupWindowLayoutDef &aDef, TInt num, TBool heading)
- {
- SetupDefaults(aDef);
- TRect window_rect = AknPopupLayouts::MenuRect(aDef);
- TAknWindowLineLayout listLayout = AKN_LAYOUT_WINDOW_list_menu_double_large_graphic_pane(heading?1:0, num-1);
- // We really don't want parent relative list layout here because findbox will be overwritten.
- // Just calculate list height and use that.
- TRect nullRect(0,0,0,0);
- TRect listItemRect = RectFromLayout(nullRect, AknLayoutScalable_Avkon::list_double_large_graphic_pane_cp2(0));
- listLayout.iH = (TInt16)(num * listItemRect.Height());
- listLayout.ib = ELayoutEmpty;
+ CommonSetup( aDef,
+ AknLayoutScalable_Avkon::list_double2_graphic_pane_cp2( 0 ),
+ aNum,
+ aHeading,
+ EFalse );
- aDef.iListRect.LayoutRect(window_rect, listLayout);
+ TRect windowRect( AknPopupLayouts::MenuRect( aDef ) );
+ aDef.iHeadingRect.LayoutRect( windowRect,
+ AknLayoutScalable_Avkon::heading_pane( 0 ) );
+ }
+
- //aDef.iListRect.LayoutRect(window_rect, AKN_LAYOUT_WINDOW_list_menu_double_large_graphic_pane(heading?1:0, num-1));
-
- TAknWindowLineLayout part1 = AKN_LAYOUT_WINDOW_Pop_up_window_list_pane_descendants_Line_8;
- TAknWindowLineLayout part2 = AKN_LAYOUT_WINDOW_Menu_pop_up_window_descendants__double__Line_2;
+EXPORT_C void AknPopupLayouts::SetupImageSelectionMenuPopupWindow(
+ TAknPopupWindowLayoutDef& aDef,
+ TInt aNum,
+ TBool aHeading )
+ {
+ SetupDefaults( aDef );
- // Combine two layouts togeher.
- if (part2.iC != ELayoutEmpty) part1.iC = part2.iC;
- if (part2.il != ELayoutEmpty) part1.il = part2.il;
- if (part2.it != ELayoutEmpty) part1.it = part2.it;
- if (part2.ir != ELayoutEmpty) part1.ir = part2.ir;
- if (part2.ib != ELayoutEmpty) part1.ib = part2.ib;
- if (part2.iW != ELayoutEmpty) part1.iW = part2.iW;
- if (part2.iH != ELayoutEmpty) part1.iH = part2.iH;
- aDef.iHeadingRect.LayoutRect(window_rect, part1);
-
- //MenuPopupWindowGraphics(aDef);
+ CommonSetup( aDef,
+ AknLayoutScalable_Avkon::list_double_large_graphic_pane_cp2( 0 ),
+ aNum,
+ aHeading,
+ EFalse );
+
+ TRect windowRect( AknPopupLayouts::MenuRect( aDef ) );
+ aDef.iHeadingRect.LayoutRect( windowRect,
+ AknLayoutScalable_Avkon::heading_pane( 0 ) );
}
-EXPORT_C void AknPopupLayouts::SetupPopupSNoteGroupWindow(TAknPopupWindowLayoutDef &aDef, TInt num, TBool /*heading*/)
+EXPORT_C void AknPopupLayouts::SetupPopupSNoteGroupWindow(
+ TAknPopupWindowLayoutDef &aDef,
+ TInt aNum,
+ TBool /*aHeading*/ )
{
- // not used (at least by AvKon) - no need to remove magic numbers
- SetupDefaults(aDef);
- TRect window_rect = AknPopupLayouts::MenuRect(aDef);
- aDef.iListRect.LayoutRect(window_rect, 0, 3, 11, ELayoutEmpty, ELayoutEmpty, 168, 38+(57-38)*(num-2) );
- TAknWindowLineLayout part1 = AKN_LAYOUT_WINDOW_Pop_up_window_list_pane_descendants_Line_8;
- TAknWindowLineLayout part2 = AKN_LAYOUT_WINDOW_Menu_pop_up_window_descendants_Line_2;
+ // Not used (at least by AvKon) - no need to remove magic numbers.
+ SetupDefaults( aDef );
+ TRect windowRect( AknPopupLayouts::MenuRect( aDef ) );
+ aDef.iListRect.LayoutRect( windowRect,
+ 0,
+ 3,
+ 11,
+ ELayoutEmpty,
+ ELayoutEmpty,
+ 168,
+ 38 + ( 57 - 38 ) * ( aNum - 2 ) );
+ TAknWindowLineLayout part1(
+ AknLayoutScalable_Avkon::heading_pane( 0 ).LayoutLine() );
+
+ TAknWindowLineLayout part2(
+ TAknWindowComponentLayout::Compose(
+ TAknWindowComponentLayout::Compose(
+ TAknWindowComponentLayout::SiblingAsChild(
+ AknLayoutScalable_Avkon::popup_window_general( 1 ),
+ AknLayoutScalable_Avkon::popup_window_general( 0 ) ),
+ AknLayoutScalable_Avkon::listscroll_menu_pane( 0 ) ),
+ AknLayoutScalable_Avkon::list_menu_pane( 0 ) ).LayoutLine() );
+
// Combine two layouts togeher.
- if (part2.iC != ELayoutEmpty) part1.iC = part2.iC;
- if (part2.il != ELayoutEmpty) part1.il = part2.il;
- if (part2.it != ELayoutEmpty) part1.it = part2.it;
- if (part2.ir != ELayoutEmpty) part1.ir = part2.ir;
- if (part2.ib != ELayoutEmpty) part1.ib = part2.ib;
- if (part2.iW != ELayoutEmpty) part1.iW = part2.iW;
- if (part2.iH != ELayoutEmpty) part1.iH = part2.iH;
+ if ( part2.iC != ELayoutEmpty ) part1.iC = part2.iC;
+ if ( part2.il != ELayoutEmpty ) part1.il = part2.il;
+ if ( part2.it != ELayoutEmpty ) part1.it = part2.it;
+ if ( part2.ir != ELayoutEmpty ) part1.ir = part2.ir;
+ if ( part2.ib != ELayoutEmpty ) part1.ib = part2.ib;
+ if ( part2.iW != ELayoutEmpty ) part1.iW = part2.iW;
+ if ( part2.iH != ELayoutEmpty ) part1.iH = part2.iH;
- aDef.iHeadingRect.LayoutRect(window_rect, part1);
+ aDef.iHeadingRect.LayoutRect( windowRect, part1 );
- TInt p = window_rect.Size().iHeight;
+ TInt p = windowRect.Size().iHeight;
const AknLayoutUtils::SAknLayoutRect shadow[] =
{
- { 0,0,0,ELayoutEmpty, ELayoutEmpty, 176, p },
- { 86,7,12,ELayoutEmpty, ELayoutEmpty, 167, p -16 },
- { 221,4,10,ELayoutEmpty, ELayoutEmpty, 169, p -15 },
- { 215,2,8,ELayoutEmpty, ELayoutEmpty, 170, p -14 },
- { 0,3,9,ELayoutEmpty, ELayoutEmpty, 168, p -16 }
+ { 0, 0, 0, ELayoutEmpty, ELayoutEmpty, 176, p },
+ { 86, 7, 12, ELayoutEmpty, ELayoutEmpty, 167, p - 16 },
+ { 221, 4, 10, ELayoutEmpty, ELayoutEmpty, 169, p - 15 },
+ { 215, 2, 8, ELayoutEmpty, ELayoutEmpty, 170, p - 14 },
+ { 0, 3, 9, ELayoutEmpty, ELayoutEmpty, 168, p - 16 }
};
- aDef.iCover.LayoutRect( window_rect, shadow[0]);
- aDef.iSecond.LayoutRect( window_rect, shadow[1]);
- aDef.iFirst.LayoutRect( window_rect, shadow[2]);
- aDef.iOutline.LayoutRect(window_rect, shadow[3]);
- aDef.iInside.LayoutRect( window_rect, shadow[4]);
+ aDef.iCover.LayoutRect( windowRect, shadow[0] );
+ aDef.iSecond.LayoutRect( windowRect, shadow[1] );
+ aDef.iFirst.LayoutRect( windowRect, shadow[2] );
+ aDef.iOutline.LayoutRect(windowRect, shadow[3] );
+ aDef.iInside.LayoutRect( windowRect, shadow[4] );
}
-
-EXPORT_C void AknPopupLayouts::CalcPopupMenuWindow(TAknPopupWindowLayoutDef &aDef,TRect aRect, TInt num)
+EXPORT_C void AknPopupLayouts::CalcPopupMenuWindow(
+ TAknPopupWindowLayoutDef& aDef,
+ TRect aRect,
+ TInt aNum )
{
- TAknLayoutRect popup_menu_window;
- popup_menu_window.LayoutRect(aRect, AKN_LAYOUT_WINDOW_popup_menu_window(num-1));
- aDef.iWindowRect = popup_menu_window.Rect();
- aDef.iPopupMenuWindowOffset=TPoint(0,0);
- }
-EXPORT_C void AknPopupLayouts::CalcPopupMenuGraphicWindow(TAknPopupWindowLayoutDef &aDef,TRect aRect, TInt num)
- {
- TAknLayoutRect popup_menu_graphic_window;
- popup_menu_graphic_window.LayoutRect(aRect, AKN_LAYOUT_WINDOW_popup_menu_graphic_window(num-1));
- aDef.iWindowRect = popup_menu_graphic_window.Rect();
- aDef.iPopupMenuWindowOffset=TPoint(0,0);
+ TInt variety;
+ if ( Layout_Meta_Data::IsLandscapeOrientation() )
+ {
+ // Popup menu window is wider in landscape orientation.
+ variety = ( aNum < 7 ) ? 20 - aNum : 43;
+ }
+ else
+ {
+ variety = 7 + aNum;
+ }
+
+ TAknLayoutRect popupMenuWindow;
+ popupMenuWindow.LayoutRect(
+ aRect,
+ AknLayoutScalable_Avkon::popup_menu_window( variety ) );
+ aDef.iWindowRect = popupMenuWindow.Rect();
+ aDef.iPopupMenuWindowOffset.SetXY( 0, 0 );
}
-EXPORT_C void AknPopupLayouts::CalcPopupMenuGraphicHeadingWindow(TAknPopupWindowLayoutDef &aDef,TRect aRect, TInt num)
+
+
+EXPORT_C void AknPopupLayouts::CalcPopupMenuGraphicWindow(
+ TAknPopupWindowLayoutDef& aDef,
+ TRect aRect,
+ TInt aNum )
{
- TAknLayoutRect popup_menu_graphic_heading_window;
- popup_menu_graphic_heading_window.LayoutRect(aRect,AKN_LAYOUT_WINDOW_popup_menu_graphic_heading_window(num-1));
- aDef.iWindowRect = popup_menu_graphic_heading_window.Rect();
- aDef.iPopupMenuWindowOffset=TPoint(0,0);
+ CalcPopupMenuWindow( aDef, aRect, aNum );
}
-EXPORT_C void AknPopupLayouts::CalcPopupMenuDoubleWindow(TAknPopupWindowLayoutDef &aDef,TRect aRect, TInt num)
+
+
+EXPORT_C void AknPopupLayouts::CalcPopupMenuGraphicHeadingWindow(
+ TAknPopupWindowLayoutDef& aDef,
+ TRect aRect,
+ TInt aNum )
{
- TAknLayoutRect popup_menu_double_window;
- TInt items = 2;
- if (num == 2) items = 1;
- if (num == 1) items = 0;
- popup_menu_double_window.LayoutRect(aRect, AKN_LAYOUT_WINDOW_popup_menu_double_window(items));
- aDef.iWindowRect = popup_menu_double_window.Rect();
- aDef.iPopupMenuWindowOffset=TPoint(0,0);
+ CalcPopupMenuWindow( aDef, aRect, aNum );
}
-EXPORT_C void AknPopupLayouts::CalcPopupMenuDoubleLargeGraphicWindow(TAknPopupWindowLayoutDef &aDef,TRect aRect, TInt num)
+
+EXPORT_C void AknPopupLayouts::CalcPopupMenuDoubleWindow(
+ TAknPopupWindowLayoutDef& aDef,
+ TRect aRect,
+ TInt aNum )
{
- TAknLayoutRect popup_menu_double_large_graphic_window;
- TInt items = 2;
- if (num == 2) items = 1;
- if (num == 1) items = 0;
- popup_menu_double_large_graphic_window.LayoutRect(aRect, AKN_LAYOUT_WINDOW_popup_menu_double_large_graphic_window(items));
- aDef.iWindowRect = popup_menu_double_large_graphic_window.Rect();
- aDef.iPopupMenuWindowOffset=TPoint(0,0);
- }
+ TBool isLandscape( Layout_Meta_Data::IsLandscapeOrientation() );
+
+ TInt variety = isLandscape ? 26 : 2;
+ if ( aNum == 2 )
+ {
+ variety = isLandscape ? 25 : 1;
+ }
+ else if ( aNum == 1 )
+ {
+ variety = isLandscape ? 24 : 0;
+ }
+
+ TAknLayoutRect popupMenuDoubleWindow;
+ popupMenuDoubleWindow.LayoutRect(
+ aRect, AknLayoutScalable_Avkon::popup_menu_window( variety ) );
+ aDef.iWindowRect = popupMenuDoubleWindow.Rect();
+ aDef.iPopupMenuWindowOffset.SetXY( 0, 0 );
+ }
-EXPORT_C void AknPopupLayouts::CalcPopupSNoteGroupWindow(TAknPopupWindowLayoutDef &aDef,TRect aRect, TInt num)
+EXPORT_C void AknPopupLayouts::CalcPopupMenuDoubleLargeGraphicWindow(
+ TAknPopupWindowLayoutDef& aDef,
+ TRect aRect,
+ TInt aNum )
{
- TAknLayoutRect popup_menu_snote_window;
- if (num-2 < 0) { num = 2; }
- popup_menu_snote_window.LayoutRect(aRect, AKN_LAYOUT_WINDOW_popup_snote_group_window(num-2));
- aDef.iWindowRect = popup_menu_snote_window.Rect();
- aDef.iPopupMenuWindowOffset=TPoint(0,0);
+ CalcPopupMenuDoubleWindow( aDef, aRect, aNum );
+ }
+
+
+EXPORT_C void AknPopupLayouts::CalcPopupSNoteGroupWindow(
+ TAknPopupWindowLayoutDef& aDef,
+ TRect aRect,
+ TInt /*aNum*/ )
+ {
+ // Layout for this isn't specified in the layout data,
+ // use the provided rect.
+ aDef.iWindowRect = aRect;
+ aDef.iPopupMenuWindowOffset.SetXY( 0, 0 );
}
EXPORT_C TRect AknPopupLayouts::WindowRect(TAknPopupWindowLayoutDef &aDef) {return aDef.iWindowRect; }
-EXPORT_C void AknPopupLayouts::ModifyWindowGraphicForHeading(TAknPopupWindowLayoutDef &aDef)
+
+EXPORT_C void AknPopupLayouts::ModifyWindowGraphicForHeading(
+ TAknPopupWindowLayoutDef& aDef )
{
- TRect nullRect(0,0,0,0);
+ TRect nullRect( 0, 0, 0, 0 );
TAknLayoutRect nullHeadingRect;
- // find out, how much space is needed for heading (spaceForHeading was 23)
- nullHeadingRect.LayoutRect(nullRect,AKN_LAYOUT_WINDOW_Pop_up_menu_with_heading_window_graphics_Line_1(nullRect));
+
+ TAknWindowComponentLayout popupWindowLayout(
+ TAknWindowComponentLayout::SiblingAsChild(
+ AknLayoutScalable_Avkon::popup_window_general( 0 ),
+ AknLayoutScalable_Avkon::popup_window_general( 1 ) ) );
+
+ // Find out how much space is needed for heading.
+ nullHeadingRect.LayoutRect( nullRect, popupWindowLayout );
TInt spaceForHeading = nullHeadingRect.Rect().Height();
+ // This is necessary to position it correctly.
+ aDef.iWindowRect.iTl.iY -= spaceForHeading;
- aDef.iWindowRect.iTl.iY -= spaceForHeading; // This is necessary to position it correctly
- // this is because b=0 in parent of coverrect and because
- // parent's height is used in the child...
-
- TRect window_rect = aDef.iWindowRect;
+ // this is because b=0 in parent of coverrect and because
+ // parent's height is used in the child...
+ TRect windowRect( aDef.iWindowRect );
- aDef.iCover.LayoutRect( window_rect, AKN_LAYOUT_WINDOW_Pop_up_menu_with_heading_window_graphics_Line_1(window_rect));
- aDef.iSecond.LayoutRect( window_rect, AKN_LAYOUT_WINDOW_Pop_up_menu_with_heading_window_graphics_Line_2(window_rect));
- aDef.iFirst.LayoutRect( window_rect, AKN_LAYOUT_WINDOW_Pop_up_menu_with_heading_window_graphics_Line_3(window_rect));
- aDef.iOutline.LayoutRect(window_rect, AKN_LAYOUT_WINDOW_Pop_up_menu_with_heading_window_graphics_Line_4(window_rect));
- aDef.iInside.LayoutRect( window_rect, AKN_LAYOUT_WINDOW_Pop_up_menu_with_heading_window_graphics_Line_5(window_rect));
+ aDef.iCover.LayoutRect( windowRect, popupWindowLayout );
+ aDef.iSecond.LayoutRect( windowRect, KEmptyLayout );
+ aDef.iFirst.LayoutRect( windowRect, KEmptyLayout );
+ aDef.iOutline.LayoutRect( windowRect, KEmptyLayout );
+ aDef.iInside.LayoutRect( windowRect, KEmptyLayout );
- aDef.iPopupMenuWindowOffset=TPoint(0,spaceForHeading);
+ aDef.iPopupMenuWindowOffset.SetXY( 0, spaceForHeading );
}
+
EXPORT_C void AknPopupLayouts::ModifyWindowGraphicForMessageBox(TAknPopupWindowLayoutDef &aDef, TInt aNumberOfLines)
{
TInt varietyIndex = 0;
@@ -959,4 +938,59 @@
return layoutRect.Rect();
}
+
+void AknPopupLayouts::CommonSetup( TAknPopupWindowLayoutDef& aDef,
+ const TAknWindowComponentLayout& aItemLayout,
+ TInt aNum,
+ TBool aHeading,
+ TBool aLayoutHeading )
+ {
+ TRect windowRect( AknPopupLayouts::MenuRect( aDef ) );
+
+ TAknWindowLineLayout listWithHeadingLayout(
+ TAknWindowComponentLayout::Compose(
+ TAknWindowComponentLayout::Compose(
+ TAknWindowComponentLayout::SiblingAsChild(
+ AknLayoutScalable_Avkon::popup_window_general( 1 ),
+ AknLayoutScalable_Avkon::popup_window_general( 0 ) ),
+ AknLayoutScalable_Avkon::listscroll_menu_pane( 0 ) ),
+ AknLayoutScalable_Avkon::list_menu_pane( 0 ) ).LayoutLine() );
+
+ TAknWindowLineLayout listLayout( listWithHeadingLayout );
+
+ if ( !aHeading )
+ {
+ listLayout = TAknWindowComponentLayout::Compose(
+ AknLayoutScalable_Avkon::listscroll_menu_pane( 0 ),
+ AknLayoutScalable_Avkon::list_menu_pane( 0 ) ).LayoutLine();
+ }
+
+ // We really don't want parent relative list layout here because findbox
+ // will be overwritten. Just calculate list height and use that.
+ TRect nullRect( 0, 0, 0, 0 );
+ TRect listItemRect( RectFromLayout( nullRect, aItemLayout ) );
+ listLayout.iH = (TInt16)( aNum * listItemRect.Height() );
+ listLayout.ib = ELayoutEmpty;
+
+ aDef.iListRect.LayoutRect( windowRect, listLayout );
+
+ if ( aLayoutHeading )
+ {
+ TAknWindowLineLayout part1(
+ AknLayoutScalable_Avkon::heading_pane( 0 ).LayoutLine() );
+ TAknWindowLineLayout part2( listWithHeadingLayout );
+
+ // Combine two layouts togeher.
+ if ( part2.iC != ELayoutEmpty ) part1.iC = part2.iC;
+ if ( part2.il != ELayoutEmpty ) part1.il = part2.il;
+ if ( part2.it != ELayoutEmpty ) part1.it = part2.it;
+ if ( part2.ir != ELayoutEmpty ) part1.ir = part2.ir;
+ if ( part2.ib != ELayoutEmpty ) part1.ib = part2.ib;
+ if ( part2.iW != ELayoutEmpty ) part1.iW = part2.iW;
+ if ( part2.iH != ELayoutEmpty ) part1.iH = part2.iH;
+
+ aDef.iHeadingRect.LayoutRect( windowRect, part1 );
+ }
+ }
+
// End of File
--- a/uifw/AvKon/src/aknstatuspanedatapublisher.cpp Mon Mar 15 12:41:34 2010 +0200
+++ b/uifw/AvKon/src/aknstatuspanedatapublisher.cpp Wed Mar 31 21:59:52 2010 +0300
@@ -1035,6 +1035,11 @@
pluginUid.iUid = KImplUIDUSBMEMIndicatorsPlugin;
break;
}
+ case EAknIndicatorIntegratedIM:
+ {
+ pluginUid.iUid = KImplUIDIIMIndicatorPlugin;
+ break;
+ }
// currently uncategorized:
case EAknIndicatorKeyguard:
case EAknIndicatorHomeZone:
--- a/uifw/AvKon/src/akntabgrp.cpp Mon Mar 15 12:41:34 2010 +0200
+++ b/uifw/AvKon/src/akntabgrp.cpp Wed Mar 31 21:59:52 2010 +0300
@@ -2885,7 +2885,7 @@
}
else if ( aPointerEvent.iType == TPointerEvent::EButton1Up )
{
- if( newTab> -1 )
+ if( newTab > -1 && newTab == iExtension->iPointerDownTab )
{
MTouchFeedback* feedback = MTouchFeedback::Instance();
--- a/uifw/AvKon/src/aknutils.cpp Mon Mar 15 12:41:34 2010 +0200
+++ b/uifw/AvKon/src/aknutils.cpp Wed Mar 31 21:59:52 2010 +0300
@@ -3411,8 +3411,8 @@
{
TAknWindowComponentLayout line;
TAknLayoutRect rect;
- rect.LayoutRect( TRect( 0, 0, 0, 0 ), AknLayoutScalable_Avkon::Screen() );
- TRect screenRect( rect.Rect() );
+ TRect screenRect(0, 0, AKN_LAYOUT_WINDOW_screen.iW, AKN_LAYOUT_WINDOW_screen.iH);
+ aRect.SetRect( 0, 0, 0, 0 );
// No stacon pane active etc. cheking is done here before the switch-case so that we can
// have slightly better performance for some other lookups (e.g. screen).
@@ -3574,18 +3574,16 @@
variety = 25;
}
- rect.LayoutRect( screenRect, TAknWindowComponentLayout::Compose(
- AknLayoutScalable_Avkon::application_window( 0 ),
- AknLayoutScalable_Avkon::main_pane( variety ) ) );
+ rect.LayoutRect( screenRect,
+ AknLayoutScalable_Avkon::main_pane( variety ) );
aRect = rect.Rect();
return ETrue;
}
else if ( screenRect.iBr.iX == 360 && screenRect.iBr.iY == 640 )
{
TInt variety = 1;
- rect.LayoutRect( screenRect, TAknWindowComponentLayout::Compose(
- AknLayoutScalable_Avkon::application_window( 0 ),
- AknLayoutScalable_Avkon::main_pane( variety ) ) );
+ rect.LayoutRect( screenRect,
+ AknLayoutScalable_Avkon::main_pane( variety ) );
aRect = rect.Rect();
return ETrue;
}
--- a/uifw/AvKon/src/eikfrlb.cpp Mon Mar 15 12:41:34 2010 +0200
+++ b/uifw/AvKon/src/eikfrlb.cpp Wed Mar 31 21:59:52 2010 +0300
@@ -815,7 +815,7 @@
#ifdef RD_UI_TRANSITION_EFFECTS_LIST
MAknListBoxTfxInternal* transApi =
- CAknListLoader::TfxApiInternal( iGc );
+ CAknListLoader::TfxApiInternal( itemDrawer->Gc() );
#endif // RD_UI_TRANSITION_EFFECTS_LIST
if ( CAknEnv::Static()->TransparencyEnabled() )
@@ -847,7 +847,7 @@
}
#endif // RD_UI_TRANSITION_EFFECTS_LIST
- iGc->SetClippingRect( iViewRect );
+ itemDrawer->Gc()->SetClippingRect( iViewRect );
#ifdef RD_UI_TRANSITION_EFFECTS_LIST
if ( transApi )
@@ -865,7 +865,7 @@
}
#endif // RD_UI_TRANSITION_EFFECTS_LIST
- iGc->CancelClippingRect();
+ itemDrawer->Gc()->CancelClippingRect();
#ifdef RD_UI_TRANSITION_EFFECTS_LIST
if ( transApi )
@@ -938,27 +938,27 @@
AknsDrawUtils::BackgroundBetweenRects( skin,
cc,
control,
- *iGc,
+ *itemDrawer->Gc(),
iViewRect,
usedPortionOfViewRect );
- AknsDrawUtils::Background( skin, cc, control, *iGc, sbbg );
+ AknsDrawUtils::Background( skin, cc, control, *itemDrawer->Gc(), sbbg );
if ( AknLayoutUtils::LayoutMirrored() )
{
- AknsDrawUtils::Background( skin, cc, control, *iGc, margin );
+ AknsDrawUtils::Background( skin, cc, control, *itemDrawer->Gc(), margin );
}
}
}
else
{
- iGc->SetBrushColor( BackColor() );
- DrawUtils::ClearBetweenRects( *iGc, iViewRect, usedPortionOfViewRect );
- iGc->Clear( sbbg );
+ itemDrawer->Gc()->SetBrushColor( BackColor() );
+ DrawUtils::ClearBetweenRects( *itemDrawer->Gc(), iViewRect, usedPortionOfViewRect );
+ itemDrawer->Gc()->Clear( sbbg );
if ( AknLayoutUtils::LayoutMirrored() )
{
- iGc->Clear( margin );
+ itemDrawer->Gc()->Clear( margin );
}
}
}
@@ -1417,7 +1417,7 @@
}
#endif // RD_UI_TRANSITION_EFFECTS_LIST
- if ( aDrawSeparator &&
+ if ( aDrawSeparator && control &&
static_cast<CEikListBox*>( control )->ItemsInSingleLine() == 1 )
{
AknListUtils::DrawSeparator( *iGc, aItemTextRect, iTextColor, skin );
--- a/uifw/AvKon/src/eikfrlbd.cpp Mon Mar 15 12:41:34 2010 +0200
+++ b/uifw/AvKon/src/eikfrlbd.cpp Wed Mar 31 21:59:52 2010 +0300
@@ -48,6 +48,7 @@
#endif //RD_UI_TRANSITION_EFFECTS_LIST
#include <touchfeedback.h>
+#include <AknSmileyUtils.h>
#include "akntrace.h"
// there are 17(!) subcells in qdial grid (0 ... 16)
@@ -56,6 +57,8 @@
// colored tick marks support
const TInt KColorIconFlag = -1;
const TInt KColorIconIdx = 0;
+// smiley text place holder
+_LIT( KPlaceHolder, "\xFFF0i" );
/**
* This class needs to be in .cpp file so that we do not accidentally make it
@@ -77,7 +80,8 @@
public MAknPictographAnimatorCallBack,
public MCoeForegroundObserver,
public MAknsEffectAnimObserver,
- public MListBoxItemChangeObserver
+ public MListBoxItemChangeObserver,
+ public MAknSmileyObserver
{
public:
enum TFlag
@@ -123,6 +127,7 @@
TAknWindowLineLayout iGraphicLayout;
TInt iSubCellType;
TInt iConditionValue; // used with conditional layouts for not always drawn subcells
+ TBool iSmileyCell;
};
SRowAndSubCell& At(TInt aArrayIndex);
@@ -131,8 +136,8 @@
TInt FindRowAndSubCellIndex(TInt& aArrayIndex,TInt aRow,TInt aSubCell) const;
void FindRowAndSubCellIndexOrAddL(TInt& aArrayIndex,TInt aRow,TInt aSubCell);
- SSLSubCell& AtSL(TInt aArrayIndex);
- const SSLSubCell& AtSL(TInt aArrayIndex) const;
+ SSLSubCell& SLAt(TInt aArrayIndex);
+ const SSLSubCell& SLAt(TInt aArrayIndex) const;
void AddSLSubCellL(TInt aSubCell);
TInt FindSLSubCellIndex(TInt& aArrayIndex, TInt aSubCell) const;
void FindSLSubCellIndexOrAddL(TInt& aArrayIndex, TInt aSubCell);
@@ -173,6 +178,11 @@
CWindowGc& aGc,
const TRect& aOutRect,
const TRect& aInnerRect ) const;
+ void DrawSmileyWithText( CWindowGc& aGc, const TDesC& aSmileyText,
+ const TAknLayoutText& aLayout,
+ TBool aUseLogicalToVisualConversion,
+ const TRgb &aColor);
+ TInt ConvertTextToSmiley( TDes& aText );
private: // New internal methods
TBool DrawHighlightBackground( CFbsBitGc& aGc );
void PostDeleteAnimation();
@@ -194,7 +204,9 @@
TInt FindSubCellExtIndex(TInt& aArrayIndex,TInt aSubCell) const;
TBool SubCellLayoutAlignment(TInt aSubCellIndex) const;
-
+public: // from MAknSmileyObserver
+ void SmileyStillImageLoaded( CAknSmileyIcon* aSmileyIcon );
+ void SmileyAnimationChanged( CAknSmileyIcon* aSmileyIcon );
private: // From MAknPictographAnimatorCallBack
void DrawPictographArea();
@@ -263,6 +275,8 @@
TRect iMarginRect;
TBool iKineticScrolling;
+ CAknSmileyManager* iSmileyMan;
+ TSize iSmileySize; // last set simley size
};
@@ -322,6 +336,7 @@
// Stop receiving foreground events
CCoeEnv* env = CCoeEnv::Static();
env->RemoveForegroundObserver( *this );
+ delete iSmileyMan;
delete iRowAndSubCellArray;
iRowAndSubCellArray = NULL;
@@ -409,6 +424,7 @@
subcell.iGraphicLayout = NULL;
subcell.iSubCellType = 0;
subcell.iConditionValue = -1;
+ subcell.iSmileyCell = EFalse;
TKeyArrayFix key(0,ECmpTInt32);
iSLSubCellArray->InsertIsqL(subcell,key);
@@ -416,14 +432,14 @@
CFormattedCellListBoxDataExtension::SSLSubCell&
-CFormattedCellListBoxDataExtension::AtSL(TInt aArrayIndex)
+CFormattedCellListBoxDataExtension::SLAt(TInt aArrayIndex)
{
__ASSERT_DEBUG(aArrayIndex>=0 && aArrayIndex<iSLSubCellArray->Count(),Panic(EAknPanicOutOfRange));
return(iSLSubCellArray->At(aArrayIndex));
}
const CFormattedCellListBoxDataExtension::SSLSubCell&
-CFormattedCellListBoxDataExtension::AtSL(TInt aArrayIndex) const
+CFormattedCellListBoxDataExtension::SLAt(TInt aArrayIndex) const
{
__ASSERT_DEBUG(aArrayIndex>=0 && aArrayIndex<iSLSubCellArray->Count(),Panic(EAknPanicOutOfRange));
return(iSLSubCellArray->At(aArrayIndex));
@@ -1191,7 +1207,16 @@
return(iSubCellExtArray->At(index).iLayoutAlign);
}
-
+void CFormattedCellListBoxDataExtension::SmileyStillImageLoaded(
+ CAknSmileyIcon* /*aSmileyIcon*/)
+ {
+ iControl->DrawDeferred();
+ }
+
+void CFormattedCellListBoxDataExtension::SmileyAnimationChanged(
+ CAknSmileyIcon* /*aSmileyIcon*/ )
+ {
+ }
///////////handling TSubCellExt,end
@@ -1255,6 +1280,31 @@
KAknsIIDQsnFrListCenterPressed );
}
+void CFormattedCellListBoxDataExtension::DrawSmileyWithText( CWindowGc& aGc,
+ const TDesC& aSmileyText,
+ const TAknLayoutText& aLayout,
+ TBool aUseLogicalToVisualConversion,
+ const TRgb& aColor )
+ {
+ __ASSERT_DEBUG( iSmileyMan, Panic(EAknPanicObjectNotFullyConstructed));
+ TInt l = Min( aLayout.Font()->TextWidthInPixels(KPlaceHolder),
+ aLayout.Font()->HeightInPixels() );
+ TSize s(l,l);
+ if ( iSmileySize != s )
+ {
+ iSmileyMan->SetSize( s );
+ iSmileySize = s;
+ }
+ aGc.SetPenColor( aColor ); // SmileyManager's DrawText does not accept aColor...
+ iSmileyMan->DrawText( aGc, aSmileyText, aLayout, aUseLogicalToVisualConversion );
+ }
+TInt CFormattedCellListBoxDataExtension::ConvertTextToSmiley( TDes& aText)
+ {
+ __ASSERT_DEBUG( iSmileyMan, Panic(EAknPanicObjectNotFullyConstructed));
+ TInt count = 0;
+ TRAPD( err, count = iSmileyMan->ConvertTextToCodesL( aText )) ;
+ return err == KErrNone ? count : err;
+ }
EXPORT_C CCoeControl *CFormattedCellListBoxData::Control() const
{
@@ -2191,6 +2241,7 @@
EXPORT_C void CFormattedCellListBoxData::Draw(TListItemProperties aProperties, CWindowGc& aGc,const TDesC* aText,const TRect& aRect,TBool aHighlight, const TColors& aColors) const
{
_AKNTRACE_FUNC_ENTER;
+ _AKNTRACE("Highlight width: %d, (%d,%d)", aRect.Width(), aRect.iTl.iX, aRect.iBr.iX );
DrawDefaultHighlight(aGc, aRect, aHighlight);
// Draw the actual items.
@@ -2207,8 +2258,8 @@
const TColors& aColors ) const
{
_AKNTRACE_FUNC_ENTER;
- _AKNTRACE("DrawFormatted: aText=%S, aItemRect=(%d,%d,%d,%d)",
- aText, aItemRect.iTl.iX, aItemRect.iTl.iY, aItemRect.iBr.iX,
+ _AKNTRACE("DrawFormatted: aItemRect=(%d,%d,%d,%d)",
+ aItemRect.iTl.iX, aItemRect.iTl.iY, aItemRect.iBr.iX,
aItemRect.iBr.iY);
CListBoxView* view = static_cast<CEikListBox*>( iExtension->iControl )->View();
@@ -2236,7 +2287,8 @@
#else
aGc.SetClippingRect( view->ViewRect() );
#endif //RD_UI_TRANSITION_EFFECTS_LIST
-
+ TRect vr(view->ViewRect());
+ _AKNTRACE("Clipping: Width %d, (%d,%d)", vr.Width(), vr.iTl.iX, vr.iBr.iX );
if ( UsesScalableLayoutData() )
{
/* this is a AvKon list or list is created using methods in aknlists.cpp
@@ -2337,8 +2389,8 @@
const TColors& aColors ) const
{
_AKNTRACE_FUNC_ENTER;
- _AKNTRACE("DrawFormattedSimple: aText=%S, aItemRect=(%d,%d,%d,%d)",
- aText, aItemRect.iTl.iX, aItemRect.iTl.iY, aItemRect.iBr.iX,
+ _AKNTRACE("DrawFormattedSimple: aItemRect=(%d,%d,%d,%d)",
+ aItemRect.iTl.iX, aItemRect.iTl.iY, aItemRect.iBr.iX,
aItemRect.iBr.iY);
TRect textRect(aItemRect);
@@ -2427,7 +2479,7 @@
}
// graphics or text column
- if (iExtension->AtSL(SCindex).iSubCellType == CFormattedCellListBoxDataExtension::EAknSLText)
+ if (iExtension->SLAt(SCindex).iSubCellType == CFormattedCellListBoxDataExtension::EAknSLText)
{
const CFont* rowAndCellFont=RowAndSubCellFont(iExtension->iCurrentlyDrawnItemIndex,subcell);
const CFont* cellFont=Font(aProperties, subcell);
@@ -2443,7 +2495,7 @@
else
{
// check if there are icons affecting this text layout
- TInt gSC = iExtension->AtSL(SCindex).iConditionValue; // graphical subcell which might affect this text subcell
+ TInt gSC = iExtension->SLAt(SCindex).iConditionValue; // graphical subcell which might affect this text subcell
if (gSC > -1)
{
@@ -2454,16 +2506,16 @@
TextUtils::ColumnText(tempText,gSC, aText);
if (tempText != KNullDesC)
{
- textLineLayout = iExtension->AtSL(tempIndex).iTextLayout;
+ textLineLayout = iExtension->SLAt(tempIndex).iTextLayout;
break;
}
- gSC = iExtension->AtSL(tempIndex).iConditionValue;
+ gSC = iExtension->SLAt(tempIndex).iConditionValue;
}
}
if (gSC == -1) // no affecting icons -> use default layout
{
- textLineLayout = iExtension->AtSL(SCindex).iTextLayout;
+ textLineLayout = iExtension->SLAt(SCindex).iTextLayout;
}
}
@@ -2499,8 +2551,16 @@
SetUnderlineStyle( aProperties, aGc, subcell );
// * 2 == leave some room for marquee
- const TInt maxlen( KMaxColumnDataLength * 2 );
+ const TInt maxlen( KMaxColumnDataLength * 3 );
TBuf<maxlen> convBuf = text.Left(maxlen);
+ TBool smileyDraw = EFalse;
+ // do smiley convert before clipping. don't worry marquee now.
+ if ( iExtension->iSmileyMan &&
+ iExtension->SLAt(SCindex).iSmileyCell &&
+ iExtension->ConvertTextToSmiley( convBuf ) > 0 )
+ {
+ smileyDraw = ETrue;
+ }
// Note that this potentially modifies the text so its lenght in pixels
// might increase. Therefore, this should always be done before
@@ -2565,7 +2625,16 @@
marquee->Stop();
}
+ if ( smileyDraw )
+ {
+ TRect tr(textLayout.TextRect());
+ _AKNTRACE( "textLayout Width: %d (%d,%d)", tr.Width(), tr.iTl.iX, tr.iBr.iX );
+ iExtension->DrawSmileyWithText( aGc, convBuf, textLayout, bidiConv, color );
+ }
+ else
+ {
textLayout.DrawText( aGc, convBuf, bidiConv, color );
+ }
}
if ( iExtension->iPictoInterface )
@@ -2652,7 +2721,7 @@
index = index & 0xffff; // mask off possible highlight icon
__ASSERT_DEBUG((index>=0 && index<iIconArray->Count()),Panic(EAknPanicFormattedCellListInvalidBitmapIndex));
- TAknWindowLineLayout graphicLayout = iExtension->AtSL(SCindex).iGraphicLayout;
+ TAknWindowLineLayout graphicLayout = iExtension->SLAt(SCindex).iGraphicLayout;
TAknLayoutRect graphicRect;
graphicRect.LayoutRect(textRect,graphicLayout);
@@ -3406,9 +3475,9 @@
TInt index = 0;
iExtension->FindSLSubCellIndexOrAddL(index,aSubCell);
- iExtension->AtSL(index).iTextLayout=NULL;
- iExtension->AtSL(index).iGraphicLayout=aGraphicLayout;
- iExtension->AtSL(index).iSubCellType=CFormattedCellListBoxDataExtension::EAknSLGraphic;
+ iExtension->SLAt(index).iTextLayout=NULL;
+ iExtension->SLAt(index).iGraphicLayout=aGraphicLayout;
+ iExtension->SLAt(index).iSubCellType=CFormattedCellListBoxDataExtension::EAknSLGraphic;
// For compabitility - needed at least for text wrapping.
// Beware - some of these WILL be overriden if you got here trough
@@ -3455,9 +3524,9 @@
TInt index = 0;
iExtension->FindSLSubCellIndexOrAddL(index,aSubCell);
- iExtension->AtSL(index).iTextLayout=aTextLayout;
- iExtension->AtSL(index).iGraphicLayout=NULL;
- iExtension->AtSL(index).iSubCellType=CFormattedCellListBoxDataExtension::EAknSLText;
+ iExtension->SLAt(index).iTextLayout=aTextLayout;
+ iExtension->SLAt(index).iGraphicLayout=NULL;
+ iExtension->SLAt(index).iSubCellType=CFormattedCellListBoxDataExtension::EAknSLText;
// For compabitility - needed at least for text wrapping.
@@ -3518,22 +3587,22 @@
TInt graphicalIndex = 0;
if (iExtension->FindSLSubCellIndex(graphicalIndex, aSubCell)!=0) return; // subcell not found
// conditional layoutline can be only added to graphical subcells
- if (iExtension->AtSL(graphicalIndex).iSubCellType!=CFormattedCellListBoxDataExtension::EAknSLGraphic) return;
+ if (iExtension->SLAt(graphicalIndex).iSubCellType!=CFormattedCellListBoxDataExtension::EAknSLGraphic) return;
TInt textIndex = 0; // index of affected subcell
if (iExtension->FindSLSubCellIndex(textIndex, aAffectedSubCell)!=0) return; // subcell not found
// affected subcell can only be text subcell
- if (iExtension->AtSL(textIndex).iSubCellType==CFormattedCellListBoxDataExtension::EAknSLGraphic) return;
+ if (iExtension->SLAt(textIndex).iSubCellType==CFormattedCellListBoxDataExtension::EAknSLGraphic) return;
- TInt gSC = iExtension->AtSL(textIndex).iConditionValue; // text subcell to be added in priority chain
+ TInt gSC = iExtension->SLAt(textIndex).iConditionValue; // text subcell to be added in priority chain
while (gSC > -1)
{
if (iExtension->FindSLSubCellIndex(textIndex, gSC)!=0) return; // subcell not found
- gSC = iExtension->AtSL(textIndex).iConditionValue;
+ gSC = iExtension->SLAt(textIndex).iConditionValue;
}
- iExtension->AtSL(textIndex).iConditionValue = aSubCell; // add next subcell to chain
- iExtension->AtSL(graphicalIndex).iTextLayout=aTextLayout;
+ iExtension->SLAt(textIndex).iConditionValue = aSubCell; // add next subcell to chain
+ iExtension->SLAt(graphicalIndex).iTextLayout=aTextLayout;
iExtension->CreateColorBitmapsL( SubCellSize( aSubCell ) );
@@ -3701,16 +3770,19 @@
TInt aNormalSubCell,
TInt aStretchedSubCell )
{
+ _AKNTRACE_FUNC_ENTER;
if ( Layout_Meta_Data::IsLandscapeOrientation() &&
Layout_Meta_Data::IsListStretchingEnabled() &&
StretchingEnabled() )
{
+ _AKNTRACE("Layout_Meta_Data::IsListStretchingEnabled");
SetConditionalSubCellL( aSubCell, aStretchedLayout.LayoutLine(), aStretchedSubCell );
}
else
{
SetConditionalSubCellL( aSubCell, aNormalLayout.LayoutLine(), aNormalSubCell );
}
+ _AKNTRACE_FUNC_EXIT;
}
@@ -3903,9 +3975,9 @@
if ( aResults[subCell] )
{
- if ( iExtension->AtSL( subCellIndex ).iSubCellType == CFormattedCellListBoxDataExtension::EAknSLText )
+ if ( iExtension->SLAt( subCellIndex ).iSubCellType == CFormattedCellListBoxDataExtension::EAknSLText )
{
- TAknTextLineLayout textLine = iExtension->AtSL( subCellIndex ).iTextLayout;
+ TAknTextLineLayout textLine = iExtension->SLAt( subCellIndex ).iTextLayout;
textLine.iW = bRect.Width();
@@ -4576,7 +4648,25 @@
}
return NULL;
}
-
+void CFormattedCellListBoxData::InitSmileyL()
+ {
+ __ASSERT_DEBUG( iExtension, Panic( EAknPanicObjectNotFullyConstructed ));
+ if ( iExtension && !iExtension->iSmileyMan )
+ {
+ iExtension->iSmileyMan = CAknSmileyManager::NewL( iExtension );
+ }
+ }
+
+void CFormattedCellListBoxData::SetSmileySubCellL( TInt aSubCell )
+ {
+ __ASSERT_DEBUG( iExtension, Panic( EAknPanicObjectNotFullyConstructed ));
+ TInt index = 0;
+ if ( iExtension )
+ {
+ iExtension->FindSLSubCellIndexOrAddL( index,aSubCell );
+ iExtension->SLAt(index).iSmileyCell = ETrue;
+ }
+ }
#ifdef __ARMCC__
#pragma pop
#endif // __ARMCC__
--- a/uifw/AvKon/srcdata/avkon.rss Mon Mar 15 12:41:34 2010 +0200
+++ b/uifw/AvKon/srcdata/avkon.rss Wed Mar 31 21:59:52 2010 +0300
@@ -2108,7 +2108,26 @@
narrowbmpmask = EMbmAvkonQgn_stat_hdmi_connect_mask;
};
};
- }
+ },
+
+ INDICATOR
+ {
+ uid = EAknIndicatorIntegratedIM;
+ npriority = 41;
+ wpriority = 41;
+ bmpfile = AVKON_BITMAP_FILE;
+ states = INDICATOR_STATE
+ {
+ id = EAknIndicatorStateOn;
+ icons = INDICATOR_ICON
+ {
+ widebmpid = EMbmAvkonQgn_stat_joint_im_uni;
+ widebmpmask = EMbmAvkonQgn_stat_joint_im_uni_mask;
+ narrowbmpid = EMbmAvkonQgn_stat_joint_im_uni;
+ narrowbmpmask = EMbmAvkonQgn_stat_joint_im_uni_mask;
+ };
+ };
+ }
};
}
@@ -9758,6 +9777,11 @@
{
indicator_uid = EAknIndicatorMissedCalendarAlarm;
text = qtn_uni_ind_caled_alarm_stat;
+ },
+ AVKON_INDICATOR_POPUP_ITEM
+ {
+ indicator_uid = EAknIndicatorIntegratedIM;
+ text = qtn_iim_uni_ind_default;
}
};
}
--- a/uifw/AvKon/tsrc/bc/S60_SDKMCL/bctestmixmcl/group/bctestmixmcl.rss Mon Mar 15 12:41:34 2010 +0200
+++ b/uifw/AvKon/tsrc/bc/S60_SDKMCL/bctestmixmcl/group/bctestmixmcl.rss Wed Mar 31 21:59:52 2010 +0300
@@ -261,6 +261,68 @@
}
};
}
+
+//----------------------------------------------------------------------------
+//
+//r_bctestmixmcl_radiobutton_editor
+//
+//----------------------------------------------------------------------------
+//
+RESOURCE POPUP_SETTING_LIST r_bctestmixmcl_radiobutton_editor
+ {
+ flags = 0;
+ }
+
+//----------------------------------------------------------------------------
+//
+//r_bctestmixmcl_radiobutton_setting_page
+//
+//----------------------------------------------------------------------------
+//
+RESOURCE AVKON_SETTING_PAGE r_bctestmixmcl_radiobutton_setting_page
+ {
+ label = "Radiobutton example";
+ type = EAknCtPopupSettingList;
+ editor_resource_id = r_bctestmixmcl_radiobutton_editor;
+ }
+
+// ---------------------------------------------------------------------------
+// r_bctestmixmcl_popup_editor
+// ---------------------------------------------------------------------------
+//
+RESOURCE POPUP_SETTING_LIST r_bctestmixmcl_popup_editor
+ {
+ flags = EAknPopupSettingListFlagAllowsUserDefinedEntry;
+ width = 20;
+ }
+
+// ---------------------------------------------------------------------------
+// r_bctestmixmcl_popup_setting_page
+// ---------------------------------------------------------------------------
+//
+RESOURCE AVKON_SETTING_PAGE r_bctestmixmcl_popup_setting_page
+ {
+ number = 1;
+ label = "Popup example";
+ type = EAknCtPopupSettingList;
+ editor_resource_id = r_bctestmixmcl_popup_editor;
+ }
+
+// ---------------------------------------------------------------------------
+// r_bctestmixmcl_list_item_array
+// ---------------------------------------------------------------------------
+//
+RESOURCE ARRAY r_bctestmixmcl_list_item_array
+ {
+ items =
+ {
+ LBUF
+ {
+ txt = "item1";
+ }
+ };
+ }
+
// End of File
--- a/uifw/AvKon/tsrc/bc/S60_SDKMCL/bctestmixmcl/inc/bctestmixmclgeneralcase.h Mon Mar 15 12:41:34 2010 +0200
+++ b/uifw/AvKon/tsrc/bc/S60_SDKMCL/bctestmixmcl/inc/bctestmixmclgeneralcase.h Wed Mar 31 21:59:52 2010 +0300
@@ -20,6 +20,7 @@
#include <aknlongtapdetector.h>
#include <aknphysicsobserveriface.h>
+#include <itemfinderobserver.h>
#include "bctestcase.h"
@@ -32,7 +33,8 @@
*/
class CBCTestMixMCLGeneralCase: public CBCTestCase,
public MAknLongTapDetectorCallBack,
- public MAknPhysicsObserver
+ public MAknPhysicsObserver,
+ public MAknItemFinderObserver
{
public: // constructor and destructor
@@ -105,8 +107,7 @@
/*
* Test one function in class AknPopupUtils
*/
- void TestAknPopupUtils();
-
+ void TestAknPopupUtilsL();
/*
* Test one function in class AknListUtils
*/
@@ -115,7 +116,17 @@
/*
* Test new APIs in CAknToolbar
*/
- void TestAknToolbar();
+ void TestAknToolbarL();
+
+ /*
+ * Test ProcessCommandL in AknRadioButtonSettingPage
+ */
+ void TestRadioButtonSettingPageL();
+
+ /*
+ * Test ProcessCommandL in AknPopupSettingPage
+ */
+ void TestPopupSettingPageL();
/*
* Tests editor's kinetic scrolling related functions.
@@ -135,7 +146,17 @@
/*
* Tests CBA APIs.
*/
- void TestCba();
+ void TestCbaL();
+
+ /*
+ * Tests common dialogs APIs.
+ */
+ void TestCommonDialogsL();
+
+ /*
+ * Tests ItemFinder.
+ */
+ void TestItemFinder();
protected: // From base class MAknPhysicsObserver
@@ -162,6 +183,18 @@
* @return Physics observer view position.
*/
TPoint ViewPosition() const;
+
+ // From MAknItemFinderObserver
+
+ /**
+ * Handles the activation event.
+ *
+ * @param aItem Activated item.
+ * @param aEvent Activation method.
+ * @param aFlags Additional information about the event.
+ */
+ void HandleFindItemEventL( const CItemFinder::CFindItemExt& aItem,
+ MAknItemFinderObserver::TEventFlag aEvent, TUint aFlags);
private: // constructor
--- a/uifw/AvKon/tsrc/bc/S60_SDKMCL/bctestmixmcl/src/bctestmixmclgeneralcase.cpp Mon Mar 15 12:41:34 2010 +0200
+++ b/uifw/AvKon/tsrc/bc/S60_SDKMCL/bctestmixmcl/src/bctestmixmclgeneralcase.cpp Wed Mar 31 21:59:52 2010 +0300
@@ -25,17 +25,31 @@
#include <eikenv.h>
#include <aknutils.h>
#include <akntoolbar.h>
+#include <caknmemoryselectionsettingitemmultidrive.h>
+#include <AknCommonDialogsDynMem.h>
#include <bctestmixmcl.rsg>
#include <eikedwin.h>
#include <aknphysics.h>
+#include <aknradiobuttonsettingpage.h>
+#include <aknpopupsettingpage.h>
+#include <ItemFinder.h>
#include "bctestmixmclgeneralcase.h"
#include "bctestmixmclcontainer.h"
#include "bctestmixmcl.hrh"
-// CONSTATNS
+// CONSTANTS
+//
+// class CSettingPageTest
+// Helper class for testing protected setting page methods.
+//
+NONSHARABLE_CLASS( CSettingPageTest ) : public CAknSettingPage
+ {
+public:
+ virtual void ProcessCommandL( TInt aCommandId );
+ };
// ======== MEMBER FUNCTIONS ========
@@ -110,13 +124,17 @@
TestOptionsMenuL();
TestTasObjectInfoAndTasHookL();
TestMiscApisFuncOneL();
- TestAknToolbar();
- TestAknPopupUtils();
+ TestAknToolbarL();
+ TestAknPopupUtilsL();
TestAknListUtilsL();
+ TestRadioButtonSettingPageL();
+ TestPopupSettingPageL();
+ TestItemFinder();
TestEditorKineticScrollingL();
TestAknPhysicsSuspendPhysicsL();
TestAknPhysicsResumePhysicsL();
- TestCba();
+ TestCbaL();
+ TestCommonDialogsL();
}
// ---------------------------------------------------------------------------
@@ -189,7 +207,7 @@
_LIT( KItemsInSingleLine,
"CEikListBox::ItemsInSingleLine() invoked" );
- CEikFormattedCellListBox * listbox = new CEikFormattedCellListBox();
+ CEikFormattedCellListBox * listbox = new (ELeave) CEikFormattedCellListBox();
CleanupStack::PushL( listbox );
listbox->ConstructL( iContainer, EAknListBoxSelectionList );
@@ -341,10 +359,10 @@
}
// ---------------------------------------------------------------------------
-// CBCTestMixMCLGeneralCase::TestAknPopupUtils
+// CBCTestMixMCLGeneralCase::TestAknPopupUtilsL
// ---------------------------------------------------------------------------
//
-void CBCTestMixMCLGeneralCase::TestAknPopupUtils()
+void CBCTestMixMCLGeneralCase::TestAknPopupUtilsL()
{
TSize size( 10, 10 );
TPoint point( AknPopupUtils::Position( size, ETrue ) );
@@ -384,10 +402,10 @@
// ---------------------------------------------------------------------------
-// CBCTestMixMCLGeneralCase::TestAknToolbar
+// CBCTestMixMCLGeneralCase::TestAknToolbarL
// ---------------------------------------------------------------------------
//
-void CBCTestMixMCLGeneralCase::TestAknToolbar()
+void CBCTestMixMCLGeneralCase::TestAknToolbarL()
{
_LIT( KAknToolbarNew, "CAknToolbar::New toolbar is constructed" );
_LIT( KAknToolbarSetBgId, "CAknToolbar::New background skin theme ID is set" );
@@ -402,6 +420,93 @@
}
+// -----------------------------------------------------------------------------
+// CBCTestMixMCLGeneralCase::TestRadioButtonSettingPageL
+// -----------------------------------------------------------------------------
+//
+void CBCTestMixMCLGeneralCase::TestRadioButtonSettingPageL()
+ {
+ const TInt KBufSize = 32;
+ const TInt KZero = 0;
+ const TInt KOne = 1;
+ const TInt KTwo = 2;
+ _LIT( KTestString, "Radiobuttonsettingpage test" );
+ _LIT( KTestRadioButtonSettingPage,
+ "CAknRadioButtonSettingPage::ProcessCommandL tested" );
+
+ CDesCArrayFlat* array = CCoeEnv::Static()->
+ ReadDesCArrayResourceL( R_BCTESTMIXMCL_LIST_ITEM_ARRAY );
+ CleanupStack::PushL( array );
+
+ TInt optin( KZero );
+ TBuf< KBufSize > buffer( KTestString );
+ CAknRadioButtonSettingPage* settingPage = new (ELeave)
+ CAknRadioButtonSettingPage( &buffer, KOne, EAknCtPopupSettingList,
+ R_BCTESTMIXMCL_RADIOBUTTON_EDITOR,
+ R_BCTESTMIXMCL_RADIOBUTTON_SETTING_PAGE,
+ optin, array );
+ CleanupStack::PushL( settingPage );
+
+ settingPage->ConstructL();
+
+ // CSettingPageTest is used to access protected method
+ // CAknRadioButtonSettingPage::ProcessCommandL
+ CSettingPageTest* test = reinterpret_cast<CSettingPageTest*>( settingPage );
+
+ CCoeEnv::Static()->AppUi()->AddToStackL( test );
+ test->ProcessCommandL( EAknSoftkeySelect );
+ CCoeEnv::Static()->AppUi()->RemoveFromStack( test );
+
+ CleanupStack::PopAndDestroy( KTwo );
+ AssertTrueL( ETrue, KTestRadioButtonSettingPage );
+ }
+
+// -----------------------------------------------------------------------------
+// CBCTestMixMCLGeneralCase::TestPopupSettingPageL
+// -----------------------------------------------------------------------------
+//
+void CBCTestMixMCLGeneralCase::TestPopupSettingPageL()
+ {
+ _LIT( KTestPopupSettingPage,
+ "CAknPopupSettingPage::ProcessCommandL tested" );
+
+ CDesCArrayFlat* item = CCoeEnv::Static()->
+ ReadDesCArrayResourceL( R_BCTESTMIXMCL_LIST_ITEM_ARRAY );
+ CleanupStack::PushL( item );
+
+ CAknQueryValueTextArray* textArray = CAknQueryValueTextArray::NewL();
+ CleanupStack::PushL( textArray );
+ textArray->SetArray( *item );
+
+ CAknQueryValueText* queryValueText = CAknQueryValueText::NewL();
+ CleanupStack::PushL( queryValueText );
+ queryValueText->SetArrayL( textArray );
+
+ CAknPopupSettingPage* popupSettingPage = new (ELeave)
+ CAknPopupSettingPage( R_BCTESTMIXMCL_POPUP_SETTING_PAGE,
+ *queryValueText );
+
+ CleanupStack::PushL( popupSettingPage );
+
+ popupSettingPage->ConstructL();
+
+ // CSettingPageTest is used to access protected method
+ // CAknPopupSettingPage::ProcessCommandL
+ CSettingPageTest* test = reinterpret_cast<CSettingPageTest*>( popupSettingPage );
+
+ CCoeEnv::Static()->AppUi()->AddToStackL( popupSettingPage );
+ test->ProcessCommandL( EAknSoftkeySelect );
+ CCoeEnv::Static()->AppUi()->RemoveFromStack( popupSettingPage );
+
+ CleanupStack::PopAndDestroy( popupSettingPage );
+ CleanupStack::PopAndDestroy( queryValueText );
+ CleanupStack::PopAndDestroy( textArray );
+ CleanupStack::PopAndDestroy( item );
+
+ AssertTrueL( ETrue, KTestPopupSettingPage );
+ }
+
+
// ---------------------------------------------------------------------------
// CBCTestMixMCLGeneralCase::TestEditorKineticScrollingL
// ---------------------------------------------------------------------------
@@ -451,10 +556,10 @@
}
// ---------------------------------------------------------------------------
-// CBCTestMixMCLGeneralCase::TestCba
+// CBCTestMixMCLGeneralCase::TestCbaL
// ---------------------------------------------------------------------------
//
-void CBCTestMixMCLGeneralCase::TestCba()
+void CBCTestMixMCLGeneralCase::TestCbaL()
{
CEikCba* cba = static_cast<CEikCba*>(
iAvkonAppUi->Cba()->ButtonGroup()->AsControl() );
@@ -464,6 +569,37 @@
"CEikCba::EnableItemSpecificSoftkey tested" );
AssertTrueL( ETrue, CEikCbaEnableItemSpecificSoftkey );
}
+
+// ---------------------------------------------------------------------------
+// CBCTestMixMCLGeneralCase::TestCommonDialogsL()
+// common file test
+// ---------------------------------------------------------------------------
+//
+void CBCTestMixMCLGeneralCase::TestCommonDialogsL()
+ {
+ _LIT( KSetIncludedMediasL,
+ "CAknMemorySelectionSettingItemMultiDrive::SetIncludedMediasL()invoked");
+
+ TInt id = 1;
+ TDriveNumber selDr = EDriveC;
+
+ CAknMemorySelectionSettingItemMultiDrive* settingItem =
+ new ( ELeave ) CAknMemorySelectionSettingItemMultiDrive(
+ id, selDr );
+ CleanupStack::PushL( settingItem );
+
+ TInt includedMedias = AknCommonDialogsDynMem:: EMemoryTypePhone |
+ AknCommonDialogsDynMem:: EMemoryTypeMMC |
+ AknCommonDialogsDynMem:: EMemoryTypeRemote;
+
+ settingItem->SetIncludedMediasL( includedMedias );
+ AssertTrueL( ETrue, KSetIncludedMediasL );
+
+ includedMedias &= (~AknCommonDialogsDynMem:: EMemoryTypePhone );
+ settingItem->SetIncludedMediasL( includedMedias );
+
+ CleanupStack::PopAndDestroy( settingItem );
+ }
// ---------------------------------------------------------------------------
// CBCTestMixMCLGeneralCase::ViewPositionChanged
@@ -493,5 +629,36 @@
return TPoint( 0, 0 );
}
+// -----------------------------------------------------------------------------
+// CBCTestMixMCLGeneralCase::TestItemFinder
+// -----------------------------------------------------------------------------
+//
+void CBCTestMixMCLGeneralCase::TestItemFinder()
+ {
+ _LIT( KSetItemFinderObserverL,
+ "CItemFinder::SetItemFinderObserverL() tested" );
+
+ CItemFinder* itemfinder = CItemFinder::NewL();
+ CleanupStack::PushL ( itemfinder );
+
+ itemfinder->SetItemFinderObserverL( this );
+ itemfinder->SetItemFinderObserverL( 0 );
+ AssertTrueL( ETrue, KSetItemFinderObserverL );
+
+ CleanupStack::PopAndDestroy( itemfinder );
+ }
+
+
+// ---------------------------------------------------------------------------
+// CBCTestMixMCLGeneralCase::HandleFindItemEventL
+// ---------------------------------------------------------------------------
+//
+void CBCTestMixMCLGeneralCase::HandleFindItemEventL(
+ const CItemFinder::CFindItemExt& /*aItem*/,
+ MAknItemFinderObserver::TEventFlag /*aEvent*/, TUint /*aFlags*/)
+ {
+ // do nothing
+ }
+
//end of file
Binary file uifw/AvKon/tsrc/bc/bctestdom3.2/bctestdomaiwakn/sis/bctestdomaiwakn.pkg has changed
Binary file uifw/AvKon/tsrc/bc/bctestdom5.0/bctestdomaiwakn/sis/bctestdomaiwakn.pkg has changed
--- a/uifw/EikStd/EABI/EIKCOCTLU.DEF Mon Mar 15 12:41:34 2010 +0200
+++ b/uifw/EikStd/EABI/EIKCOCTLU.DEF Wed Mar 31 21:59:52 2010 +0300
@@ -2008,4 +2008,5 @@
_ZNK11CEikListBox17ItemsInSingleLineEv @ 2007 NONAME
_ZN18CEikStatusPaneBase17EnableTransparentEi @ 2008 NONAME
_ZNK18CEikStatusPaneBase13IsTransparentEv @ 2009 NONAME
+ _ZN9CEikEdwin23EnableKineticScrollingLEP11CAknPhysics @ 2010 NONAME
--- a/uifw/EikStd/bwins/EIKCOCTLU.DEF Mon Mar 15 12:41:34 2010 +0200
+++ b/uifw/EikStd/bwins/EIKCOCTLU.DEF Wed Mar 31 21:59:52 2010 +0300
@@ -1619,3 +1619,4 @@
?ItemsInSingleLine@CEikListBox@@QBEHXZ @ 1618 NONAME ; int CEikListBox::ItemsInSingleLine(void) const
?EnableTransparent@CEikStatusPaneBase@@QAEXH@Z @ 1619 NONAME ; void CEikStatusPaneBase::EnableTransparent(int)
?IsTransparent@CEikStatusPaneBase@@QBEHXZ @ 1620 NONAME ; int CEikStatusPaneBase::IsTransparent(void) const
+ ?EnableKineticScrollingL@CEikEdwin@@QAEXPAVCAknPhysics@@@Z @ 1621 NONAME ; void CEikEdwin::EnableKineticScrollingL(class CAknPhysics *)
--- a/uifw/EikStd/coctlinc/aknedwinphysicshandler.h Mon Mar 15 12:41:34 2010 +0200
+++ b/uifw/EikStd/coctlinc/aknedwinphysicshandler.h Wed Mar 31 21:59:52 2010 +0300
@@ -46,6 +46,17 @@
* Two-phased constructor.
*/
static CAknEdwinPhysicsHandler* NewLC( CEikEdwin& aEdwin );
+
+ /**
+ * Two-phased constructor.
+ */
+ static CAknEdwinPhysicsHandler* NewL( CEikEdwin& aEdwin, CAknPhysics* aPhysics );
+
+ /**
+ * Two-phased constructor.
+ */
+ static CAknEdwinPhysicsHandler* NewLC( CEikEdwin& aEdwin, CAknPhysics* aPhysics );
+
/**
* Destructor.
*/
@@ -164,7 +175,7 @@
/**
* C++ constructor.
*/
- CAknEdwinPhysicsHandler( CEikEdwin& aEdwin );
+ CAknEdwinPhysicsHandler( CEikEdwin& aEdwin, CAknPhysics* aPhysics = NULL );
/**
* Symbian second-phase constructor.
@@ -354,6 +365,11 @@
* Start position of drag.
*/
TPoint iStartPosition;
+
+ /**
+ * ETrue if this class owns CAknPhysics instance.
+ */
+ TBool iOwnsPhysics;
};
#endif // C_AKNEDWINPHYSICSHANDLER_H
--- a/uifw/EikStd/coctlsrc/EIKEDWIN.CPP Mon Mar 15 12:41:34 2010 +0200
+++ b/uifw/EikStd/coctlsrc/EIKEDWIN.CPP Wed Mar 31 21:59:52 2010 +0300
@@ -1134,23 +1134,23 @@
// ---------------------------------------------------------------------------
// CEikEdwin::CEikEdwinExtension::EnableKineticScrollingL
// ---------------------------------------------------------------------------
-//
-void CEikEdwin::CEikEdwinExtension::EnableKineticScrollingL()
+//
+void CEikEdwin::CEikEdwinExtension::EnableKineticScrollingL( CAknPhysics* aPhysics )
{
iFlags.Set( EKineticScrollingEnabled );
- EnablePhysicsL();
+ EnablePhysicsL( aPhysics );
}
// ---------------------------------------------------------------------------
// CEikEdwin::CEikEdwinExtension::EnablePhysicsL
// ---------------------------------------------------------------------------
//
-void CEikEdwin::CEikEdwinExtension::EnablePhysicsL()
+void CEikEdwin::CEikEdwinExtension::EnablePhysicsL( CAknPhysics* aPhysics )
{
if ( iFlags.IsSet( EKineticScrollingEnabled )
&& !iPhysicsHandler && iEdwin->DrawableWindow() )
{
- iPhysicsHandler = CAknEdwinPhysicsHandler::NewL( *iEdwin );
+ iPhysicsHandler = CAknEdwinPhysicsHandler::NewL( *iEdwin, aPhysics );
InitPhysicsL();
if ( iEdwin->iLayout )
@@ -2876,18 +2876,12 @@
( ( aPointerEvent.iType == TPointerEvent::EDrag ) ||
( aPointerEvent.iType == TPointerEvent::EButtonRepeat ) ) )
{
-
- // selectionAfter.iCursorPos-1 below is because we need to select the previous char
- TBool ltr = ( selectionAfter.iCursorPos >= selectionBefore.iCursorPos );
- TInt readPos = selectionAfter.iCursorPos;
- if (ltr && readPos > 0)
- {
- readPos -= 1; // read previous char
- }
+ TInt readPos = ( selectionAfter.iCursorPos >= selectionBefore.iCursorPos ) ?
+ selectionBefore.iCursorPos : selectionAfter.iCursorPos ;
TChar currentSelectedChar = Text()->Read( readPos, 1 )[0];
TBool isSpace = currentSelectedChar.IsSpace();
- TBool isText = currentSelectedChar.IsAlpha()
- || currentSelectedChar.IsDigit();
+ TBool isSmiley = CSmileyManager::IsSmileyCode(currentSelectedChar);
+ TBool isText = currentSelectedChar.IsGraph();
// case line
TInt prevLineNr = TextLayout()->GetLineNumber(selectionBefore.iCursorPos);
@@ -2906,7 +2900,7 @@
iEdwinFepSupport->iFeedback->InstantFeedback( this, ETouchFeedbackBlankSelection );
}
// case text
- else if (isText)
+ else if ( isText || isSmiley )
{
iEdwinFepSupport->iFeedback->InstantFeedback( this, ETouchFeedbackTextSelection );
}
@@ -4833,6 +4827,7 @@
if (reportChange)
{
+ iEdwinExtension->iThumbPos = KErrNotFound;
ReportEdwinEventL( MEikEdwinObserver::EEventTextUpdate );
DoReportEventL( MCoeControlObserver::EEventStateChanged );
NotifyEditorStateObserverOfStateChangeL();
@@ -8052,7 +8047,15 @@
{
if ( iEdwinExtension && aEnable )
{
- iEdwinExtension->EnableKineticScrollingL();
+ iEdwinExtension->EnableKineticScrollingL( NULL );
+ }
+ }
+
+EXPORT_C void CEikEdwin::EnableKineticScrollingL( CAknPhysics* aPhysics )
+ {
+ if ( iEdwinExtension )
+ {
+ iEdwinExtension->EnableKineticScrollingL( aPhysics );
}
}
@@ -8573,8 +8576,8 @@
TChar::TCategory category = character.GetCategory();
- if ( !((category&TChar::ESeparatorGroup == TChar::ESeparatorGroup) ||
- (text[i]>=0x200B && text[i]<=0xFFFC)) )
+ if ( !( ( ( category & TChar::ESeparatorGroup ) == TChar::ESeparatorGroup ) ||
+ ( text[i] >= 0x200B && text[i] <= 0xFFFC ) ) )
{
ret = ETrue;
break;
--- a/uifw/EikStd/coctlsrc/EIKLBI.CPP Mon Mar 15 12:41:34 2010 +0200
+++ b/uifw/EikStd/coctlsrc/EIKLBI.CPP Wed Mar 31 21:59:52 2010 +0300
@@ -38,7 +38,7 @@
#include "laflbx.h"
#include "akntrace.h"
-const TUint KListItemDrawerAllowedFlags = 0x00ff;
+const TUint KListItemDrawerAllowedFlags = 0x0fff;
const TInt KDefaultMarkColumnWidth = 10;
const TInt KDefaultMarkGutter = 2;
--- a/uifw/EikStd/coctlsrc/EIKLBX.CPP Mon Mar 15 12:41:34 2010 +0200
+++ b/uifw/EikStd/coctlsrc/EIKLBX.CPP Wed Mar 31 21:59:52 2010 +0300
@@ -944,7 +944,6 @@
{
EnableHighlight( EFalse );
iListBox.iView->DrawItem( iLongTappedItem );
- iListBox.iView->SetCurrentItemIndex( 0 );
iLongTappedItem = KErrNotFound;
}
}
@@ -2101,7 +2100,7 @@
{
if ( iListBoxExt && iListBoxExt->iSingleClickEnabled )
{
- // is single click is enabled, highlight must also be visible
+ // If single click is enabled, highlight must also be visible
if ( iListBoxExt->CollectionState()
& MAknCollection::EStateHighlightVisible )
{
@@ -2402,7 +2401,7 @@
iView->SetDisableRedraw(redrawDisabled);
if ( iListBoxExt && iListBoxExt->iPhysics && aItemIndex == 0 )
- {
+ {
iView->SetItemOffsetInPixels( 0 );
}
_AKNTRACE_FUNC_EXIT;
@@ -3094,6 +3093,12 @@
UpdateScrollBarThumbs();
iView->ClearFlags(CListBoxView::EItemCountModified);
+
+ if ( iListBoxExt->iLongTappedItem != KErrNotFound )
+ {
+ iListBoxExt->EnableHighlight( EFalse );
+ }
+
FireItemChange();
if ( iListBoxExt && iListBoxExt->iPhysics )
@@ -4693,13 +4698,6 @@
{
iListBoxExt->iFeedbackType = ETouchFeedbackList;
}
-
- if ( !iListBoxExt->iPhysics || itemIndex == iView->CurrentItemIndex() )
- {
- iListBoxExt->ImmediateFeedback( iListBoxExt->iFeedbackType,
- TTouchFeedbackType(ETouchFeedbackVibra | ETouchFeedbackAudio),
- aPointerEvent );
- }
}
iListBoxExt->iEventModifiers = aPointerEvent.iModifiers;
CListBoxView::TSelectionMode selectionMode = CListBoxView::ENoSelection;
@@ -5809,11 +5807,6 @@
{
Window().Invalidate( TRect( View()->ItemPos(index),
View()->ItemSize() ) );
- if( iItemDrawer->Flags() &
- CListItemDrawer::ESingleClickDisabledHighlight )
- {
- iView->SetCurrentItemIndex( 0 );
- }
}
break;
}
--- a/uifw/EikStd/coctlsrc/EIKMENUP.CPP Mon Mar 15 12:41:34 2010 +0200
+++ b/uifw/EikStd/coctlsrc/EIKMENUP.CPP Wed Mar 31 21:59:52 2010 +0300
@@ -68,7 +68,7 @@
#include <AknTasHook.h>
#include <aknphysics.h>
#include <aknphysicsobserveriface.h>
-#include <aknPriv.hrh>
+#include <AknPriv.hrh>
#include "aknitemactionmenudata.h"
#include "akntrace.h"
@@ -4000,7 +4000,7 @@
{
RepaintHighlight();
}
- else if ( highlightWasEnabled )
+ else if ( highlightWasEnabled && !iCascadeMenuPane )
{
DrawItem( SelectedItem(), ENoHighlight );
}
@@ -4337,7 +4337,9 @@
}
else
{
- ReportCanceled(); //Close main menu.
+ _AKNTRACE( "[%s]", "HandlePointerEventL return 12.5" );
+ _AKNTRACE_FUNC_EXIT;
+ return;
}
}
}
--- a/uifw/EikStd/coctlsrc/EIKSCRLB.CPP Mon Mar 15 12:41:34 2010 +0200
+++ b/uifw/EikStd/coctlsrc/EIKSCRLB.CPP Wed Mar 31 21:59:52 2010 +0300
@@ -2352,6 +2352,47 @@
TRect area;
+ if ( iParentControl )
+ {
+ CCoeControl* windowOwningParent = iParentControl;
+ while ( windowOwningParent && !windowOwningParent->OwnsWindow() )
+ {
+ windowOwningParent = windowOwningParent->Parent();
+ }
+
+ if ( windowOwningParent )
+ {
+ TInt xGap = 0;
+ TRect scrollBarRect = Rect();
+ TRect parentRect = windowOwningParent->Rect();
+
+ if ( OwnsWindow() )
+ {
+ scrollBarRect.Move( Position().iX -
+ windowOwningParent->Position().iX, 0 );
+ }
+
+ // left to right layout in use
+ if ( !AknLayoutUtils::LayoutMirrored() )
+ {
+ xGap = parentRect.iBr.iX - scrollBarRect.iBr.iX;
+ if ( Abs( xGap ) < scrollBarRect.Width() )
+ {
+ extension.iBr.iX += xGap;
+ }
+ }
+ // right to left layout in use
+ else
+ {
+ xGap = parentRect.iTl.iX - scrollBarRect.iTl.iX;
+ if ( Abs( xGap ) < scrollBarRect.Width() )
+ {
+ extension.iTl.iX += xGap;
+ }
+ }
+ }
+ }
+
if ( iOrientation == CEikScrollBar::EVertical )
{
area.iTl.iX = extension.iTl.iX - scrollbar.iTl.iX;
--- a/uifw/EikStd/coctlsrc/aknedwincustomdrawbase.cpp Mon Mar 15 12:41:34 2010 +0200
+++ b/uifw/EikStd/coctlsrc/aknedwincustomdrawbase.cpp Wed Mar 31 21:59:52 2010 +0300
@@ -37,8 +37,9 @@
// CONSTANTS
// This is the last character that will be treated as requiring higher underline
-// const TText KMaxSpecialUnderliningChar = 0x0E5B;
+
const TInt KWsBufferSize = 16000;
+const TInt KOneHundred = 100;
// MEMBER FUNCTIONS
@@ -78,8 +79,6 @@
iPictographDrawer = CAknPictographInterface::NewL(
static_cast<CCoeControl&>( const_cast<CEikEdwin&>( iEdwin ) ),
*static_cast<MAknPictographAnimatorCallBack*>( this ) );
-
- iSkinInstance = AknsUtils::SkinInstance();
}
// -----------------------------------------------------------------------------
@@ -94,7 +93,7 @@
new( ELeave ) CAknEdwinCustomDrawBase( aEnv, aControl );
CleanupStack::PushL( self );
self->ConstructL();
- CleanupStack::Pop();
+ CleanupStack::Pop( self );
return self;
}
@@ -113,7 +112,7 @@
aEnv, aControl, aTextView, aSystemGc );
CleanupStack::PushL( self );
self->ConstructL();
- CleanupStack::Pop();
+ CleanupStack::Pop( self );
return self;
}
@@ -167,7 +166,7 @@
aExtraPixels = 0;
TInt underlinePos(0);
- (void)TextNeedsCustomUnderline( aText, aParam, aFormat, underlinePos ) ;
+ TextNeedsCustomUnderline( aText, aParam, aFormat, underlinePos ) ;
// always perform custom underlining
TRect underlineRect(aParam.iDrawRect);
@@ -318,53 +317,56 @@
}
-TRgb CAknEdwinCustomDrawBase::SystemColor(TUint aColorIndex,TRgb aDefaultColor) const
+TRgb CAknEdwinCustomDrawBase::SystemColor( TUint aColorIndex, TRgb aDefaultColor ) const
{
TRgb ret = aDefaultColor;
+ MAknsSkinInstance* skin = AknsUtils::SkinInstance();
if (aColorIndex==TLogicalRgb::ESystemForegroundIndex)
{
- if (iSkinInstance && iEdwin.SkinColorId() != KErrNotFound)
+ if ( skin && iEdwin.SkinColorId() != KErrNotFound )
{
- AknsUtils::GetCachedColor(iSkinInstance, ret, KAknsIIDQsnTextColors, iEdwin.SkinColorId());
+ AknsUtils::GetCachedColor( skin, ret, KAknsIIDQsnTextColors,
+ iEdwin.SkinColorId() );
}
}
- else if (aColorIndex==TLogicalRgb::ESystemBackgroundIndex)
+ else if ( aColorIndex==TLogicalRgb::ESystemBackgroundIndex )
{
// Only override aDefaultColor if SetBackgroundColorL was called:
- (void)iEdwin.EditorBackgroundColor(ret);
+ iEdwin.EditorBackgroundColor( ret );
// Insist on opaque background
- ret.SetAlpha(0xFF);
+ ret.SetAlpha( 0xFF );
}
-
else if (aColorIndex==TLogicalRgb::ESystemSelectionForegroundIndex)
{
ret = KRgbWhite;
-
- if (iSkinInstance)
+ if ( skin )
{
if ( iEdwin.HighlightStyle() == EEikEdwinHighlightLink )
{
- AknsUtils::GetCachedColor(iSkinInstance, ret, KAknsIIDQsnHighlightColors, EAknsCIQsnTextColorsCG3);
+ AknsUtils::GetCachedColor( skin, ret, KAknsIIDQsnHighlightColors,
+ EAknsCIQsnTextColorsCG3 );
}
else // default
{
- AknsUtils::GetCachedColor(iSkinInstance, ret, KAknsIIDQsnTextColors, EAknsCIQsnTextColorsCG24);
+ AknsUtils::GetCachedColor( skin, ret, KAknsIIDQsnTextColors,
+ EAknsCIQsnTextColorsCG24 );
}
}
}
- else if (aColorIndex==TLogicalRgb::ESystemSelectionBackgroundIndex)
+ else if ( aColorIndex==TLogicalRgb::ESystemSelectionBackgroundIndex )
{
ret = KRgbBlue;
-
- if (iSkinInstance)
+ if ( skin )
{
if ( iEdwin.HighlightStyle() == EEikEdwinHighlightLink )
{
- AknsUtils::GetCachedColor(iSkinInstance, ret, KAknsIIDQsnHighlightColors, EAknsCIQsnTextColorsCG1);
+ AknsUtils::GetCachedColor( skin, ret, KAknsIIDQsnHighlightColors,
+ EAknsCIQsnTextColorsCG1 );
}
else // default
{
- AknsUtils::GetCachedColor(iSkinInstance, ret, KAknsIIDQsnHighlightColors, EAknsCIQsnHighlightColorsCG2);
+ AknsUtils::GetCachedColor( skin, ret, KAknsIIDQsnHighlightColors,
+ EAknsCIQsnHighlightColorsCG2 );
}
}
}
@@ -401,17 +403,21 @@
#endif //RD_UI_TRANSITION_EFFECTS_POPUPS
if ( bitmapGc && iEdwin.SkinEnabled() )
{
- if ( AknsDrawUtils::DrawBackground(
- iSkinInstance,
- iEdwin.SkinBackgroundControlContext(),
- &iControl,
- *bitmapGc,
- aRect.iTl,
- aRect,
- KAknsDrawParamNoClearUnderImage ) )
+ MAknsSkinInstance* skin = AknsUtils::SkinInstance();
+ if ( skin )
{
- aDrawnRect = aRect;
- drawn = ETrue;
+ if ( AknsDrawUtils::DrawBackground(
+ skin,
+ iEdwin.SkinBackgroundControlContext(),
+ &iControl,
+ *bitmapGc,
+ aRect.iTl,
+ aRect,
+ KAknsDrawParamNoClearUnderImage ) )
+ {
+ aDrawnRect = aRect;
+ drawn = ETrue;
+ }
}
}
else
@@ -715,7 +721,8 @@
}
}
- maxPercentOfALineDrawn = Max( maxPercentOfALineDrawn, (lengthDrawnOnThisLine * 100 )/aUnderlineRect.Width() );
+ maxPercentOfALineDrawn = Max( maxPercentOfALineDrawn,
+ ( lengthDrawnOnThisLine * KOneHundred )/aUnderlineRect.Width() );
} // end of for loop over rows
util.End();
--- a/uifw/EikStd/coctlsrc/aknedwinphysicshandler.cpp Mon Mar 15 12:41:34 2010 +0200
+++ b/uifw/EikStd/coctlsrc/aknedwinphysicshandler.cpp Wed Mar 31 21:59:52 2010 +0300
@@ -52,12 +52,39 @@
}
// ---------------------------------------------------------------------------
+// CAknEdwinPhysicsHandler::NewL
+// ---------------------------------------------------------------------------
+//
+CAknEdwinPhysicsHandler* CAknEdwinPhysicsHandler::NewL( CEikEdwin& aEdwin, CAknPhysics* aPhysics )
+ {
+ CAknEdwinPhysicsHandler* self = CAknEdwinPhysicsHandler::NewLC( aEdwin, aPhysics );
+ CleanupStack::Pop( self );
+ return self;
+ }
+
+// ---------------------------------------------------------------------------
+// CAknEdwinPhysicsHandler::NewLC
+// ---------------------------------------------------------------------------
+//
+CAknEdwinPhysicsHandler* CAknEdwinPhysicsHandler::NewLC( CEikEdwin& aEdwin, CAknPhysics* aPhysics )
+ {
+ CAknEdwinPhysicsHandler* self = new ( ELeave ) CAknEdwinPhysicsHandler(
+ aEdwin, aPhysics );
+ CleanupStack::PushL( self );
+ self->ConstructL();
+ return self;
+ }
+
+// ---------------------------------------------------------------------------
// CAknEdwinPhysicsHandler::~CAknEdwinPhysicsHandler
// ---------------------------------------------------------------------------
//
CAknEdwinPhysicsHandler::~CAknEdwinPhysicsHandler()
{
- delete iPhysics;
+ if (iOwnsPhysics)
+ {
+ delete iPhysics;
+ }
}
// ---------------------------------------------------------------------------
@@ -67,70 +94,72 @@
void CAknEdwinPhysicsHandler::HandlePointerEvent(
const TPointerEvent& aPointerEvent )
{
- if ( aPointerEvent.iType == TPointerEvent::EButton1Down &&
- iViewRect.Contains( aPointerEvent.iPosition ) &&
- iEventUnblockingAllowed )
- {
- BlockEvents( EFalse );
- iPreviousYCoordinate = - KMaxWorldSize;
- }
- if ( iEventsBlocked )
- {
- return;
- }
-
- // Dragging/flicking logic
-
- if ( aPointerEvent.iType == TPointerEvent::EButton1Down &&
- iViewRect.Contains( aPointerEvent.iPosition ) )
+ if (iOwnsPhysics)
{
- // Pointer down inside view rect, set flag to allow dragging
- // and initialize values
- iFlags.Set( EFlagDraggingAllowed );
- iStartPosition = aPointerEvent.iPosition;
- StopPhysics();
-
- iStartTime.HomeTime();
- iDragThresholdExceeded = EFalse;
- iFlags.Clear( EFlagBouncingUp );
- iFlags.Clear( EFlagBouncingDown );
- return;
- }
- if ( iFlags.IsClear( EFlagDraggingAllowed ) )
- {
- return;
- }
-
- if ( aPointerEvent.iType == TPointerEvent::EDrag )
- {
- if ( !iDragThresholdExceeded )
+ if ( aPointerEvent.iType == TPointerEvent::EButton1Down &&
+ iViewRect.Contains( aPointerEvent.iPosition ) &&
+ iEventUnblockingAllowed )
+ {
+ BlockEvents( EFalse );
+ iPreviousYCoordinate = - KMaxWorldSize;
+ }
+ if ( iEventsBlocked )
{
- TInt drag( iStartPosition.iY - aPointerEvent.iPosition.iY );
- if ( Abs( drag ) > DragThreshold() )
- {
- iDragThresholdExceeded = ETrue;
- }
+ return;
}
- else
+
+ // Dragging/flicking logic
+
+ if ( aPointerEvent.iType == TPointerEvent::EButton1Down &&
+ iViewRect.Contains( aPointerEvent.iPosition ) )
{
- TInt deltaY( iPrevPosition.iY - aPointerEvent.iPosition.iY );
-
- TPoint deltaPoint( 0, deltaY );
- iPhysics->RegisterPanningPosition( deltaPoint );
+ // Pointer down inside view rect, set flag to allow dragging
+ // and initialize values
+ iFlags.Set( EFlagDraggingAllowed );
+ iStartPosition = aPointerEvent.iPosition;
+ StopPhysics();
+
+ iStartTime.HomeTime();
+ iDragThresholdExceeded = EFalse;
+ iFlags.Clear( EFlagBouncingUp );
+ iFlags.Clear( EFlagBouncingDown );
+ return;
}
-
- iPrevPosition = aPointerEvent.iPosition;
- }
- else if ( aPointerEvent.iType == TPointerEvent::EButton1Up )
- {
if ( iFlags.IsClear( EFlagDraggingAllowed ) )
{
return;
}
-
- iFlags.Clear( EFlagDraggingAllowed );
- TPoint drag( 0, iStartPosition.iY - aPointerEvent.iPosition.iY );
- iPhysics->StartPhysics( drag, iStartTime );
+
+ if ( aPointerEvent.iType == TPointerEvent::EDrag )
+ {
+ if ( !iDragThresholdExceeded )
+ {
+ TInt drag( iStartPosition.iY - aPointerEvent.iPosition.iY );
+ if ( Abs( drag ) > DragThreshold() )
+ {
+ iDragThresholdExceeded = ETrue;
+ }
+ }
+ else
+ {
+ TInt deltaY( iPrevPosition.iY - aPointerEvent.iPosition.iY );
+
+ TPoint deltaPoint( 0, deltaY );
+ iPhysics->RegisterPanningPosition( deltaPoint );
+ }
+ iPrevPosition = aPointerEvent.iPosition;
+ }
+ else if ( aPointerEvent.iType == TPointerEvent::EButton1Up )
+ {
+ if ( iFlags.IsClear( EFlagDraggingAllowed ) )
+ {
+ return;
+ }
+
+ iFlags.Clear( EFlagDraggingAllowed );
+ TPoint drag( 0, iStartPosition.iY - aPointerEvent.iPosition.iY );
+ iPhysics->StartPhysics( drag, iStartTime );
+ }
}
}
@@ -149,23 +178,26 @@
//
void CAknEdwinPhysicsHandler::InitPhysicsL()
{
- TSize totalSize( iViewRect.Width(), iViewRect.Height() + KMaxWorldSize );
- TSize viewSize( iViewRect.Width(), iViewRect.Height() );
-
-
- CTextLayout* layout = iEdwin.TextLayout();
-
- if ( layout )
+ if (iOwnsPhysics)
{
- TInt pixelsAbove = layout->PixelsAboveBand();
- if ( pixelsAbove > 0 )
+ TSize totalSize( iViewRect.Width(), iViewRect.Height()
+ + KMaxWorldSize );
+ TSize viewSize( iViewRect.Width(), iViewRect.Height() );
+
+ CTextLayout* layout = iEdwin.TextLayout();
+
+ if ( layout )
{
- MoveScrollIndex( -pixelsAbove );
- }
- }
-
- iPhysics->InitPhysicsL( totalSize, viewSize, EFalse );
- }
+ TInt pixelsAbove = layout->PixelsAboveBand();
+ if ( pixelsAbove > 0 )
+ {
+ MoveScrollIndex( -pixelsAbove );
+ }
+ }
+
+ iPhysics->InitPhysicsL( totalSize, viewSize, EFalse );
+ }
+ }
// ---------------------------------------------------------------------------
// CAknEdwinPhysicsHandler::MoveScrollIndex
@@ -242,11 +274,16 @@
BlockEvents( ETrue );
}
- // Disable background drawing while panning or flicking. Instead,
- // background is drawn in one frame.
- iEdwin.DrawViewBackground( ETrue );
- ScrollView( ETrue );
- iEdwin.DrawViewBackground( EFalse );
+ // Check also world indexes here because those might still equal although
+ // y coordinates differ due to crossing world boundaries.
+ if ( iPreviousWorldIndex != iWorldIndex )
+ {
+ // Disable background drawing while panning or flicking. Instead,
+ // background is drawn in one frame.
+ iEdwin.DrawViewBackground( ETrue );
+ ScrollView( ETrue );
+ iEdwin.DrawViewBackground( EFalse );
+ }
}
// ---------------------------------------------------------------------------
@@ -320,11 +357,13 @@
// CAknEdwinPhysicsHandler::CAknEdwinPhysicsHandler
// ---------------------------------------------------------------------------
//
-CAknEdwinPhysicsHandler::CAknEdwinPhysicsHandler( CEikEdwin& aEdwin ) :
+CAknEdwinPhysicsHandler::CAknEdwinPhysicsHandler( CEikEdwin& aEdwin,
+ CAknPhysics* aPhysics ) :
iWorldIndex( 0 ),
iPreviousWorldIndex( 0 ),
- iPhysics( NULL ),
- iEdwin( aEdwin )
+ iPhysics( aPhysics ),
+ iEdwin( aEdwin ),
+ iOwnsPhysics( aPhysics == NULL )
{
}
@@ -334,7 +373,10 @@
//
void CAknEdwinPhysicsHandler::ConstructL()
{
- iPhysics = CAknPhysics::NewL( *this, &iEdwin );
+ if (iOwnsPhysics)
+ {
+ iPhysics = CAknPhysics::NewL( *this, &iEdwin );
+ }
}
// ---------------------------------------------------------------------------
@@ -369,7 +411,7 @@
if ( restOfPixels != 0)
{
- ScrollStep( pixelsToScroll, ETrue );
+ ScrollStep( restOfPixels, ETrue );
}
}
else
--- a/uifw/EikStd/coctlsrc/aknstyluspopupmenu.cpp Mon Mar 15 12:41:34 2010 +0200
+++ b/uifw/EikStd/coctlsrc/aknstyluspopupmenu.cpp Wed Mar 31 21:59:52 2010 +0300
@@ -173,19 +173,23 @@
//
EXPORT_C void CAknStylusPopUpMenu::ShowMenu()
{
- TRAPD( err,
- iController = CAknPreviewPopUpController::NewL( *iContent,
- CAknPreviewPopUpController::ELayoutSubMenu |
- CAknPreviewPopUpController::EAutoMirror |
- CAknPreviewPopUpController::EDontClose ) );
- if ( err )
+ // if contoller exists, re-use it .
+ if ( !iController )
{
- return;
- }
+ TRAPD( err,
+ iController = CAknPreviewPopUpController::NewL( *iContent,
+ CAknPreviewPopUpController::ELayoutSubMenu |
+ CAknPreviewPopUpController::EAutoMirror |
+ CAknPreviewPopUpController::EDontClose ) );
+ if ( err )
+ {
+ return;
+ }
- iController->SetPopUpShowDelay( KDefaultPopUpShowDelay );
- iController->SetPopUpHideDelay( KDefaultPopUpHideDelay );
- iContent->Parent()->DrawableWindow()->SetNonFading(ETrue);
+ iController->SetPopUpShowDelay( KDefaultPopUpShowDelay );
+ iController->SetPopUpHideDelay( KDefaultPopUpHideDelay );
+ iContent->Parent()->DrawableWindow()->SetNonFading(ETrue);
+ }
TSize size(iController->Size());
iController->ShowPopUp();
@@ -379,6 +383,8 @@
if ( iMenuObserver )
{
+ TBool isAlreadySet = iFlags.IsSet( EIdleDisabled );
+
iFlags.Set( EIdleDisabled );
TBool isDeleted = EFalse;
iIsDeleted = &isDeleted;
@@ -391,7 +397,10 @@
}
iIsDeleted = NULL;
- iFlags.Clear( EIdleDisabled );
+ if( !isAlreadySet )
+ {
+ iFlags.Clear( EIdleDisabled );
+ }
}
StartControllerIdleL();
@@ -413,9 +422,16 @@
{
if ( iMenuObserver )
{
+ TBool isAlreadySet = iFlags.IsSet( EIdleDisabled );
+
iFlags.Set( EIdleDisabled );
iMenuObserver->ProcessCommandL( KErrCancel );
- iFlags.Clear( EIdleDisabled );
+
+ if( !isAlreadySet )
+ {
+ iFlags.Clear( EIdleDisabled );
+ }
+
}
StartControllerIdleL();
--- a/uifw/EikStd/coctlsrc/eikspane.cpp Mon Mar 15 12:41:34 2010 +0200
+++ b/uifw/EikStd/coctlsrc/eikspane.cpp Wed Mar 31 21:59:52 2010 +0300
@@ -1177,11 +1177,14 @@
* be also passed if @c aParentWindowGroup
* is specified.
* @param aTransparent Whether or not the control is transparent.
+ * @param aIsFaded Whether or not the control's window should
+ * be faded or not.
*/
void SetParentWindowL( RWindowGroup* aParentWindowGroup,
CCoeControl* aParentControl,
CRedrawStoreHandler* aRedrawStoreHandler,
- TBool aTransparent );
+ TBool aTransparent,
+ TBool aIsFaded );
/**
* Sets the container control transparency.
@@ -2604,7 +2607,8 @@
RWindowGroup* aParentWindowGroup,
CCoeControl* aParentControl,
CRedrawStoreHandler* aRedrawStoreHandler,
- TBool aTransparent )
+ TBool aTransparent,
+ TBool aIsFaded )
{
if ( aParentWindowGroup )
{
@@ -2613,6 +2617,9 @@
SetMopParent( iEikonEnv->EikAppUi() );
SetParent( NULL );
+ // Maintain the window's ordinal position.
+ TInt ordinalPos = Window().OrdinalPosition();
+
if ( OwnsWindow() )
{
CloseWindow();
@@ -2644,6 +2651,9 @@
EnableDragEvents();
SetContainersL( *iControl, *this );
+
+ window.SetFaded( aIsFaded, RWindowTreeNode::EFadeIncludeChildren );
+ window.SetOrdinalPosition( ordinalPos );
ActivateL();
}
@@ -3786,6 +3796,8 @@
// component controls.
TInt count( combinedPaneControl->CountComponentControls() );
+ TBool isFaded( IsFaded() );
+
for ( TInt i = 0; i < count; ++i )
{
CEikStatusPaneContainer* subPane =
@@ -3798,7 +3810,9 @@
subPane->SetParentWindowL( NULL,
combinedPaneControl,
NULL,
- transparencyEnabled );
+ transparencyEnabled,
+ isFaded );
+
// Background is drawn by the combined pane so remove
// the subpane's own background drawer.
subPane->SetBackground( NULL );
@@ -3809,7 +3823,8 @@
iParentWindowGroup,
NULL,
iExtension ? iExtension->iRedrawStoreHandler : NULL,
- transparencyEnabled );
+ transparencyEnabled,
+ isFaded );
subPane->SetBackground( transparencyEnabled ? NULL :
iExtension );
--- a/uifw/EikStd/dlgsrc/AknMediatorFacade.cpp Mon Mar 15 12:41:34 2010 +0200
+++ b/uifw/EikStd/dlgsrc/AknMediatorFacade.cpp Wed Mar 31 21:59:52 2010 +0300
@@ -20,7 +20,7 @@
#include <eikapp.h>
#include <coedef.h>
#include <MediatorDomainUIDs.h>
-#include <secondarydisplay/AknSecondaryDisplayDefs.h>
+#include <SecondaryDisplay/AknSecondaryDisplayDefs.h>
#include "AknMediatorFacade.h"
#include "AknMediatorObserver.h"
--- a/uifw/EikStd/dlgsrc/EIKDIALG.CPP Mon Mar 15 12:41:34 2010 +0200
+++ b/uifw/EikStd/dlgsrc/EIKDIALG.CPP Wed Mar 31 21:59:52 2010 +0300
@@ -1918,9 +1918,9 @@
EXPORT_C void CEikDialog::TryExitL(TInt aButtonId)
{
_AKNTRACE_FUNC_ENTER;
+ _AKNTRACE("iDialogFlags = %d, buttonId = %d", iDialogFlags, aButtonId);
if ( iDialogFlags & EEikDialogFlagNoUserExit )
{
- _AKNTRACE_FUNC_EXIT;
return;
}
@@ -1929,95 +1929,83 @@
{
Extension()->iButtonId = aButtonId;
Extension()->StartDelayedExit();
- _AKNTRACE_FUNC_EXIT;
+ _AKNTRACE("CEikDialog::TryExitL return with delayedExit");
return;
}
-
- TBool effectTriggered = EFalse;
- TBool effectButton = aButtonId == EEikBidCancel
- || aButtonId == EAknSoftkeyExit
- || aButtonId == EAknSoftkeyBack
- || aButtonId == EAknSoftkeyNo;
-#ifdef RD_UI_TRANSITION_EFFECTS_POPUPS
- effectButton = effectButton
- || aButtonId == EAknSoftkeyClose
- || aButtonId == EAknSoftkeyDone;
-#endif
- CAknAppUi* aknAppUi = static_cast<CAknAppUi*>( iEikonEnv->EikAppUi() );
- if ( GfxTransEffect::IsRegistered( this ) && IsVisible() && effectButton
-#ifdef RD_UI_TRANSITION_EFFECTS_POPUPS
- && !(iDialogFlags&EEikDialogFlagSleeping)
-#endif
- && ( !aknAppUi->IsFullScreenApp() || aknAppUi->IsForeground() )
- && !IsBlankScreenDisplayed()
- )
+
+ TBool needToCheckExit = ETrue;
+
+ if (aButtonId != EEikBidCancel)
+ {
+ PrepareForFocusTransitionL();
+ }
+ else if (!(iDialogFlags & EEikDialogFlagNotifyEsc))
+ {
+ needToCheckExit = EFalse;
+ }
+
+ if (needToCheckExit)
{
- CAknTransitionUtils::SetAllParents(this);
- GfxTransEffect::Begin(this, KGfxControlDisappearAction);
- GfxTransEffect::NotifyExternalState(ECaptureComponentsBegin, (const TDesC8*)this);
-
- TRect demarcation;
- CAknTransitionUtils::GetDemarcation(CAknTransitionUtils::EPopup,
- demarcation);
- GfxTransEffect::SetDemarcation(this, demarcation);
- effectTriggered = ETrue;
- }
-
- if (aButtonId!=EEikBidCancel)
- PrepareForFocusTransitionL();
- else if (!(iDialogFlags&EEikDialogFlagNotifyEsc))
- goto finished;
- if (!OkToExitL(aButtonId))
+ if (!OkToExitL(aButtonId))
+ {
+ _AKNTRACE("CEikDialog::TryExitL return with OkToExitL false");
+ return;
+ }
+
+ if (aButtonId != EEikBidCancel)
{
- if ( effectTriggered )
- {
- GfxTransEffect::NotifyExternalState( ECaptureComponentsAbort,
- ( const TDesC8* ) this );
- GfxTransEffect::Abort( this );
+ GetAutoValues();
}
- _AKNTRACE_FUNC_EXIT;
- return;
- }
-
- if (aButtonId!=EEikBidCancel)
- GetAutoValues();
-finished:
+ }
+
if (iExitConfirmed)
- *iExitConfirmed=((MappedCommandId( aButtonId ) ==EEikBidCancel)? 0: aButtonId);
-
+ {
+ *iExitConfirmed = (MappedCommandId(aButtonId) == EEikBidCancel) ? 0 : aButtonId;
+ }
// Remove content observer in order to prevent unnecessary layout
// calculations in dialog shutdown.
- EnableContentObserver( EFalse );
-
- if (iDialogFlags&EEikDialogFlagSleeping)
- ExitSleepingDialog();
- else
- {
- // Remove content observer in order to prevent unnecessary layout
- // calculations in dialog shutdown.
- EnableContentObserver( EFalse );
-
- if ( effectTriggered )
- {
- MakeVisible(EFalse);
- CAknTransitionUtils::MakeVisibleSubComponents( this,
- CAknTransitionUtils::EForceInvisible );
-
- GfxTransEffect::NotifyExternalState(ECaptureComponentsEnd, (const TDesC8*)this);
- GfxTransEffect::End(this);
- }
- else
- {
- MakeVisible(EFalse);
- CAknTransitionUtils::MakeVisibleSubComponents( this,
- CAknTransitionUtils::EForceInvisible );
- GfxTransEffect::NotifyExternalState( ECaptureComponentsAbort,
- ( const TDesC8* ) this );
- GfxTransEffect::Abort(this);
- }
- delete(this);
- }
- _AKNTRACE_FUNC_EXIT;
+ EnableContentObserver(EFalse);
+
+ if (iDialogFlags & EEikDialogFlagSleeping)
+ {
+ ExitSleepingDialog();
+ }
+ else
+ {
+ // Trigger the transition effects for the exiting dialog.
+ CAknAppUi* aknAppUi = static_cast<CAknAppUi*>(iEikonEnv->EikAppUi());
+ TBool effectButton = aButtonId == EEikBidCancel
+ || aButtonId == EAknSoftkeyExit
+ || aButtonId == EAknSoftkeyBack
+ || aButtonId == EAknSoftkeyNo;
+#ifdef RD_UI_TRANSITION_EFFECTS_POPUPS
+ effectButton = effectButton
+ || aButtonId == EAknSoftkeyClose
+ || aButtonId == EAknSoftkeyDone;
+#endif
+
+ if (GfxTransEffect::IsRegistered(this) && IsVisible() && effectButton
+ && (!aknAppUi->IsFullScreenApp() || aknAppUi->IsForeground())
+ && !IsBlankScreenDisplayed())
+ {
+ // Begin transition.
+ TRect demarcation;
+ CAknTransitionUtils::SetAllParents(this);
+ GfxTransEffect::Begin(this, KGfxControlDisappearAction);
+ GfxTransEffect::NotifyExternalState(ECaptureComponentsBegin, (const TDesC8*)this);
+ CAknTransitionUtils::GetDemarcation(CAknTransitionUtils::EPopup, demarcation);
+ GfxTransEffect::SetDemarcation(this, demarcation);
+
+ // End transiton.
+ MakeVisible(EFalse);
+ CAknTransitionUtils::MakeVisibleSubComponents(this,
+ CAknTransitionUtils::EForceInvisible);
+ GfxTransEffect::NotifyExternalState(ECaptureComponentsEnd, (const TDesC8*)this);
+ GfxTransEffect::End(this);
+ }
+ delete(this);
+ }
+ _AKNTRACE_FUNC_EXIT;
}
/**
--- a/uifw/eikctl/src/EIKCLB.CPP Mon Mar 15 12:41:34 2010 +0200
+++ b/uifw/eikctl/src/EIKCLB.CPP Wed Mar 31 21:59:52 2010 +0300
@@ -855,7 +855,7 @@
}
TInt firstPotentialItemIndex = iTopItemIndex;
- TInt lastPotentialItemIndex = iTopItemIndex + NumberOfItemsThatFitInRect(iViewRect) - 1;
+ TInt lastPotentialItemIndex = iTopItemIndex + NumberOfItemsThatFitInRect(iViewRect);
if (iModel->NumberOfItems() == 0)
{
--- a/uifw/eikctl/src/EIKCLBD.CPP Mon Mar 15 12:41:34 2010 +0200
+++ b/uifw/eikctl/src/EIKCLBD.CPP Wed Mar 31 21:59:52 2010 +0300
@@ -1944,6 +1944,12 @@
const TColors& aColors ) const
{
_AKNTRACE( "[%s][%s][%d].", "CColumnListBoxData", __FUNCTION__, __LINE__ );
+ CListBoxView* view = static_cast<CEikListBox*>( iExtension->iControl )->View();
+ if ( !view->ViewRect().Intersects( aRect ) )
+ {
+ // outside of the clipping rect -> don't process this item
+ return;
+ }
TInt lastColumn = Min( LastColumn(), KMaxColumn );
TInt column=0;
--- a/uifw/ganes/src/HgScrollbar.cpp Mon Mar 15 12:41:34 2010 +0200
+++ b/uifw/ganes/src/HgScrollbar.cpp Wed Mar 31 21:59:52 2010 +0300
@@ -67,7 +67,8 @@
// -----------------------------------------------------------------------------
//
CHgScrollbar::CHgScrollbar( MHgScrollbarObserver& aObserver )
- : iObserver( aObserver )
+ : iObserver( aObserver ),
+ iStatic( ETrue )
{
}
--- a/uifw/ganes/src/HgScroller.cpp Mon Mar 15 12:41:34 2010 +0200
+++ b/uifw/ganes/src/HgScroller.cpp Wed Mar 31 21:59:52 2010 +0300
@@ -207,8 +207,11 @@
{
if( aIndex >= 0 && aIndex < iItems.Count() )
{
- iSelectedIndex = iItems.Count() - 1;
- FitSelectionToView();
+ if( !IsDisplayed( aIndex ) )
+ {
+ iSelectedIndex = iItems.Count() - 1;
+ FitSelectionToView();
+ }
iSelectedIndex = aIndex;
// Move view position so that it is fully visible.
@@ -541,7 +544,7 @@
//
void CHgScroller::InitScrollbarL()
{
- if( iScrollbar && iItemCount )
+ if( iScrollbar )
{
TBool prevStatic = iScrollbar->IsStatic();
iScrollbar->InitScrollBarL( Rect(),
@@ -1083,8 +1086,12 @@
{
iCurrentRow = newRow;
+ TBool needsFeedback =
+ ( iCurrentRow >= 0 && iCurrentRow <= iItems.Count() )
+ || ( iItems.Count() - iCurrentRow > ItemsOnScreen() );
+
TInt action = iPhysics->OngoingPhysicsAction();
- if( action != CAknPhysics::EAknPhysicsActionNone )
+ if( action != CAknPhysics::EAknPhysicsActionNone && needsFeedback )
{
TTouchFeedbackType type( ETouchFeedbackVibra );
if ( CAknPhysics::EAknPhysicsActionDragging == action )
@@ -1469,6 +1476,7 @@
//
void CHgScroller::HandleLosingForeground()
{
+ iPointerDown = EFalse;
iPopupText1.Zero();
iPopupText2.Zero();
}
--- a/uiutils/Localizer/src/CDirectoryLocalizer.cpp Mon Mar 15 12:41:34 2010 +0200
+++ b/uiutils/Localizer/src/CDirectoryLocalizer.cpp Wed Mar 31 21:59:52 2010 +0300
@@ -20,7 +20,7 @@
#include <barsread.h>
#include <bautils.h>
#include <coemain.h>
-#include <DIRECTORYLOCALIZER.RSG>
+#include <directorylocalizer.rsg>
#ifdef RD_MULTIPLE_DRIVE
#include <pathinfo.h>
#endif // RD_MULTIPLE_DRIVE