summaryrefslogtreecommitdiffstats
path: root/part/kxesettings.cpp
diff options
context:
space:
mode:
authorSlávek Banko <slavek.banko@axis.cz>2016-03-26 13:50:43 +0100
committerSlávek Banko <slavek.banko@axis.cz>2016-03-26 13:50:43 +0100
commitd62c8c002c51fb7c36487839eeeb4ac89f044dee (patch)
treebb4d1f5c631ab1f22a3018ba39e6a806035f80fd /part/kxesettings.cpp
downloadkxmleditor-d62c8c002c51fb7c36487839eeeb4ac89f044dee.tar.gz
kxmleditor-d62c8c002c51fb7c36487839eeeb4ac89f044dee.zip
Initial import of kxmleditor 1.1.4
Diffstat (limited to 'part/kxesettings.cpp')
-rw-r--r--part/kxesettings.cpp67
1 files changed, 67 insertions, 0 deletions
diff --git a/part/kxesettings.cpp b/part/kxesettings.cpp
new file mode 100644
index 0000000..013e73f
--- /dev/null
+++ b/part/kxesettings.cpp
@@ -0,0 +1,67 @@
+/***************************************************************************
+ kxesettings.cpp
+ ---------------
+ begin : Tue Dec 02 2003
+ copyright : (C) 2003 by The KXMLEditor Team
+ email : hartig@users.sourceforge.net
+ ***************************************************************************/
+
+/***************************************************************************
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ ***************************************************************************/
+
+#include "kxesettings.h"
+
+#include <kconfig.h>
+
+KXESettings::KXESettings( const QString & strConfigGroup, QObject * pParent, const char * pszName )
+ : QObject( pParent, pszName ),
+ m_bPageChanged( false ),
+ m_strConfigGroup( strConfigGroup )
+{
+ connect( this, SIGNAL(sigDialogPageChanged()), this, SLOT(slotDialogPageChanged()) );
+}
+
+void KXESettings::setConfigGroup( KConfig * pConfig ) const
+{
+ pConfig->setGroup( m_strConfigGroup );
+}
+
+void KXESettings::store( KConfig * pConfig ) const
+{
+ setConfigGroup( pConfig );
+ write( pConfig );
+}
+
+void KXESettings::restore( KConfig * pConfig )
+{
+ setConfigGroup( pConfig );
+ read( pConfig );
+
+ // update the corresponding config.dialog page
+ blockSignals( true ); // block this object's signals (especially sigDialogPageChanged)
+ updatePage();
+ blockSignals( false ); // unblock the signals
+
+ emit sigChanged();
+}
+
+void KXESettings::slotDialogPageChanged()
+{
+ m_bPageChanged = true;
+}
+
+void KXESettings::apply()
+{
+ if ( m_bPageChanged )
+ {
+ setFromPage();
+ m_bPageChanged = false;
+ emit sigChanged();
+ }
+}