diff --git a/src/gui/EditWidget.cpp b/src/gui/EditWidget.cpp index 831db54b4..b3d9842be 100644 --- a/src/gui/EditWidget.cpp +++ b/src/gui/EditWidget.cpp @@ -23,6 +23,7 @@ EditWidget::EditWidget(QWidget* parent) , m_ui(new Ui::EditWidget()) { m_ui->setupUi(this); + setReadOnly(false); QFont headerLabelFont = m_ui->headerLabel->font(); headerLabelFont.setBold(true); @@ -68,3 +69,20 @@ QLabel* EditWidget::headlineLabel() { return m_ui->headerLabel; } + +void EditWidget::setReadOnly(bool readOnly) +{ + m_readOnly = readOnly; + + if (readOnly) { + m_ui->buttonBox->setStandardButtons(QDialogButtonBox::Close); + } + else { + m_ui->buttonBox->setStandardButtons(QDialogButtonBox::Ok | QDialogButtonBox::Cancel); + } +} + +bool EditWidget::readOnly() const +{ + return m_readOnly; +} diff --git a/src/gui/EditWidget.h b/src/gui/EditWidget.h index c99acfb1b..d27abe9ba 100644 --- a/src/gui/EditWidget.h +++ b/src/gui/EditWidget.h @@ -41,6 +41,8 @@ public: void setCurrentRow(int index); void setHeadline(const QString& text); QLabel* headlineLabel(); + void setReadOnly(bool readOnly); + bool readOnly() const; Q_SIGNALS: void accepted(); @@ -48,6 +50,7 @@ Q_SIGNALS: private: const QScopedPointer m_ui; + bool m_readOnly; Q_DISABLE_COPY(EditWidget) }; diff --git a/src/gui/entry/EditEntryWidget.cpp b/src/gui/entry/EditEntryWidget.cpp index 2ce8a8b17..beeda2ab8 100644 --- a/src/gui/entry/EditEntryWidget.cpp +++ b/src/gui/entry/EditEntryWidget.cpp @@ -277,6 +277,7 @@ void EditEntryWidget::loadEntry(Entry* entry, bool create, bool history, const Q } setForms(entry); + setReadOnly(m_history); setCurrentRow(0); setRowHidden(m_historyWidget, m_history);