--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/idlefw/plugins/shortcutplugin/inc/caiscutsettingscontainer.h Thu Dec 17 08:54:17 2009 +0200
@@ -0,0 +1,235 @@
+/*
+* Copyright (c) 2005-2006 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: Shortcut settings plug-in container.
+*
+*/
+
+
+#ifndef CAISCUTSETTINGSCONTAINER_H
+#define CAISCUTSETTINGSCONTAINER_H
+
+#include <gsbasecontainer.h>
+
+#include "aiscutsettings.hrh"
+
+class CAknRadioButtonSettingPage;
+class CAknSettingPage;
+class CAknWaitDialog;
+class CAiScutSettingsModel;
+class CAiScutSettingsBkmList;
+class CAiScutSettingsItem;
+
+/**
+ * Shortcut settings plug-in container
+ *
+ * @lib aiscutsettings.lib
+ * @since S60 v3.2
+ */
+class CAiScutSettingsContainer : public CGSBaseContainer
+{
+
+public:
+
+ CAiScutSettingsContainer();
+
+ virtual ~CAiScutSettingsContainer();
+
+ /**
+ * Sets pointer to settings plug-in model.
+ *
+ * @since S60 v3.2
+ * @param aModel Pointer to settings plug-in model
+ */
+ void SetModel(CAiScutSettingsModel* aModel);
+
+ /**
+ * Chandles a setting change command
+ *
+ * @since S60 v3.2
+ */
+ void HandleChangeCommandL();
+
+ /**
+ * Chandles a setting type change command
+ *
+ * @since S60 v3.2
+ */
+ void HandleChangeShortcutTypeCommandL(TAiScutSettingType aType);
+
+ /**
+ * Dialog showing changed
+ *
+ * @since S60 v3.2
+ */
+ TBool IsChangeDialogShowing();
+
+ /**
+ * Close change dialog
+ *
+ * @since S60 v3.2
+ */
+ void CloseChangeDialog();
+
+ /**
+ * Reset current list
+ *
+ * @since S60 v3.2
+ */
+ void ResetCurrentListL(TInt aIndex);
+
+ /**
+ * Hides the wait note dialog.
+ *
+ * @since S60 v3.2
+ */
+ void HideWaitNoteDialog();
+
+ /**
+ * Dismisses the wait note dialog and possible
+ * other dialogs and stops the change process.
+ *
+ * @since S60 v3.2
+ */
+ void StopShortcutChangeProcess();
+
+private:
+
+ void ConstructL(const TRect& aRect);
+
+ // from base class CGSBaseContainer
+
+ /**
+ * From CGSBaseContainer
+ * Constructs the settings listbox
+ *
+ * @since S60 v3.2
+ * @param aResLbxId Listbox resource id
+ */
+ void ConstructListBoxL(TInt aResLbxId);
+
+ /**
+ * Chandles a setting change command to select application from a list
+ *
+ * @since S60 v3.2
+ * @param aItem Applist item to modify
+ * @param aNew ETrue if selecting an application for first time, EFalse if not
+ * @return ETrue if shortcut was changed. EFalse if not
+ */
+ TBool HandleAppListChangeCommandL(CAiScutSettingsItem& aItem, TBool aNew = EFalse);
+
+ /**
+ * Chandles a setting change command to select bookmark from a list
+ *
+ * @since S60 v3.2
+ * @param aItem Applist item to modify
+ * @param aNew ETrue if selecting an application for first time, EFalse if not
+ * @return ETrue if shortcut was changed. EFalse if not
+ */
+ TBool HandleBookmarkChangeCommandL(CAiScutSettingsItem& aItem, TBool aNew = EFalse);
+
+ /**
+ * Chandles a setting change command to edit an URL
+ *
+ * @since S60 v3.2
+ * @param aItem Applist item to modify
+ * @param aNew ETrue if typing a new url, EFalse if editing an existing one
+ * @return ETrue if shortcut was changed. EFalse if not
+ */
+ TBool HandleUrlChangeCommandL(CAiScutSettingsItem& aItem, TBool aNew = EFalse);
+
+ /**
+ * Handles text editing in an CAknTextSettingPage
+ *
+ * @since S60 v3.2
+ * @param aResId Resource id for the text setting page
+ * @param aDes The text to edit
+ * @return ETrue if user pressed OK, ETrue if user pressed Cancel
+ */
+ TBool EditTextL(TInt aResId, TDes& aDes);
+
+ /**
+ * Shows the wait note dialog.
+ *
+ * @since S60 v3.2
+ */
+ void ShowWaitNoteDialogL();
+
+ /**
+ * Required for help.
+ *
+ */
+ void GetHelpContext(TCoeHelpContext& aContext) const;
+
+ /**
+ *
+ */
+ TKeyResponse OfferKeyEventL(const TKeyEvent& aKeyEvent, TEventCode aType);
+
+ /**
+ * Checks if there is a need to update the middle softkey label.
+ */
+ void CheckMiddleSoftkeyLabelL();
+
+private: // data
+
+ /**
+ * Settings plug-in model.
+ * Not own.
+ */
+ CAiScutSettingsModel* iModel;
+
+ /**
+ * Application selection list page.
+ * Own.
+ */
+ CAknRadioButtonSettingPage* iAppListDialog;
+
+ /**
+ * Bookmark selection list page.
+ * Own.
+ */
+ CAknRadioButtonSettingPage* iBkmListDialog;
+
+ /**
+ * Text setting page.
+ * Own.
+ */
+ CAknSettingPage* iEditDialog;
+
+ /**
+ * Wait dialog that is shown when the application list is not ready.
+ * Own.
+ */
+ CAknWaitDialog* iWaitDialog;
+
+ /**
+ *
+ */
+ TAiScutSettingType iOldType;
+
+ /**
+ * Is the change process stopped by outside "forces"
+ */
+ TBool iChangeProcessStopped;
+
+ /**
+ * Is the change process in progress
+ */
+ TBool iChangeProcessInProgress;
+
+};
+
+#endif // CAISCUTSETTINGSCONTAINER_H
+
+// End of File.