• Skip to content
  • Skip to link menu
KDE API Reference
  • KDE API Reference
  • kdepim API Reference
  • KDE Home
  • Contact Us
 

knode

  • sources
  • kde-4.12
  • kdepim
  • knode
knode.cpp
Go to the documentation of this file.
1 /*
2  KNode, the KDE newsreader
3  Copyright (c) 1999-2010 the KNode authors.
4  See file AUTHORS for details
5 
6  This program is free software; you can redistribute it and/or modify
7  it under the terms of the GNU General Public License as published by
8  the Free Software Foundation; either version 2 of the License, or
9  (at your option) any later version.
10  You should have received a copy of the GNU General Public License
11  along with this program; if not, write to the Free Software Foundation,
12  Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, US
13 */
14 #include "knode.h"
15 #include "knglobals.h"
16 
17 #include <QApplication>
18 
19 #include <kshortcutsdialog.h>
20 #include <kedittoolbar.h>
21 #include <kstandardaction.h>
22 #include <kdebug.h>
23 #include <kmenubar.h>
24 #include <kiconloader.h>
25 #include <kstatusbar.h>
26 #include <klocale.h>
27 #include <kactioncollection.h>
28 #include <ksqueezedtextlabel.h>
29 
30 #include "libkdepim/misc/broadcaststatus.h"
31 #include "libkdepim/progresswidget/progressdialog.h"
32 #include "libkdepim/progresswidget/statusbarprogresswidget.h"
33 
34 //GUI
35 #include "knmainwidget.h"
36 #include "kncollectionviewitem.h"
37 #include "knhdrviewitem.h"
38 
39 KNMainWindow::KNMainWindow( QWidget* parent )
40  : KXmlGuiWindow( parent )
41 {
42  //setupStatusBar();
43  createStandardStatusBarAction();
44  setStandardToolBarMenuEnabled(true);
45 
46  //config stuff
47  KStandardAction::quit(qApp, SLOT(closeAllWindows()), actionCollection());
48  KStandardAction::configureToolbars(this, SLOT(slotConfToolbar()), actionCollection());
49  KStandardAction::keyBindings(this, SLOT(slotConfKeys()), actionCollection());
50 
51  m_mainWidget = new KNMainWidget( this, this );
52  connect( m_mainWidget, SIGNAL(signalCaptionChangeRequest(QString)),
53  SLOT(setCaption(QString)) );
54  setCentralWidget( m_mainWidget );
55  setupStatusBar();
56  connect( KPIM::BroadcastStatus::instance(), SIGNAL(statusMsg(QString)),
57  this, SLOT(slotShowStatusMsg(QString)) );
58  createGUI( "knodeui.rc" );
59  knGlobals.setComponentData( KComponentData() );
60 
61  applyMainWindowSettings(KGlobal::config()->group( "mainWindow_options") );
62 }
63 
64 KNMainWindow::~KNMainWindow()
65 {
66  saveMainWindowSettings(knGlobals.config()->group( "mainWindow_options") );
67 }
68 
69 void KNMainWindow::openURL( const KUrl& url )
70 {
71  m_mainWidget->openURL( url );
72 }
73 
74 void KNMainWindow::slotConfToolbar()
75 {
76  saveMainWindowSettings(knGlobals.config()->group( "mainWindow_options") );
77  KEditToolBar dlg( actionCollection() );
78  dlg.setResourceFile( "knodeui.rc" );
79  connect(&dlg,SIGNAL(newToolBarConfig()), this, SLOT(slotNewToolbarConfig()));
80  dlg.exec();
81 }
82 
83 void KNMainWindow::slotNewToolbarConfig()
84 {
85  createGUI("knodeui.rc");
86  //initPopups();
87  applyMainWindowSettings(knGlobals.config()->group( "mainWindow_options") );
88 }
89 
90 void KNMainWindow::slotConfKeys()
91 {
92  KShortcutsDialog::configure(actionCollection(), KShortcutsEditor::LetterShortcutsAllowed);
93 }
94 
95 bool KNMainWindow::queryClose()
96 {
97  return m_mainWidget->queryClose();
98 }
99 
100 void KNMainWindow::setupStatusBar()
101 {
102  mProgressDialog = new KPIM::ProgressDialog( statusBar(), this );
103  mProgressDialog->hide();
104 
105  mLittleProgress = new StatusbarProgressWidget( mProgressDialog, statusBar() );
106  mLittleProgress->show();
107 
108  statusBar()->addPermanentWidget( mLittleProgress, 0 );
109 
110  mStatusMsgLabel = new KSqueezedTextLabel( QString(), statusBar() );
111  mStatusMsgLabel->setTextElideMode( Qt::ElideRight );
112  mStatusMsgLabel->setAlignment( Qt::AlignLeft | Qt::AlignVCenter );
113  statusBar()->addWidget( mStatusMsgLabel, 2 );
114  statusBar()->addWidget(m_mainWidget->statusBarLabelFilter(), 2);
115  statusBar()->addWidget(m_mainWidget->statusBarLabelGroup(), 3);
116 }
117 
118 void KNMainWindow::slotShowStatusMsg( const QString &msg ) {
119  mStatusMsgLabel->setText( msg );
120 }
121 
122 #include "knode.moc"
KNMainWindow::slotConfToolbar
void slotConfToolbar()
Definition: knode.cpp:74
KNMainWindow::openURL
void openURL(const KUrl &)
Definition: knode.cpp:69
KPIM::BroadcastStatus::instance
static BroadcastStatus * instance()
QWidget
statusbarprogresswidget.h
KNMainWidget
This is the central part of the KNode GUI.
Definition: knmainwidget.h:57
KXmlGuiWindow
KNMainWindow::slotNewToolbarConfig
void slotNewToolbarConfig()
Definition: knode.cpp:83
KNMainWindow::~KNMainWindow
~KNMainWindow()
Definition: knode.cpp:64
KNMainWidget::statusBarLabelGroup
KSqueezedTextLabel * statusBarLabelGroup() const
Definition: knmainwidget.h:92
knmainwidget.h
kncollectionviewitem.h
KNMainWindow::KNMainWindow
KNMainWindow(QWidget *parent=0)
Definition: knode.cpp:39
KNMainWidget::statusBarLabelFilter
KSqueezedTextLabel * statusBarLabelFilter() const
Definition: knmainwidget.h:93
KPIM::StatusbarProgressWidget
KPIM::ProgressDialog
knglobals.h
KNMainWidget::queryClose
bool queryClose()
exit
Definition: knmainwidget.cpp:941
KNMainWindow::slotConfKeys
void slotConfKeys()
Definition: knode.cpp:90
knode.h
KNMainWidget::openURL
void openURL(const KUrl &url)
handle URL given as command-line argument
Definition: knmainwidget.cpp:367
KNMainWindow::queryClose
bool queryClose()
Definition: knode.cpp:95
knhdrviewitem.h
progressdialog.h
knGlobals
#define knGlobals
Keep compatibility with the old way.
Definition: knglobals.h:28
broadcaststatus.h
This file is part of the KDE documentation.
Documentation copyright © 1996-2014 The KDE developers.
Generated on Tue Oct 14 2014 22:58:36 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

knode

Skip menu "knode"
  • Main Page
  • Namespace List
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members
  • Related Pages

kdepim API Reference

Skip menu "kdepim API Reference"
  • akonadi_next
  • akregator
  • blogilo
  • calendarsupport
  • console
  •   kabcclient
  •   konsolekalendar
  • kaddressbook
  • kalarm
  •   lib
  • kdgantt2
  • kjots
  • kleopatra
  • kmail
  • knode
  • knotes
  • kontact
  • korgac
  • korganizer
  • ktimetracker
  • libkdepim
  • libkleo
  • libkpgp
  • mailcommon
  • messagelist
  • messageviewer

Search



Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal