diff options
author | toma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2009-11-25 17:56:58 +0000 |
---|---|---|
committer | toma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2009-11-25 17:56:58 +0000 |
commit | 460c52653ab0dcca6f19a4f492ed2c5e4e963ab0 (patch) | |
tree | 67208f7c145782a7e90b123b982ca78d88cc2c87 /kaddressbook/kaddressbook_part.cpp | |
download | tdepim-460c52653ab0dcca6f19a4f492ed2c5e4e963ab0.tar.gz tdepim-460c52653ab0dcca6f19a4f492ed2c5e4e963ab0.zip |
Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features.
BUG:215923
git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdepim@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'kaddressbook/kaddressbook_part.cpp')
-rw-r--r-- | kaddressbook/kaddressbook_part.cpp | 179 |
1 files changed, 179 insertions, 0 deletions
diff --git a/kaddressbook/kaddressbook_part.cpp b/kaddressbook/kaddressbook_part.cpp new file mode 100644 index 000000000..f2a23ec4f --- /dev/null +++ b/kaddressbook/kaddressbook_part.cpp @@ -0,0 +1,179 @@ +/* + This file is part of KAddressbook. + Copyright (c) 2000 Cornelius Schumacher <schumacher@kde.org> + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program 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 General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + + As a special exception, permission is given to link this program + with any edition of Qt, and distribute the resulting executable, + without including the source code for Qt in the source distribution. +*/ + +#include <qlayout.h> + +#include <kaction.h> +#include <kapplication.h> +#include <kdebug.h> +#include <kiconloader.h> +#include <kinstance.h> +#include <klocale.h> +#include <kparts/genericfactory.h> +#include <kparts/statusbarextension.h> +#include <kstatusbar.h> + +#include "kabcore.h" +#include "kabprefs.h" +#include "kaddressbookiface.h" + +#include "kaddressbook_part.h" + +typedef KParts::GenericFactory< KAddressbookPart > KAddressbookFactory; +K_EXPORT_COMPONENT_FACTORY( libkaddressbookpart, KAddressbookFactory ) + +KAddressbookPart::KAddressbookPart( QWidget *parentWidget, const char *widgetName, + QObject *parent, const char *name, + const QStringList & ) + : DCOPObject( "KAddressBookIface" ), KParts::ReadOnlyPart( parent, name ) +{ + setInstance( KAddressbookFactory::instance() ); + + // create a canvas to insert our widget + QWidget *canvas = new QWidget( parentWidget, widgetName ); + canvas->setFocusPolicy( QWidget::ClickFocus ); + setWidget( canvas ); + + QVBoxLayout *topLayout = new QVBoxLayout( canvas ); + + KGlobal::iconLoader()->addAppDir( "kaddressbook" ); + + mCore = new KABCore( this, true, canvas ); + mCore->restoreSettings(); + topLayout->addWidget( mCore->widget() ); + + KParts::StatusBarExtension *statusBar = new KParts::StatusBarExtension( this ); + mCore->setStatusBar( statusBar->statusBar() ); + + setXMLFile( "kaddressbook_part.rc" ); +} + +KAddressbookPart::~KAddressbookPart() +{ + mCore->save(); + mCore->saveSettings(); + + KABPrefs::instance()->writeConfig(); + closeURL(); +} + +KAboutData *KAddressbookPart::createAboutData() +{ + return KABCore::createAboutData(); +} + +void KAddressbookPart::addEmail( QString addr ) +{ + mCore->addEmail( addr ); +} + +void KAddressbookPart::importVCard( const KURL& url ) +{ + mCore->importVCard( url ); +} + +void KAddressbookPart::importVCardFromData( const QString& vCard ) +{ + mCore->importVCardFromData( vCard ); +} + +ASYNC KAddressbookPart::showContactEditor( QString uid ) +{ + mCore->editContact( uid ); +} + +void KAddressbookPart::newContact() +{ + mCore->newContact(); +} + + +void KAddressbookPart::newDistributionList() +{ + mCore->newDistributionList(); +} + +QString KAddressbookPart::getNameByPhone( QString phone ) +{ + return mCore->getNameByPhone( phone ); +} + +void KAddressbookPart::save() +{ + mCore->save(); +} + +void KAddressbookPart::exit() +{ + mCore->queryClose(); + + delete this; +} + +bool KAddressbookPart::openURL( const KURL &url ) +{ + kdDebug(5720) << "KAddressbookPart:openFile()" << endl; + + mCore->widget()->show(); + + if ( !url.isEmpty() ) + mCore->importVCard( url ); + + emit setWindowCaption( url.prettyURL() ); + + return true; +} + +bool KAddressbookPart::openFile() +{ + return false; +} + +bool KAddressbookPart::handleCommandLine() +{ + return mCore->handleCommandLine( this ); +} + +void KAddressbookPart::guiActivateEvent( KParts::GUIActivateEvent *e ) +{ + kdDebug(5720) << "KAddressbookPart::guiActivateEvent" << endl; + KParts::ReadOnlyPart::guiActivateEvent( e ); + + if ( e->activated() ) + mCore->reinitXMLGUI(); + + if ( !e->activated() ) { + mCore->statusBar()->removeItem( 1 ); + mCore->statusBar()->removeItem( 2 ); + } +} + +void KAddressbookPart::loadProfile( const QString& ) +{ +} + +void KAddressbookPart::saveToProfile( const QString& ) const +{ +} + +#include "kaddressbook_part.moc" |