summaryrefslogtreecommitdiffabout
path: root/microkde
Unidiff
Diffstat (limited to 'microkde') (more/less context) (ignore whitespace changes)
-rw-r--r--microkde/kresources/configdialog.cpp5
-rw-r--r--microkde/kresources/configdialog.h1
-rw-r--r--microkde/kresources/resource.cpp14
-rw-r--r--microkde/kresources/resource.h2
4 files changed, 20 insertions, 2 deletions
diff --git a/microkde/kresources/configdialog.cpp b/microkde/kresources/configdialog.cpp
index f8240f9..030b547 100644
--- a/microkde/kresources/configdialog.cpp
+++ b/microkde/kresources/configdialog.cpp
@@ -66,26 +66,30 @@ ConfigDialog::ConfigDialog( QWidget *parent, const QString& resourceFamily,
66 QVBoxLayout *mainLayout = new QVBoxLayout( main, 0, spacingHint() ); 66 QVBoxLayout *mainLayout = new QVBoxLayout( main, 0, spacingHint() );
67 67
68 68
69 QGroupBox *generalGroupBox = new QGroupBox( 2, Qt::Horizontal, main ); 69 QGroupBox *generalGroupBox = new QGroupBox( 2, Qt::Horizontal, main );
70 generalGroupBox->layout()->setSpacing( spacingHint() ); 70 generalGroupBox->layout()->setSpacing( spacingHint() );
71 generalGroupBox->setTitle( i18n( "General Settings" ) ); 71 generalGroupBox->setTitle( i18n( "General Settings" ) );
72 72
73 new QLabel( mResource->isSyncable()?i18n( "Profile Name:" ):i18n( "Name:" ), generalGroupBox ); 73 new QLabel( mResource->isSyncable()?i18n( "Profile Name:" ):i18n( "Name:" ), generalGroupBox );
74 74
75 mName = new KLineEdit( generalGroupBox ); 75 mName = new KLineEdit( generalGroupBox );
76 76
77 if (!mResource->isSyncable()) { 77 if (!mResource->isSyncable()) {
78 new QLabel("", generalGroupBox );
78 mReadOnly = new QCheckBox( i18n( "Read-only" ), generalGroupBox ); 79 mReadOnly = new QCheckBox( i18n( "Read-only" ), generalGroupBox );
79 mReadOnly->setChecked( mResource->readOnly() ); 80 mReadOnly->setChecked( mResource->readOnly() );
81 new QLabel("", generalGroupBox );
82 mIncludeInSync = new QCheckBox( i18n( "Include in sync" ), generalGroupBox );
83 mIncludeInSync->setChecked( mResource->includeInSync() );
80 } 84 }
81 85
82 mName->setText( mResource->resourceName() ); 86 mName->setText( mResource->resourceName() );
83 87
84 mainLayout->addWidget( generalGroupBox ); 88 mainLayout->addWidget( generalGroupBox );
85 89
86 QGroupBox *resourceGroupBox = new QGroupBox( 2, Qt::Horizontal, main ); 90 QGroupBox *resourceGroupBox = new QGroupBox( 2, Qt::Horizontal, main );
87 resourceGroupBox->layout()->setSpacing( spacingHint()); 91 resourceGroupBox->layout()->setSpacing( spacingHint());
88 resourceGroupBox->setTitle( i18n( "%1 Resource Settings" ) 92 resourceGroupBox->setTitle( i18n( "%1 Resource Settings" )
89 .arg( factory->typeName( resource->type() ) ) ); 93 .arg( factory->typeName( resource->type() ) ) );
90 mainLayout->addWidget( resourceGroupBox ); 94 mainLayout->addWidget( resourceGroupBox );
91 95
@@ -211,24 +215,25 @@ void ConfigDialog::setPersistentReadOnly( bool value )
211} 215}
212 216
213void ConfigDialog::accept() 217void ConfigDialog::accept()
214{ 218{
215 if ( mName->text().isEmpty() ) { 219 if ( mName->text().isEmpty() ) {
216 KMessageBox::sorry( this, mResource->isSyncable()?i18n( "Please enter a profile name" ):i18n( "Please enter a resource name" ) ); 220 KMessageBox::sorry( this, mResource->isSyncable()?i18n( "Please enter a profile name" ):i18n( "Please enter a resource name" ) );
217 return; 221 return;
218 } 222 }
219 223
220 mResource->setResourceName( mName->text() ); 224 mResource->setResourceName( mName->text() );
221 if (!mResource->isSyncable()) 225 if (!mResource->isSyncable())
222 mResource->setReadOnly( mReadOnly->isChecked() ); 226 mResource->setReadOnly( mReadOnly->isChecked() );
227 mResource->setIncludeInSync( mIncludeInSync->isChecked() );
223 228
224 if ( mConfigWidget ) { 229 if ( mConfigWidget ) {
225 // First save generic information 230 // First save generic information
226 // Also save setting of specific resource type 231 // Also save setting of specific resource type
227 mConfigWidget->saveSettings( mResource ); 232 mConfigWidget->saveSettings( mResource );
228 } 233 }
229 234
230 if ( mSyncWidget_Settings ) 235 if ( mSyncWidget_Settings )
231 mSyncWidget_Settings->saveSettings( mResource ); 236 mSyncWidget_Settings->saveSettings( mResource );
232 if ( mSyncWidget_Conflicts ) 237 if ( mSyncWidget_Conflicts )
233 mSyncWidget_Conflicts->saveSettings( mResource ); 238 mSyncWidget_Conflicts->saveSettings( mResource );
234 if ( mSyncWidget_Remote ) 239 if ( mSyncWidget_Remote )
diff --git a/microkde/kresources/configdialog.h b/microkde/kresources/configdialog.h
index 63cd4e9..ed3ecab 100644
--- a/microkde/kresources/configdialog.h
+++ b/microkde/kresources/configdialog.h
@@ -49,19 +49,20 @@ class ConfigDialog : public KDialogBase
49 void setPersistentReadOnly( bool value ); 49 void setPersistentReadOnly( bool value );
50 void slotNameChanged( const QString &text); 50 void slotNameChanged( const QString &text);
51 51
52 private: 52 private:
53 ConfigWidget *mConfigWidget; 53 ConfigWidget *mConfigWidget;
54 SyncWidget *mSyncWidget_Settings; 54 SyncWidget *mSyncWidget_Settings;
55 SyncWidget *mSyncWidget_Conflicts; 55 SyncWidget *mSyncWidget_Conflicts;
56 SyncWidget *mSyncWidget_Remote; 56 SyncWidget *mSyncWidget_Remote;
57 Resource* mResource; 57 Resource* mResource;
58 58
59 KLineEdit *mName; 59 KLineEdit *mName;
60 QCheckBox *mReadOnly; 60 QCheckBox *mReadOnly;
61 QCheckBox *mIncludeInSync;
61//US add a persistent readonly flag. We need that for opie and qtopia addressbooks. 62//US add a persistent readonly flag. We need that for opie and qtopia addressbooks.
62 bool mPersistentReadOnly; 63 bool mPersistentReadOnly;
63}; 64};
64 65
65} 66}
66 67
67#endif 68#endif
diff --git a/microkde/kresources/resource.cpp b/microkde/kresources/resource.cpp
index 4f69540..f79bcd0 100644
--- a/microkde/kresources/resource.cpp
+++ b/microkde/kresources/resource.cpp
@@ -30,72 +30,74 @@
30using namespace KRES; 30using namespace KRES;
31 31
32class Resource::ResourcePrivate 32class Resource::ResourcePrivate
33{ 33{
34 public: 34 public:
35#ifdef QT_THREAD_SUPPORT 35#ifdef QT_THREAD_SUPPORT
36 QMutex mMutex; 36 QMutex mMutex;
37#endif 37#endif
38 int mOpenCount; 38 int mOpenCount;
39 QString mType; 39 QString mType;
40 QString mIdentifier; 40 QString mIdentifier;
41 bool mReadOnly; 41 bool mReadOnly;
42 bool mIncludeInSync;
42 QString mName; 43 QString mName;
43 bool mActive; 44 bool mActive;
44 bool mIsOpen; 45 bool mIsOpen;
45}; 46};
46 47
47Resource::Resource( const KConfig* config ) 48Resource::Resource( const KConfig* config )
48 : QObject( 0, "" ), d( new ResourcePrivate ) 49 : QObject( 0, "" ), d( new ResourcePrivate )
49{ 50{
50 d->mOpenCount = 0; 51 d->mOpenCount = 0;
51 d->mIsOpen = false; 52 d->mIsOpen = false;
52 53
53 //US compiler claimed that const discards qualifier 54 //US compiler claimed that const discards qualifier
54 KConfig* cfg = (KConfig*)config; 55 KConfig* cfg = (KConfig*)config;
55 if ( cfg ) { 56 if ( cfg ) {
56#ifdef _WIN32_ 57#ifdef _WIN32_
57 // we use plugins on win32. the group is stored in a static variable 58 // we use plugins on win32. the group is stored in a static variable
58 // such that group info not available on win32 plugins 59 // such that group info not available on win32 plugins
59 // to fix that, it would be a looooot of work 60 // to fix that, it would be a looooot of work
60 if ( !cfg->tempGroup().isEmpty() ) 61 if ( !cfg->tempGroup().isEmpty() )
61 cfg->setGroup( cfg->tempGroup() ); 62 cfg->setGroup( cfg->tempGroup() );
62#endif 63#endif
63 d->mType = cfg->readEntry( "ResourceType" ); 64 d->mType = cfg->readEntry( "ResourceType" );
64 d->mName = cfg->readEntry( "ResourceName" ); 65 d->mName = cfg->readEntry( "ResourceName" );
65 d->mReadOnly = cfg->readBoolEntry( "ResourceIsReadOnly", false ); 66 d->mReadOnly = cfg->readBoolEntry( "ResourceIsReadOnly", false );
67 d->mIncludeInSync = cfg->readBoolEntry( "ResourceIncludeInSync", true );;
66 d->mActive = cfg->readBoolEntry( "ResourceIsActive", true ); 68 d->mActive = cfg->readBoolEntry( "ResourceIsActive", true );
67 d->mIdentifier = cfg->readEntry( "ResourceIdentifier" ); 69 d->mIdentifier = cfg->readEntry( "ResourceIdentifier" );
68 } else { 70 } else {
69 d->mType = "type"; 71 d->mType = "type";
70 d->mName = "resource-name"; 72 d->mName = "resource-name";
71 d->mReadOnly = false; 73 d->mReadOnly = false;
74 d->mIncludeInSync = true;
72 d->mActive = true; 75 d->mActive = true;
73 d->mIdentifier = KApplication::randomString( 10 ); 76 d->mIdentifier = KApplication::randomString( 10 );
74 } 77 }
75} 78}
76 79
77Resource::~Resource() 80Resource::~Resource()
78{ 81{
79 delete d; 82 delete d;
80 d = 0; 83 d = 0;
81} 84}
82 85
83void Resource::writeConfig( KConfig* config ) 86void Resource::writeConfig( KConfig* config )
84{ 87{
85
86
87 config->writeEntry( "ResourceType", d->mType ); 88 config->writeEntry( "ResourceType", d->mType );
88 config->writeEntry( "ResourceName", d->mName ); 89 config->writeEntry( "ResourceName", d->mName );
89 config->writeEntry( "ResourceIsReadOnly", d->mReadOnly ); 90 config->writeEntry( "ResourceIsReadOnly", d->mReadOnly );
91 config->writeEntry( "ResourceIncludeInSync", d->mIncludeInSync );
90 config->writeEntry( "ResourceIsActive", d->mActive ); 92 config->writeEntry( "ResourceIsActive", d->mActive );
91 config->writeEntry( "ResourceIdentifier", d->mIdentifier ); 93 config->writeEntry( "ResourceIdentifier", d->mIdentifier );
92} 94}
93 95
94bool Resource::open() 96bool Resource::open()
95{ 97{
96 d->mIsOpen = true; 98 d->mIsOpen = true;
97#ifdef QT_THREAD_SUPPORT 99#ifdef QT_THREAD_SUPPORT
98 QMutexLocker guard( &(d->mMutex) ); 100 QMutexLocker guard( &(d->mMutex) );
99#endif 101#endif
100 if ( !d->mOpenCount ) { 102 if ( !d->mOpenCount ) {
101 kdDebug(5650) << "Opening resource " << resourceName() << endl; 103 kdDebug(5650) << "Opening resource " << resourceName() << endl;
@@ -140,24 +142,32 @@ QString Resource::identifier() const
140} 142}
141 143
142void Resource::setType( const QString& type ) 144void Resource::setType( const QString& type )
143{ 145{
144 d->mType = type; 146 d->mType = type;
145} 147}
146 148
147QString Resource::type() const 149QString Resource::type() const
148{ 150{
149 return d->mType; 151 return d->mType;
150} 152}
151 153
154void Resource::setIncludeInSync( bool value )
155{
156 d->mIncludeInSync = value;
157}
158bool Resource::includeInSync() const
159{
160 return d->mIncludeInSync;
161}
152void Resource::setReadOnly( bool value ) 162void Resource::setReadOnly( bool value )
153{ 163{
154 d->mReadOnly = value; 164 d->mReadOnly = value;
155} 165}
156 166
157bool Resource::readOnly() const 167bool Resource::readOnly() const
158{ 168{
159 return d->mReadOnly; 169 return d->mReadOnly;
160} 170}
161 171
162void Resource::setResourceName( const QString &name ) 172void Resource::setResourceName( const QString &name )
163{ 173{
diff --git a/microkde/kresources/resource.h b/microkde/kresources/resource.h
index 580b5d1..70b5613 100644
--- a/microkde/kresources/resource.h
+++ b/microkde/kresources/resource.h
@@ -301,24 +301,26 @@ class Resource : public QObject
301 301
302 /** 302 /**
303 * Mark the resource as read-only. You can override this method, 303 * Mark the resource as read-only. You can override this method,
304 * but also remember to call Resource::setReadOnly(). 304 * but also remember to call Resource::setReadOnly().
305 */ 305 */
306 virtual void setReadOnly( bool value ); 306 virtual void setReadOnly( bool value );
307 307
308 /** 308 /**
309 * Returns, if the resource is read-only. 309 * Returns, if the resource is read-only.
310 */ 310 */
311 virtual bool readOnly() const; 311 virtual bool readOnly() const;
312 312
313 void setIncludeInSync( bool value );
314 bool includeInSync() const;
313 /** 315 /**
314 * Set the name of resource.You can override this method, 316 * Set the name of resource.You can override this method,
315 * but also remember to call Resource::setResourceName(). 317 * but also remember to call Resource::setResourceName().
316 */ 318 */
317 virtual void setResourceName( const QString &name ); 319 virtual void setResourceName( const QString &name );
318 320
319 /** 321 /**
320 * Returns the name of resource. 322 * Returns the name of resource.
321 */ 323 */
322 virtual QString resourceName() const; 324 virtual QString resourceName() const;
323 325
324 326