From d62c8c002c51fb7c36487839eeeb4ac89f044dee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sl=C3=A1vek=20Banko?= Date: Sat, 26 Mar 2016 13:50:43 +0100 Subject: Initial import of kxmleditor 1.1.4 --- part/kxesettings.cpp | 67 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 part/kxesettings.cpp (limited to 'part/kxesettings.cpp') 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 + +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(); + } +} -- cgit v1.2.1