#include "TextClassList.h"
#include "Spacing.h"
+#include "insets/InsetListingsParams.h"
#include "controllers/ControlDocument.h"
#include "support/lstrings.h"
this, SLOT(enableSkip(bool)));
connect(textLayoutModule->twoColumnCB, SIGNAL(clicked()),
this, SLOT(change_adaptor()));
+ connect(textLayoutModule->listingsED, SIGNAL(textChanged()),
+ this, SLOT(change_adaptor()));
+ connect(textLayoutModule->listingsED, SIGNAL(textChanged()),
+ this, SLOT(validate_listings_params()));
+ textLayoutModule->listingsTB->setPlainText("Input listings parameters below. Enter ? for a list of parameters.");
textLayoutModule->lspacingLE->setValidator(new QDoubleValidator(
textLayoutModule->lspacingLE));
textLayoutModule->skipLE->setValidator(unsignedLengthValidator(
}
+void QDocumentDialog::validate_listings_params()
+{
+ static bool isOK = true;
+ try {
+ InsetListingsParams par(fromqstr(textLayoutModule->listingsED->toPlainText()));
+ if (!isOK) {
+ isOK = true;
+ // listingsTB->setTextColor("black");
+ textLayoutModule->listingsTB->setPlainText("Input listings parameters below. Enter ? for a list of parameters.");
+ okPB->setEnabled(true);
+ }
+ } catch (invalidParam & e) {
+ isOK = false;
+ // listingsTB->setTextColor("red");
+ textLayoutModule->listingsTB->setPlainText(e.what());
+ okPB->setEnabled(false);
+ }
+}
+
+
void QDocumentDialog::closeEvent(QCloseEvent * e)
{
form_->slotWMHide();
else
params.columns = 1;
+ // text should have passed validation
+ params.listings_params = InsetListingsParams(fromqstr(textLayoutModule->listingsED->toPlainText())).params();
+
if (textLayoutModule->indentRB->isChecked())
params.paragraph_separation = BufferParams::PARSEP_INDENT;
else
textLayoutModule->twoColumnCB->setChecked(
params.columns == 2);
+
+ // break listings_params to multiple lines
+ string lstparams = InsetListingsParams(params.listings_params).separatedParams();
+ textLayoutModule->listingsED->setText(toqstr(lstparams));
if (!params.options.empty()) {
latexModule->optionsLE->setText(