summaryrefslogtreecommitdiffabout
path: root/microkde/kresources/configdialog.cpp
Side-by-side diff
Diffstat (limited to 'microkde/kresources/configdialog.cpp') (more/less context) (show whitespace changes)
-rw-r--r--microkde/kresources/configdialog.cpp23
1 files changed, 20 insertions, 3 deletions
diff --git a/microkde/kresources/configdialog.cpp b/microkde/kresources/configdialog.cpp
index 48d9137..0fc199c 100644
--- a/microkde/kresources/configdialog.cpp
+++ b/microkde/kresources/configdialog.cpp
@@ -46,5 +46,5 @@ ConfigDialog::ConfigDialog( QWidget *parent, const QString& resourceFamily,
/*const QString& type,*/ Resource* resource, /*KConfig *config, */const char *name )
: KDialogBase( parent, name, true, i18n( "Resource Configuration" ),
- Ok|Cancel, Ok, true )/*, mConfig( config )*/, mResource( resource )
+ Ok|Cancel, Ok, true )/*, mConfig( config )*/, mResource( resource ), mPersistentReadOnly(false)
{
Factory *factory = Factory::self( resourceFamily );
@@ -83,9 +83,12 @@ ConfigDialog::ConfigDialog( QWidget *parent, const QString& resourceFamily,
mConfigWidget = factory->configWidget( resource->type(), resourceGroupBox );
if ( mConfigWidget ) {
+ connect( mConfigWidget, SIGNAL( setReadOnly( bool ) ),
+ SLOT( setReadOnly( bool ) ) );
+ connect( mConfigWidget, SIGNAL( setPersistentReadOnly( bool ) ),
+ SLOT( setPersistentReadOnly( bool ) ) );
mConfigWidget->setInEditMode( false );
mConfigWidget->loadSettings( mResource );
mConfigWidget->show();
- connect( mConfigWidget, SIGNAL( setReadOnly( bool ) ),
- SLOT( setReadOnly( bool ) ) );
+
}
@@ -113,5 +116,19 @@ void ConfigDialog::slotNameChanged( const QString &text)
void ConfigDialog::setReadOnly( bool value )
{
+ if (mPersistentReadOnly == false)
mReadOnly->setChecked( value );
+ else
+ mReadOnly->setChecked( true );
+}
+
+void ConfigDialog::setPersistentReadOnly( bool value )
+{
+ mPersistentReadOnly = value;
+
+ if (value == true)
+ setReadOnly( true );
+
+ mReadOnly->setEnabled( !value );
+
}