summaryrefslogtreecommitdiffabout
path: root/kabc
Side-by-side diff
Diffstat (limited to 'kabc') (more/less context) (ignore whitespace changes)
-rw-r--r--kabc/addresseeview.cpp135
-rw-r--r--kabc/addresseeview.h1
-rw-r--r--kabc/phonenumber.cpp4
3 files changed, 76 insertions, 64 deletions
diff --git a/kabc/addresseeview.cpp b/kabc/addresseeview.cpp
index 2dda968..af149a0 100644
--- a/kabc/addresseeview.cpp
+++ b/kabc/addresseeview.cpp
@@ -92,7 +92,3 @@ void AddresseeView::setAddressee( const KABC::Addressee& addr )
bool kemailAvail = eah->isEmailAppAvailable();
- bool kphoneAvail = eah->isPhoneAppAvailable();
- bool kfaxAvail = eah->isFaxAppAvailable();
- bool ksmsAvail = eah->isSMSAppAvailable();
- bool kpagerAvail = eah->isPagerAppAvailable();
- bool ksipAvail = eah->isSIPAppAvailable();
+
@@ -111,2 +107,4 @@ void AddresseeView::setAddressee( const KABC::Addressee& addr )
+ dynamicPart += getPhoneNumbers( true );
+ qDebug("dynamic preferred %s ",dynamicPart.latin1() );
QStringList emails = mAddressee.emails();
@@ -141,59 +139,3 @@ void AddresseeView::setAddressee( const KABC::Addressee& addr )
}
- KABC::PhoneNumber::List phones = mAddressee.phoneNumbers();
- KABC::PhoneNumber::List::ConstIterator phoneIt;
- QString extension;
- int phonetype;
- QString sms;
- for ( phoneIt = phones.begin(); phoneIt != phones.end(); ++phoneIt ) {
- phonetype = (*phoneIt).type();
- if (ksmsAvail &&
- (
- ((phonetype & KABC::PhoneNumber::Car) == KABC::PhoneNumber::Car) ||
- ((phonetype & KABC::PhoneNumber::Cell) == KABC::PhoneNumber::Cell)
- )
- )
- {
- sms = QString("<a href=\"smsto:%1 \">(sms)</a>" )
- .arg( (*phoneIt).number() );
-
- }
- else
- sms = "";
-
- extension = QString::null;
- if ((phonetype & KABC::PhoneNumber::Fax) == KABC::PhoneNumber::Fax) {
- if (kfaxAvail) extension = "faxto:";
- }
- else if ((phonetype & KABC::PhoneNumber::Pager) == KABC::PhoneNumber::Pager) {
- if (kpagerAvail) extension = "pagerto:";
- }
- else if ((phonetype & KABC::PhoneNumber::Sip) == KABC::PhoneNumber::Sip) {
- if (ksipAvail) extension = "sipto:";
- }
- else if (kphoneAvail) {
- extension = "phoneto:";
- }
- else
- extension = QString::null;
-
- if ( !extension.isEmpty() ) {
- dynamicPart += QString(
- "<tr><td align=\"right\"><b>%1</b></td>"
- "<td align=\"left\"><a href=\"%2%3 \">%4</a> %5</td></tr>" )
- .arg( KABC::PhoneNumber::typeLabel( phonetype ) )
- .arg( extension )
- .arg( (*phoneIt).number() )
- .arg( (*phoneIt).number() )
- .arg( sms );
-
- } else {
- dynamicPart += QString(
- "<tr><td align=\"right\"><b>%1</b></td>"
- "<td align=\"left\">%2 %3</td></tr>" )
- .arg( KABC::PhoneNumber::typeLabel( phonetype ) )
- .arg( (*phoneIt).number() )
- .arg( sms );
- }
- }
-
+ dynamicPart += getPhoneNumbers( false );
@@ -372,2 +314,71 @@ mText = "<table width=\"100%\">\n";
+QString AddresseeView::getPhoneNumbers( bool preferred )
+{
+ ExternalAppHandler* eah = ExternalAppHandler::instance();
+ bool kphoneAvail = eah->isPhoneAppAvailable();
+ bool kfaxAvail = eah->isFaxAppAvailable();
+ bool ksmsAvail = eah->isSMSAppAvailable();
+ bool kpagerAvail = eah->isPagerAppAvailable();
+ bool ksipAvail = eah->isSIPAppAvailable();
+ QString dynamicPart;
+ KABC::PhoneNumber::List phones = mAddressee.phoneNumbers();
+ KABC::PhoneNumber::List::ConstIterator phoneIt;
+ QString extension;
+ int phonetype;
+ QString sms;
+ for ( phoneIt = phones.begin(); phoneIt != phones.end(); ++phoneIt ) {
+ phonetype = (*phoneIt).type();
+ if ( ((phonetype & KABC::PhoneNumber::Pref) == 0 ) == preferred )
+ continue;
+ if (ksmsAvail &&
+ (
+ ((phonetype & KABC::PhoneNumber::Car) == KABC::PhoneNumber::Car) ||
+ ((phonetype & KABC::PhoneNumber::Cell) == KABC::PhoneNumber::Cell)
+ )
+ )
+ {
+ sms = QString("<a href=\"smsto:%1 \">(sms)</a>" )
+ .arg( (*phoneIt).number() );
+
+ }
+ else
+ sms = "";
+
+ extension = QString::null;
+ if ((phonetype & KABC::PhoneNumber::Fax) == KABC::PhoneNumber::Fax) {
+ if (kfaxAvail) extension = "faxto:";
+ }
+ else if ((phonetype & KABC::PhoneNumber::Pager) == KABC::PhoneNumber::Pager) {
+ if (kpagerAvail) extension = "pagerto:";
+ }
+ else if ((phonetype & KABC::PhoneNumber::Sip) == KABC::PhoneNumber::Sip) {
+ if (ksipAvail) extension = "sipto:";
+ }
+ else if (kphoneAvail) {
+ extension = "phoneto:";
+ }
+ else
+ extension = QString::null;
+
+ if ( !extension.isEmpty() ) {
+ dynamicPart += QString(
+ "<tr><td align=\"right\"><b>%1</b></td>"
+ "<td align=\"left\"><a href=\"%2%3 \">%4</a> %5</td></tr>" )
+ .arg( KABC::PhoneNumber::typeLabel( phonetype ) )
+ .arg( extension )
+ .arg( (*phoneIt).number() )
+ .arg( (*phoneIt).number() )
+ .arg( sms );
+
+ } else {
+ dynamicPart += QString(
+ "<tr><td align=\"right\"><b>%1</b></td>"
+ "<td align=\"left\">%2 %3</td></tr>" )
+ .arg( KABC::PhoneNumber::typeLabel( phonetype ) )
+ .arg( (*phoneIt).number() )
+ .arg( sms );
+ }
+ }
+ return dynamicPart;
+}
KABC::Addressee AddresseeView::addressee() const
diff --git a/kabc/addresseeview.h b/kabc/addresseeview.h
index 689d997..d8a13ee 100644
--- a/kabc/addresseeview.h
+++ b/kabc/addresseeview.h
@@ -53,2 +53,3 @@ class AddresseeView : public QTextBrowser
QString mText;
+ QString getPhoneNumbers( bool preferred );
void addTag(const QString & tag,const QString & text);
diff --git a/kabc/phonenumber.cpp b/kabc/phonenumber.cpp
index 6e94c7e..d7e3925 100644
--- a/kabc/phonenumber.cpp
+++ b/kabc/phonenumber.cpp
@@ -200,6 +200,6 @@ QString PhoneNumber::typeLabel( int type )
typeString += " ";
-
+ /*
if ((type & Pref) == Pref)
typeString += i18n("(p)");
-
+ */
//if we still have no match, return "other"