author | zecke <zecke> | 2004-12-20 22:21:55 (UTC) |
---|---|---|
committer | zecke <zecke> | 2004-12-20 22:21:55 (UTC) |
commit | 2be4d5bf420dc4aff71cf78601c095a96ed88c47 (patch) (side-by-side diff) | |
tree | f8d053d475501c2230a2c65acc1bed091d39faf9 | |
parent | b15930cd03acafd9770bca26f3388817f1a4dcbf (diff) | |
download | opie-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
5 files changed, 17 insertions, 23 deletions
diff --git a/noncore/securityplugins/blueping/bluepingConfigWidget.cpp b/noncore/securityplugins/blueping/bluepingConfigWidget.cpp index 876ccda..17168f9 100644 --- a/noncore/securityplugins/blueping/bluepingConfigWidget.cpp +++ b/noncore/securityplugins/blueping/bluepingConfigWidget.cpp @@ -11,10 +11,10 @@ using Opie::Security::MultiauthConfigWidget; BluepingConfigWidget::BluepingConfigWidget(QWidget* parent = 0, const char* name = "Blueping configuration widget") : MultiauthConfigWidget(parent, name) { - m_config = new Config("Security"); - m_config->setGroup("BluepingPlugin"); + Config config("Security"); + config.setGroup("BluepingPlugin"); QVBoxLayout * baseLayout = new QVBoxLayout( this); baseLayout->setSpacing(11); baseLayout->setMargin(11); baseLayout->setAlignment( Qt::AlignTop ); @@ -26,9 +26,9 @@ BluepingConfigWidget::BluepingConfigWidget(QWidget* parent = 0, const char* name QHBoxLayout * configLayout = new QHBoxLayout(); configLayout->setSpacing(6); boxLayout->addLayout(configLayout); - QString mac = m_config->readEntry("mac"); + QString mac = config.readEntry("mac"); if ( mac.isEmpty() ) mac = "00:00:00:00:00:00"; editMAC = new QLineEdit( mac, configBox, "editMAC" ); @@ -50,9 +50,11 @@ void BluepingConfigWidget::changeMAC() { QString mac = editMAC->text(); QRegExp macPattern("[0-9A-Fa-f][0-9A-Fa-f]:[0-9A-Fa-f][0-9A-Fa-f]:[0-9A-Fa-f][0-9A-Fa-f]:[0-9A-Fa-f][0-9A-Fa-f]:[0-9A-Fa-f][0-9A-Fa-f]:[0-9A-Fa-f][0-9A-Fa-f]"); if ( (mac.length() == 17) && (macPattern.match(mac) == 0) ) { - m_config->writeEntry("mac", mac); + Config config("Security"); + config.setGroup("BluepingPlugin"); + config.writeEntry("mac", mac); QMessageBox success( tr("MAC address saved!"), "<p>" + tr("Make sure that Bluetooth is turned on on the corresponding device when the Blueping plugin needs it.") + "</p>", QMessageBox::Information, QMessageBox::Ok, QMessageBox::NoButton, QMessageBox::NoButton ); success.exec(); } else { @@ -63,11 +65,9 @@ void BluepingConfigWidget::changeMAC() { } /// deletes the m_config pointer BluepingConfigWidget::~BluepingConfigWidget() -{ - delete m_config; -} +{} // does nothing (there's a button to save the config) void BluepingConfigWidget::writeConfig() { diff --git a/noncore/securityplugins/blueping/bluepingConfigWidget.h b/noncore/securityplugins/blueping/bluepingConfigWidget.h index bd1bec9..643c97f 100644 --- a/noncore/securityplugins/blueping/bluepingConfigWidget.h +++ b/noncore/securityplugins/blueping/bluepingConfigWidget.h @@ -49,9 +49,8 @@ public: virtual void writeConfig(); private: QLineEdit *editMAC; QPushButton *setMAC; - Config *m_config; private slots: void changeMAC(); }; 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 @@ -64,20 +64,18 @@ void NoticeConfigWidget::resetNotice() /** * if no text has been defined yet returns defaultNoticeText */ QString NoticeConfigWidget::getNoticeText() { - m_config = new Config("Security"); - m_config->setGroup("NoticePlugin"); + Config config("Security"); + config.setGroup("NoticePlugin"); // Note: C++ processes '\' character, so we have to type \\\\ to mean \\ to QRegExp - QString noticeText = m_config->readEntry("noticeText", QObject::tr(defaultNoticeText) ).replace( QRegExp("\\\\n"), "\n" ); - delete m_config; + QString noticeText = config.readEntry("noticeText", QObject::tr(defaultNoticeText) ).replace( QRegExp("\\\\n"), "\n" ); return noticeText; } /// set the notice text in our m_config config file (escaping new lines) void NoticeConfigWidget::setNoticeText(QString noticeText) { - m_config = new Config("Security"); - m_config->setGroup("NoticePlugin"); + Config config("Security"); + config.setGroup("NoticePlugin"); // since Config files do not allow true newlines, we replace them with litteral "\n" - m_config->writeEntry("noticeText", noticeText.replace( QRegExp("\n"), "\\n" )); - delete m_config; + config.writeEntry("noticeText", noticeText.replace( QRegExp("\n"), "\\n" )); } 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 @@ -9,17 +9,13 @@ using Opie::Security::MultiauthPluginObject; using Opie::Security::MultiauthConfigWidget; /// creates and initializes the m_config Config object NoticePlugin::NoticePlugin() : MultiauthPluginObject(), m_noticeW(0) { - m_config = new Config("Security"); - m_config->setGroup("NoticePlugin"); } /// deletes the m_config Config object and noticeW if necessary NoticePlugin::~NoticePlugin() { - delete m_config; - if (m_noticeW != 0) - delete m_noticeW; + delete m_noticeW; } /// Simply return its name (Notice plugin) QString NoticePlugin::pluginName() const { @@ -80,7 +76,9 @@ int NoticePlugin::authenticate() { * if no text has been defined yet returns defaultNoticeText */ QString NoticePlugin::getNoticeText() { // Note: C++ processes '\' character, so we have to type \\\\ to mean \\ to QRegExp - return m_config->readEntry("noticeText", QObject::tr(defaultNoticeText)).replace( QRegExp("\\\\n"), "\n" ); + Config config("Security"); + config.setGroup("NoticePlugin"); + return config.readEntry("noticeText", QObject::tr(defaultNoticeText)).replace( QRegExp("\\\\n"), "\n" ); } 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 @@ -56,9 +56,8 @@ public: QString pixmapNameWidget() const; QString pluginName() const; private: NoticeConfigWidget * m_noticeW; - Config * m_config; QString getNoticeText(); }; #endif |