diff --git a/src/EditDialog.cpp b/src/EditDialog.cpp index 9fa06932..75e24e9f 100644 --- a/src/EditDialog.cpp +++ b/src/EditDialog.cpp @@ -38,6 +38,9 @@ EditDialog::EditDialog(QWidget* parent) editorFont.setPointSize(PreferencesDialog::getSettingsValue("databrowser", "fontsize").toInt()); ui->editorText->setFont(editorFont); hexEdit->setFont(editorFont); + + connect(ui->editorText, SIGNAL(textChanged()), this, SLOT(updateApplyButton())); + connect(hexEdit, SIGNAL(dataChanged()), this, SLOT(updateApplyButton())); } EditDialog::~EditDialog() @@ -52,6 +55,8 @@ void EditDialog::setCurrentIndex(const QModelIndex& idx) QByteArray data = idx.data(Qt::EditRole).toByteArray(); loadData(data); updateCellInfo(data); + + ui->buttonApply->setDisabled(true); } void EditDialog::showEvent(QShowEvent*) @@ -314,6 +319,12 @@ void EditDialog::setNull() ui->editorText->setFocus(); } +void EditDialog::updateApplyButton() +{ + if (!isReadOnly) + ui->buttonApply->setEnabled(true); +} + void EditDialog::accept() { if(!currentIndex.isValid()) diff --git a/src/EditDialog.h b/src/EditDialog.h index 52ea41a9..b8f3ea35 100644 --- a/src/EditDialog.h +++ b/src/EditDialog.h @@ -32,6 +32,7 @@ private slots: virtual void importData(); virtual void exportData(); virtual void setNull(); + void updateApplyButton(); virtual void accept(); virtual int checkDataType(const QByteArray& data); virtual void loadData(const QByteArray& data);