akonadi/contact
showaddressaction.cpp
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #include "showaddressaction.h"
00023
00024 #include "contactactionssettings.h"
00025
00026 #include <kabc/address.h>
00027 #include <krun.h>
00028 #include <ktoolinvocation.h>
00029
00030 using namespace Akonadi;
00031
00032 void ShowAddressAction::showAddress( const KABC::Address &address )
00033 {
00034
00035 ContactActionsSettings::self()->readConfig();
00036
00037 if ( ContactActionsSettings::self()->showAddressAction() == ContactActionsSettings::UseBrowser ) {
00038 QString urlTemplate = ContactActionsSettings::self()->addressUrl();
00039
00040 urlTemplate.replace( QLatin1String( "%s" ), address.street() ).
00041 replace( QLatin1String( "%r" ), address.region() ).
00042 replace( QLatin1String( "%l" ), address.locality() ).
00043 replace( QLatin1String( "%z" ), address.postalCode() ).
00044 replace( QLatin1String( "%n" ), address.country() ).
00045 replace( QLatin1String( "%c" ), address.countryToISO( address.country() ) );
00046
00047 KToolInvocation::invokeBrowser( urlTemplate );
00048 } else {
00049 QString commandTemplate = ContactActionsSettings::self()->addressCommand();
00050
00051 commandTemplate.replace( QLatin1String( "%s" ), address.street() ).
00052 replace( QLatin1String( "%r" ), address.region() ).
00053 replace( QLatin1String( "%l" ), address.locality() ).
00054 replace( QLatin1String( "%z" ), address.postalCode() ).
00055 replace( QLatin1String( "%n" ), address.country() ).
00056 replace( QLatin1String( "%c" ), address.countryToISO( address.country() ) );
00057
00058 KRun::runCommand( commandTemplate, 0 );
00059 }
00060 }