void SettingsDialog::on_chPaletteItalic_toggled(bool value)
{
	const PythonPaletteEntryType ppet = getSelectedPaletteEntryType();
	if (PPET_Unknown == ppet)
		return;
	PythonPalette* const pPalette = getCurrentPalette();
	if (!pPalette)
		return;
	if (value)
		pPalette->palette[ppet].modifiers = static_cast<FormatSpec::Modifiers>(pPalette->palette[ppet].modifiers | FormatSpec::MOD_Italic);
	else
		pPalette->palette[ppet].modifiers = static_cast<FormatSpec::Modifiers>(pPalette->palette[ppet].modifiers & ~FormatSpec::MOD_Italic);
	m_PaletteChanged = true;
	m_UI->tePalettePreview->setPalette(*pPalette);
}
Exemple #2
0
void TApp::onLevelColorStyleChanged() {
  onPaletteChanged();
  TXshLevel *level = m_currentLevel->getLevel();
  if (!level) return;
  TPalette *palette            = getCurrentPalette()->getPalette();
  TXshSimpleLevel *simpleLevel = level->getSimpleLevel();
  if (simpleLevel && simpleLevel->getPalette() == palette) {
    notifyPaletteChanged(simpleLevel);
  } else {
    TLevelSet *levelSet = getCurrentScene()->getScene()->getLevelSet();
    for (int i = 0; i < levelSet->getLevelCount(); i++) {
      if (levelSet->getLevel(i)) {
        simpleLevel = levelSet->getLevel(i)->getSimpleLevel();
        if (simpleLevel && simpleLevel->getPalette() == palette) {
          notifyPaletteChanged(simpleLevel);
        }
      }
    }
  }
}
void SettingsDialog::on_bPalettePickColor_clicked()
{
	const PythonPaletteEntryType ppet = getSelectedPaletteEntryType();
	if (PPET_Unknown == ppet)
		return;

	QColor c = m_UI->wPaletteColor->property(kPropColor.c_str()).value<QColor>();
	QColorDialog cd(c);
	if (QColorDialog::Accepted != cd.exec())
		return;

	c = cd.currentColor();

	PythonPalette* const pPalette = getCurrentPalette();
	if (!pPalette)
		return;

	pPalette->palette[ppet].color = c;
	m_UI->wPaletteColor->setStyleSheet(QString("background-color: %1;").arg(c.name()));
	m_UI->wPaletteColor->setProperty(kPropColor.c_str(), QVariant::fromValue(c));
	m_UI->tePalettePreview->setPalette(*pPalette);
	m_PaletteChanged = true;
}