• 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
knconfigmanager.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 "knconfigmanager.h"
16 
17 #include <kiconloader.h>
18 #include <kwindowsystem.h>
19 
20 #include "utilities.h"
21 #include "knglobals.h"
22 #include "articlewidget.h"
23 #include "knarticlefactory.h"
24 #include "knmainwidget.h"
25 #include "settings.h"
26 
27 
28 KNConfigManager::KNConfigManager( QObject *parent )
29  : QObject( parent ), d_ialog(0)
30 {
31  a_ppearance = new KNode::Appearance();
32  d_isplayedHeaders = new KNode::DisplayedHeaders();
33  c_leanup = new KNode::Cleanup();
34 }
35 
36 
37 KNConfigManager::~KNConfigManager()
38 {
39  delete a_ppearance;
40  delete d_isplayedHeaders;
41  delete c_leanup;
42 }
43 
44 
45 void KNConfigManager::configure()
46 {
47  if(!d_ialog) {
48  d_ialog = new KNConfigDialog( knGlobals.topWidget );
49  d_ialog->setObjectName( "Preferences_Dlg" );
50  connect(d_ialog, SIGNAL(finished()), this, SLOT(slotDialogDone()));
51  d_ialog->show();
52  }
53 #ifdef Q_OS_UNIX
54  else
55  KWindowSystem::activateWindow(d_ialog->winId());
56 #endif
57 }
58 
59 
60 void KNConfigManager::syncConfig()
61 {
62  a_ppearance->save();
63  d_isplayedHeaders->save();
64  c_leanup->save();
65  knGlobals.settings()->writeConfig();
66 }
67 
68 
69 void KNConfigManager::slotDialogDone()
70 {
71  d_ialog->delayedDestruct();
72  d_ialog=0;
73 }
74 
75 
76 //===================================================================================================
77 
78 
79 KNConfigDialog::KNConfigDialog( QWidget *parent )
80  : KCMultiDialog( parent )
81 {
82  addModule ( "knode_config_identity" );
83  addModule ( "knode_config_accounts" );
84  addModule ( "knode_config_appearance" );
85  addModule ( "knode_config_read_news" );
86  addModule ( "knode_config_post_news" );
87  addModule ( "knode_config_privacy" );
88  addModule ( "knode_config_cleanup" );
89 
90  setHelp("anc-setting-your-identity");
91 
92  connect(this, SIGNAL(configCommitted()), this, SLOT(slotConfigCommitted()));
93 }
94 
95 
96 void KNConfigDialog::slotConfigCommitted()
97 {
98  knGlobals.configManager()->syncConfig();
99 
100  KNode::ArticleWidget::configChanged();
101  if(knGlobals.top)
102  knGlobals.top->configChanged();
103  KNGlobals::self()->articleFactory()->configChanged();
104 }
105 
106 
107 //-----------------------------
108 #include "knconfigmanager.moc"
KNConfigDialog::slotConfigCommitted
void slotConfigCommitted()
Update and reload configuration settings.
Definition: knconfigmanager.cpp:96
KNConfigManager::slotDialogDone
void slotDialogDone()
Definition: knconfigmanager.cpp:69
utilities.h
KNConfigManager::d_ialog
KNConfigDialog * d_ialog
Definition: knconfigmanager.h:48
articlewidget.h
QWidget
knarticlefactory.h
KNGlobals::self
static KNGlobals * self()
Return the KNGlobals instance.
Definition: knglobals.cpp:72
QObject
KNode::Cleanup
Expirery/cleaup settings (globally or per account/group/folder).
Definition: knconfig.h:132
KNConfigManager::configure
void configure()
Definition: knconfigmanager.cpp:45
KNArticleFactory::configChanged
void configChanged()
Definition: knarticlefactory.cpp:707
KNode::ConfigBase::save
virtual void save()
Definition: knconfig.h:40
KNGlobals::articleFactory
KNArticleFactory * articleFactory()
Returns the article factory.
Definition: knglobals.cpp:131
knmainwidget.h
KNode::ArticleWidget::configChanged
static void configChanged()
notify all instances about a config change
Definition: articlewidget.cpp:1087
KNConfigManager::KNConfigManager
KNConfigManager(QObject *parent=0)
Definition: knconfigmanager.cpp:28
KNode::DisplayedHeaders::save
void save()
Definition: knconfig.cpp:112
knglobals.h
KNConfigManager::c_leanup
KNode::Cleanup * c_leanup
Definition: knconfigmanager.h:46
settings.h
KNode::Cleanup::save
void save()
Definition: knconfig.cpp:277
KNConfigManager::~KNConfigManager
~KNConfigManager()
Definition: knconfigmanager.cpp:37
KNConfigDialog::KNConfigDialog
KNConfigDialog(QWidget *parent=0)
Create a new configuration dialog.
Definition: knconfigmanager.cpp:79
KNConfigManager::a_ppearance
KNode::Appearance * a_ppearance
Definition: knconfigmanager.h:44
knconfigmanager.h
KNode::Appearance
Ex-Appearance settings.
Definition: knconfig.h:55
KNode::DisplayedHeaders
Headers displayed in the article viewer.
Definition: knconfig.h:80
KCMultiDialog
knGlobals
#define knGlobals
Keep compatibility with the old way.
Definition: knglobals.h:28
KNConfigManager::syncConfig
void syncConfig()
Definition: knconfigmanager.cpp:60
KNConfigManager::d_isplayedHeaders
KNode::DisplayedHeaders * d_isplayedHeaders
Definition: knconfigmanager.h:45
KNConfigDialog
The configuration dialog.
Definition: knconfigmanager.h:57
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