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 |