]> git.lyx.org Git - lyx.git/blobdiff - src/frontends/qt4/GuiEmbeddedFiles.cpp
Embedding: for safety, update before changing embedding status
[lyx.git] / src / frontends / qt4 / GuiEmbeddedFiles.cpp
index fbe1b1eab5d17c6ec5fb0f7612fdceaa9717d04c..be720a7023577a81f7753b3742a4f1cd4c95ecbf 100644 (file)
@@ -37,12 +37,16 @@ void GuiEmbeddedFilesDialog::on_filesLW_itemChanged(QListWidgetItem* item)
        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_.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()));
        }
 }
@@ -138,11 +142,13 @@ void GuiEmbeddedFilesDialog::updateView()
 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);
-               controller_.setEmbed(files[filesLW->row(*it)], true);
+               controller_.setEmbed(files[filesLW->row(*it)], true, files.enabled());
        }
        controller_.dispatchMessage("Embedding files");
 }
@@ -151,11 +157,13 @@ void GuiEmbeddedFilesDialog::on_selectPB_clicked()
 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);
-               controller_.setEmbed(files[filesLW->row(*it)], false);
+               controller_.setEmbed(files[filesLW->row(*it)], false, files.enabled());
        }
        controller_.dispatchMessage("Stop embedding files");
 }