static QList<ColorCode> colors()
{
QList<ColorCode> colors;
- colors << Color_none;
colors << Color_black;
colors << Color_white;
colors << Color_blue;
connect(shadowsizeED, SIGNAL(textChanged(QString)), this, SIGNAL(changed()));
connect(shadowsizeUnitsLC, SIGNAL(selectionChanged(lyx::Length::UNIT)),
this, SIGNAL(changed()));
- connect(frameColorCO, SIGNAL(highlighted(QString)), this, SIGNAL(changed()));
- connect(backgroundColorCO, SIGNAL(highlighted(QString)), this, SIGNAL(changed()));
+ connect(backgroundColorCO, SIGNAL(currentIndexChanged(int)),
+ this, SIGNAL(changed()));
heightED->setValidator(unsignedLengthValidator(heightED));
widthED->setValidator(unsignedLengthValidator(widthED));
// the background can be uncolored while the frame cannot
color_codes_ = colors();
- fillComboColor(frameColorCO, false);
+ qSort(color_codes_.begin(), color_codes_.end(), ColorSorter);
fillComboColor(backgroundColorCO, true);
+ fillComboColor(frameColorCO, false);
initDialog();
}
void GuiBox::fillComboColor(QComboBox * combo, bool const is_none)
{
+ combo->clear();
QPixmap coloritem(32, 32);
QColor color;
// frameColorCO cannot be uncolored
if (is_none)
combo->addItem(toqstr(translateIfPossible(lcolor.getGUIName(Color_none))),
toqstr(lcolor.getLaTeXName(Color_none)));
- QList<ColorCode>::const_iterator cit = color_codes_.begin() + 1;
+ QList<ColorCode>::const_iterator cit = color_codes_.begin();
for (; cit != color_codes_.end(); ++cit) {
QString const latexname = toqstr(lcolor.getLaTeXName(*cit));
QString const guiname = toqstr(translateIfPossible(lcolor.getGUIName(*cit)));
}
-void GuiBox::on_innerBoxCO_activated(int /* index */)
+void GuiBox::on_innerBoxCO_activated(int index)
{
- QString itype =
- innerBoxCO->itemData(innerBoxCO->currentIndex()).toString();
+ QString itype = innerBoxCO->itemData(index).toString();
// handle parbox and minipage the same way
bool const ibox = (itype != "none" && itype != "makebox");
if (heightCB->isChecked() && !ibox)
{
// if there is a non-black frame color the background cannot be uncolored
// therefore remove the entry "none" in this case
+ int const n = backgroundColorCO->findData("none");
if (index != frameColorCO->findData("black")) {
- int const n = backgroundColorCO->findData("none");
if (n != -1) {
if (backgroundColorCO->currentIndex() == n)
backgroundColorCO->setCurrentIndex(
backgroundColorCO->removeItem(n);
}
} else {
- if (backgroundColorCO->findData("none") == -1)
+ if (n == -1)
backgroundColorCO->insertItem(0, toqstr(translateIfPossible((lcolor.getGUIName(Color_none)))),
toqstr(lcolor.getLaTeXName(Color_none)));
}
ialignCO->setEnabled(ibox);
setSpecial(ibox);
- // halign is only allowed if a width is used
- halignCO->setEnabled(widthCB->isChecked());
+ // halign is only allowed without inner box and if a width is used and if
+ // pagebreak is not used
+ halignCO->setEnabled(!pagebreakCB->isChecked() && widthCB->isChecked()
+ && ((!ibox && type == "Boxed") || inner_type == "makebox"));
// add the entry "Stretch" if the box is \makebox or \framebox and if not already there
if ((inner_type == "makebox" || (type == "Boxed" && inner_type == "none"))
&& halignCO->count() < 4)
lengthToWidgets(shadowsizeED, shadowsizeUnitsLC,
(params.shadowsize).asString(), default_unit);
// set color
- // FIXME: Why use LaTeXName here, not LyXName? (spitz)
frameColorCO->setCurrentIndex(frameColorCO->findData(toqstr(params.framecolor)));
backgroundColorCO->setCurrentIndex(backgroundColorCO->findData(toqstr(params.backgroundcolor)));
}
params.shadowsize = Length(widgetsToLength(shadowsizeED, shadowsizeUnitsLC));
else
params.shadowsize = Length("4pt");
- // FIXME: Why use LaTeXName here, not LyXName? (spitz)
if (frameColorCO->isEnabled())
params.framecolor =
fromqstr(frameColorCO->itemData(frameColorCO->currentIndex()).toString());
widthED->setEnabled(false);
widthUnitsLC->setEnabled(false);
}
- // halign is only allowed if a width is used
- halignCO->setEnabled(widthCB->isChecked());
+ // halign is only allowed without inner box and if a width is used and if
+ // pagebreak is not used
+ halignCO->setEnabled(!pagebreakCB->isChecked() && widthCB->isChecked()
+ && ((!ibox && outer == "Boxed") || itype == "makebox"));
// add the entry "Stretch" if the box is \makebox or \framebox and if not already there
if ((itype == "makebox" || (outer == "Boxed" && itype == "none"))
&& halignCO->count() < 4)