summaryrefslogtreecommitdiffabout
Side-by-side diff
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--libkdepim/addresseeview.cpp37
1 files changed, 34 insertions, 3 deletions
diff --git a/libkdepim/addresseeview.cpp b/libkdepim/addresseeview.cpp
index 71c7817..e9dc1e9 100644
--- a/libkdepim/addresseeview.cpp
+++ b/libkdepim/addresseeview.cpp
@@ -29,59 +29,80 @@
//US #include <kstringhandler.h>
#include <qscrollview.h>
#include <qregexp.h>
#include <qfile.h>
#include <qapplication.h>
#include "addresseeview.h"
#ifndef DESKTOP_VERSION
#include <qtopia/qcopenvelope_qws.h>
+#include <qpe/qpeapplication.h>
#endif
-
+int kphoneInstalled = 0;
using namespace KPIM;
AddresseeView::AddresseeView( QWidget *parent, const char *name )
//US : KTextBrowser( parent, name )
: QTextBrowser( parent, name )
{
//US setWrapPolicy( QTextEdit::AtWordBoundary );
setLinkUnderline( false );
// setVScrollBarMode( QScrollView::AlwaysOff );
//setHScrollBarMode( QScrollView::AlwaysOff );
//US QStyleSheet *sheet = styleSheet();
//US QStyleSheetItem *link = sheet->item( "a" );
//US link->setColor( KGlobalSettings::linkColor() );
}
void AddresseeView::setSource(const QString& n)
{
- //qDebug("********AddresseeView::setSource %s", n.mid(7).latin1());
+ qDebug("********AddresseeView::setSource %s", n.latin1());
#ifndef DESKTOP_VERSION
+ if ( n.left( 6 ) == "mailto" ) {
QCopEnvelope e("QPE/Application/kmpi", "newMail(QString)");
e << n.mid(7);
+ }
+ if ( n.left( 7 ) == "phoneto" ) {
+ QString mess = "-ring:" + n.mid(8);
+ QCopEnvelope e("QPE/Application/kppi", mess.latin1());
+ }
#endif
}
void AddresseeView::setAddressee( const KABC::Addressee& addr )
{
- mAddressee = addr;
+ bool kphoneAvail = false;
+#ifndef DESKTOP_VERSION
+ if ( ! kphoneInstalled ) {
+ if ( QFile::exists( QPEApplication::qpeDir() + "/bin/kppi" ) )
+ kphoneInstalled = 1;
+ else
+ kphoneInstalled = -1;
+ } else {
+ if ( kphoneInstalled > 0 )
+ kphoneAvail = true;
+ }
+ //if ( kphoneAvail )
+ // qDebug("KPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPone avail ");
+#endif
+ mAddressee = addr;
// clear view
setText( QString::null );
if ( mAddressee.isEmpty() )
return;
QString name = ( mAddressee.formattedName().isEmpty() ?
mAddressee.assembledName() : mAddressee.formattedName() );
QString dynamicPart;
QStringList emails = mAddressee.emails();
@@ -93,30 +114,40 @@ void AddresseeView::setAddressee( const KABC::Addressee& addr )
"<tr><td align=\"right\"><b>%1</b></td>"
"<td align=\"left\"><a href=\"mailto:%2 <%3> \">%4</a></td></tr>" )
.arg( type )
.arg( name )
.arg( *emailIt )
.arg( *emailIt );
++emailIt;
}
KABC::PhoneNumber::List phones = mAddressee.phoneNumbers();
KABC::PhoneNumber::List::ConstIterator phoneIt;
for ( phoneIt = phones.begin(); phoneIt != phones.end(); ++phoneIt ) {
+ if ( kphoneAvail ) {
+ dynamicPart += QString(
+ "<tr><td align=\"right\"><b>%1</b></td>"
+ "<td align=\"left\"><a href=\"phoneto:%2 \">%3</a></td></tr>" )
+ .arg( KABC::PhoneNumber::typeLabel( (*phoneIt).type() ) )
+ .arg( (*phoneIt).number() )
+ .arg( (*phoneIt).number() );
+
+ } else {
dynamicPart += QString(
"<tr><td align=\"right\"><b>%1</b></td>"
"<td align=\"left\">%2</td></tr>" )
.arg( KABC::PhoneNumber::typeLabel( (*phoneIt).type() ) )
.arg( (*phoneIt).number() );
}
+ }
for ( ; emailIt != emails.end(); ++emailIt ) {
dynamicPart += QString(
"<tr><td align=\"right\"><b>%1</b></td>"
"<td align=\"left\"><a href=\"mailto:%2 <%3> \">%4</a></td></tr>" )
.arg( type )
.arg( name )
.arg( *emailIt )
.arg( *emailIt );
}