src/hbwidgets/popups/hbinputdialog_p.cpp
changeset 1 f7ac710697a9
parent 0 16d8024aca5e
child 2 06ff229162e9
equal deleted inserted replaced
0:16d8024aca5e 1:f7ac710697a9
    59 void HbInputDialogContentWidget::setAdditionalRowVisible(bool visible)
    59 void HbInputDialogContentWidget::setAdditionalRowVisible(bool visible)
    60 {
    60 {
    61     mAdditionalRowVisible = visible;
    61     mAdditionalRowVisible = visible;
    62 
    62 
    63     if(!mLabel2 && visible) {
    63     if(!mLabel2 && visible) {
    64         mLabel2 = style()->createPrimitive(HbStyle::P_InputDialog_additional_text,this);
    64         mLabel2 = style()->createPrimitive(HbStyle::P_InputDialog_additionaltext,this);
    65     }
    65     }
    66 
    66 
    67     if(!mEdit2 && visible) {
    67     if(!mEdit2 && visible) {
    68         //Retrieve the cached data here and assign//
    68         //Retrieve the cached data here and assign//
    69         mEdit2 = new HbLineEdit(this);
    69         mEdit2 = new HbLineEdit(this);
   141 
   141 
   142 
   142 
   143 void HbInputDialogPrivate::setInputMode(HbLineEdit *pEdit, HbInputDialog::InputMode mode)
   143 void HbInputDialogPrivate::setInputMode(HbLineEdit *pEdit, HbInputDialog::InputMode mode)
   144 {
   144 {
   145     Q_Q(HbInputDialog);
   145     Q_Q(HbInputDialog);
   146 #ifdef HBINPUTDIALOG_DEBUG
   146 
   147     qDebug()<<"Entering setInputMode";
       
   148 #endif
       
   149     HbEditorInterface eInt(pEdit);
       
   150     switch(mode) {
   147     switch(mode) {
   151     case HbInputDialog::TextInput:
   148     case HbInputDialog::TextInput:
   152 #ifdef HBINPUTDIALOG_DEBUG
       
   153         qDebug()<<"TextInputMode";
       
   154 #endif
       
   155         eInt.setConstraints(HbEditorConstraintNone);
       
   156         break;
   149         break;
       
   150 
   157     case HbInputDialog::IntInput: 
   151     case HbInputDialog::IntInput: 
   158     {
   152         {
   159 #ifdef HBINPUTDIALOG_DEBUG
   153             //set the validator
   160         qDebug()<<"IntInputMode";
   154             if(mValid) {
   161 #endif
   155                 // NOTE:This validation is for readability. mValid is being deleted 
   162         //set the validator
   156                 // when setValidator is called on editor.
   163         if(mValid) {
   157                 mValid = 0;
   164             // NOTE:This validation is for readability. mValid is being deleted 
   158             }
   165             // when setValidator is called on editor.
   159             mValid = new HbValidator();
   166             mValid = 0;
   160             QValidator *intValidator = new QIntValidator(q);
   167         }
   161             mValid->addField(intValidator, "0");
   168         mValid = new HbValidator();
   162             pEdit->setValidator(mValid);
   169         QValidator *intValidator = new QIntValidator(q);
   163 
   170         mValid->addField(intValidator, "0");
   164             pEdit->setInputMethodHints(Qt::ImhDigitsOnly);
   171         pEdit->setValidator(mValid);
   165 
   172 
   166             break;
   173         eInt.setConstraints(HbEditorConstraintFixedInputMode);
   167         }
   174         eInt.setInputMode(HbInputModeNumeric);
       
   175         //eInt.setFilter(HbConverterNumberFilter::instance());
       
   176 /*          Old custom button API has been deprecated for some time now. Commented out to prevent a build break.
       
   177              customButtonBank = HbInputCustomButtonStore::instance()->newBank();
       
   178         1, intValidator->locale().negativeSign(), intValidator->locale().negativeSign());
       
   179         mCustomButtonBank->addButton(mDashButton);
       
   180             dashButton = new HbInputCustomButton(HbInputCustomButton::HbCustomButtonShortcut,
       
   181                 1, intValidator->locale().negativeSign(), intValidator->locale().negativeSign());
       
   182             customButtonBank->addButton(dashButton);
       
   183             eInt.setCustomButtonBank(customButtonBank->id());  */
       
   184 
       
   185         break;
       
   186     }
       
   187     case HbInputDialog::RealInput:
   168     case HbInputDialog::RealInput:
   188     {
   169         {
   189 #ifdef HBINPUTDIALOG_DEBUG
   170             //set the validator
   190         qDebug()<<"RealInputMode";
   171             if(mValid) {
   191 #endif
   172                 mValid = 0;
   192         //set the validator
   173             }
   193         if(mValid) {
   174 
   194             mValid = 0;
   175             mValid = new HbValidator();
   195         }
   176             QValidator *doubleValidator = new QDoubleValidator(q);
   196             
   177             mValid->addField(doubleValidator, "0");
   197         mValid = new HbValidator();
   178             pEdit->setValidator(mValid);
   198         QValidator *doubleValidator = new QDoubleValidator(q);
   179 
   199         mValid->addField(doubleValidator, "0");
   180             pEdit->setInputMethodHints(Qt::ImhFormattedNumbersOnly);
   200         pEdit->setValidator(mValid);
   181 
   201         
   182             break;
   202         eInt.setConstraints(HbEditorConstraintFixedInputMode);
   183         }                     
   203         eInt.setInputMode(HbInputModeNumeric);
       
   204         //eInt.setFilter(HbConverterNumberFilter::instance());
       
   205 /*          Old custom button API has been deprecated for some time now. Commented out to prevent a build break.
       
   206             customButtonBank = HbInputCustomButtonStore::instance()->newBank();
       
   207             dotButton = new HbInputCustomButton(HbInputCustomButton::HbCustomButtonShortcut,
       
   208                 0, doubleValidator->locale().decimalPoint(), doubleValidator->locale().decimalPoint());
       
   209             customButtonBank->addButton(dotButton);
       
   210             dashButton = new HbInputCustomButton(HbInputCustomButton::HbCustomButtonShortcut,
       
   211                 1, doubleValidator->locale().negativeSign(), doubleValidator->locale().negativeSign());
       
   212             customButtonBank->addButton(dashButton);
       
   213             eInt.setCustomButtonBank(customButtonBank->id()); */
       
   214             
       
   215         break;
       
   216     }                     
       
   217     case HbInputDialog::IpInput:
   184     case HbInputDialog::IpInput:
   218     {
   185         {
   219         mValid = new HbValidator;
   186             mValid = new HbValidator;
   220         QRegExp r("\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}");
   187             mValid->setDefaultSeparator(".");
   221         mValid->setMasterValidator(new QRegExpValidator(r,0));
   188             mValid->addField(new QIntValidator(0, 255, 0), "127");
   222         mValid->addField(new QIntValidator(0,255,0),"127");
   189             mValid->addField(new QIntValidator(0, 255, 0), "0");
   223         mValid->addSeparator(QString("."));
   190             mValid->addField(new QIntValidator(0, 255, 0), "0");
   224         mValid->addField(new QIntValidator(0,255,0),"0");
   191             mValid->addField(new QIntValidator(0, 255, 0), "1");
   225         mValid->addSeparator(QString("."));
   192 
   226         mValid->addField(new QIntValidator(0,255,0),"0");
   193             pEdit->setValidator(mValid);
   227         mValid->addSeparator(QString("."));
   194             pEdit->setInputMethodHints(Qt::ImhDigitsOnly);
   228         mValid->addField(new QIntValidator(0,255,0),"1");
   195 
   229 
   196             break;
   230         pEdit->setValidator(mValid);
   197         }  
   231         eInt.setInputMode(HbInputModeNumeric);
       
   232 
       
   233         break;
       
   234     }  
       
   235     default:
   198     default:
   236         break;
   199         break;
   237     }
   200     }
   238 }
   201 }
   239 
   202 
   268         q->style()->updatePrimitive(mContentWidget->mLabel1,HbStyle::P_InputDialog_text,&option);
   231         q->style()->updatePrimitive(mContentWidget->mLabel1,HbStyle::P_InputDialog_text,&option);
   269     } else {
   232     } else {
   270         mPromptAdditionalText = text;
   233         mPromptAdditionalText = text;
   271         q->initStyleOption(&option);
   234         q->initStyleOption(&option);
   272         if(mContentWidget->mAdditionalRowVisible) {
   235         if(mContentWidget->mAdditionalRowVisible) {
   273            q->style()->updatePrimitive(mContentWidget->mLabel2,HbStyle::P_InputDialog_additional_text,&option);
   236            q->style()->updatePrimitive(mContentWidget->mLabel2,HbStyle::P_InputDialog_additionaltext,&option);
   274         }
   237         }
   275     }
   238     }
   276 }
   239 }
   277 
   240 
   278 
   241