summaryrefslogtreecommitdiffstats
path: root/knode/knode_part.cpp
diff options
context:
space:
mode:
authortoma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2009-11-25 17:56:58 +0000
committertoma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2009-11-25 17:56:58 +0000
commit460c52653ab0dcca6f19a4f492ed2c5e4e963ab0 (patch)
tree67208f7c145782a7e90b123b982ca78d88cc2c87 /knode/knode_part.cpp
downloadtdepim-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 'knode/knode_part.cpp')
-rw-r--r--knode/knode_part.cpp125
1 files changed, 125 insertions, 0 deletions
diff --git a/knode/knode_part.cpp b/knode/knode_part.cpp
new file mode 100644
index 000000000..b1280ced5
--- /dev/null
+++ b/knode/knode_part.cpp
@@ -0,0 +1,125 @@
+/*
+ This file is part of KNode.
+ Copyright (c) 2003 Laurent Montel <montel@kde.org>,
+ Based on the work of 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 "knode_part.h"
+#include "knglobals.h"
+#include "knmainwidget.h"
+#include "aboutdata.h"
+#include "kncollectionview.h"
+#include "knwidgets.h"
+
+#include "sidebarextension.h"
+
+#include <kapplication.h>
+#include <kparts/genericfactory.h>
+#include <kparts/statusbarextension.h>
+#include <knotifyclient.h>
+#include <dcopclient.h>
+#include <kiconloader.h>
+#include <kdebug.h>
+#include <kstatusbar.h>
+#include <krsqueezedtextlabel.h>
+
+#include <qlayout.h>
+
+
+typedef KParts::GenericFactory< KNodePart > KNodeFactory;
+K_EXPORT_COMPONENT_FACTORY( libknodepart, KNodeFactory )
+
+KNodePart::KNodePart(QWidget *parentWidget, const char *widgetName,
+ QObject *parent, const char *name, const QStringList &)
+ : KParts::ReadOnlyPart(parent, name),
+ mParentWidget( parentWidget )
+{
+ kdDebug(5003) << "KNodePart()" << endl;
+ kdDebug(5003) << " InstanceName: " << kapp->instanceName() << endl;
+
+ setInstance( KNodeFactory::instance() );
+
+ kdDebug(5003) << "KNodePart()..." << endl;
+ kdDebug(5003) << " InstanceName: " << kapp->instanceName() << endl;
+
+ KGlobal::locale()->insertCatalogue("libkdepim");
+ KGlobal::locale()->insertCatalogue("libkpgp");
+ kapp->dcopClient()->suspend(); // Don't handle DCOP requests yet
+ KGlobal::iconLoader()->addAppDir("knode");
+ knGlobals.instance = KNodeFactory::instance();
+
+ // create a canvas to insert our widget
+ QWidget *canvas = new QWidget(parentWidget, widgetName);
+ canvas->setFocusPolicy(QWidget::ClickFocus);
+ setWidget(canvas);
+
+ mainWidget = new KNMainWidget( this, false, canvas, "knode_widget" );
+ QVBoxLayout *topLayout = new QVBoxLayout(canvas);
+ topLayout->addWidget(mainWidget);
+ mainWidget->setFocusPolicy(QWidget::ClickFocus);
+
+ kapp->dcopClient()->resume(); // Ok. We are ready for DCOP requests.
+
+ new KParts::SideBarExtension( mainWidget->collectionView(),
+ this,
+ "KNodeSidebar" );
+
+ KParts::StatusBarExtension* statusBar = new KParts::StatusBarExtension(this);
+ statusBar->addStatusBarItem(mainWidget->statusBarLabelFilter(), 10, false);
+ statusBar->addStatusBarItem(mainWidget->statusBarLabelGroup(), 15, false);
+
+ setXMLFile( "knodeui.rc" );
+}
+
+KNodePart::~KNodePart()
+{
+ mainWidget->prepareShutdown();
+}
+
+KAboutData *KNodePart::createAboutData()
+{
+ return new KNode::AboutData();
+}
+
+bool KNodePart::openFile()
+{
+ kdDebug(5003) << "KNodePart:openFile()" << endl;
+
+ mainWidget->show();
+ return true;
+}
+
+void KNodePart::guiActivateEvent(KParts::GUIActivateEvent *e)
+{
+ kdDebug(5003) << "KNodePart::guiActivateEvent" << endl;
+ KParts::ReadOnlyPart::guiActivateEvent(e);
+}
+
+
+QWidget* KNodePart::parentWidget() const
+{
+ return mParentWidget;
+}
+
+
+
+#include "knode_part.moc"
+