filemanager/src/filemanager/src/components/fmsingletextquery.cpp
changeset 37 15bc28c9dd51
parent 16 ada7962b4308
--- a/filemanager/src/filemanager/src/components/fmsingletextquery.cpp	Mon May 03 12:24:39 2010 +0300
+++ b/filemanager/src/filemanager/src/components/fmsingletextquery.cpp	Tue Aug 24 10:24:14 2010 +0800
@@ -19,14 +19,14 @@
 #include "fmsingletextquery.h"
 
 #include <QGraphicsLinearLayout>
+#include <QRegExp>
 
 #include <hbwidget.h>
 #include <hblineedit.h>
 #include <hbaction.h>
 
-FmSingleTextQuery::FmSingleTextQuery( Options options,
-    HbLineEdit::EchoMode echoMode, QGraphicsItem *parent  ) :
-    HbDialog( parent ), mOptions( options ), mEchoMode( echoMode )
+FmSingleTextQuery::FmSingleTextQuery( HbLineEdit::EchoMode echoMode, QGraphicsItem *parent  ) :
+    FmDialog( parent ), mEchoMode( echoMode )
 {
     init();
 }
@@ -37,9 +37,12 @@
 
 void FmSingleTextQuery::init()
 {
+    setObjectName( "SingleTextQuery " );
     setDismissPolicy( HbPopup::NoDismiss );
     mContentWidget = new HbWidget();
-	setContentWidget( mContentWidget );
+    mContentWidget->setObjectName( "SingleTextContentWidget" );
+    setContentWidget( mContentWidget );
+	
 
     QGraphicsLinearLayout *vLayout = new QGraphicsLinearLayout();
     vLayout->setOrientation( Qt::Vertical );
@@ -47,6 +50,7 @@
     mTextEdit = new HbLineEdit();
     mTextEdit->setEchoMode( mEchoMode );
     mTextEdit->setFontSpec( HbFontSpec( HbFontSpec::Primary ) );
+    mTextEdit->setObjectName( "textLineEdit" );
 	vLayout->addItem( mTextEdit );
 
     mContentWidget->setLayout( vLayout );
@@ -74,13 +78,26 @@
     mTextEdit->setMaxLength( length );
 }
 
+void FmSingleTextQuery::setRegExpStringList( QStringList regExpStringList )
+{
+	mRegExpStringList = regExpStringList;
+}
+
 void FmSingleTextQuery::checkActions()
 {
-    if( mOptions & DimPrimereActionWhenEmpty ) {
-        if( !mTextEdit->text().isEmpty() ){
-            this->primaryAction()->setEnabled( true );
-        } else {
-            this->primaryAction()->setEnabled( false );
+    // check if all regExp match, disable primary action if not match
+    bool validateResult = true;
+    foreach( const QString &regExpString, mRegExpStringList ) {
+        if( !regExpString.isEmpty() ) {
+            QRegExp regExp( regExpString );
+            if( !regExp.exactMatch( mTextEdit->text() ) ) {
+                validateResult =  false;
+            }
         }
     }
+    if( validateResult ) {
+        this->primaryAction()->setEnabled( true );
+    } else {
+        this->primaryAction()->setEnabled( false );
+    }
 }