InsetListings: use float for placements because of the handling differences between float and floatplacement

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18508 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
Bo Peng 2007-05-25 14:38:22 +00:00
parent 5e6391a04a
commit 5b731aa6a5
2 changed files with 8 additions and 14 deletions

View File

@ -208,7 +208,7 @@ QListingsDialog::QListingsDialog(QListings * form)
numberStepLE->setValidator(new QIntValidator(0, 1000000, this)); numberStepLE->setValidator(new QIntValidator(0, 1000000, this));
firstlineLE->setValidator(new QIntValidator(0, 1000000, this)); firstlineLE->setValidator(new QIntValidator(0, 1000000, this));
lastlineLE->setValidator(new QIntValidator(0, 1000000, this)); lastlineLE->setValidator(new QIntValidator(0, 1000000, this));
placementLE->setValidator(new QRegExpValidator(QRegExp("[tbph]*"), this)); placementLE->setValidator(new QRegExpValidator(QRegExp("[\*tbph]*"), this));
} }
@ -287,10 +287,11 @@ string QListingsDialog::construct_params()
else else
par.addParam("language", "{[" + dialect + "]" + language + "}"); par.addParam("language", "{[" + dialect + "]" + language + "}");
} }
// this dialog uses float=placement instead of float,floatplacement=placement
// because float accepts *tbph and floatplacement accepts bph.
// our placement textedit is actually for the float parameter
if (float_) if (float_)
par.addParam("float", ""); par.addParam("float", placement);
if (!placement.empty())
par.addParam("floatplacement", placement);
if (numberSide != "none") if (numberSide != "none")
par.addParam("numbers", numberSide); par.addParam("numbers", numberSide);
if (numberfontsize != "default" && numberSide != "none") if (numberfontsize != "default" && numberSide != "none")
@ -505,13 +506,6 @@ void QListings::update_contents()
dialog_->languageCO->setEnabled(in_gui); dialog_->languageCO->setEnabled(in_gui);
dialog_->dialectCO->setEnabled( dialog_->dialectCO->setEnabled(
in_gui && dialog_->dialectCO->count() > 1); in_gui && dialog_->dialectCO->count() > 1);
} else if (prefixIs(*it, "floatplacement=")) {
dialog_->floatCB->setChecked(true);
dialog_->placementLE->setEnabled(true);
dialog_->placementLE->setText(
toqstr(plainParam(it->substr(15))));
dialog_->inlineCB->setChecked(false);
*it = "";
} else if (prefixIs(*it, "float")) { } else if (prefixIs(*it, "float")) {
dialog_->floatCB->setChecked(true); dialog_->floatCB->setChecked(true);
dialog_->inlineCB->setChecked(false); dialog_->inlineCB->setChecked(false);

View File

@ -77,7 +77,7 @@ struct listings_param_info {
// info is a \n separated string with allowed values // info is a \n separated string with allowed values
// SUBSETOF // SUBSETOF
// info is a string from which par is composed of // info is a string from which par is composed of
// (e.g. floatplacement can be one or more of tbph) // (e.g. floatplacement can be one or more of *tbph)
param_type type; param_type type;
/// parameter info, meaning depending on parameter type /// parameter info, meaning depending on parameter type
char const * info; char const * info;
@ -120,8 +120,8 @@ char const * color_hint = N_("Enter something like \\color{white}");
/// options copied from page 26 of listings manual /// options copied from page 26 of listings manual
// FIXME: add default parameters ... (which is not used now) // FIXME: add default parameters ... (which is not used now)
listings_param_info const listings_param_table[] = { listings_param_info const listings_param_table[] = {
{ "float", "false", true, SUBSETOF, "tbph", "" }, { "float", "false", true, SUBSETOF, "*tbph", "" },
{ "floatplacement", "tbp", false, SUBSETOF, "tbph", "" }, { "floatplacement", "tbp", false, SUBSETOF, "tbp", "" },
{ "aboveskip", "\\medskipamount", false, LENGTH, "", "" }, { "aboveskip", "\\medskipamount", false, LENGTH, "", "" },
{ "belowskip", "\\medskipamount", false, LENGTH, "", "" }, { "belowskip", "\\medskipamount", false, LENGTH, "", "" },
{ "lineskip", "", false, LENGTH, "", "" }, { "lineskip", "", false, LENGTH, "", "" },