#include "GuiEmbeddedFiles.h"
#include "debug.h"
-#include "support/convert.h"
-using std::string;
namespace lyx {
-
namespace frontend {
-
-GuiEmbeddedFilesDialog::GuiEmbeddedFilesDialog(ControlEmbeddedFiles & controller)
+GuiEmbeddedFilesDialog::GuiEmbeddedFilesDialog
+ (ControlEmbeddedFiles & controller)
: controller_(controller)
{
setupUi(this);
- setWindowTitle(qt_("Embedded Files"));
-
+ setWindowTitle("LyX: " + qt_("Embedded Files"));
updateView();
}
if (item->checkState() == Qt::Checked) {
if (files[filesLW->row(item)].embedded())
return;
- controller_.setEmbed(files[filesLW->row(item)], true);
- controller_.dispatchMessage("Embed file " + fromqstr(item->text()));
+ // this should not be needed after EmbeddedFiles are updated correctly.
+ files.update();
+ controller_.setEmbed(files[filesLW->row(item)], true, files.enabled());
} else {
if (!files[filesLW->row(item)].embedded())
return;
- controller_.setEmbed(files[filesLW->row(item)], false);
- controller_.dispatchMessage("Stop embedding file " + fromqstr(item->text()));
+ // this should not be needed after EmbeddedFiles are updated correctly.
+ files.update();
+ controller_.setEmbed(files[filesLW->row(item)], false, files.enabled());
}
}
k = (k + 1) % files[idx].refCount();
item->setData(Qt::UserRole, k);
// update label
- string label = files[idx].inzipName() + " ("
- + convert<string>(k + 1) + "/"
- + convert<string>(files[idx].refCount()) + ")";
- item->setText(toqstr(label));
+ QString label = toqstr(files[idx].inzipName())
+ + QString(" (%1/%2)").arg(k + 1).arg(files[idx].refCount());
+ item->setText(label);
} else
controller_.goTo(files[idx], 0);
}
void GuiEmbeddedFilesDialog::updateView()
{
filesLW->clear();
- //
EmbeddedFiles const & files = controller_.embeddedFiles();
EmbeddedFiles::EmbeddedFileList::const_iterator it = files.begin();
EmbeddedFiles::EmbeddedFileList::const_iterator it_end = files.end();
for (; it != it_end; ++it) {
- string label = it->inzipName();
+ QString label = toqstr(it->inzipName());
if (it->refCount() > 1)
- label += " (1/" + convert<string>(it->refCount()) + ")";
- QListWidgetItem * item = new QListWidgetItem(toqstr(label));
+ label += " (1/" + QString::number(it->refCount()) + ")";
+ QListWidgetItem * item = new QListWidgetItem(label);
Qt::ItemFlags flag = Qt::ItemIsUserCheckable | Qt::ItemIsSelectable;
if (it->valid())
flag |= Qt::ItemIsEnabled;
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");
}
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");
}