summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
e2d5893)
-void ControlEmbeddedFiles::setEmbed(EmbeddedFile & item, bool embed)
+void ControlEmbeddedFiles::setEmbed(EmbeddedFile & item, bool embed, bool update)
- // FIXME: updateFromExternalFile() or extract() may fail...
- if (embed)
- item.updateFromExternalFile(&buffer());
- else
- item.extract(&buffer());
+ if (update) {
+ if (embed)
+ item.updateFromExternalFile(&buffer());
+ else
+ item.extract(&buffer());
+ }
///
void view(EmbeddedFile const & item);
///
///
void view(EmbeddedFile const & item);
///
- void setEmbed(EmbeddedFile & item, bool embed);
+ void setEmbed(EmbeddedFile & item, bool embed, bool update);
///
docstring const browseFile();
///
///
docstring const browseFile();
///
if (item->checkState() == Qt::Checked) {
if (files[filesLW->row(item)].embedded())
return;
if (item->checkState() == Qt::Checked) {
if (files[filesLW->row(item)].embedded())
return;
- controller_.setEmbed(files[filesLW->row(item)], true);
+ // this should not be needed after EmbeddedFiles are updated correctly.
+ files.update();
+ controller_.setEmbed(files[filesLW->row(item)], true, files.enabled());
controller_.dispatchMessage("Embed file " + fromqstr(item->text()));
} else {
if (!files[filesLW->row(item)].embedded())
return;
controller_.dispatchMessage("Embed file " + fromqstr(item->text()));
} else {
if (!files[filesLW->row(item)].embedded())
return;
- controller_.setEmbed(files[filesLW->row(item)], false);
+ // this should not be needed after EmbeddedFiles are updated correctly.
+ files.update();
+ controller_.setEmbed(files[filesLW->row(item)], false, files.enabled());
controller_.dispatchMessage("Stop embedding file " + fromqstr(item->text()));
}
}
controller_.dispatchMessage("Stop embedding file " + fromqstr(item->text()));
}
}
void GuiEmbeddedFilesDialog::on_selectPB_clicked()
{
EmbeddedFiles & files = controller_.embeddedFiles();
void GuiEmbeddedFilesDialog::on_selectPB_clicked()
{
EmbeddedFiles & files = controller_.embeddedFiles();
+ // this should not be needed after EmbeddedFiles are updated correctly.
+ files.update();
QList<QListWidgetItem *> selection = filesLW->selectedItems();
for (QList<QListWidgetItem*>::iterator it = selection.begin();
it != selection.end(); ++it) {
(*it)->setCheckState(Qt::Checked);
QList<QListWidgetItem *> selection = filesLW->selectedItems();
for (QList<QListWidgetItem*>::iterator it = selection.begin();
it != selection.end(); ++it) {
(*it)->setCheckState(Qt::Checked);
- controller_.setEmbed(files[filesLW->row(*it)], true);
+ controller_.setEmbed(files[filesLW->row(*it)], true, files.enabled());
}
controller_.dispatchMessage("Embedding files");
}
}
controller_.dispatchMessage("Embedding files");
}
void GuiEmbeddedFilesDialog::on_unselectPB_clicked()
{
EmbeddedFiles & files = controller_.embeddedFiles();
void GuiEmbeddedFilesDialog::on_unselectPB_clicked()
{
EmbeddedFiles & files = controller_.embeddedFiles();
+ // this should not be needed after EmbeddedFiles are updated correctly.
+ files.update();
QList<QListWidgetItem *> selection = filesLW->selectedItems();
for (QList<QListWidgetItem*>::iterator it = selection.begin();
it != selection.end(); ++it) {
(*it)->setCheckState(Qt::Checked);
QList<QListWidgetItem *> selection = filesLW->selectedItems();
for (QList<QListWidgetItem*>::iterator it = selection.begin();
it != selection.end(); ++it) {
(*it)->setCheckState(Qt::Checked);
- controller_.setEmbed(files[filesLW->row(*it)], false);
+ controller_.setEmbed(files[filesLW->row(*it)], false, files.enabled());
}
controller_.dispatchMessage("Stop embedding files");
}
}
controller_.dispatchMessage("Stop embedding files");
}