summaryrefslogtreecommitdiffabout
authorulf69 <ulf69>2004-08-19 00:38:41 (UTC)
committer ulf69 <ulf69>2004-08-19 00:38:41 (UTC)
commit895e3797f6437347fd73b87a3bf9d4cecfa5a5a9 (patch) (unidiff)
tree514daed00896a1a902b63f2deefa745b34d51ea4
parent00101d27c9305ac3163e1a0c8ed27408b41fa192 (diff)
downloadkdepimpi-895e3797f6437347fd73b87a3bf9d4cecfa5a5a9.zip
kdepimpi-895e3797f6437347fd73b87a3bf9d4cecfa5a5a9.tar.gz
kdepimpi-895e3797f6437347fd73b87a3bf9d4cecfa5a5a9.tar.bz2
updated version of detailed view when called through QCop
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--kaddressbook/kabcore.cpp79
-rw-r--r--kaddressbook/kabcore.h3
2 files changed, 77 insertions, 5 deletions
diff --git a/kaddressbook/kabcore.cpp b/kaddressbook/kabcore.cpp
index e7c815e..dabb8e9 100644
--- a/kaddressbook/kabcore.cpp
+++ b/kaddressbook/kabcore.cpp
@@ -39,80 +39,85 @@
39#include <kabc/resource.h> 39#include <kabc/resource.h>
40#include <kabc/vcardconverter.h> 40#include <kabc/vcardconverter.h>
41#include <kapplication.h> 41#include <kapplication.h>
42#include <kactionclasses.h> 42#include <kactionclasses.h>
43#include <kcmultidialog.h> 43#include <kcmultidialog.h>
44#include <kdebug.h> 44#include <kdebug.h>
45#include <kdeversion.h> 45#include <kdeversion.h>
46#include <kkeydialog.h> 46#include <kkeydialog.h>
47#include <kmessagebox.h> 47#include <kmessagebox.h>
48#include <kprinter.h> 48#include <kprinter.h>
49#include <kprotocolinfo.h> 49#include <kprotocolinfo.h>
50#include <kresources/selectdialog.h> 50#include <kresources/selectdialog.h>
51#include <kstandarddirs.h> 51#include <kstandarddirs.h>
52#include <ktempfile.h> 52#include <ktempfile.h>
53#include <kxmlguiclient.h> 53#include <kxmlguiclient.h>
54#include <kaboutdata.h> 54#include <kaboutdata.h>
55#include <libkdepim/categoryselectdialog.h> 55#include <libkdepim/categoryselectdialog.h>
56 56
57#include "addresseeutil.h" 57#include "addresseeutil.h"
58#include "addresseeeditordialog.h" 58#include "addresseeeditordialog.h"
59#include "extensionmanager.h" 59#include "extensionmanager.h"
60#include "kstdaction.h" 60#include "kstdaction.h"
61#include "kaddressbookservice.h" 61#include "kaddressbookservice.h"
62#include "ldapsearchdialog.h" 62#include "ldapsearchdialog.h"
63#include "printing/printingwizard.h" 63#include "printing/printingwizard.h"
64#else // KAB_EMBEDDED 64#else // KAB_EMBEDDED
65 65
66#include <kapplication.h> 66#include <kapplication.h>
67#include "KDGanttMinimizeSplitter.h" 67#include "KDGanttMinimizeSplitter.h"
68#include "kaddressbookmain.h" 68#include "kaddressbookmain.h"
69#include "kactioncollection.h" 69#include "kactioncollection.h"
70#include "addresseedialog.h" 70#include "addresseedialog.h"
71//US
72#include <libkdepim/addresseeview.h>
71 73
72#include <qapp.h> 74#include <qapp.h>
73#include <qmenubar.h> 75#include <qmenubar.h>
74//#include <qtoolbar.h> 76//#include <qtoolbar.h>
75#include <qmessagebox.h> 77#include <qmessagebox.h>
76#include <kdebug.h> 78#include <kdebug.h>
77#include <kiconloader.h> // needed for SmallIcon 79#include <kiconloader.h> // needed for SmallIcon
78#include <kresources/kcmkresources.h> 80#include <kresources/kcmkresources.h>
79#include <ktoolbar.h> 81#include <ktoolbar.h>
80 82
81 83
82//#include <qlabel.h> 84//#include <qlabel.h>
83 85
84 86
85#ifndef DESKTOP_VERSION 87#ifndef DESKTOP_VERSION
86#include <qpe/ir.h> 88#include <qpe/ir.h>
89#include <qtopia/qcopenvelope_qws.h>
90#else
91
87#endif 92#endif
88 93
89#endif // KAB_EMBEDDED 94#endif // KAB_EMBEDDED
90#include "kcmconfigs/kcmkabconfig.h" 95#include "kcmconfigs/kcmkabconfig.h"
91#include "kcmconfigs/kcmkdepimconfig.h" 96#include "kcmconfigs/kcmkdepimconfig.h"
92#include "kpimglobalprefs.h" 97#include "kpimglobalprefs.h"
93#include "externalapphandler.h" 98#include "externalapphandler.h"
94 99
95 100
96#include <kresources/selectdialog.h> 101#include <kresources/selectdialog.h>
97#include <kmessagebox.h> 102#include <kmessagebox.h>
98 103
99#include <picture.h> 104#include <picture.h>
100#include <resource.h> 105#include <resource.h>
101 106
102//US#include <qsplitter.h> 107//US#include <qsplitter.h>
103#include <qmap.h> 108#include <qmap.h>
104#include <qdir.h> 109#include <qdir.h>
105#include <qfile.h> 110#include <qfile.h>
106#include <qvbox.h> 111#include <qvbox.h>
107#include <qlayout.h> 112#include <qlayout.h>
108#include <qclipboard.h> 113#include <qclipboard.h>
109#include <qtextstream.h> 114#include <qtextstream.h>
110 115
111#include <libkdepim/categoryselectdialog.h> 116#include <libkdepim/categoryselectdialog.h>
112#include <kabc/vcardconverter.h> 117#include <kabc/vcardconverter.h>
113 118
114 119
115#include "addresseeutil.h" 120#include "addresseeutil.h"
116#include "undocmds.h" 121#include "undocmds.h"
117#include "addresseeeditordialog.h" 122#include "addresseeeditordialog.h"
118#include "viewmanager.h" 123#include "viewmanager.h"
@@ -185,65 +190,66 @@ KABCore::KABCore( KXMLGUIClient *client, bool readWrite, QWidget *parent, const
185 "X-FreeBusyUrl", "KADDRESSBOOK" ); 190 "X-FreeBusyUrl", "KADDRESSBOOK" );
186 191
187 initGUI(); 192 initGUI();
188 193
189 mIncSearchWidget->setFocus(); 194 mIncSearchWidget->setFocus();
190 195
191 196
192 connect( mViewManager, SIGNAL( selected( const QString& ) ), 197 connect( mViewManager, SIGNAL( selected( const QString& ) ),
193 SLOT( setContactSelected( const QString& ) ) ); 198 SLOT( setContactSelected( const QString& ) ) );
194 connect( mViewManager, SIGNAL( executed( const QString& ) ), 199 connect( mViewManager, SIGNAL( executed( const QString& ) ),
195 SLOT( executeContact( const QString& ) ) ); 200 SLOT( executeContact( const QString& ) ) );
196 201
197 connect( mViewManager, SIGNAL( deleteRequest( ) ), 202 connect( mViewManager, SIGNAL( deleteRequest( ) ),
198 SLOT( deleteContacts( ) ) ); 203 SLOT( deleteContacts( ) ) );
199 connect( mViewManager, SIGNAL( modified() ), 204 connect( mViewManager, SIGNAL( modified() ),
200 SLOT( setModified() ) ); 205 SLOT( setModified() ) );
201 206
202 connect( mExtensionManager, SIGNAL( modified( const KABC::Addressee::List& ) ), this, SLOT( extensionModified( const KABC::Addressee::List& ) ) ); 207 connect( mExtensionManager, SIGNAL( modified( const KABC::Addressee::List& ) ), this, SLOT( extensionModified( const KABC::Addressee::List& ) ) );
203 connect( mExtensionManager, SIGNAL( changedActiveExtension( int ) ), this, SLOT( extensionChanged( int ) ) ); 208 connect( mExtensionManager, SIGNAL( changedActiveExtension( int ) ), this, SLOT( extensionChanged( int ) ) );
204 209
205 connect( mXXPortManager, SIGNAL( modified() ), 210 connect( mXXPortManager, SIGNAL( modified() ),
206 SLOT( setModified() ) ); 211 SLOT( setModified() ) );
207 212
208 connect( mJumpButtonBar, SIGNAL( jumpToLetter( const QString& ) ), 213 connect( mJumpButtonBar, SIGNAL( jumpToLetter( const QString& ) ),
209 SLOT( incrementalSearch( const QString& ) ) ); 214 SLOT( incrementalSearch( const QString& ) ) );
210 connect( mIncSearchWidget, SIGNAL( fieldChanged() ), 215 connect( mIncSearchWidget, SIGNAL( fieldChanged() ),
211 mJumpButtonBar, SLOT( recreateButtons() ) ); 216 mJumpButtonBar, SLOT( recreateButtons() ) );
212 217
213 connect( mDetails, SIGNAL( sendEmail( const QString& ) ), 218 connect( mDetails, SIGNAL( sendEmail( const QString& ) ),
214 SLOT( sendMail( const QString& ) ) ); 219 SLOT( sendMail( const QString& ) ) );
215 220
216 221
217 connect( ExternalAppHandler::instance(), SIGNAL (requestForNameEmailUidList(const QString&, const QString&, const QString&)),this, SLOT(requestForNameEmailUidList(const QString&, const QString&, const QString&))); 222 connect( ExternalAppHandler::instance(), SIGNAL (requestForNameEmailUidList(const QString&, const QString&)),this, SLOT(requestForNameEmailUidList(const QString&, const QString&)));
223 connect( ExternalAppHandler::instance(), SIGNAL (requestForDetails(const QString&, const QString&, const QString&, const QString&, const QString&)),this, SLOT(requestForDetails(const QString&, const QString&, const QString&, const QString&, const QString&)));
218 224
219 225
220#ifndef KAB_EMBEDDED 226#ifndef KAB_EMBEDDED
221 connect( mViewManager, SIGNAL( urlDropped( const KURL& ) ), 227 connect( mViewManager, SIGNAL( urlDropped( const KURL& ) ),
222 mXXPortManager, SLOT( importVCard( const KURL& ) ) ); 228 mXXPortManager, SLOT( importVCard( const KURL& ) ) );
223 229
224 connect( mDetails, SIGNAL( browse( const QString& ) ), 230 connect( mDetails, SIGNAL( browse( const QString& ) ),
225 SLOT( browse( const QString& ) ) ); 231 SLOT( browse( const QString& ) ) );
226 232
227 233
228 mAddressBookService = new KAddressBookService( this ); 234 mAddressBookService = new KAddressBookService( this );
229 235
230#endif //KAB_EMBEDDED 236#endif //KAB_EMBEDDED
231 mEditorDialog = 0; 237 mEditorDialog = 0;
232 createAddresseeEditorDialog( this ); 238 createAddresseeEditorDialog( this );
233 setModified( false ); 239 setModified( false );
234} 240}
235 241
236KABCore::~KABCore() 242KABCore::~KABCore()
237{ 243{
238 // save(); 244 // save();
239 //saveSettings(); 245 //saveSettings();
240 //KABPrefs::instance()->writeConfig(); 246 //KABPrefs::instance()->writeConfig();
241 delete AddresseeConfig::instance(); 247 delete AddresseeConfig::instance();
242 mAddressBook = 0; 248 mAddressBook = 0;
243 KABC::StdAddressBook::close(); 249 KABC::StdAddressBook::close();
244} 250}
245 251
246void KABCore::restoreSettings() 252void KABCore::restoreSettings()
247{ 253{
248 mMultipleViewsAtOnce = KABPrefs::instance()->mMultipleViewsAtOnce; 254 mMultipleViewsAtOnce = KABPrefs::instance()->mMultipleViewsAtOnce;
249 255
@@ -1946,59 +1952,124 @@ void KABCore::updateActionMenu()
1946 if ( !redo->top() ) 1952 if ( !redo->top() )
1947 mActionRedo->setText( i18n( "Redo" ) ); 1953 mActionRedo->setText( i18n( "Redo" ) );
1948 else 1954 else
1949 mActionRedo->setText( i18n( "Redo %1" ).arg( redo->top()->name() ) ); 1955 mActionRedo->setText( i18n( "Redo %1" ).arg( redo->top()->name() ) );
1950 1956
1951 mActionRedo->setEnabled( !redo->isEmpty() ); 1957 mActionRedo->setEnabled( !redo->isEmpty() );
1952} 1958}
1953 1959
1954void KABCore::configureKeyBindings() 1960void KABCore::configureKeyBindings()
1955{ 1961{
1956#ifndef KAB_EMBEDDED 1962#ifndef KAB_EMBEDDED
1957 KKeyDialog::configure( actionCollection(), true ); 1963 KKeyDialog::configure( actionCollection(), true );
1958#else //KAB_EMBEDDED 1964#else //KAB_EMBEDDED
1959 qDebug("KABCore::configureKeyBindings() not implemented"); 1965 qDebug("KABCore::configureKeyBindings() not implemented");
1960#endif //KAB_EMBEDDED 1966#endif //KAB_EMBEDDED
1961} 1967}
1962 1968
1963#ifdef KAB_EMBEDDED 1969#ifdef KAB_EMBEDDED
1964void KABCore::configureResources() 1970void KABCore::configureResources()
1965{ 1971{
1966 KRES::KCMKResources dlg( this, "" , 0 ); 1972 KRES::KCMKResources dlg( this, "" , 0 );
1967 1973
1968 if ( !dlg.exec() ) 1974 if ( !dlg.exec() )
1969 return; 1975 return;
1970 KMessageBox::information( this, i18n("Please restart to get the \nchanged resources (re)loaded!\n") ); 1976 KMessageBox::information( this, i18n("Please restart to get the \nchanged resources (re)loaded!\n") );
1971} 1977}
1972#endif //KAB_EMBEDDED 1978#endif //KAB_EMBEDDED
1973 1979
1974 1980
1975/* this method will be called through the QCop interface from Ko/Pi to select addresses 1981/* this method will be called through the QCop interface from Ko/Pi to select addresses
1976 * for the attendees list of an event. 1982 * for the attendees list of an event.
1977 */ 1983 */
1978void KABCore::requestForNameEmailUidList(const QString& sourceChannel, const QString& uid, const QString& param1) 1984void KABCore::requestForNameEmailUidList(const QString& sourceChannel, const QString& uid)
1979{ 1985{
1980 //param1 is usually empty for this kind of request
1981
1982 QStringList nameList; 1986 QStringList nameList;
1983 QStringList emailList; 1987 QStringList emailList;
1984 QStringList uidList; 1988 QStringList uidList;
1985 1989
1986 KABC::Addressee::List list = KABC::AddresseeDialog::getAddressees(this); 1990 KABC::Addressee::List list = KABC::AddresseeDialog::getAddressees(this);
1987 uint i=0; 1991 uint i=0;
1988 for (i=0; i < list.count(); i++) 1992 for (i=0; i < list.count(); i++)
1989 { 1993 {
1990 nameList.append(list[i].realName()); 1994 nameList.append(list[i].realName());
1991 emailList.append(list[i].preferredEmail()); 1995 emailList.append(list[i].preferredEmail());
1992 uidList.append(list[i].uid()); 1996 uidList.append(list[i].uid());
1993 } 1997 }
1994 1998
1995 bool res = ExternalAppHandler::instance()->returnNameEmailUidListFromKAPI(sourceChannel, uid, nameList, emailList, uidList); 1999 bool res = ExternalAppHandler::instance()->returnNameEmailUidListFromKAPI(sourceChannel, uid, nameList, emailList, uidList);
1996 2000
1997} 2001}
1998 2002
2003/* this method will be called through the QCop interface from other apps to show details of a contact.
2004 */
2005void KABCore::requestForDetails(const QString& sourceChannel, const QString& sessionuid, const QString& name, const QString& email, const QString& uid)
2006{
2007// qDebug("KABCore::requestForDetails %s %s %s %s %s", sourceChannel.latin1(), sessionuid.latin1(), name.latin1(), email.latin1(), uid.latin1());
2008
2009 QString foundUid = QString::null;
2010 if (uid.isEmpty())
2011 {
2012 //find the uid of the person first
2013 Addressee::List namelist;
2014 Addressee::List emaillist;
2015
2016 if (!name.isEmpty())
2017 namelist = mAddressBook->findByName( name );
2018
2019 if (!email.isEmpty())
2020 emaillist = mAddressBook->findByEmail( email );
2021
2022 //check if we have a match in Namelist and Emaillist
2023 if ((namelist.count() == 0) && (emaillist.count() > 0))
2024 foundUid == emaillist[0].uid();
2025 else if ((namelist.count() > 0) && (emaillist.count() == 0))
2026 foundUid == namelist[0].uid();
2027 else
2028 {
2029 for (int i = 0; i < namelist.count(); i++)
2030 {
2031 for (int j = 0; j < emaillist.count(); j++)
2032 {
2033 if (namelist[i] == emaillist[j])
2034 {
2035 foundUid == namelist[i].uid();
2036 }
2037 }
2038 }
2039 }
2040 }
2041 else
2042 {
2043 foundUid = uid;
2044 }
2045
2046 if (!foundUid.isEmpty())
2047 {
2048 // raise Ka/Pi if it is in the background
2049#ifndef DESKTOP_VERSION
2050#ifndef KORG_NODCOP
2051 QCopEnvelope e("QPE/Application/kapi", "raise()");
2052#endif
2053#endif
2054
2055 mMainWindow->showMaximized();
2056
2057 mViewManager->setSelected( "", false);
2058 mViewManager->refreshView( "" );
2059 mViewManager->setSelected( foundUid, true );
2060 mViewManager->refreshView( foundUid );
2061
2062 if ( !mMultipleViewsAtOnce )
2063 {
2064 setDetailsVisible( true );
2065 mActionDetails->setChecked(true);
2066 }
2067 }
2068}
2069
1999 2070
2000 2071
2001 2072
2002#ifndef KAB_EMBEDDED 2073#ifndef KAB_EMBEDDED
2003#include "kabcore.moc" 2074#include "kabcore.moc"
2004#endif //KAB_EMBEDDED 2075#endif //KAB_EMBEDDED
diff --git a/kaddressbook/kabcore.h b/kaddressbook/kabcore.h
index fe778af..040b6aa 100644
--- a/kaddressbook/kabcore.h
+++ b/kaddressbook/kabcore.h
@@ -299,65 +299,66 @@ class KABCore : public QWidget
299 */ 299 */
300 void editContact( const QString &uid /*US = QString::null*/ ); 300 void editContact( const QString &uid /*US = QString::null*/ );
301//US added a second method without defaultparameter 301//US added a second method without defaultparameter
302 void editContact2(); 302 void editContact2();
303 303
304 /** 304 /**
305 Shows or edits the detail view for the given uid. If the uid is QString::null, 305 Shows or edits the detail view for the given uid. If the uid is QString::null,
306 the method will try to find a selected addressee in the view. 306 the method will try to find a selected addressee in the view.
307 */ 307 */
308 void executeContact( const QString &uid /*US = QString::null*/ ); 308 void executeContact( const QString &uid /*US = QString::null*/ );
309 309
310 /** 310 /**
311 Launches the configuration dialog. 311 Launches the configuration dialog.
312 */ 312 */
313 void openConfigDialog(); 313 void openConfigDialog();
314 314
315 /** 315 /**
316 Launches the ldap search dialog. 316 Launches the ldap search dialog.
317 */ 317 */
318 void openLDAPDialog(); 318 void openLDAPDialog();
319 319
320 /** 320 /**
321 Creates a KAddressBookPrinter, which will display the print 321 Creates a KAddressBookPrinter, which will display the print
322 dialog and do the printing. 322 dialog and do the printing.
323 */ 323 */
324 void print(); 324 void print();
325 325
326 /** 326 /**
327 Registers a new GUI client, so plugins can register its actions. 327 Registers a new GUI client, so plugins can register its actions.
328 */ 328 */
329 void addGUIClient( KXMLGUIClient *client ); 329 void addGUIClient( KXMLGUIClient *client );
330 330
331 void requestForNameEmailUidList(const QString& sourceChannel, const QString& uid, const QString& param1); 331 void requestForNameEmailUidList(const QString& sourceChannel, const QString& sessionuid);
332 void requestForDetails(const QString& sourceChannel, const QString& sessionuid, const QString& name, const QString& email, const QString& uid);
332 333
333 334
334 signals: 335 signals:
335 void contactSelected( const QString &name ); 336 void contactSelected( const QString &name );
336 void contactSelected( const QPixmap &pixmap ); 337 void contactSelected( const QPixmap &pixmap );
337 public slots: 338 public slots:
338 void setDetailsVisible( bool visible ); 339 void setDetailsVisible( bool visible );
339 void setDetailsToState(); 340 void setDetailsToState();
340 private slots: 341 private slots:
341 void setJumpButtonBarVisible( bool visible ); 342 void setJumpButtonBarVisible( bool visible );
342 void importFromOL(); 343 void importFromOL();
343 void extensionModified( const KABC::Addressee::List &list ); 344 void extensionModified( const KABC::Addressee::List &list );
344 void extensionChanged( int id ); 345 void extensionChanged( int id );
345 void clipboardDataChanged(); 346 void clipboardDataChanged();
346 void updateActionMenu(); 347 void updateActionMenu();
347 void configureKeyBindings(); 348 void configureKeyBindings();
348 void removeVoice(); 349 void removeVoice();
349#ifdef KAB_EMBEDDED 350#ifdef KAB_EMBEDDED
350 void configureResources(); 351 void configureResources();
351#endif //KAB_EMBEDDED 352#endif //KAB_EMBEDDED
352 353
353 void slotEditorDestroyed( const QString &uid ); 354 void slotEditorDestroyed( const QString &uid );
354 void configurationChanged(); 355 void configurationChanged();
355 void addressBookChanged(); 356 void addressBookChanged();
356 357
357 private: 358 private:
358 void initGUI(); 359 void initGUI();
359 void initActions(); 360 void initActions();
360 361
361 AddresseeEditorDialog *createAddresseeEditorDialog( QWidget *parent, 362 AddresseeEditorDialog *createAddresseeEditorDialog( QWidget *parent,
362 const char *name = 0 ); 363 const char *name = 0 );
363 364