diff --git a/akonadiconsole/browserwidget.cpp b/akonadiconsole/browserwidget.cpp index 416b9f300ed710d1ee81f9fe1de92fe92541b875..b81d86c12c3aa19f80013e84af57105e5a68198b 100644 --- a/akonadiconsole/browserwidget.cpp +++ b/akonadiconsole/browserwidget.cpp @@ -195,6 +195,7 @@ BrowserWidget::BrowserWidget(KXmlGuiWindow *xmlGuiWindow, QWidget * parent) : connect( contentUi.saveButton, SIGNAL(clicked()), SLOT(save()) ); splitter3->addWidget( contentViewParent ); + connect( contentUi.attrAddButton, SIGNAL(clicked()), SLOT(addAttribute()) ); connect( contentUi.attrDeleteButton, SIGNAL(clicked()), SLOT(delAttribute()) ); @@ -220,6 +221,8 @@ BrowserWidget::BrowserWidget(KXmlGuiWindow *xmlGuiWindow, QWidget * parent) : m_stateMaintainer->setView( mCollectionView ); m_stateMaintainer->restoreState(); + connect(contentUi.flags, SIGNAL(changed()), this, SLOT(slotFlagsChanged())); + connect(contentUi.tags, SIGNAL(changed()), this, SLOT(slotTagsChanged())); } BrowserWidget::~BrowserWidget() @@ -227,6 +230,17 @@ BrowserWidget::~BrowserWidget() m_stateMaintainer->saveState(); } +void BrowserWidget::slotFlagsChanged() +{ + contentUi.saveButton->setEnabled( true ); +} + +void BrowserWidget::slotTagsChanged() +{ + contentUi.saveButton->setEnabled( true ); +} + + void BrowserWidget::clear() { contentUi.stack->setCurrentWidget( contentUi.unsupportedTypePage ); @@ -240,6 +254,7 @@ void BrowserWidget::clear() contentUi.flags->clear(); contentUi.tags->clear(); contentUi.attrView->setModel( 0 ); + contentUi.saveButton->setEnabled( false ); } void BrowserWidget::itemActivated(const QModelIndex & index) @@ -394,6 +409,7 @@ void BrowserWidget::saveResult(KJob * job) if ( job->error() ) { KMessageBox::error( this, i18n( "Failed to save changes: %1", job->errorString() ) ); } + contentUi.saveButton->setEnabled( false ); } void BrowserWidget::addAttribute() diff --git a/akonadiconsole/browserwidget.h b/akonadiconsole/browserwidget.h index 45f6fe51edd0a8311ba8bb35bd608e4fb34116ed..de8e000b28a5a29011df11a484fab685f0ecb835 100644 --- a/akonadiconsole/browserwidget.h +++ b/akonadiconsole/browserwidget.h @@ -75,6 +75,8 @@ class BrowserWidget: public QWidget void dumpToXmlResult( KJob *job ); void clear(); void updateItemFetchScope(); + void slotFlagsChanged(); + void slotTagsChanged(); private: Akonadi::Collection currentCollection() const;