videditor/ManualVideoEditor/inc/FileNameSettingItem.h
changeset 0 951a5db380a0
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/videditor/ManualVideoEditor/inc/FileNameSettingItem.h	Fri Jan 29 14:08:33 2010 +0200
@@ -0,0 +1,109 @@
+/*
+* Copyright (c) 2010 Ixonos Plc.
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the "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:
+* Ixonos Plc
+*
+* Description:  
+*
+*/
+
+
+
+#ifndef __FILENAMESETTINGITEM_H__
+#define __FILENAMESETTINGITEM_H__
+
+//  INCLUDES
+#include <aknsettingitemlist.h>
+
+// CONSTANTS
+_LIT( KCharColon, ":" ); // Illegal character for filename.
+const TText KCharDot = '.'; // Dot character.
+
+// CLASS DECLARATION
+
+/**
+ * Custom setting item for filename. Filename validity is checked.
+ */
+class CFileNameSettingItem: public CAknTextSettingItem
+{
+public:
+    // Constructor and destructor
+
+    /**
+     * Constructor. 
+     *
+     * @param aIdentifier Resource identifier for this setting item.
+     * @param aText Setting text.
+     * @param aIllegalFilenameTextResourceID Resource identifier for 
+     *        warning note text.
+     * @param aUnsuitableFilenameTextResourceID Resource identifier for
+     *        warning note text.
+     */
+    CFileNameSettingItem( TInt aIdentifier, 
+                          TDes& aText, 
+                          TInt aIllegalFilenameTextResourceID, 
+                          TInt aUnsuitableFilenameTextResourceID );
+
+    /**
+     * Destructor.
+     */
+    ~CFileNameSettingItem();
+
+public:
+    // Functions from base classes
+
+    /**
+     * From <code>MAknSettingPageObserver</code>, handles events reported
+     * by the setting page.
+     *
+     * @param aSettingPage Notified setting page.
+     * @param aEventType Occured event type.
+     */
+    void HandleSettingPageEventL( CAknSettingPage* aSettingPage,
+                                 TAknSettingPageEvent aEventType );
+
+    /**
+     * From <code>CAknTextSettingItem</code>, this launches the setting
+     * page for text editing.
+     *
+     * @param aCalledFromMenu Ignored in this and under laying
+     *        <code>CAknTextSettingItem</code> class.
+     */
+    void EditItemL( TBool aCalledFromMenu );
+
+private:
+    // Data
+
+    /**
+     * The text in editor before editing is started.
+     */
+    HBufC* iTextBeforeEditing;
+
+    /**
+     * Indicates whether ok is pressed and the file name is incorrect.
+     */
+    TBool iInvalidFilenameOked;
+
+    /**
+     * Resource identifier for illegal file name string.
+     */
+    TInt iIllegalFilenameTextResourceID;
+
+    /**
+     * Resource identifier for unsuitable file name string.
+     */
+    TInt iUnsuitableFilenameTextResourceID;
+
+};
+#endif // __FILENAMESETTINGITEM_H__
+
+// End of File