From 8462751df135b9ad08b1269661d2c7eb18c67976 Mon Sep 17 00:00:00 2001 From: zautrix Date: Fri, 17 Sep 2004 00:05:23 +0000 Subject: Rearranged linking --- diff --git a/kabc/addresseeview.cpp b/kabc/addresseeview.cpp new file mode 100644 index 0000000..b4717d7 --- a/dev/null +++ b/kabc/addresseeview.cpp @@ -0,0 +1,401 @@ +/* + This file is part of libkdepim. + + Copyright (c) 2003 Tobias Koenig + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. +*/ + +#include +#include +#include +#include +//US#include +#include +#include +//US #include +#include +#include +#include +#include + + +#include "externalapphandler.h" +#include "addresseeview.h" + + +//US #ifndef DESKTOP_VERSION +//US #include +//US #include +//US #endif + +//US static 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.latin1()); + + if ( n.left( 6 ) == "mailto" ) + ExternalAppHandler::instance()->mailToOneContact( n.mid(7) ); + else if ( n.left( 7 ) == "phoneto" ) + ExternalAppHandler::instance()->callByPhone( n.mid(8) ); + else if ( n.left( 5 ) == "faxto" ) + ExternalAppHandler::instance()->callByFax( n.mid(6) ); + else if ( n.left( 5 ) == "smsto" ) + ExternalAppHandler::instance()->callBySMS( n.mid(6) ); + else if ( n.left( 7 ) == "pagerto" ) + ExternalAppHandler::instance()->callByPager( n.mid(8) ); + else if ( n.left( 5 ) == "sipto" ) + ExternalAppHandler::instance()->callBySIP( n.mid(6) ); + +} +void AddresseeView::setAddressee( const KABC::Addressee& addr ) +{ + ExternalAppHandler* eah = ExternalAppHandler::instance(); + bool kemailAvail = eah->isEmailAppAvailable(); + bool kphoneAvail = eah->isPhoneAppAvailable(); + bool kfaxAvail = eah->isFaxAppAvailable(); + bool ksmsAvail = eah->isSMSAppAvailable(); + bool kpagerAvail = eah->isPagerAppAvailable(); + bool ksipAvail = eah->isSIPAppAvailable(); + + + mAddressee = addr; + // clear view + setText( QString::null ); + + if ( mAddressee.isEmpty() ) + return; + + QString name = ( mAddressee.assembledName().isEmpty() ? + mAddressee.formattedName() : mAddressee.assembledName() ); + + QString dynamicPart; + + QStringList emails = mAddressee.emails(); + QStringList::ConstIterator emailIt; + QString type = i18n( "Email" ); + emailIt = emails.begin(); + if ( emailIt != emails.end() ) { + if ( kemailAvail ) { + dynamicPart += QString( + "%1" + " \">%4" ) + .arg( type ) + .arg( name ) + .arg( *emailIt ) + .arg( *emailIt ); + ++emailIt; + } else { + dynamicPart += QString( + "%1" + "%2" ) + .arg( type ) + .arg( *emailIt ); + ++emailIt; + } + } + if ( mAddressee.birthday().date().isValid() ) { + dynamicPart += QString( + "%1" + "%2" ) + .arg( i18n ("Birthday") ) + .arg( KGlobal::locale()->formatDate( mAddressee.birthday().date() ,true) ); + } + 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("(sms)" ) + .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( + "%1" + "%4 %5" ) + .arg( KABC::PhoneNumber::typeLabel( phonetype ) ) + .arg( extension ) + .arg( (*phoneIt).number() ) + .arg( (*phoneIt).number() ) + .arg( sms ); + + } else { + dynamicPart += QString( + "%1" + "%2 %3" ) + .arg( KABC::PhoneNumber::typeLabel( phonetype ) ) + .arg( (*phoneIt).number() ) + .arg( sms ); + } + } + + + for ( ; emailIt != emails.end(); ++emailIt ) { + if ( kemailAvail ) { + dynamicPart += QString( + "%1" + " \">%4" ) + .arg( type ) + .arg( name ) + .arg( *emailIt ) + .arg( *emailIt ); + } else { + dynamicPart += QString( + "%1" + "%2" ) + .arg( type ) + .arg( *emailIt ); + } + } + + if ( !mAddressee.url().url().isEmpty() ) { + dynamicPart += QString( + "%1" + "%2" ) + .arg( i18n( "Homepage" ) ) +//US .arg( KStringHandler::tagURLs( mAddressee.url().url() ) ); + .arg( mAddressee.url().url() ); + //qDebug("AddresseeView::setAddressee has to be verified."); + } + + KABC::Address::List addresses = mAddressee.addresses(); + KABC::Address::List::ConstIterator addrIt; + for ( addrIt = addresses.begin(); addrIt != addresses.end(); ++addrIt ) { + if ( true /*(*addrIt).label().isEmpty()*/ ) { + QString formattedAddress = (*addrIt).formattedAddress().stripWhiteSpace(); +//US formattedAddress = formattedAddress.replace( '\n', "
" ); + //qDebug("adresss %s ",formattedAddress.latin1() ); + formattedAddress = formattedAddress.replace( QRegExp("\n"), "
" ); + //qDebug("AddresseeView::setAddressee has to be verified."); + + dynamicPart += QString( + "%1" + "%2" ) + .arg( KABC::Address::typeLabel( (*addrIt).type() ) ) + .arg( formattedAddress ); + } else { + + dynamicPart += QString( + "%1" + "%2" ) + .arg( KABC::Address::typeLabel( (*addrIt).type() ) ) +//US .arg( (*addrIt).label().replace( '\n', "
" ) ); + .arg( (*addrIt).label() /*replace( QRegExp("\n"), "
" )*/ ); + + } + } + + QString notes; + if ( !mAddressee.note().isEmpty() ) { + notes = QString( + "" + "%1" // note label + "%2" // note + "" ).arg( i18n( "Notes" ) ) +//US .arg( mAddressee.note().replace( '\n', "
" ) ); + .arg( mAddressee.note().replace( QRegExp("\n"), "
" ) ); + //qDebug("AddresseeView::setAddressee has to be verified."); + } + + QString aRole = ""; + QString aOrga = ""; + if ( true /*!mAddressee.role().isEmpty()*/ ) { + aRole = "" + "" + mAddressee.role() + "" + ""; + } + if ( true /*!mAddressee.organization().isEmpty()*/ ) { + aOrga = "" + "" + mAddressee.organization() + "" ; + ""; + } + mText = ""; + QString picString = ""; + KABC::Picture picture = mAddressee.photo(); + bool picAvailintern = false; + bool picAvailUrl = false; + if (! picture.undefined() ) { + picAvailintern = (picture.isIntern() && !picture.data().isNull()); + picAvailUrl = !picture.isIntern() && QFile::exists(picture.url() ); + } + if ( picAvailUrl || picAvailintern || QApplication::desktop()->width() > 320 ) { + if ( picAvailintern ) { + QMimeSourceFactory::defaultFactory()->setImage( "myimage", picture.data() ); + } else { + if ( picAvailUrl ) { + QMimeSourceFactory::defaultFactory()->setPixmap( "myimage", QPixmap( picture.url() )); + } else { + QMimeSourceFactory::defaultFactory()->setPixmap( "myimage", KGlobal::iconLoader()->loadIcon( "package_toys", KIcon::Desktop, 128 ) ); + } + } + picString = ""; + mText = QString::fromLatin1( + "" + "" // text and background color + "" + "" + "" + "" // name + "" + "%5" // role + "%6" // organization + "" + "%7" // dynamic part + "%8" // notes + "
" + "%3" + "%4
 
" + "" + "") +//US + .arg( /*KGlobalSettings::textColor().name()*/ "black" ) +//US + .arg( /*KGlobalSettings::baseColor().name()*/ "white" ) + .arg( picString ) + .arg( name ) + .arg( aRole ) + .arg( aOrga ) + .arg( dynamicPart ) + .arg( notes ); + + } else { // no picture! + +mText = "\n"; + //mText += "\n

"; +#ifdef DESKTOP_VERSION + mText += "

"; +#else + mText += "

"; +#endif + +#ifdef DESKTOP_VERSION + mText += " " + name+"

"; +#else + mText += " " + name +""; +#endif + mText += "
"; + + mText += ""; + /* + mText += QString("" + "" ) + .arg( i18n(" ") ) + .arg( name ); + */ + if ( ! mAddressee.role().isEmpty() ) + mText += QString("" + "" ) + .arg( i18n(" ") ) + .arg( mAddressee.role()); + if ( ! mAddressee.organization().isEmpty() ) + mText += QString("" + "" ) + .arg( i18n(" ") ) + .arg( mAddressee.organization()); + mText += dynamicPart; + mText += notes; + mText += "
 
%1%2
%1%2
%1%2
"; + + } + + // at last display it... + setText( mText ); + +} + +KABC::Addressee AddresseeView::addressee() const +{ + return mAddressee; +} +void AddresseeView::addTag(const QString & tag,const QString & text) +{ + if ( text.isEmpty() ) + return; + int number=text.contains("\n"); + QString str = "<" + tag + ">"; + QString tmpText=text; + QString tmpStr=str; + if(number !=-1) + { + if (number > 0) { + int pos=0; + QString tmp; + for(int i=0;i<=number;i++) { + pos=tmpText.find("\n"); + tmp=tmpText.left(pos); + tmpText=tmpText.right(tmpText.length()-pos-1); + tmpStr+=tmp+"
"; + } + } + else tmpStr += tmpText; + tmpStr+=""; + mText.append(tmpStr); + } + else + { + str += text + ""; + mText.append(str); + } +} diff --git a/kabc/addresseeview.h b/kabc/addresseeview.h new file mode 100644 index 0000000..1865fc4 --- a/dev/null +++ b/kabc/addresseeview.h @@ -0,0 +1,60 @@ +/* + This file is part of libkdepim. + + Copyright (c) 2003 Tobias Koenig + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. +*/ + +#ifndef KPIM_ADDRESSEEVIEW_H +#define KPIM_ADDRESSEEVIEW_H + +#include + +//US #include +#include + +namespace KPIM { + +//US class AddresseeView : public KTextBrowser +class AddresseeView : public QTextBrowser +{ + public: + AddresseeView( QWidget *parent = 0, const char *name = 0 ); + + /** + Sets the addressee object. The addressee is displayed immediately. + + @param addr The addressee object. + */ + void setAddressee( const KABC::Addressee& addr ); + void setSource(const QString& n); + /** + Returns the current addressee object. + */ + KABC::Addressee addressee() const; + + private: + KABC::Addressee mAddressee; + QString mText; + void addTag(const QString & tag,const QString & text); + class AddresseeViewPrivate; + AddresseeViewPrivate *d; +}; + +} + +#endif diff --git a/kabc/kabc.pro b/kabc/kabc.pro index 417f5b0..d690acc 100644 --- a/kabc/kabc.pro +++ b/kabc/kabc.pro @@ -35,6 +35,7 @@ HEADERS = \ plugin.h \ address.h \ addresseelist.h \ + addresseeview.h \ formatfactory.h \ formatplugin.h \ phonenumber.h \ @@ -152,6 +153,7 @@ formatfactory.cpp \ geo.cpp \ key.cpp \ field.cpp \ + addresseeview.cpp \ address.cpp \ phonenumber.cpp \ picture.cpp \ diff --git a/kabc/kabcE.pro b/kabc/kabcE.pro index dfdbcff..b360e8c 100644 --- a/kabc/kabcE.pro +++ b/kabc/kabcE.pro @@ -21,6 +21,7 @@ HEADERS = \ addressee.h \ addresseedialog.h \ addresseelist.h \ + addresseeview.h \ agent.h \ distributionlist.h \ distributionlistdialog.h \ @@ -126,6 +127,7 @@ SOURCES = \ addressee.cpp \ addresseedialog.cpp \ addresseelist.cpp \ + addresseeview.cpp \ agent.cpp \ distributionlist.cpp \ distributionlistdialog.cpp \ diff --git a/kaddressbook/details/look_html.cpp b/kaddressbook/details/look_html.cpp index 2a70273..63364a7 100644 --- a/kaddressbook/details/look_html.cpp +++ b/kaddressbook/details/look_html.cpp @@ -21,7 +21,7 @@ without including the source code for Qt in the source distribution. */ -#include +#include #include "look_html.h" #include diff --git a/kaddressbook/kabcore.cpp b/kaddressbook/kabcore.cpp index f21507a..32dd43a 100644 --- a/kaddressbook/kabcore.cpp +++ b/kaddressbook/kabcore.cpp @@ -76,7 +76,7 @@ $Id$ #include "kactioncollection.h" #include "addresseedialog.h" //US -#include +#include #include #include diff --git a/kaddressbook/kaddressbookE.pro b/kaddressbook/kaddressbookE.pro index 1c9eeef..c027895 100644 --- a/kaddressbook/kaddressbookE.pro +++ b/kaddressbook/kaddressbookE.pro @@ -12,8 +12,8 @@ DEFINES += KAB_EMBEDDED KAB_NOSPLITTER #DEFINES += KORG_NODND KORG_NOPLUGINS KORG_NOKABC KORG_NOARCHIVE KORG_NOMAIL #DEFINES += KORG_NOPRINTER KORG_NODCOP KORG_NOKALARMD KORG_NORESOURCEVIEW KORG_NOSPLITTER #DEFINES += KORG_NOLVALTERNATION -LIBS += -lmicrokdepim -LIBS += -lmicrokcal +#LIBS += -lmicrokdepim +#LIBS += -lmicrokcal LIBS += -lmicrokde LIBS += -lmicroqtcompat LIBS += -lmicrokabc @@ -22,6 +22,8 @@ LIBS += -ljpeg LIBS += $(QTOPIALIB) LIBS += -L$(QPEDIR)/lib LIBS += -Wl,-export-dynamic +LIBS += $(GCC3EXTRALIB1) +LIBS += $(GCC3EXTRALIB2) INTERFACES = \ # filteredit_base.ui \ diff --git a/kaddressbook/xxportmanager.cpp b/kaddressbook/xxportmanager.cpp index 713b0fc..810c3e2 100644 --- a/kaddressbook/xxportmanager.cpp +++ b/kaddressbook/xxportmanager.cpp @@ -52,7 +52,7 @@ extern "C" } #endif //KAB_EMBEDDED -#include +#include #include "kabcore.h" #include "undocmds.h" diff --git a/korganizer/calendarview.cpp b/korganizer/calendarview.cpp index 369c7a0..56b3fb0 100644 --- a/korganizer/calendarview.cpp +++ b/korganizer/calendarview.cpp @@ -1326,9 +1326,10 @@ void CalendarView::syncSharp() } -#include +//#include bool CalendarView::importBday() { +#if 0 KABC::StdAddressBook* AddressBook = KABC::StdAddressBook::self( true ); KABC::AddressBook::Iterator it; int count = 0; @@ -1369,6 +1370,7 @@ bool CalendarView::importBday() } updateView(); topLevelWidget()->setCaption(QString::number( addCount )+ i18n(" birthdays/anniversaries added!")); +#endif return true; } diff --git a/korganizer/incomingdialog.cpp b/korganizer/incomingdialog.cpp index f3bd09f..50e3077 100644 --- a/korganizer/incomingdialog.cpp +++ b/korganizer/incomingdialog.cpp @@ -50,7 +50,8 @@ #include "koprefs.h" #ifndef KORG_NOKABC -#include +#define KORG_NOKABC +//#include #define size count #endif diff --git a/korganizer/korganizerE.pro b/korganizer/korganizerE.pro index 4247838..d841193 100644 --- a/korganizer/korganizerE.pro +++ b/korganizer/korganizerE.pro @@ -15,12 +15,14 @@ LIBS += -lmicrokdepim LIBS += -lmicrokcal LIBS += -lmicrokde LIBS += -lmicroqtcompat -LIBS += -lmicrokabc +#LIBS += -lmicrokabc #LIBS += $(QPEDIR)/lib/gammu #LIBS += -lmicrogammu #LIBS += -lbluetooth #LIBS += -lsdp +LIBS += $(GCC3EXTRALIB1) +LIBS += $(GCC3EXTRALIB2) LIBS += -lqpe diff --git a/korganizer/publishdialog.cpp b/korganizer/publishdialog.cpp index 4323b91..2ae6720 100644 --- a/korganizer/publishdialog.cpp +++ b/korganizer/publishdialog.cpp @@ -27,7 +27,8 @@ #include #include #ifndef KORG_NOKABC -#include +#define KORG_NOKABC +//#include #endif #include "koprefs.h" diff --git a/libkdepim/libkdepim.pro b/libkdepim/libkdepim.pro index 060145e..f5de653 100644 --- a/libkdepim/libkdepim.pro +++ b/libkdepim/libkdepim.pro @@ -31,7 +31,6 @@ HEADERS = \ kpimprefs.h \ kpimglobalprefs.h \ kprefsdialog.h \ - addresseeview.h \ ksyncprofile.h \ ksyncprefsdialog.h \ kcmconfigs/kcmkdepimconfig.h \ @@ -50,7 +49,6 @@ SOURCES = \ kpimprefs.cpp \ kpimglobalprefs.cpp \ kprefsdialog.cpp \ - addresseeview.cpp \ ksyncprofile.cpp \ ksyncprefsdialog.cpp \ kcmconfigs/kcmkdepimconfig.cpp \ diff --git a/libkdepim/libkdepimE.pro b/libkdepim/libkdepimE.pro index b455a3e..102d827 100644 --- a/libkdepim/libkdepimE.pro +++ b/libkdepim/libkdepimE.pro @@ -25,7 +25,6 @@ HEADERS = \ kpimprefs.h \ kpimglobalprefs.h \ kprefsdialog.h \ - addresseeview.h \ ksyncprofile.h \ ksyncprefsdialog.h \ kcmconfigs/kcmkdepimconfig.h \ @@ -46,7 +45,6 @@ SOURCES = \ kpimprefs.cpp \ kpimglobalprefs.cpp \ kprefsdialog.cpp \ - addresseeview.cpp \ ksyncprofile.cpp \ ksyncprefsdialog.cpp \ kcmconfigs/kcmkdepimconfig.cpp \ -- cgit v0.9.0.2