summaryrefslogtreecommitdiffstats
path: root/knode/knode.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.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.cpp')
-rw-r--r--knode/knode.cpp122
1 files changed, 122 insertions, 0 deletions
diff --git a/knode/knode.cpp b/knode/knode.cpp
new file mode 100644
index 000000000..0dd4e6a38
--- /dev/null
+++ b/knode/knode.cpp
@@ -0,0 +1,122 @@
+/*
+ knode.cpp
+
+ KNode, the KDE newsreader
+ Copyright (c) 1999-2004 the KNode authors.
+ See file AUTHORS for details
+
+ 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.
+ 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, US
+*/
+#include "knode.h"
+#include "knglobals.h"
+#include "knwidgets.h"
+
+#include <kkeydialog.h>
+#include <kedittoolbar.h>
+#include <kstdaction.h>
+#include <kdebug.h>
+#include <kmenubar.h>
+#include <kiconloader.h>
+#include <kstatusbar.h>
+#include <klocale.h>
+#include <kapplication.h>
+
+#include "broadcaststatus.h"
+#include "krsqueezedtextlabel.h"
+#include "progressdialog.h"
+#include "statusbarprogresswidget.h"
+
+//GUI
+#include "knmainwidget.h"
+#include "knarticlewindow.h"
+#include "kncollectionviewitem.h"
+#include "knhdrviewitem.h"
+
+KNMainWindow::KNMainWindow( QWidget* pWidget )
+ : KMainWindow(pWidget,"mainWindow")
+{
+ //setupStatusBar();
+ createStandardStatusBarAction();
+ setStandardToolBarMenuEnabled(true);
+
+ //config stuff
+ KStdAction::quit(kapp, SLOT(closeAllWindows()), actionCollection());
+ KStdAction::configureToolbars(this, SLOT(slotConfToolbar()), actionCollection());
+ KStdAction::keyBindings(this, SLOT(slotConfKeys()), actionCollection());
+
+ m_mainWidget = new KNMainWidget( this, true, this, 0 );
+ connect( m_mainWidget, SIGNAL(signalCaptionChangeRequest(const QString&)),
+ SLOT( setCaption(const QString&)) );
+ setCentralWidget( m_mainWidget );
+ setupStatusBar();
+ connect( KPIM::BroadcastStatus::instance(), SIGNAL(statusMsg(const QString&)),
+ this, SLOT(slotShowStatusMsg(const QString& )) );
+ createGUI( "knodeui.rc" );
+ knGlobals.instance = 0;
+
+ applyMainWindowSettings(KGlobal::config(),"mainWindow_options");
+}
+
+KNMainWindow::~KNMainWindow()
+{
+ saveMainWindowSettings(knGlobals.config(),"mainWindow_options");
+}
+
+void KNMainWindow::openURL( const KURL& url )
+{
+ m_mainWidget->openURL( url );
+}
+
+void KNMainWindow::slotConfToolbar()
+{
+ saveMainWindowSettings(knGlobals.config(),"mainWindow_options");
+ KEditToolbar dlg(actionCollection(), "knodeui.rc");
+ connect(&dlg,SIGNAL( newToolbarConfig() ), this, SLOT( slotNewToolbarConfig() ));
+ dlg.exec();
+}
+
+void KNMainWindow::slotNewToolbarConfig()
+{
+ createGUI("knodeui.rc");
+ //initPopups();
+ applyMainWindowSettings(knGlobals.config(),"mainWindow_options");
+}
+
+void KNMainWindow::slotConfKeys()
+{
+ KKeyDialog::configure(actionCollection(), true);
+}
+
+bool KNMainWindow::queryClose()
+{
+ return m_mainWidget->queryClose();
+}
+
+void KNMainWindow::setupStatusBar()
+{
+ mProgressDialog = new KPIM::ProgressDialog( statusBar(), this );
+ mProgressDialog->hide();
+
+ mLittleProgress = new StatusbarProgressWidget( mProgressDialog, statusBar() );
+ mLittleProgress->show();
+
+ statusBar()->addWidget( mLittleProgress, 0 , true );
+
+ mStatusMsgLabel = new KRSqueezedTextLabel( QString::null, statusBar() );
+ mStatusMsgLabel->setAlignment( AlignLeft | AlignVCenter );
+ statusBar()->addWidget( mStatusMsgLabel, 2 );
+ statusBar()->addWidget(m_mainWidget->statusBarLabelFilter(), 2);
+ statusBar()->addWidget(m_mainWidget->statusBarLabelGroup(), 3);
+}
+
+void KNMainWindow::slotShowStatusMsg( const QString &msg ) {
+ mStatusMsgLabel->setText( msg );
+}
+
+#include "knode.moc"