akonadi/contact
22#include "dialphonenumberaction.h"
24#include "contactactionssettings.h"
26#include "qsflphonedialer.h"
27#include "qskypedialer.h"
28#include "qekigadialer.h"
30#include <kabc/phonenumber.h>
31#include <klocalizedstring.h>
32#include <kmessagebox.h>
35using namespace Akonadi;
37static QString strippedDialNumber(
const QString &number)
41 for (
int i = 0; i < number.length(); ++i) {
42 const QChar character = number.at(i);
43 if (character.isDigit() || (character == QLatin1Char(
'+') && i == 0)) {
51void DialPhoneNumberAction::dialNumber(
const KABC::PhoneNumber &number)
54 ContactActionsSettings::self()->readConfig();
56 QDialer *dialer = NULL;
58 if (ContactActionsSettings::self()->dialPhoneNumberAction() == ContactActionsSettings::UseSkype) {
59 dialer =
new QSkypeDialer(QLatin1String(
"AkonadiContacts"));
60 }
else if (ContactActionsSettings::self()->dialPhoneNumberAction() == ContactActionsSettings::UseSflPhone) {
61 dialer =
new QSflPhoneDialer(QLatin1String(
"AkonadiContacts"));
62 }
else if (ContactActionsSettings::self()->dialPhoneNumberAction() == ContactActionsSettings::UseEkiga) {
63 dialer =
new QEkigaDialer(QLatin1String(
"AkonadiContacts"));
66 if (!dialer->dialNumber(strippedDialNumber(number.number().trimmed()))) {
67 KMessageBox::sorry(0, dialer->errorMessage());
73 QString command = ContactActionsSettings::self()->phoneCommand();
75 if (command.isEmpty()) {
76 KMessageBox::sorry(0, i18n(
"There is no application set which could be executed.\nPlease go to the settings dialog and configure one."));
84 command = command.replace(QLatin1String(
"%N"), number.number());
85 command = command.replace(QLatin1String(
"%n"), strippedDialNumber(number.number().trimmed()));
87 KRun::runCommand(command, 0);
This file is part of the KDE documentation.
Documentation copyright © 1996-2024 The KDE developers.
Generated on Wed Jan 24 2024 00:00:00 by
doxygen 1.10.0 written
by
Dimitri van Heesch, © 1997-2006
KDE's Doxygen guidelines are available online.