51cfb1e36c810601dfcf46736022baa7e5959b12
[vicar] / src / vicar-config / src / profilesettingsdialog.cpp
1 /*
2 @version: 0.6
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 #include <QDebug>
12
13 ProfileSettingsDialog::ProfileSettingsDialog(QWidget *parent, org::maemo::vicar::Profile *profile) :
14     QDialog(parent),
15     ui(new Ui::ProfileSettingsDialog)
16 {
17     ui->setupUi(this);
18     this->profile = profile;
19
20     if (profile != 0){
21         //Load Profile values
22
23         if (profile->phoneNumberPattern == "%"){
24             ui->labelNumberStartsWith->setText("-- Default Profile --");
25             ui->lineEditNumberStartsWith->setVisible(false);
26         }
27
28         ui->lineEditNumberStartsWith->setText(profile->phoneNumberPattern);
29         ui->lineEditCallingCardNumber->setText(profile->gatewayNumber);
30         int intIndex = ui->comboBoxDTMFFormat->findText(profile->dtmfFormat);
31         ui->comboBoxDTMFFormat->setCurrentIndex(intIndex);
32         ui->lineEditDTMFPrefix->setText(profile->dtmfPrefix);
33         ui->lineEditDTMFSuffix->setText(profile->dtmfSuffix);
34     }
35
36     ui->lineEditCallingCardNumber->setValidator(new QRegExpValidator(QRegExp( "^-?\\d\\d*$"), this));
37     ui->lineEditDTMFPrefix->setValidator(new QRegExpValidator(QRegExp( "^[0-9p#\\*]*$"), this));
38     ui->lineEditDTMFSuffix->setValidator(new QRegExpValidator(QRegExp( "^[0-9p#\\*]*$"), this));
39 }
40
41 ProfileSettingsDialog::~ProfileSettingsDialog()
42 {
43     delete ui;
44 }
45
46
47 void ProfileSettingsDialog::on_saveButton_clicked()
48 {
49     QString strMessage = QString("");
50     if (profile != 0){
51         QString strNumberStartsWith = ui->lineEditNumberStartsWith->text();
52         if (strNumberStartsWith.isEmpty()){
53             strMessage.append("Enter Phone number starts with\n");
54             ui->lineEditNumberStartsWith->setFocus();
55         }
56
57         QString strCallingCardNumber = ui->lineEditCallingCardNumber->text();
58
59         if (strCallingCardNumber.isEmpty()){
60             strMessage.append("Enter a calling card number\n");
61             ui->lineEditCallingCardNumber->setFocus();
62         }
63
64         if (strMessage.isEmpty()){
65             profile->phoneNumberPattern = ui->lineEditNumberStartsWith->text();
66             profile->gatewayNumber = ui->lineEditCallingCardNumber->text();
67             profile->dtmfFormat = ui->comboBoxDTMFFormat->currentText();
68             profile->dtmfPrefix = ui->lineEditDTMFPrefix->text();
69             profile->dtmfSuffix = ui->lineEditDTMFSuffix->text();
70             this->accept();
71         }
72         else{
73             QMessageBox::warning(this,"Invalid Data",strMessage);
74         }
75     }
76     else{
77         this->accept();
78     }
79 }
80
81 void ProfileSettingsDialog::on_closeButton_clicked()
82 {
83     this->reject();
84 }