--- 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 ®ExpString, 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 );
+ }
}