summaryrefslogtreecommitdiffabout
path: root/kaddressbook/kabcore.cpp
Unidiff
Diffstat (limited to 'kaddressbook/kabcore.cpp') (more/less context) (show whitespace changes)
-rw-r--r--kaddressbook/kabcore.cpp42
1 files changed, 35 insertions, 7 deletions
diff --git a/kaddressbook/kabcore.cpp b/kaddressbook/kabcore.cpp
index 3e578bc..70ab6b7 100644
--- a/kaddressbook/kabcore.cpp
+++ b/kaddressbook/kabcore.cpp
@@ -105,49 +105,49 @@
105#include "xxportmanager.h" 105#include "xxportmanager.h"
106#include "incsearchwidget.h" 106#include "incsearchwidget.h"
107#include "jumpbuttonbar.h" 107#include "jumpbuttonbar.h"
108#include "extensionmanager.h" 108#include "extensionmanager.h"
109#include "addresseeconfig.h" 109#include "addresseeconfig.h"
110#include <kcmultidialog.h> 110#include <kcmultidialog.h>
111 111
112 112
113#ifdef KAB_EMBEDDED 113#ifdef KAB_EMBEDDED
114KABCore::KABCore( KAddressBookMain *client, bool readWrite, QWidget *parent, const char *name ) 114KABCore::KABCore( KAddressBookMain *client, bool readWrite, QWidget *parent, const char *name )
115 : QWidget( parent, name ), mGUIClient( client ), mViewManager( 0 ), 115 : QWidget( parent, name ), mGUIClient( client ), mViewManager( 0 ),
116 mExtensionManager( 0 ),mConfigureDialog( 0 ),/*US mLdapSearchDialog( 0 ),*/ 116 mExtensionManager( 0 ),mConfigureDialog( 0 ),/*US mLdapSearchDialog( 0 ),*/
117 mReadWrite( readWrite ), mModified( false ), mMainWindow(client) 117 mReadWrite( readWrite ), mModified( false ), mMainWindow(client)
118#else //KAB_EMBEDDED 118#else //KAB_EMBEDDED
119KABCore::KABCore( KXMLGUIClient *client, bool readWrite, QWidget *parent, const char *name ) 119KABCore::KABCore( KXMLGUIClient *client, bool readWrite, QWidget *parent, const char *name )
120 : QWidget( parent, name ), mGUIClient( client ), mViewManager( 0 ), 120 : QWidget( parent, name ), mGUIClient( client ), mViewManager( 0 ),
121 mExtensionManager( 0 ), mConfigureDialog( 0 ), mLdapSearchDialog( 0 ), 121 mExtensionManager( 0 ), mConfigureDialog( 0 ), mLdapSearchDialog( 0 ),
122 mReadWrite( readWrite ), mModified( false ) 122 mReadWrite( readWrite ), mModified( false )
123#endif //KAB_EMBEDDED 123#endif //KAB_EMBEDDED
124{ 124{
125#ifdef KAB_EMBEDDED 125#ifdef KAB_EMBEDDED
126 //US we define here our own global actioncollection. 126 //US we define here our own global actioncollection.
127 //mActionCollection = new KActionCollection(this); 127 //mActionCollection = new KActionCollection(this);
128#endif //KAB_EMBEDDED 128#endif //KAB_EMBEDDED
129 129 mExtensionBarSplitter = 0;
130 mIsPart = !parent->inherits( "KAddressBookMain" ); 130 mIsPart = !parent->inherits( "KAddressBookMain" );
131 131
132 mAddressBook = KABC::StdAddressBook::self(); 132 mAddressBook = KABC::StdAddressBook::self();
133 KABC::StdAddressBook::setAutomaticSave( true ); 133 KABC::StdAddressBook::setAutomaticSave( true );
134 134
135#ifndef KAB_EMBEDDED 135#ifndef KAB_EMBEDDED
136 mAddressBook->setErrorHandler( new KABC::GUIErrorHandler ); 136 mAddressBook->setErrorHandler( new KABC::GUIErrorHandler );
137#endif //KAB_EMBEDDED 137#endif //KAB_EMBEDDED
138 138
139 connect( mAddressBook, SIGNAL( addressBookChanged( AddressBook * ) ), 139 connect( mAddressBook, SIGNAL( addressBookChanged( AddressBook * ) ),
140 SLOT( addressBookChanged() ) ); 140 SLOT( addressBookChanged() ) );
141 141
142 mAddressBook->addCustomField( i18n( "Department" ), KABC::Field::Organization, 142 mAddressBook->addCustomField( i18n( "Department" ), KABC::Field::Organization,
143 "X-Department", "KADDRESSBOOK" ); 143 "X-Department", "KADDRESSBOOK" );
144 mAddressBook->addCustomField( i18n( "Profession" ), KABC::Field::Organization, 144 mAddressBook->addCustomField( i18n( "Profession" ), KABC::Field::Organization,
145 "X-Profession", "KADDRESSBOOK" ); 145 "X-Profession", "KADDRESSBOOK" );
146 mAddressBook->addCustomField( i18n( "Assistant's Name" ), KABC::Field::Organization, 146 mAddressBook->addCustomField( i18n( "Assistant's Name" ), KABC::Field::Organization,
147 "X-AssistantsName", "KADDRESSBOOK" ); 147 "X-AssistantsName", "KADDRESSBOOK" );
148 mAddressBook->addCustomField( i18n( "Manager's Name" ), KABC::Field::Organization, 148 mAddressBook->addCustomField( i18n( "Manager's Name" ), KABC::Field::Organization,
149 "X-ManagersName", "KADDRESSBOOK" ); 149 "X-ManagersName", "KADDRESSBOOK" );
150 mAddressBook->addCustomField( i18n( "Spouse's Name" ), KABC::Field::Personal, 150 mAddressBook->addCustomField( i18n( "Spouse's Name" ), KABC::Field::Personal,
151 "X-SpousesName", "KADDRESSBOOK" ); 151 "X-SpousesName", "KADDRESSBOOK" );
152 mAddressBook->addCustomField( i18n( "Office" ), KABC::Field::Personal, 152 mAddressBook->addCustomField( i18n( "Office" ), KABC::Field::Personal,
153 "X-Office", "KADDRESSBOOK" ); 153 "X-Office", "KADDRESSBOOK" );
@@ -202,85 +202,95 @@ KABCore::~KABCore()
202 //saveSettings(); 202 //saveSettings();
203 //KABPrefs::instance()->writeConfig(); 203 //KABPrefs::instance()->writeConfig();
204 delete AddresseeConfig::instance(); 204 delete AddresseeConfig::instance();
205 mAddressBook = 0; 205 mAddressBook = 0;
206 KABC::StdAddressBook::close(); 206 KABC::StdAddressBook::close();
207 207
208#ifdef KAB_EMBEDDED 208#ifdef KAB_EMBEDDED
209 //US we define here our own global actioncollection. 209 //US we define here our own global actioncollection.
210 // delete mActionCollection; 210 // delete mActionCollection;
211#endif //KAB_EMBEDDED 211#endif //KAB_EMBEDDED
212 212
213} 213}
214 214
215void KABCore::restoreSettings() 215void KABCore::restoreSettings()
216{ 216{
217 bool state = KABPrefs::instance()->mJumpButtonBarVisible; 217 bool state = KABPrefs::instance()->mJumpButtonBarVisible;
218 218
219 mActionJumpBar->setChecked( state ); 219 mActionJumpBar->setChecked( state );
220 setJumpButtonBarVisible( state ); 220 setJumpButtonBarVisible( state );
221 221
222 state = KABPrefs::instance()->mDetailsPageVisible; 222 state = KABPrefs::instance()->mDetailsPageVisible;
223 223
224 mActionDetails->setChecked( state ); 224 mActionDetails->setChecked( state );
225 setDetailsVisible( state ); 225 setDetailsVisible( state );
226 QValueList<int> splitterSize = KABPrefs::instance()->mExtensionsSplitter; 226 QValueList<int> splitterSize = KABPrefs::instance()->mDetailsSplitter;
227 if ( splitterSize.count() == 0 ) { 227 if ( splitterSize.count() == 0 ) {
228 splitterSize.append( width() / 2 ); 228 splitterSize.append( width() / 2 );
229 splitterSize.append( width() / 2 ); 229 splitterSize.append( width() / 2 );
230 } 230 }
231 mMiniSplitter->setSizes( splitterSize ); 231 mMiniSplitter->setSizes( splitterSize );
232 if ( mExtensionBarSplitter ) {
233 splitterSize = KABPrefs::instance()->mExtensionsSplitter;
234 if ( splitterSize.count() == 0 ) {
235 splitterSize.append( width() / 2 );
236 splitterSize.append( width() / 2 );
237 }
238 mExtensionBarSplitter->setSizes( splitterSize );
239
240 }
232#ifndef KAB_EMBEDDED 241#ifndef KAB_EMBEDDED
233 QValueList<int> splitterSize = KABPrefs::instance()->mExtensionsSplitter; 242 QValueList<int> splitterSize = KABPrefs::instance()->mExtensionsSplitter;
234 if ( splitterSize.count() == 0 ) { 243 if ( splitterSize.count() == 0 ) {
235 splitterSize.append( width() / 2 ); 244 splitterSize.append( width() / 2 );
236 splitterSize.append( width() / 2 ); 245 splitterSize.append( width() / 2 );
237 } 246 }
238 mExtensionBarSplitter->setSizes( splitterSize ); 247 mExtensionBarSplitter->setSizes( splitterSize );
239 248
240 splitterSize = KABPrefs::instance()->mDetailsSplitter; 249 splitterSize = KABPrefs::instance()->mDetailsSplitter;
241 if ( splitterSize.count() == 0 ) { 250 if ( splitterSize.count() == 0 ) {
242 splitterSize.append( height() / 2 ); 251 splitterSize.append( height() / 2 );
243 splitterSize.append( height() / 2 ); 252 splitterSize.append( height() / 2 );
244 } 253 }
245 mDetailsSplitter->setSizes( splitterSize ); 254 mDetailsSplitter->setSizes( splitterSize );
246 255
247 mExtensionManager->restoreSettings(); 256 mExtensionManager->restoreSettings();
248 257
249#endif //KAB_EMBEDDED 258#endif //KAB_EMBEDDED
250 259
251 mIncSearchWidget->setCurrentItem( KABPrefs::instance()->mCurrentIncSearchField ); 260 mIncSearchWidget->setCurrentItem( KABPrefs::instance()->mCurrentIncSearchField );
252 261
253 mViewManager->restoreSettings(); 262 mViewManager->restoreSettings();
254 mExtensionManager->restoreSettings(); 263 mExtensionManager->restoreSettings();
255} 264}
256 265
257void KABCore::saveSettings() 266void KABCore::saveSettings()
258{ 267{
259 KABPrefs::instance()->mJumpButtonBarVisible = mActionJumpBar->isChecked(); 268 KABPrefs::instance()->mJumpButtonBarVisible = mActionJumpBar->isChecked();
260 KABPrefs::instance()->mExtensionsSplitter = mMiniSplitter->sizes(); 269 if ( mExtensionBarSplitter )
270 KABPrefs::instance()->mExtensionsSplitter = mExtensionBarSplitter->sizes();
261 KABPrefs::instance()->mDetailsPageVisible = mActionDetails->isChecked(); 271 KABPrefs::instance()->mDetailsPageVisible = mActionDetails->isChecked();
262 272 KABPrefs::instance()->mDetailsSplitter = mMiniSplitter->sizes();
263#ifndef KAB_EMBEDDED 273#ifndef KAB_EMBEDDED
264 274
265 KABPrefs::instance()->mExtensionsSplitter = mExtensionBarSplitter->sizes(); 275 KABPrefs::instance()->mExtensionsSplitter = mExtensionBarSplitter->sizes();
266 KABPrefs::instance()->mDetailsSplitter = mDetailsSplitter->sizes(); 276 KABPrefs::instance()->mDetailsSplitter = mDetailsSplitter->sizes();
267#endif //KAB_EMBEDDED 277#endif //KAB_EMBEDDED
268 mExtensionManager->saveSettings(); 278 mExtensionManager->saveSettings();
269 mViewManager->saveSettings(); 279 mViewManager->saveSettings();
270 280
271 KABPrefs::instance()->mCurrentIncSearchField = mIncSearchWidget->currentItem(); 281 KABPrefs::instance()->mCurrentIncSearchField = mIncSearchWidget->currentItem();
272 282
273} 283}
274 284
275KABC::AddressBook *KABCore::addressBook() const 285KABC::AddressBook *KABCore::addressBook() const
276{ 286{
277 return mAddressBook; 287 return mAddressBook;
278} 288}
279 289
280KConfig *KABCore::config() 290KConfig *KABCore::config()
281{ 291{
282#ifndef KAB_EMBEDDED 292#ifndef KAB_EMBEDDED
283 return KABPrefs::instance()->config(); 293 return KABPrefs::instance()->config();
284#else //KAB_EMBEDDED 294#else //KAB_EMBEDDED
285 return KABPrefs::instance()->getConfig(); 295 return KABPrefs::instance()->getConfig();
286#endif //KAB_EMBEDDED 296#endif //KAB_EMBEDDED
@@ -1122,67 +1132,81 @@ void KABCore::initGUI()
1122 1132
1123 mXXPortManager = new XXPortManager( this, this ); 1133 mXXPortManager = new XXPortManager( this, this );
1124 1134
1125#else //KAB_EMBEDDED 1135#else //KAB_EMBEDDED
1126 //US initialize viewMenu before settingup viewmanager. 1136 //US initialize viewMenu before settingup viewmanager.
1127 // Viewmanager needs this menu to plugin submenues. 1137 // Viewmanager needs this menu to plugin submenues.
1128 viewMenu = new QPopupMenu( this ); 1138 viewMenu = new QPopupMenu( this );
1129 settingsMenu = new QPopupMenu( this ); 1139 settingsMenu = new QPopupMenu( this );
1130 //filterMenu = new QPopupMenu( this ); 1140 //filterMenu = new QPopupMenu( this );
1131 ImportMenu = new QPopupMenu( this ); 1141 ImportMenu = new QPopupMenu( this );
1132 ExportMenu = new QPopupMenu( this ); 1142 ExportMenu = new QPopupMenu( this );
1133 1143
1134 1144
1135//US since we have no splitter for the embedded system, setup 1145//US since we have no splitter for the embedded system, setup
1136// a layout with two frames. One left and one right. 1146// a layout with two frames. One left and one right.
1137 1147
1138 QBoxLayout *topLayout; 1148 QBoxLayout *topLayout;
1139 1149
1140 // = new QHBoxLayout( this ); 1150 // = new QHBoxLayout( this );
1141// QBoxLayout *topLayout = (QBoxLayout*)layout(); 1151// QBoxLayout *topLayout = (QBoxLayout*)layout();
1142 1152
1143// QWidget *mainBox = new QWidget( this ); 1153// QWidget *mainBox = new QWidget( this );
1144// QBoxLayout * mainBoxLayout = new QHBoxLayout(mainBox); 1154// QBoxLayout * mainBoxLayout = new QHBoxLayout(mainBox);
1145 1155
1156#ifdef DESKTOP_VERSION
1157 topLayout = new QHBoxLayout( this );
1158
1146 1159
1160 mMiniSplitter = new KDGanttMinimizeSplitter( Qt::Horizontal, this);
1161 mMiniSplitter->setMinimizeDirection ( KDGanttMinimizeSplitter::Right );
1162
1163 topLayout->addWidget(mMiniSplitter );
1164
1165 mExtensionBarSplitter = new KDGanttMinimizeSplitter( Qt::Vertical,mMiniSplitter );
1166 mExtensionBarSplitter->setMinimizeDirection ( KDGanttMinimizeSplitter::Down );
1167 mViewManager = new ViewManager( this, mExtensionBarSplitter );
1168 mDetails = new ViewContainer( mMiniSplitter );
1169 mExtensionManager = new ExtensionManager( this, mExtensionBarSplitter );
1170#else
1147 if ( QApplication::desktop()->width() > 480 ) { 1171 if ( QApplication::desktop()->width() > 480 ) {
1148 topLayout = new QHBoxLayout( this ); 1172 topLayout = new QHBoxLayout( this );
1149 mMiniSplitter = new KDGanttMinimizeSplitter( Qt::Horizontal, this); 1173 mMiniSplitter = new KDGanttMinimizeSplitter( Qt::Horizontal, this);
1150 mMiniSplitter->setMinimizeDirection ( KDGanttMinimizeSplitter::Right ); 1174 mMiniSplitter->setMinimizeDirection ( KDGanttMinimizeSplitter::Right );
1151 } else { 1175 } else {
1152 1176
1153 topLayout = new QVBoxLayout( this ); 1177 topLayout = new QVBoxLayout( this );
1154 mMiniSplitter = new KDGanttMinimizeSplitter( Qt::Vertical, this); 1178 mMiniSplitter = new KDGanttMinimizeSplitter( Qt::Vertical, this);
1155 mMiniSplitter->setMinimizeDirection ( KDGanttMinimizeSplitter::Down ); 1179 mMiniSplitter->setMinimizeDirection ( KDGanttMinimizeSplitter::Down );
1156 } 1180 }
1157 1181
1158 topLayout->addWidget(mMiniSplitter ); 1182 topLayout->addWidget(mMiniSplitter );
1159 mViewManager = new ViewManager( this, mMiniSplitter ); 1183 mViewManager = new ViewManager( this, mMiniSplitter );
1160 mDetails = new ViewContainer( mMiniSplitter ); 1184 mDetails = new ViewContainer( mMiniSplitter );
1161 1185
1162 1186
1163 mExtensionManager = new ExtensionManager( this, mMiniSplitter ); 1187 mExtensionManager = new ExtensionManager( this, mMiniSplitter );
1164 1188#endif
1165 //eh->hide(); 1189 //eh->hide();
1166 // topLayout->addWidget(mExtensionManager ); 1190 // topLayout->addWidget(mExtensionManager );
1167 1191
1168 1192
1169/*US 1193/*US
1170#ifndef KAB_NOSPLITTER 1194#ifndef KAB_NOSPLITTER
1171 QHBoxLayout *topLayout = new QHBoxLayout( this ); 1195 QHBoxLayout *topLayout = new QHBoxLayout( this );
1172//US topLayout->setSpacing( KDialogBase::spacingHint() ); 1196//US topLayout->setSpacing( KDialogBase::spacingHint() );
1173 topLayout->setSpacing( 10 ); 1197 topLayout->setSpacing( 10 );
1174 1198
1175 mDetailsSplitter = new QSplitter( this ); 1199 mDetailsSplitter = new QSplitter( this );
1176 1200
1177 QVBox *viewSpace = new QVBox( mDetailsSplitter ); 1201 QVBox *viewSpace = new QVBox( mDetailsSplitter );
1178 1202
1179 mViewManager = new ViewManager( this, viewSpace ); 1203 mViewManager = new ViewManager( this, viewSpace );
1180 viewSpace->setStretchFactor( mViewManager, 1 ); 1204 viewSpace->setStretchFactor( mViewManager, 1 );
1181 1205
1182 mDetails = new ViewContainer( mDetailsSplitter ); 1206 mDetails = new ViewContainer( mDetailsSplitter );
1183 1207
1184 topLayout->addWidget( mDetailsSplitter ); 1208 topLayout->addWidget( mDetailsSplitter );
1185 topLayout->setStretchFactor( mDetailsSplitter, 100 ); 1209 topLayout->setStretchFactor( mDetailsSplitter, 100 );
1186#else //KAB_NOSPLITTER 1210#else //KAB_NOSPLITTER
1187 QHBoxLayout *topLayout = new QHBoxLayout( this ); 1211 QHBoxLayout *topLayout = new QHBoxLayout( this );
1188//US topLayout->setSpacing( KDialogBase::spacingHint() ); 1212//US topLayout->setSpacing( KDialogBase::spacingHint() );
@@ -1465,57 +1489,61 @@ void KABCore::addActionsManually()
1465 mActionConfigResources->plug( settingsMenu ); 1489 mActionConfigResources->plug( settingsMenu );
1466 settingsMenu->insertSeparator(); 1490 settingsMenu->insertSeparator();
1467 1491
1468 mActionConfigKAddressbook->plug( settingsMenu ); 1492 mActionConfigKAddressbook->plug( settingsMenu );
1469 1493
1470 if ( mIsPart ) { 1494 if ( mIsPart ) {
1471 mActionConfigShortcuts->plug( settingsMenu ); 1495 mActionConfigShortcuts->plug( settingsMenu );
1472 mActionConfigureToolbars->plug( settingsMenu ); 1496 mActionConfigureToolbars->plug( settingsMenu );
1473 1497
1474 } else { 1498 } else {
1475 mActionKeyBindings->plug( settingsMenu ); 1499 mActionKeyBindings->plug( settingsMenu );
1476 } 1500 }
1477 1501
1478 settingsMenu->insertSeparator(); 1502 settingsMenu->insertSeparator();
1479 1503
1480 mActionJumpBar->plug( settingsMenu ); 1504 mActionJumpBar->plug( settingsMenu );
1481 mActionDetails->plug( settingsMenu ); 1505 mActionDetails->plug( settingsMenu );
1482 settingsMenu->insertSeparator(); 1506 settingsMenu->insertSeparator();
1483 1507
1484 mActionWhoAmI->plug( settingsMenu ); 1508 mActionWhoAmI->plug( settingsMenu );
1485 mActionCategories->plug( settingsMenu ); 1509 mActionCategories->plug( settingsMenu );
1486 1510
1487 mActionAboutKAddressbook->plug( helpMenu ); 1511 mActionAboutKAddressbook->plug( helpMenu );
1488 1512
1513
1489 if (QApplication::desktop()->width() > 320 ) { 1514 if (QApplication::desktop()->width() > 320 ) {
1490 1515
1491 mActionEditAddressee->plug( tb ); 1516 mActionEditAddressee->plug( tb );
1492 mActionSave->plug( tb ); 1517 mActionSave->plug( tb );
1493 mViewManager->getFilterAction()->plug ( tb); 1518 mViewManager->getFilterAction()->plug ( tb);
1494 if (QApplication::desktop()->width() > 480 ) 1519 if (QApplication::desktop()->width() > 480 ) {
1520 mActionUndo->plug( tb );
1495 mActionDelete->plug( tb ); 1521 mActionDelete->plug( tb );
1522 mActionRedo->plug( tb );
1523 }
1496 } 1524 }
1497 mActionQuit->plug ( tb ); 1525 //mActionQuit->plug ( tb );
1498 // tb->insertWidget(-1, 0, mIncSearchWidget, 6); 1526 // tb->insertWidget(-1, 0, mIncSearchWidget, 6);
1499 1527
1500 //US link the searchwidget first to this. 1528 //US link the searchwidget first to this.
1501 // The real linkage to the toolbar happens later. 1529 // The real linkage to the toolbar happens later.
1502//US mIncSearchWidget->reparent(tb, 0, QPoint(50,0), TRUE); 1530//US mIncSearchWidget->reparent(tb, 0, QPoint(50,0), TRUE);
1503//US tb->insertItem( mIncSearchWidget ); 1531//US tb->insertItem( mIncSearchWidget );
1504/*US 1532/*US
1505 mIncSearchWidget = new IncSearchWidget( tb ); 1533 mIncSearchWidget = new IncSearchWidget( tb );
1506 connect( mIncSearchWidget, SIGNAL( doSearch( const QString& ) ), 1534 connect( mIncSearchWidget, SIGNAL( doSearch( const QString& ) ),
1507 SLOT( incrementalSearch( const QString& ) ) ); 1535 SLOT( incrementalSearch( const QString& ) ) );
1508 1536
1509 mJumpButtonBar = new JumpButtonBar( this, this ); 1537 mJumpButtonBar = new JumpButtonBar( this, this );
1510 1538
1511//US topLayout->addWidget( mJumpButtonBar ); 1539//US topLayout->addWidget( mJumpButtonBar );
1512 this->layout()->add( mJumpButtonBar ); 1540 this->layout()->add( mJumpButtonBar );
1513*/ 1541*/
1514 1542
1515#endif //KAB_EMBEDDED 1543#endif //KAB_EMBEDDED
1516} 1544}
1517 1545
1518 1546
1519 1547
1520void KABCore::clipboardDataChanged() 1548void KABCore::clipboardDataChanged()
1521{ 1549{