1 #include "telephonenumnewruledialog.h"
2 #include "ui_telephonenumnewruledialog.h"
4 #include <QtCore/QSettings>
5 #include <QtCore/QDebug> //Debug pro informace
6 #include <QtGui/QItemSelectionModel>
7 #include <QtGui/QStandardItemModel>
8 #include <QMaemo5InformationBox>
9 #include <QMaemo5ValueButton>
10 #include <QMaemo5ListPickSelector>
11 #include <QMaemo5InformationBox>
12 TelePhoneNumNewRuleDialog::TelePhoneNumNewRuleDialog(QWidget *parent) :
14 ui(new Ui::TelePhoneNumNewRuleDialog)
17 selectedProfile = QString("");
18 ui->lineEditTelNumber->setText(QString("+420"));
21 TelePhoneNumNewRuleDialog::~TelePhoneNumNewRuleDialog()
28 Store profile names and create maemo button fro show this names
29 \param list_of_profiles_nf list of profile names
31 void TelePhoneNumNewRuleDialog::SetProfilenames(QStringList list_of_profiles_nf)
33 list_of_profiles = list_of_profiles_nf;
35 p_model_profile_names = new QStandardItemModel(this);//model for maemo 5 button
37 foreach(QString profile, list_of_profiles )
39 p_model_profile_names->appendRow(new QStandardItem(profile));
42 p_set_Profile_button = new QMaemo5ValueButton(tr("Choose profile for Number:"), this);
43 p_set_Profile_button->setValueLayout(QMaemo5ValueButton::ValueBesideText);
44 p_list_pick_profile = new QMaemo5ListPickSelector();
45 p_list_pick_profile->setModel(p_model_profile_names);
46 p_set_Profile_button->setPickSelector(p_list_pick_profile);
47 ui->formLayout_2->addWidget(p_set_Profile_button);
49 connect(p_list_pick_profile,SIGNAL(selected(QString)),this,SLOT(SelectedName(QString)));
56 void TelePhoneNumNewRuleDialog::SetModel(QStandardItemModel *model)
58 model_of_Telnum = model;
62 /** TelePhoneNumNewRuleDialog.
66 bool TelePhoneNumNewRuleDialog::FindTelModel(QString Tel)
68 QList<QStandardItem *> list_of_num;
70 //qDebug()<< "In file:" << __FILE__ << ":" << "on line:" << __LINE__ << " in function:" << __FUNCTION__ << "Bude hledat modelu wifi site " ;
71 //qDebug()<< "In file:" << __FILE__ << ":" << "on line:" << __LINE__ << " in function:" << __FUNCTION__ << "pocet radku v modelu wifi " << model_of_WifiIf->rowCount();
72 //labels << tr("Name") << tr("Wifi name") << tr("Profile");
73 list_of_num = model_of_Telnum->findItems(Tel, Qt::MatchExactly , 1); //fing num name in 1 colum
74 return list_of_num.empty();
80 Slot for change in list pick
81 \param name name of profile
83 void TelePhoneNumNewRuleDialog::SelectedName(QString name)
85 selectedProfile = name;
90 \param id name of network
91 \param name text for label
93 void TelePhoneNumNewRuleDialog::SetNameOfLabel(QString id, QString name )
95 ui->labelText->setText(name + id);
99 Return name of selected profile
101 QString TelePhoneNumNewRuleDialog::GetNameProfile()
103 return selectedProfile;
109 QString TelePhoneNumNewRuleDialog::GetNameOfRule()
111 return ui->lineEditName->text();
117 QString TelePhoneNumNewRuleDialog::GetTelNum()
119 return ui->lineEditTelNumber->text();
125 void TelePhoneNumNewRuleDialog::SetTelNum(QString str)
127 ui->lineEditTelNumber->setText(str);
132 \param name text for label
134 void TelePhoneNumNewRuleDialog::SetNameOfRule(QString name)
136 ui->lineEditName->setText(name);
140 Slot for signal when user click on save button.
141 Check is everyting is OK
143 void TelePhoneNumNewRuleDialog::accept()
145 if(selectedProfile.isEmpty())
147 QMaemo5InformationBox::information(this, tr("Select profile for number"), QMaemo5InformationBox::DefaultTimeout);
151 if(ui->lineEditName->text().isEmpty())
153 QMaemo5InformationBox::information(this, tr("Please fill name"), QMaemo5InformationBox::DefaultTimeout);
157 if(ui->lineEditTelNumber->text().split(QRegExp("\\s+"),QString::SkipEmptyParts).size() > 1)
159 QMaemo5InformationBox::information(this, tr("One number please"), QMaemo5InformationBox::DefaultTimeout);
163 if((ui->lineEditTelNumber->text().length() == 13))
166 QString str = ui->lineEditTelNumber->text();
167 if(str.contains(QRegExp("[+]\\d{12}")))
169 if(FindTelModel(str)){
170 done(QDialog::Accepted);
172 QMaemo5InformationBox::information(this, tr("This rule for number already exists"), QMaemo5InformationBox::DefaultTimeout);
176 QMaemo5InformationBox::information(this, tr("Set number in format : +XXXXXXXXXXXX"), QMaemo5InformationBox::DefaultTimeout);
180 QMaemo5InformationBox::information(this, tr("Set number in format : +XXXXXXXXXXXX"), QMaemo5InformationBox::DefaultTimeout);
185 void TelePhoneNumNewRuleDialog::changeEvent(QEvent *e)
187 QDialog::changeEvent(e);
189 case QEvent::LanguageChange:
190 ui->retranslateUi(this);