• 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
knglobals.cpp
Go to the documentation of this file.
1 /*
2  KNode, the KDE newsreader
3  Copyright (c) 1999-2005 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 
15 #include "knglobals.h"
16 
17 #include "knarticlefactory.h"
18 #include "knconfigmanager.h"
19 #include "knaccountmanager.h"
20 #include "kngroupmanager.h"
21 #include "knarticlemanager.h"
22 #include "knfiltermanager.h"
23 #include "knfoldermanager.h"
24 #include "knscoring.h"
25 #include "knmemorymanager.h"
26 #include "knmainwidget.h"
27 #include "scheduler.h"
28 #include "settings.h"
29 
30 #include <kconfig.h>
31 #include <kglobal.h>
32 #include <KDebug>
33 #include <kiconloader.h>
34 #include <KPIMIdentities/IdentityManager>
35 
36 
37 class KNGlobalsPrivate
38 {
39  public:
40  KNGlobals instance;
41 };
42 
43 K_GLOBAL_STATIC( KNGlobalsPrivate, kNGlobalsPrivate )
44 
45 
46 KNGlobals::KNGlobals() :
47  mScheduler( 0 ),
48  mCfgManager( 0 ),
49  mAccManager( 0 ),
50  mGrpManager( 0 ),
51  mArtManager( 0 ),
52  mFilManager( 0 ),
53  mFolManager( 0 ),
54  mScoreManager( 0 ),
55  mMemManager( 0 ),
56  mSettings( 0 ),
57  mArticleFactory( 0 ),
58  mIdentityManager( 0 )
59 {
60  kDebug();
61 }
62 
63 KNGlobals::~KNGlobals( )
64 {
65  kDebug();
66  mIdentityManager->deleteLater();
67  delete mScoreManager;
68  delete mSettings;
69 }
70 
71 
72 KNGlobals * KNGlobals::self()
73 {
74  Q_ASSERT ( !kNGlobalsPrivate.isDestroyed() );
75 
76  return &kNGlobalsPrivate->instance;
77 }
78 
79 
80 const KComponentData &KNGlobals::componentData() const
81 {
82  if ( mInstance.isValid() )
83  return mInstance;
84  return KGlobal::mainComponent();
85 }
86 
87 
88 KConfig* KNGlobals::config()
89 {
90  if (!c_onfig) {
91  c_onfig = KSharedConfig::openConfig( "knoderc" );
92  }
93  return c_onfig.data();
94 }
95 
96 KNConfigManager* KNGlobals::configManager()
97 {
98  if (!mCfgManager)
99  mCfgManager = new KNConfigManager();
100  return mCfgManager;
101 }
102 
103 KNode::Scheduler* KNGlobals::scheduler()
104 {
105  if ( !mScheduler )
106  mScheduler = new KNode::Scheduler();
107  return mScheduler;
108 }
109 
110 KNAccountManager* KNGlobals::accountManager()
111 {
112  if(!mAccManager)
113  mAccManager = new KNAccountManager(groupManager());
114  return mAccManager;
115 }
116 
117 KNGroupManager* KNGlobals::groupManager()
118 {
119  if(!mGrpManager)
120  mGrpManager = new KNGroupManager();
121  return mGrpManager;
122 }
123 
124 KNArticleManager* KNGlobals::articleManager()
125 {
126  if(!mArtManager)
127  mArtManager = new KNArticleManager();
128  return mArtManager;
129 }
130 
131 KNArticleFactory* KNGlobals::articleFactory()
132 {
133  if ( !mArticleFactory ) {
134  mArticleFactory = new KNArticleFactory();
135  }
136  return mArticleFactory;
137 }
138 
139 KNFilterManager* KNGlobals::filterManager()
140 {
141  if (!mFilManager)
142  mFilManager = new KNFilterManager();
143  return mFilManager;
144 }
145 
146 KNFolderManager* KNGlobals::folderManager()
147 {
148  if(!mFolManager)
149  mFolManager = new KNFolderManager(articleManager());
150  return mFolManager;
151 }
152 
153 KNScoringManager* KNGlobals::scoringManager()
154 {
155  if (!mScoreManager)
156  mScoreManager = new KNScoringManager();
157  return mScoreManager;
158 }
159 
160 KNMemoryManager* KNGlobals::memoryManager()
161 {
162  if(!mMemManager)
163  mMemManager = new KNMemoryManager();
164  return mMemManager;
165 }
166 
167 KPIMIdentities::IdentityManager* KNGlobals::identityManager()
168 {
169  if ( !mIdentityManager ) {
170  mIdentityManager = new KPIMIdentities::IdentityManager( false, 0, "mIdentityManager" );
171  }
172  return mIdentityManager;
173 }
174 
175 
176 void KNGlobals::setStatusMsg(const QString &text, int id)
177 {
178  if(top)
179  top->setStatusMsg(text, id);
180 }
181 
182 KNode::Settings * KNGlobals::settings( )
183 {
184  if ( !mSettings ) {
185  mSettings = new KNode::Settings();
186  mSettings->readConfig();
187  }
188  return mSettings;
189 }
190 
191 void KNGlobals::reset()
192 {
193  delete mMemManager;
194  mMemManager = 0;
195  kDebug() << "Memory Manager deleted";
196 
197  delete mScoreManager;
198  mScoreManager = 0;
199  kDebug() << "Score manager deleted";
200 
201  delete mFolManager;
202  mFolManager = 0;
203  kDebug() << "Folder Manager deleted";
204 
205  delete mFilManager;
206  mFilManager = 0;
207  kDebug() << "Filter Manager deleted";
208 
209  delete mArtManager;
210  mArtManager = 0;
211  kDebug() << "Article Manager deleted";
212 
213  delete mGrpManager;
214  mGrpManager = 0;
215  kDebug() << "Group Manager deleted";
216 
217  delete mAccManager;
218  mAccManager = 0;
219  kDebug() << "Account Manager deleted";
220 
221  delete mCfgManager;
222  mCfgManager = 0;
223  kDebug() << "Config deleted";
224 
225  delete mScheduler;
226  mScheduler = 0;
227  kDebug() << "Scheduler deleted";
228 
229  delete mArticleFactory;
230  mArticleFactory = 0;
231  kDebug() <<" Article Factory deleted";
232 }
KNode::Settings
Application settings.
Definition: settings.h:34
KNGlobals::setStatusMsg
void setStatusMsg(const QString &text=QString(), int id=SB_MAIN)
forwarded to top->setStatusMsg() if available
Definition: knglobals.cpp:176
KNGlobals::groupManager
KNGroupManager * groupManager()
Returns the group manager.
Definition: knglobals.cpp:117
KNFilterManager
Filter manager.
Definition: knfiltermanager.h:55
KNGlobals::config
KConfig * config()
Returns KNode's main configuration.
Definition: knglobals.cpp:88
knmemorymanager.h
KNGlobals::articleManager
KNArticleManager * articleManager()
Returns the article manager.
Definition: knglobals.cpp:124
text
virtual QByteArray text(quint32 serialNumber) const =0
KNGlobals::memoryManager
KNMemoryManager * memoryManager()
Returns the memory manager.
Definition: knglobals.cpp:160
knarticlefactory.h
KNArticleFactory
Article factory, responsible for creating and sending news articles.
Definition: knarticlefactory.h:35
knaccountmanager.h
KNGlobals::self
static KNGlobals * self()
Return the KNGlobals instance.
Definition: knglobals.cpp:72
kngroupmanager.h
knfiltermanager.h
knarticlemanager.h
scheduler.h
KNGlobals::reset
void reset()
Definition: knglobals.cpp:191
KNGlobals
idea: Previously the manager classes were available via KNodeApp.
Definition: knglobals.h:55
KNGlobals::identityManager
KPIMIdentities::IdentityManager * identityManager()
Returns the identity manager.
Definition: knglobals.cpp:167
KNGlobals::top
KNMainWidget * top
no need to include knode.h everywhere
Definition: knglobals.h:66
KNGlobals::articleFactory
KNArticleFactory * articleFactory()
Returns the article factory.
Definition: knglobals.cpp:131
KNGlobals::scoringManager
KNScoringManager * scoringManager()
Returns the scoring manager.
Definition: knglobals.cpp:153
KNScoringManager
Scoring manager.
Definition: knscoring.h:62
KNMainWidget::setStatusMsg
void setStatusMsg(const QString &=QString(), int id=SB_MAIN)
Definition: knmainwidget.cpp:261
knmainwidget.h
KNGlobals::settings
KNode::Settings * settings()
Returns the KConfigXT generated settings object.
Definition: knglobals.cpp:182
KNGlobals::componentData
const KComponentData & componentData() const
Returns the current instance.
Definition: knglobals.cpp:80
KNFolderManager
Folder manager.
Definition: knfoldermanager.h:28
knglobals.h
knfoldermanager.h
settings.h
KNArticleManager
Article manager.
Definition: knarticlemanager.h:38
KNGlobals::configManager
KNConfigManager * configManager()
Definition: knglobals.cpp:96
KNGlobals::scheduler
KNode::Scheduler * scheduler()
Returns the scheduler.
Definition: knglobals.cpp:103
KNode::Scheduler
The job scheduler.
Definition: scheduler.h:41
knconfigmanager.h
KNGlobals::folderManager
KNFolderManager * folderManager()
Returns the folder manager.
Definition: knglobals.cpp:146
knscoring.h
KNAccountManager
Account manager.
Definition: knaccountmanager.h:33
KNGlobals::filterManager
KNFilterManager * filterManager()
Returns the filter manager.
Definition: knglobals.cpp:139
KNGlobals::accountManager
KNAccountManager * accountManager()
Returns the account manager.
Definition: knglobals.cpp:110
KNConfigManager
Manages config objects.
Definition: knconfigmanager.h:28
KNGroupManager
Group manager.
Definition: kngroupmanager.h:83
KNMemoryManager
Memory manager.
Definition: knmemorymanager.h:26
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