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 if ( !urlTemplate.isEmpty() )
00048 KToolInvocation::invokeBrowser( urlTemplate );
00049 } else {
00050 QString commandTemplate = ContactActionsSettings::self()->addressCommand();
00051
00052 commandTemplate.replace( QLatin1String( "%s" ), address.street() ).
00053 replace( QLatin1String( "%r" ), address.region() ).
00054 replace( QLatin1String( "%l" ), address.locality() ).
00055 replace( QLatin1String( "%z" ), address.postalCode() ).
00056 replace( QLatin1String( "%n" ), address.country() ).
00057 replace( QLatin1String( "%c" ), address.countryToISO( address.country() ) );
00058
00059 if ( !commandTemplate.isEmpty() )
00060 KRun::runCommand( commandTemplate, 0 );
00061 }
00062 }