Release 0.5-1 contains (Muti-profile support, Contacts Integration)
[vicar] / src / vicar-config / src / profilesettingsdialog.cpp
1 /*
2 @version: 0.5
3 @author: Sudheer K. <scifi1947 at gmail.com>
4 @license: GNU General Public License
5 */
6
7 #include "profilesettingsdialog.h"
8 #include "ui_profilesettingsdialog.h"
9 #include "vicarprofiletypes.h"
10 #include <QMessageBox>
11
12 ProfileSettingsDialog::ProfileSettingsDialog(QWidget *parent, org::maemo::vicar::Profile *profile) :
13     QDialog(parent),
14     ui(new Ui::ProfileSettingsDialog)
15 {
16     ui->setupUi(this);
17     this->profile = profile;
18
19     if (profile != 0){
20         //Load Profile values
21         ui->lineEditNumberStartsWith->setText(profile->phoneNumberPattern);
22         ui->lineEditCallingCardNumber->setText(profile->gatewayNumber);
23         int intIndex = ui->comboBoxDTMFFormat->findText(profile->dtmfFormat);
24         ui->comboBoxDTMFFormat->setCurrentIndex(intIndex);
25         ui->lineEditDTMFPrefix->setText(profile->dtmfPrefix);
26         ui->lineEditDTMFSuffix->setText(profile->dtmfSuffix);
27     }
28
29     ui->lineEditCallingCardNumber->setValidator(new QRegExpValidator(QRegExp( "^-?\\d\\d*$"), this));
30     ui->lineEditDTMFPrefix->setValidator(new QRegExpValidator(QRegExp( "^[0-9p#\\*]*$"), this));
31     ui->lineEditDTMFSuffix->setValidator(new QRegExpValidator(QRegExp( "^[0-9p#\\*]*$"), this));
32 }
33
34 ProfileSettingsDialog::~ProfileSettingsDialog()
35 {
36     delete ui;
37 }
38
39
40 void ProfileSettingsDialog::on_saveButton_clicked()
41 {
42     QString strMessage = QString("");
43     if (profile != 0){
44         QString strNumberStartsWith = ui->lineEditNumberStartsWith->text();
45         if (strNumberStartsWith.isEmpty()){
46             strMessage.append("Enter Phone number starts with\n");
47             ui->lineEditNumberStartsWith->setFocus();
48         }
49
50         QString strCallingCardNumber = ui->lineEditCallingCardNumber->text();
51
52         if (strCallingCardNumber.isEmpty()){
53             strMessage.append("Enter a calling card number\n");
54             ui->lineEditCallingCardNumber->setFocus();
55         }
56
57         if (strMessage.isEmpty()){
58             profile->phoneNumberPattern = ui->lineEditNumberStartsWith->text();
59             profile->gatewayNumber = ui->lineEditCallingCardNumber->text();
60             profile->dtmfFormat = ui->comboBoxDTMFFormat->currentText();
61             profile->dtmfPrefix = ui->lineEditDTMFPrefix->text();
62             profile->dtmfSuffix = ui->lineEditDTMFSuffix->text();
63             this->accept();
64         }
65         else{
66             QMessageBox::warning(this,"Invalid Data",strMessage);
67         }
68     }
69     else{
70         this->accept();
71     }
72 }
73
74 void ProfileSettingsDialog::on_closeButton_clicked()
75 {
76     this->reject();
77 }