Version 0.7-0
[vicar] / src / vicar-config / cpp / 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->lineEditCallingCardNumber->setValidator(new QRegExpValidator(QRegExp( "^[0-9\\+]*$"), this));
38     ui->lineEditDTMFPrefix->setValidator(new QRegExpValidator(QRegExp( "^[0-9p#\\*]*$"), this));
39     ui->lineEditDTMFSuffix->setValidator(new QRegExpValidator(QRegExp( "^[0-9p#\\*]*$"), this));
40 }
41
42 ProfileSettingsDialog::~ProfileSettingsDialog()
43 {
44     delete ui;
45 }
46
47
48 void ProfileSettingsDialog::on_saveButton_clicked()
49 {
50     QString strMessage = QString("");
51     if (profile != 0){
52         QString strNumberStartsWith = ui->lineEditNumberStartsWith->text();
53         if (strNumberStartsWith.isEmpty()){
54             strMessage.append("Enter Phone number starts with\n");
55             ui->lineEditNumberStartsWith->setFocus();
56         }
57
58         QString strCallingCardNumber = ui->lineEditCallingCardNumber->text();
59
60         if (strCallingCardNumber.isEmpty()){
61             strMessage.append("Enter a calling card number\n");
62             ui->lineEditCallingCardNumber->setFocus();
63         }
64
65         if (strMessage.isEmpty()){
66             profile->phoneNumberPattern = ui->lineEditNumberStartsWith->text();
67             profile->gatewayNumber = ui->lineEditCallingCardNumber->text();
68             profile->dtmfFormat = ui->comboBoxDTMFFormat->currentText();
69             profile->dtmfPrefix = ui->lineEditDTMFPrefix->text();
70             profile->dtmfSuffix = ui->lineEditDTMFSuffix->text();
71             this->accept();
72         }
73         else{
74             QMessageBox::warning(this,"Invalid Data",strMessage);
75         }
76     }
77     else{
78         this->accept();
79     }
80 }
81
82 void ProfileSettingsDialog::on_closeButton_clicked()
83 {
84     this->reject();
85 }