/*
-@version: 0.5
+@version: 0.6
@author: Sudheer K. <scifi1947 at gmail.com>
@license: GNU General Public License
*/
TelepathyUtility *tpUtility;
DatabaseUtility *databaseUtility;
org::maemo::vicar::Profile *profile;
- ProfilesWindow * const parent;
+ ProfilesWindow * const parent;
};
// ---------------------------------------------------------------------------
qDebug() << "Error fetching profiles list. "<< d->databaseUtility->lastError();
}
else{
- //ui->profilesListWidget->clear();
org::maemo::vicar::Profile currentProfile;
- foreach (currentProfile,profileList){
- QString strProfileDetails = QString("Number starts with %1 then call via %2")
- .arg(currentProfile.phoneNumberPattern)
- .arg(currentProfile.gatewayNumber);
- QListWidgetItem *item = new QListWidgetItem(strProfileDetails,ui->profilesListWidget);
+ QString strProfileDetails;
+ QListWidgetItem *item;
+ foreach (currentProfile,profileList){
+ if (currentProfile.phoneNumberPattern != "%"){
+ strProfileDetails = QString("Number starts with %1, then call via %2")
+ .arg(currentProfile.phoneNumberPattern)
+ .arg(currentProfile.gatewayNumber);
+ }
+ else{
+ strProfileDetails = QString("No profile found, then call via %1")
+ .arg(currentProfile.gatewayNumber);
+ }
+ item = new QListWidgetItem(strProfileDetails,ui->profilesListWidget);
item->setData(Qt::UserRole,currentProfile.profileID);
}
}
qDebug() << "Error inserting new profile record. "<< d->databaseUtility->lastError();
}
else{
- QString strProfileDetails = QString("Number starts with %1 then call via %2")
+ QString strProfileDetails = QString("Number starts with %1, then call via %2")
.arg(newProfile.phoneNumberPattern)
.arg(newProfile.gatewayNumber);
QListWidgetItem *item = new QListWidgetItem(strProfileDetails,ui->profilesListWidget);
<<". "<< d->databaseUtility->lastError();
}
else{
- QString strProfileDetails = QString("Number starts with %1 then \n call via %2")
- .arg(profile.phoneNumberPattern)
- .arg(profile.gatewayNumber);
+ QString strProfileDetails;
+ if (profile.phoneNumberPattern != "%"){
+ strProfileDetails = QString("Number starts with %1, then call via %2")
+ .arg(profile.phoneNumberPattern)
+ .arg(profile.gatewayNumber);
+ }
+ else{
+ strProfileDetails = QString("No profile found, then call via %1")
+ .arg(profile.gatewayNumber);
+ }
item->setText(strProfileDetails);
- item->setData(Qt::UserRole,result);
+ item->setData(Qt::UserRole,profile.profileID);
}
}
}
void ProfilesWindow::on_removeButton_clicked(){
QListWidgetItem *item = ui->profilesListWidget->currentItem();
if (item != 0){
+ qDebug() << "Selected item data is " << item->data(Qt::UserRole).toInt();
int intProfileID = item->data(Qt::UserRole).toInt();
bool result = d->databaseUtility->deleteProfile(intProfileID);
if (!result){
void ProfilesWindow::on_actionRouteOnDefault_triggered(bool checked){
d->gconfUtility->setGconfValueBoolean("route_on_default",checked);
}
+
+void ProfilesWindow::on_actionEditDefaultProfile_triggered(){
+ org::maemo::vicar::Profile profile;
+ bool result = d->databaseUtility->getDefaultProfile(&profile);
+ qDebug() << "Default profile exits? " <<result;
+ if (result){
+ //Default profile does not exist - edit it
+ ProfileSettingsDialog *dialog = new ProfileSettingsDialog(this,&profile);
+ int response = dialog->exec();
+ if (response == QDialog::Accepted){
+ qDebug() << "Updating default profile record";
+ bool result = d->databaseUtility->updateProfile(profile);
+ if (!result){
+ d->dbusUtility->displayNotification("Unable to update default profile.");
+ qDebug() << "Error updating default profile."<< d->databaseUtility->lastError();
+ }
+ else{
+ ui->profilesListWidget->clear();
+ this->loadProfilesList();
+ }
+ }
+ }
+ else{
+ //Create new default profile
+ profile.phoneNumberPattern = "%";
+ ProfileSettingsDialog *dialog = new ProfileSettingsDialog(this,&profile);
+ int result = dialog->exec();
+ if (result == QDialog::Accepted){
+ qDebug() << "Inserting new default profile record";
+ int result = d->databaseUtility->insertProfile(profile);
+ if (result == -1){
+ d->dbusUtility->displayNotification("Unable to create default profile.");
+ qDebug() << "Error inserting new default profile record. "<< d->databaseUtility->lastError();
+ }
+ else{
+ QString strProfileDetails = QString("No profile found, then call via %1")
+ .arg(profile.gatewayNumber);
+ QListWidgetItem *item = new QListWidgetItem(strProfileDetails,ui->profilesListWidget);
+ item->setData(Qt::UserRole,result);
+ }
+ }
+ }
+}