#include "qt_helpers.h"
#include "Buffer.h"
+#include "BufferParams.h"
#include "Format.h"
#include "FuncRequest.h"
-#include "support/qstring_helpers.h"
#include "support/filetools.h"
+#include "support/gettext.h"
+#include "support/qstring_helpers.h"
+
+#include <algorithm>
#include <QLineEdit>
#include <QListWidget>
GuiSendTo::GuiSendTo(GuiView & lv)
- : GuiDialog(lv, "sendto", qt_("Send Document to Command"))
+ : GuiDialog(lv, "sendto", qt_("Export or Send Document"))
{
setupUi(this);
this, SLOT(changed_adaptor()));
connect(formatLW, SIGNAL(itemSelectionChanged()),
this, SLOT(changed_adaptor()));
- connect(commandCO, SIGNAL(textChanged(QString)),
+ connect(commandCO, SIGNAL(editTextChanged(QString)),
this, SLOT(changed_adaptor()));
bc().setPolicy(ButtonPolicy::OkApplyCancelPolicy);
}
+namespace {
+bool formatSorter(Format const * lhs, Format const * rhs) {
+ return _(lhs->prettyname()) < _(rhs->prettyname());
+}
+} // end namespace
+
+
void GuiSendTo::updateContents()
{
- all_formats_ = buffer().exportableFormats(false);
+ all_formats_ = buffer().params().exportableFormats(false);
+
+ sort(all_formats_.begin(), all_formats_.end(), formatSorter);
// Save the current selection if any
Format const * current_format = 0;
return false;
return (formatLW->selectedItems().size() > 0
- && formatLW->count() != 0
- && !commandCO->currentText().isEmpty());
+ && formatLW->count() != 0);
}
void GuiSendTo::dispatchParams()
{
- if (command_.isEmpty() || !format_ || format_->name().empty())
+ if (!format_ || format_->name().empty())
return;
- string const data = format_->name() + " " + fromqstr(command_);
- dispatch(FuncRequest(getLfun(), data));
+ string data = format_->name();
+ if (!command_.isEmpty())
+ data += " " + fromqstr(command_);
+
+ FuncCode const lfun = command_.isEmpty() ?
+ LFUN_BUFFER_EXPORT : getLfun();
+
+ dispatch(FuncRequest(lfun, data));
}
Dialog * createGuiSendTo(GuiView & lv) { return new GuiSendTo(lv); }