///
bool canApply() const { return true; }
///
- virtual bool canApplyToReadOnly() const { return true; }
+ virtual bool canApplyToReadOnly() const { return false; }
///
void dispatchMessage(std::string const & msg);
///
void dispatchParams() {};
///
+ bool isReadonly();
+ ///
void setEmbedding(bool enable);
///
void goTo(EmbeddedFile const & item, int idx);
void GuiEmbeddedFilesDialog::on_filesLW_itemSelectionChanged()
{
+ if (controller_.isReadonly())
+ return;
+
QList<QListWidgetItem *> selection = filesLW->selectedItems();
if (selection.empty()) {
void GuiEmbeddedFilesDialog::updateView()
{
+ bool readOnly = controller_.isReadonly();
+ fullpathLE->setEnabled(!readOnly);
+ selectPB->setEnabled(!readOnly);
+ unselectPB->setEnabled(!readOnly);
+ addPB->setEnabled(!readOnly);
+ extractPB->setEnabled(!readOnly);
+ updatePB->setEnabled(!readOnly);
+ enableCB->setEnabled(!readOnly);
+
filesLW->clear();
EmbeddedFiles const & files = controller_.embeddedFiles();
enableCB->setCheckState(files.enabled() ? Qt::Checked : Qt::Unchecked);
if (it->refCount() > 1)
label += " (1/" + QString::number(it->refCount()) + ")";
QListWidgetItem * item = new QListWidgetItem(label);
- Qt::ItemFlags flag = Qt::ItemIsUserCheckable | Qt::ItemIsSelectable;
+ Qt::ItemFlags flag = Qt::ItemIsSelectable;
+ if (!readOnly)
+ flag |= Qt::ItemIsUserCheckable;
if (it->valid())
flag |= Qt::ItemIsEnabled;
item->setFlags(flag);