src/hbwidgets/popups/hbinputdialog_p.cpp
changeset 2 06ff229162e9
parent 1 f7ac710697a9
child 6 c3690ec91ef8
equal deleted inserted replaced
1:f7ac710697a9 2:06ff229162e9
    23 **
    23 **
    24 ****************************************************************************/
    24 ****************************************************************************/
    25 
    25 
    26 #include "hbinputdialog_p.h"
    26 #include "hbinputdialog_p.h"
    27 #include "hbinputdialogcontent_p.h"
    27 #include "hbinputdialogcontent_p.h"
    28 #include "hbstyleoptioninputdialog.h"
    28 #include "hbstyleoptioninputdialog_p.h"
    29 
    29 
    30 #include <hblineedit.h>
    30 #include <hblineedit.h>
    31 #include <hbaction.h>
    31 #include <hbaction.h>
    32 #include <hbvalidator.h>
    32 #include <hbvalidator.h>
    33 #include <hbstyle.h>
    33 #include <hbstyle.h>
    99 }
    99 }
   100 
   100 
   101 
   101 
   102 HbInputDialogPrivate::~HbInputDialogPrivate()
   102 HbInputDialogPrivate::~HbInputDialogPrivate()
   103 {
   103 {
   104     if(primaryAction){
       
   105         delete primaryAction;
       
   106     }
       
   107     if(secondaryAction){
       
   108         delete secondaryAction;
       
   109     }
       
   110 }
   104 }
   111 
   105 
   112 
   106 
   113 void HbInputDialogPrivate::init()
   107 void HbInputDialogPrivate::init()
   114 {
   108 {
   121 
   115 
   122     //Populate the widget
   116     //Populate the widget
   123     mContentWidget = new HbInputDialogContentWidget(this);
   117     mContentWidget = new HbInputDialogContentWidget(this);
   124 
   118 
   125     q->setContentWidget(mContentWidget);
   119     q->setContentWidget(mContentWidget);
   126     primaryAction = new HbAction(QString(q->tr("Ok")));
   120     q->addAction(new HbAction(q->tr("Ok"), q));
   127     q->setPrimaryAction(primaryAction);
   121 
   128 
   122     q->addAction(new HbAction(q->tr("Cancel"), q));
   129     secondaryAction = new HbAction(QString(q->tr("Cancel")));
       
   130     q->setSecondaryAction(secondaryAction);
       
   131 
   123 
   132     q->setTimeout(HbPopup::NoTimeout); 
   124     q->setTimeout(HbPopup::NoTimeout); 
   133     q->setModal(true); // Dialog is modal  
   125     q->setModal(true); // Dialog is modal  
   134     q->setDismissPolicy(HbPopup::NoDismiss);
   126     q->setDismissPolicy(HbPopup::NoDismiss);
   135 
   127 
   181 
   173 
   182             break;
   174             break;
   183         }                     
   175         }                     
   184     case HbInputDialog::IpInput:
   176     case HbInputDialog::IpInput:
   185         {
   177         {
       
   178             QString text = pEdit->text();
   186             mValid = new HbValidator;
   179             mValid = new HbValidator;
   187             mValid->setDefaultSeparator(".");
   180             mValid->setDefaultSeparator(".");
   188             mValid->addField(new QIntValidator(0, 255, 0), "127");
   181             QStringList list = text.split(".");
   189             mValid->addField(new QIntValidator(0, 255, 0), "0");
   182             if (list.count() != 4 ) {
   190             mValid->addField(new QIntValidator(0, 255, 0), "0");
   183                     mValid->setDefaultSeparator(".");
   191             mValid->addField(new QIntValidator(0, 255, 0), "1");
   184                     mValid->addField(new QIntValidator(0, 255, 0), "127");
   192 
   185                     mValid->addField(new QIntValidator(0, 255, 0), "0");
       
   186                     mValid->addField(new QIntValidator(0, 255, 0), "0");
       
   187                     mValid->addField(new QIntValidator(0, 255, 0), "1");
       
   188 
       
   189             }
       
   190             else {
       
   191 
       
   192                     mValid->addField(new QIntValidator(0, 255, 0),list[0]);
       
   193                     mValid->addField(new QIntValidator(0, 255, 0),list[1]);
       
   194                     mValid->addField(new QIntValidator(0, 255, 0),list[2]);
       
   195                     mValid->addField(new QIntValidator(0, 255, 0),list[3]);
       
   196             }
   193             pEdit->setValidator(mValid);
   197             pEdit->setValidator(mValid);
   194             pEdit->setInputMethodHints(Qt::ImhDigitsOnly);
   198             pEdit->setInputMethodHints(Qt::ImhDigitsOnly);
   195 
   199 
   196             break;
   200             break;
   197         }  
   201         }  
   206     if(row > 1) {
   210     if(row > 1) {
   207         return;
   211         return;
   208     }
   212     }
   209     if(row == 0) {
   213     if(row == 0) {
   210         mPrimaryMode = mode;
   214         mPrimaryMode = mode;
   211 	    setInputMode(mContentWidget->mEdit1, mode);
   215         setInputMode(mContentWidget->mEdit1, mode);
   212     } else {
   216     } else {
   213         mSecondaryMode = mode;
   217         mSecondaryMode = mode;
   214         if(mContentWidget->mAdditionalRowVisible) {
   218         if(mContentWidget->mAdditionalRowVisible) {
   215             setInputMode(mContentWidget->mEdit2,mode);
   219             setInputMode(mContentWidget->mEdit2,mode);
   216         }
   220         }
   220 
   224 
   221 void HbInputDialogPrivate::setPromptText(const QString& text,int row)
   225 void HbInputDialogPrivate::setPromptText(const QString& text,int row)
   222 {
   226 {
   223     Q_Q(HbInputDialog);
   227     Q_Q(HbInputDialog);
   224     if(row > 1) {
   228     if(row > 1) {
   225 	    return;
   229         return;
   226     }
   230     }
   227     HbStyleOptionInputDialog option;
   231     HbStyleOptionInputDialog option;
   228     if(row == 0) {
   232     if(row == 0) {
   229         mPromptText = text;
   233         mPromptText = text;
   230         q->initStyleOption(&option);
   234         q->initStyleOption(&option);
   243 {
   247 {
   244     if( row > 1 ) {
   248     if( row > 1 ) {
   245         return QString();
   249         return QString();
   246     }
   250     }
   247     if(row == 0) {
   251     if(row == 0) {
   248 	    return mPromptText;
   252         return mPromptText;
   249     } else {
   253     } else {
   250         return mPromptAdditionalText;
   254         return mPromptAdditionalText;
   251     }
   255     }
   252 }
   256 }
   253 
   257 
   256 {
   260 {
   257     if(row > 1) {
   261     if(row > 1) {
   258         return;
   262         return;
   259     }
   263     }
   260     if(row == 0) {
   264     if(row == 0) {
   261 	    mContentWidget->mEdit1->setText(text);
   265         mContentWidget->mEdit1->setText(text);
   262     } else {
   266     } else {
   263         mText = text;
   267         mText = text;
   264         if(mContentWidget->mAdditionalRowVisible) {
   268         if(mContentWidget->mAdditionalRowVisible) {
   265             mContentWidget->mEdit2->setText(mText);
   269             mContentWidget->mEdit2->setText(mText);
   266         }
   270         }