Diffstat (limited to 'microkde/kresources/configdialog.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | microkde/kresources/configdialog.cpp | 89 |
1 files changed, 65 insertions, 24 deletions
diff --git a/microkde/kresources/configdialog.cpp b/microkde/kresources/configdialog.cpp index 0fc199c..90febca 100644 --- a/microkde/kresources/configdialog.cpp +++ b/microkde/kresources/configdialog.cpp @@ -41,2 +41,3 @@ #include "configdialog.h" +#include "syncwidget.h" @@ -45,6 +46,7 @@ using namespace KRES; 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 ), mPersistentReadOnly(false) + Resource* resource, const char *name ) + : KDialogBase( parent, name, true, resource->isSyncable()?i18n( "Sync Profile Configuration" ):i18n( "Resource Configuration" ), + Ok|Cancel, Ok, true )/*, mConfig( config )*/, mSyncWidget(0), mResource( resource ), mPersistentReadOnly(false) { + Factory *factory = Factory::self( resourceFamily ); @@ -63,3 +65,3 @@ ConfigDialog::ConfigDialog( QWidget *parent, const QString& resourceFamily, - new QLabel( i18n( "Name:" ), generalGroupBox ); + new QLabel( mResource->isSyncable()?i18n( "Profile Name:" ):i18n( "Name:" ), generalGroupBox ); @@ -67,6 +69,8 @@ ConfigDialog::ConfigDialog( QWidget *parent, const QString& resourceFamily, - mReadOnly = new QCheckBox( i18n( "Read-only" ), generalGroupBox ); + if (!mResource->isSyncable()) { + mReadOnly = new QCheckBox( i18n( "Read-only" ), generalGroupBox ); + mReadOnly->setChecked( mResource->readOnly() ); + } mName->setText( mResource->resourceName() ); - mReadOnly->setChecked( mResource->readOnly() ); @@ -84,5 +88,5 @@ ConfigDialog::ConfigDialog( QWidget *parent, const QString& resourceFamily, if ( mConfigWidget ) { - connect( mConfigWidget, SIGNAL( setReadOnly( bool ) ), + connect( mConfigWidget, SIGNAL( setReadOnly( bool ) ), SLOT( setReadOnly( bool ) ) ); - connect( mConfigWidget, SIGNAL( setPersistentReadOnly( bool ) ), + connect( mConfigWidget, SIGNAL( setPersistentReadOnly( bool ) ), SLOT( setPersistentReadOnly( bool ) ) ); @@ -91,6 +95,26 @@ ConfigDialog::ConfigDialog( QWidget *parent, const QString& resourceFamily, mConfigWidget->show(); - + } - connect( mName, SIGNAL( textChanged(const QString &)), + if (mResource->isSyncable()) + { + QGroupBox *syncGroupBox = new QGroupBox( 2, Qt::Horizontal, main ); + syncGroupBox->layout()->setSpacing( spacingHint()); + syncGroupBox->setTitle( i18n( "Syncronize Preferences" ) ); + mainLayout->addWidget( syncGroupBox ); + + mainLayout->addStretch(); + + mSyncWidget = factory->syncWidget( resource->type(), syncGroupBox ); + if ( mSyncWidget ) { + mSyncWidget->setInEditMode( false ); + mSyncWidget->loadSettings( mResource ); + mSyncWidget->show(); + } + } + + + + + connect( mName, SIGNAL( textChanged(const QString &)), SLOT( slotNameChanged(const QString &))); @@ -98,3 +122,3 @@ ConfigDialog::ConfigDialog( QWidget *parent, const QString& resourceFamily, slotNameChanged( mName->text() ); - + //US setMinimumSize( 400, 250 ); @@ -108,2 +132,6 @@ void ConfigDialog::setInEditMode( bool value ) mConfigWidget->setInEditMode( value ); + + if ( mSyncWidget ) + mSyncWidget->setInEditMode( value ); + } @@ -117,6 +145,9 @@ void ConfigDialog::setReadOnly( bool value ) { - if (mPersistentReadOnly == false) - mReadOnly->setChecked( value ); - else - mReadOnly->setChecked( true ); + if (!mResource->isSyncable()) { + + if (mPersistentReadOnly == false) + mReadOnly->setChecked( value ); + else + mReadOnly->setChecked( true ); + } } @@ -125,9 +156,11 @@ void ConfigDialog::setPersistentReadOnly( bool value ) { - mPersistentReadOnly = value; - - if (value == true) - setReadOnly( true ); - - mReadOnly->setEnabled( !value ); - + if (!mResource->isSyncable()) { + + mPersistentReadOnly = value; + + if (value == true) + setReadOnly( true ); + + mReadOnly->setEnabled( !value ); + } } @@ -137,3 +170,3 @@ void ConfigDialog::accept() if ( mName->text().isEmpty() ) { - KMessageBox::sorry( this, i18n( "Please enter a resource name" ) ); + KMessageBox::sorry( this, mResource->isSyncable()?i18n( "Please enter a profile name" ):i18n( "Please enter a resource name" ) ); return; @@ -142,3 +175,4 @@ void ConfigDialog::accept() mResource->setResourceName( mName->text() ); - mResource->setReadOnly( mReadOnly->isChecked() ); + if (!mResource->isSyncable()) + mResource->setReadOnly( mReadOnly->isChecked() ); @@ -150,2 +184,9 @@ void ConfigDialog::accept() + if ( mSyncWidget ) { + // First save generic information + // Also save setting of specific resource type + mSyncWidget->saveSettings( mResource ); + } + + KDialog::accept(); |