summaryrefslogtreecommitdiff
path: root/noncore/securityplugins/notice
authorzecke <zecke>2004-12-20 22:21:55 (UTC)
committer zecke <zecke>2004-12-20 22:21:55 (UTC)
commit2be4d5bf420dc4aff71cf78601c095a96ed88c47 (patch) (unidiff)
treef8d053d475501c2230a2c65acc1bed091d39faf9 /noncore/securityplugins/notice
parentb15930cd03acafd9770bca26f3388817f1a4dcbf (diff)
downloadopie-2be4d5bf420dc4aff71cf78601c095a96ed88c47.zip
opie-2be4d5bf420dc4aff71cf78601c095a96ed88c47.tar.gz
opie-2be4d5bf420dc4aff71cf78601c095a96ed88c47.tar.bz2
Create the 'Config' instance on the Stack to avoid
that we revert changes done in between of our creation and deletion
Diffstat (limited to 'noncore/securityplugins/notice') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/securityplugins/notice/noticeConfigWidget.cpp14
-rw-r--r--noncore/securityplugins/notice/noticeplugin.cpp10
-rw-r--r--noncore/securityplugins/notice/noticeplugin.h1
3 files changed, 10 insertions, 15 deletions
diff --git a/noncore/securityplugins/notice/noticeConfigWidget.cpp b/noncore/securityplugins/notice/noticeConfigWidget.cpp
index e0468a7..02084f8 100644
--- a/noncore/securityplugins/notice/noticeConfigWidget.cpp
+++ b/noncore/securityplugins/notice/noticeConfigWidget.cpp
@@ -65,19 +65,17 @@ void NoticeConfigWidget::resetNotice()
65 * if no text has been defined yet returns defaultNoticeText 65 * if no text has been defined yet returns defaultNoticeText
66 */ 66 */
67QString NoticeConfigWidget::getNoticeText() { 67QString NoticeConfigWidget::getNoticeText() {
68 m_config = new Config("Security"); 68 Config config("Security");
69 m_config->setGroup("NoticePlugin"); 69 config.setGroup("NoticePlugin");
70 // Note: C++ processes '\' character, so we have to type \\\\ to mean \\ to QRegExp 70 // Note: C++ processes '\' character, so we have to type \\\\ to mean \\ to QRegExp
71 QString noticeText = m_config->readEntry("noticeText", QObject::tr(defaultNoticeText) ).replace( QRegExp("\\\\n"), "\n" ); 71 QString noticeText = config.readEntry("noticeText", QObject::tr(defaultNoticeText) ).replace( QRegExp("\\\\n"), "\n" );
72 delete m_config;
73 return noticeText; 72 return noticeText;
74} 73}
75 74
76/// set the notice text in our m_config config file (escaping new lines) 75/// set the notice text in our m_config config file (escaping new lines)
77void NoticeConfigWidget::setNoticeText(QString noticeText) { 76void NoticeConfigWidget::setNoticeText(QString noticeText) {
78 m_config = new Config("Security"); 77 Config config("Security");
79 m_config->setGroup("NoticePlugin"); 78 config.setGroup("NoticePlugin");
80 // since Config files do not allow true newlines, we replace them with litteral "\n" 79 // since Config files do not allow true newlines, we replace them with litteral "\n"
81 m_config->writeEntry("noticeText", noticeText.replace( QRegExp("\n"), "\\n" )); 80 config.writeEntry("noticeText", noticeText.replace( QRegExp("\n"), "\\n" ));
82 delete m_config;
83} 81}
diff --git a/noncore/securityplugins/notice/noticeplugin.cpp b/noncore/securityplugins/notice/noticeplugin.cpp
index 5617855..d3dc7a4 100644
--- a/noncore/securityplugins/notice/noticeplugin.cpp
+++ b/noncore/securityplugins/notice/noticeplugin.cpp
@@ -10,15 +10,11 @@ using Opie::Security::MultiauthConfigWidget;
10 10
11/// creates and initializes the m_config Config object 11/// creates and initializes the m_config Config object
12NoticePlugin::NoticePlugin() : MultiauthPluginObject(), m_noticeW(0) { 12NoticePlugin::NoticePlugin() : MultiauthPluginObject(), m_noticeW(0) {
13 m_config = new Config("Security");
14 m_config->setGroup("NoticePlugin");
15} 13}
16 14
17/// deletes the m_config Config object and noticeW if necessary 15/// deletes the m_config Config object and noticeW if necessary
18NoticePlugin::~NoticePlugin() { 16NoticePlugin::~NoticePlugin() {
19 delete m_config; 17 delete m_noticeW;
20 if (m_noticeW != 0)
21 delete m_noticeW;
22} 18}
23 19
24/// Simply return its name (Notice plugin) 20/// Simply return its name (Notice plugin)
@@ -81,6 +77,8 @@ int NoticePlugin::authenticate() {
81 */ 77 */
82QString NoticePlugin::getNoticeText() { 78QString NoticePlugin::getNoticeText() {
83 // Note: C++ processes '\' character, so we have to type \\\\ to mean \\ to QRegExp 79 // Note: C++ processes '\' character, so we have to type \\\\ to mean \\ to QRegExp
84 return m_config->readEntry("noticeText", QObject::tr(defaultNoticeText)).replace( QRegExp("\\\\n"), "\n" ); 80 Config config("Security");
81 config.setGroup("NoticePlugin");
82 return config.readEntry("noticeText", QObject::tr(defaultNoticeText)).replace( QRegExp("\\\\n"), "\n" );
85} 83}
86 84
diff --git a/noncore/securityplugins/notice/noticeplugin.h b/noncore/securityplugins/notice/noticeplugin.h
index 2828f58..22b2322 100644
--- a/noncore/securityplugins/notice/noticeplugin.h
+++ b/noncore/securityplugins/notice/noticeplugin.h
@@ -57,7 +57,6 @@ public:
57 QString pluginName() const; 57 QString pluginName() const;
58private: 58private:
59 NoticeConfigWidget * m_noticeW; 59 NoticeConfigWidget * m_noticeW;
60 Config * m_config;
61 QString getNoticeText(); 60 QString getNoticeText();
62}; 61};
63 62