X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Ffrontends%2Fqt4%2FGuiCharacter.cpp;h=53ca720d2f2ac129451d935ffa76fa5d8bd1ff3c;hb=d3312032eeea9a682840e3a6b6a762cb4adec729;hp=1dbae616d77ba1ff3329b8cfe47da9369f82d3ca;hpb=4cee524cace5f4416b67824ab06fbafcd5d027ee;p=lyx.git diff --git a/src/frontends/qt4/GuiCharacter.cpp b/src/frontends/qt4/GuiCharacter.cpp index 1dbae616d7..53ca720d2f 100644 --- a/src/frontends/qt4/GuiCharacter.cpp +++ b/src/frontends/qt4/GuiCharacter.cpp @@ -14,275 +14,161 @@ #include "GuiCharacter.h" +#include "GuiApplication.h" #include "qt_helpers.h" -#include "Color.h" + #include "Font.h" #include "Buffer.h" #include "BufferParams.h" +#include "BufferView.h" +#include "Cursor.h" #include "FuncRequest.h" #include "Language.h" -#include "Color.h" - -#include +#include "Paragraph.h" -using std::vector; -using std::string; +#include +#include +#include +#include +using namespace std; namespace lyx { namespace frontend { -static vector const getShapeData() +static QList shapeData() { - vector shape(6); - - ShapePair pr; - - pr.first = qt_("No change"); - pr.second = Font::IGNORE_SHAPE; - shape[0] = pr; - - pr.first = qt_("Upright"); - pr.second = Font::UP_SHAPE; - shape[1] = pr; - - pr.first = qt_("Italic"); - pr.second = Font::ITALIC_SHAPE; - shape[2] = pr; - - pr.first = qt_("Slanted"); - pr.second = Font::SLANTED_SHAPE; - shape[3] = pr; - - pr.first = qt_("Small Caps"); - pr.second = Font::SMALLCAPS_SHAPE; - shape[4] = pr; - - pr.first = qt_("Reset"); - pr.second = Font::INHERIT_SHAPE; - shape[5] = pr; - - return shape; + QList shapes; + shapes << ShapePair(qt_("No change"), IGNORE_SHAPE); + shapes << ShapePair(qt_("Upright"), UP_SHAPE); + shapes << ShapePair(qt_("Italic"), ITALIC_SHAPE); + shapes << ShapePair(qt_("Slanted"), SLANTED_SHAPE); + shapes << ShapePair(qt_("Small Caps"), SMALLCAPS_SHAPE); + shapes << ShapePair(qt_("Reset"), INHERIT_SHAPE); + return shapes; } -static vector const getSizeData() +static QList sizeData() { - vector size(14); - - SizePair pr; - - pr.first = qt_("No change"); - pr.second = Font::IGNORE_SIZE; - size[0] = pr; - - pr.first = qt_("Tiny"); - pr.second = Font::SIZE_TINY; - size[1] = pr; - - pr.first = qt_("Smallest"); - pr.second = Font::SIZE_SCRIPT; - size[2] = pr; - - pr.first = qt_("Smaller"); - pr.second = Font::SIZE_FOOTNOTE; - size[3] = pr; - - pr.first = qt_("Small"); - pr.second = Font::SIZE_SMALL; - size[4] = pr; - - pr.first = qt_("Normal"); - pr.second = Font::SIZE_NORMAL; - size[5] = pr; - - pr.first = qt_("Large"); - pr.second = Font::SIZE_LARGE; - size[6] = pr; - - pr.first = qt_("Larger"); - pr.second = Font::SIZE_LARGER; - size[7] = pr; - - pr.first = qt_("Largest"); - pr.second = Font::SIZE_LARGEST; - size[8] = pr; - - pr.first = qt_("Huge"); - pr.second = Font::SIZE_HUGE; - size[9] = pr; - - pr.first = qt_("Huger"); - pr.second = Font::SIZE_HUGER; - size[10] = pr; - - pr.first = qt_("Increase"); - pr.second = Font::INCREASE_SIZE; - size[11] = pr; - - pr.first = qt_("Decrease"); - pr.second = Font::DECREASE_SIZE; - size[12] = pr; - - pr.first = qt_("Reset"); - pr.second = Font::INHERIT_SIZE; - size[13] = pr; - - return size; + QList sizes; + sizes << SizePair(qt_("No change"), FONT_SIZE_IGNORE); + sizes << SizePair(qt_("Tiny"), FONT_SIZE_TINY); + sizes << SizePair(qt_("Smallest"), FONT_SIZE_SCRIPT); + sizes << SizePair(qt_("Smaller"), FONT_SIZE_FOOTNOTE); + sizes << SizePair(qt_("Small"), FONT_SIZE_SMALL); + sizes << SizePair(qt_("Normal"), FONT_SIZE_NORMAL); + sizes << SizePair(qt_("Large"), FONT_SIZE_LARGE); + sizes << SizePair(qt_("Larger"), FONT_SIZE_LARGER); + sizes << SizePair(qt_("Largest"), FONT_SIZE_LARGEST); + sizes << SizePair(qt_("Huge"), FONT_SIZE_HUGE); + sizes << SizePair(qt_("Huger"), FONT_SIZE_HUGER); + sizes << SizePair(qt_("Increase"), FONT_SIZE_INCREASE); + sizes << SizePair(qt_("Decrease"), FONT_SIZE_DECREASE); + sizes << SizePair(qt_("Reset"), FONT_SIZE_INHERIT); + return sizes; } -static vector const getBarData() +static QList barData() { - vector bar(5); - - BarPair pr; - - pr.first = qt_("No change"); - pr.second = IGNORE; - bar[0] = pr; - - pr.first = qt_("Emph"); - pr.second = EMPH_TOGGLE; - bar[1] = pr; - - pr.first = qt_("Underbar"); - pr.second = UNDERBAR_TOGGLE; - bar[2] = pr; - - pr.first = qt_("Noun"); - pr.second = NOUN_TOGGLE; - bar[3] = pr; - - pr.first = qt_("Reset"); - pr.second = INHERIT; - bar[4] = pr; - - return bar; + QList bars; + bars << BarPair(qt_("No change"), IGNORE); + bars << BarPair(qt_("Emph"), EMPH_TOGGLE); + bars << BarPair(qt_("Underbar"), UNDERBAR_TOGGLE); + bars << BarPair(qt_("Double underbar"), UULINE_TOGGLE); + bars << BarPair(qt_("Wavy underbar"), UWAVE_TOGGLE); + bars << BarPair(qt_("Strikeout"), STRIKEOUT_TOGGLE); + bars << BarPair(qt_("Noun"), NOUN_TOGGLE); + bars << BarPair(qt_("Reset"), INHERIT); + return bars; } -static vector const getColorData() +static QList colorData() { - vector color(11); - - ColorPair pr; - - pr.first = qt_("No change"); - pr.second = Color::ignore; - color[0] = pr; - - pr.first = qt_("No color"); - pr.second = Color::none; - color[1] = pr; - - pr.first = qt_("Black"); - pr.second = Color::black; - color[2] = pr; - - pr.first = qt_("White"); - pr.second = Color::white; - color[3] = pr; - - pr.first = qt_("Red"); - pr.second = Color::red; - color[4] = pr; - - pr.first = qt_("Green"); - pr.second = Color::green; - color[5] = pr; - - pr.first = qt_("Blue"); - pr.second = Color::blue; - color[6] = pr; - - pr.first = qt_("Cyan"); - pr.second = Color::cyan; - color[7] = pr; - - pr.first = qt_("Magenta"); - pr.second = Color::magenta; - color[8] = pr; - - pr.first = qt_("Yellow"); - pr.second = Color::yellow; - color[9] = pr; - - pr.first = qt_("Reset"); - pr.second = Color::inherit; - color[10] = pr; - - return color; + QList colors; + colors << ColorPair(qt_("No change"), Color_ignore); + colors << ColorPair(qt_("No color"), Color_none); + colors << ColorPair(qt_("Black"), Color_black); + colors << ColorPair(qt_("White"), Color_white); + colors << ColorPair(qt_("Red"), Color_red); + colors << ColorPair(qt_("Green"), Color_green); + colors << ColorPair(qt_("Blue"), Color_blue); + colors << ColorPair(qt_("Cyan"), Color_cyan); + colors << ColorPair(qt_("Magenta"), Color_magenta); + colors << ColorPair(qt_("Yellow"), Color_yellow); + colors << ColorPair(qt_("Reset"), Color_inherit); + return colors; } -static vector const getSeriesData() +static QList seriesData() { - vector series(4); - - SeriesPair pr; - - pr.first = qt_("No change"); - pr.second = Font::IGNORE_SERIES; - series[0] = pr; - - pr.first = qt_("Medium"); - pr.second = Font::MEDIUM_SERIES; - series[1] = pr; - - pr.first = qt_("Bold"); - pr.second = Font::BOLD_SERIES; - series[2] = pr; - - pr.first = qt_("Reset"); - pr.second = Font::INHERIT_SERIES; - series[3] = pr; - + QList series; + series << SeriesPair(qt_("No change"), IGNORE_SERIES); + series << SeriesPair(qt_("Medium"), MEDIUM_SERIES); + series << SeriesPair(qt_("Bold"), BOLD_SERIES); + series << SeriesPair(qt_("Reset"), INHERIT_SERIES); return series; } -static vector const getFamilyData() +static QList familyData() { - vector family(5); - - FamilyPair pr; - - pr.first = qt_("No change"); - pr.second = Font::IGNORE_FAMILY; - family[0] = pr; + QList families; + families << FamilyPair(qt_("No change"), IGNORE_FAMILY); + families << FamilyPair(qt_("Roman"), ROMAN_FAMILY); + families << FamilyPair(qt_("Sans Serif"), SANS_FAMILY); + families << FamilyPair(qt_("Typewriter"), TYPEWRITER_FAMILY); + families << FamilyPair(qt_("Reset"), INHERIT_FAMILY); + return families; +} - pr.first = qt_("Roman"); - pr.second = Font::ROMAN_FAMILY; - family[1] = pr; - pr.first = qt_("Sans Serif"); - pr.second = Font::SANS_FAMILY; - family[2] = pr; +static QList languageData() +{ + QList list; + // FIXME (Abdel 14/05/2008): it would be nice if we could use this model + // directly in the language combo; but, as we need also the 'No Change' and + // 'Reset' items, this is not possible right now. Separating those two + // entries in radio buttons would be a better GUI IMHO. + QAbstractItemModel * language_model = guiApp->languageModel(); + // Make sure the items are sorted. + language_model->sort(0); + + for (int i = 0; i != language_model->rowCount(); ++i) { + QModelIndex index = language_model->index(i, 0); + list << LanguagePair(index.data(Qt::DisplayRole).toString(), + index.data(Qt::UserRole).toString()); + } + return list; +} - pr.first = qt_("Typewriter"); - pr.second = Font::TYPEWRITER_FAMILY; - family[3] = pr; - pr.first = qt_("Reset"); - pr.second = Font::INHERIT_FAMILY; - family[4] = pr; +namespace { - return family; +template +void fillCombo(QComboBox * combo, QList const & list) +{ + typename QList::const_iterator cit = list.begin(); + for (; cit != list.end(); ++cit) + combo->addItem(cit->first); } +} -GuiCharacter::GuiCharacter(LyXView & lv) - : GuiDialog(lv, "character"), Controller(this), font_(Font::ALL_IGNORE), +GuiCharacter::GuiCharacter(GuiView & lv) + : GuiDialog(lv, "character", qt_("Text Style")), font_(ignore_font, ignore_language), toggleall_(false), reset_lang_(false) { setupUi(this); - setController(this, false); - setViewTitle(_("Text Style")); connect(okPB, SIGNAL(clicked()), this, SLOT(slotOK())); connect(applyPB, SIGNAL(clicked()), this, SLOT(slotApply())); connect(closePB, SIGNAL(clicked()), this, SLOT(slotClose())); + connect(autoapplyCB, SIGNAL(stateChanged(int)), this, + SLOT(slotAutoApply())); connect(miscCO, SIGNAL(activated(int)), this, SLOT(change_adaptor())); connect(sizeCO, SIGNAL(activated(int)), this, SLOT(change_adaptor())); @@ -293,48 +179,30 @@ GuiCharacter::GuiCharacter(LyXView & lv) connect(langCO, SIGNAL(activated(int)), this, SLOT(change_adaptor())); connect(toggleallCB, SIGNAL(clicked()), this, SLOT(change_adaptor())); - family = getFamilyData(); - series = getSeriesData(); - shape = getShapeData(); - size = getSizeData(); - bar = getBarData(); - color = getColorData(); - language = getLanguageData(true); - - for (vector::const_iterator cit = family.begin(); - cit != family.end(); ++cit) { - familyCO->addItem(cit->first); - } - - for (vector::const_iterator cit = series.begin(); - cit != series.end(); ++cit) { - seriesCO->addItem(cit->first); - } - for (vector::const_iterator cit = shape.begin(); - cit != shape.end(); ++cit) { - shapeCO->addItem(cit->first); - } - for (vector::const_iterator cit = size.begin(); - cit != size.end(); ++cit) { - sizeCO->addItem(cit->first); - } - for (vector::const_iterator cit = bar.begin(); - cit != bar.end(); ++cit) { - miscCO->addItem(cit->first); - } - for (vector::const_iterator cit = color.begin(); - cit != color.end(); ++cit) { - colorCO->addItem(cit->first); - } - for (vector::const_iterator cit = language.begin(); - cit != language.end(); ++cit) { - langCO->addItem(toqstr(cit->first)); - } - - bc().setPolicy(ButtonPolicy::OkApplyCancelReadOnlyPolicy); + family = familyData(); + series = seriesData(); + shape = shapeData(); + size = sizeData(); + bar = barData(); + color = colorData(); + + language = languageData(); + language.prepend(LanguagePair(qt_("Reset"), "reset")); + language.prepend(LanguagePair(qt_("No change"), "ignore")); + + fillCombo(familyCO, family); + fillCombo(seriesCO, series); + fillCombo(sizeCO, size); + fillCombo(shapeCO, shape); + fillCombo(miscCO, bar); + fillCombo(colorCO, color); + fillCombo(langCO, language); + + bc().setPolicy(ButtonPolicy::OkApplyCancelAutoReadOnlyPolicy); bc().setOK(okPB); bc().setApply(applyPB); bc().setCancel(closePB); + bc().setAutoApply(autoapplyCB); bc().addReadOnly(familyCO); bc().addReadOnly(seriesCO); bc().addReadOnly(sizeCO); @@ -345,6 +213,13 @@ GuiCharacter::GuiCharacter(LyXView & lv) bc().addReadOnly(toggleallCB); bc().addReadOnly(autoapplyCB); +#ifdef Q_WS_MACX + // On Mac it's common to have tool windows which are always in the + // foreground and are hidden when the main window is not focused. + setWindowFlags(Qt::Tool); + autoapplyCB->setChecked(true); +#endif + // FIXME: hack to work around resizing bug in Qt >= 4.2 // bug verified with Qt 4.2.{0-3} (JSpitzm) #if QT_VERSION >= 0x040200 @@ -366,253 +241,199 @@ void GuiCharacter::change_adaptor() // stay the same between applys. Might be difficult though wrt to a // moved cursor - jbl slotApply(); - familyCO->setCurrentIndex(0); - seriesCO->setCurrentIndex(0); - sizeCO->setCurrentIndex(0); - shapeCO->setCurrentIndex(0); - miscCO->setCurrentIndex(0); - langCO->setCurrentIndex(0); - colorCO->setCurrentIndex(0); } -void GuiCharacter::closeEvent(QCloseEvent * e) +template +static int findPos2nd(QList

const & vec, B const & val) { - slotClose(); - GuiDialog::closeEvent(e); -} - - -template -static int findPos2nd(vector > const & vec, B const & val) -{ - typedef typename vector >::const_iterator - const_iterator; - - for (const_iterator cit = vec.begin(); cit != vec.end(); ++cit) - if (cit->second == val) - return int(cit - vec.begin()); - + for (int i = 0; i != vec.size(); ++i) + if (vec[i].second == val) + return i; return 0; } void GuiCharacter::updateContents() { - familyCO->setCurrentIndex(findPos2nd(family, getFamily())); - seriesCO->setCurrentIndex(findPos2nd(series, getSeries())); - shapeCO->setCurrentIndex(findPos2nd(shape, getShape())); - sizeCO->setCurrentIndex(findPos2nd(size, getSize())); - miscCO->setCurrentIndex(findPos2nd(bar, getBar())); - colorCO->setCurrentIndex(findPos2nd(color, getColor())); - langCO->setCurrentIndex(findPos2nd(language, getLanguage())); - - toggleallCB->setChecked(getToggleAll()); -} - - -void GuiCharacter::applyView() -{ - setFamily(family[familyCO->currentIndex()].second); - setSeries(series[seriesCO->currentIndex()].second); - setShape(shape[shapeCO->currentIndex()].second); - setSize(size[sizeCO->currentIndex()].second); - setBar(bar[miscCO->currentIndex()].second); - setColor(color[colorCO->currentIndex()].second); - setLanguage(language[langCO->currentIndex()].second); - - setToggleAll(toggleallCB->isChecked()); -} - - -bool GuiCharacter::initialiseParams(string const &) -{ - // so that the user can press Ok - if (getFamily() != Font::IGNORE_FAMILY - || getSeries() != Font::IGNORE_SERIES - || getShape() != Font::IGNORE_SHAPE - || getSize() != Font::IGNORE_SIZE - || getBar() != IGNORE - || getColor() != Color::ignore - || font_.language() != ignore_language) - dialog().setButtonsValid(true); - - return true; -} - - -void GuiCharacter::dispatchParams() -{ - dispatch(FuncRequest(getLfun(), font_.toString(toggleall_))); -} - - -Font::FONT_FAMILY GuiCharacter::getFamily() const -{ - return font_.family(); -} - - -void GuiCharacter::setFamily(Font::FONT_FAMILY val) -{ - font_.setFamily(val); -} - - -Font::FONT_SERIES GuiCharacter::getSeries() const -{ - return font_.series(); -} - - -void GuiCharacter::setSeries(Font::FONT_SERIES val) -{ - font_.setSeries(val); -} - - -Font::FONT_SHAPE GuiCharacter::getShape() const -{ - return font_.shape(); -} - - -void GuiCharacter::setShape(Font::FONT_SHAPE val) -{ - font_.setShape(val); + if (!autoapplyCB->isChecked()) { + bc().setValid(true); + return; + } + if (bufferview()->cursor().selection()) { + //FIXME: it would be better to check if each font attribute is constant + // for the selection range. + font_ = Font(ignore_font, ignore_language); + } else + font_ = bufferview()->cursor().current_font; + + paramsToDialog(font_); } -Font::FONT_SIZE GuiCharacter::getSize() const +static FontState getBar(FontInfo const & fi) { - return font_.size(); -} - + if (fi.emph() == FONT_TOGGLE) + return EMPH_TOGGLE; -void GuiCharacter::setSize(Font::FONT_SIZE val) -{ - font_.setSize(val); -} + if (fi.underbar() == FONT_TOGGLE) + return UNDERBAR_TOGGLE; + if (fi.strikeout() == FONT_TOGGLE) + return STRIKEOUT_TOGGLE; -FontState GuiCharacter::getBar() const -{ - if (font_.emph() == Font::TOGGLE) - return EMPH_TOGGLE; + if (fi.uuline() == FONT_TOGGLE) + return UULINE_TOGGLE; - if (font_.underbar() == Font::TOGGLE) - return UNDERBAR_TOGGLE; + if (fi.uwave() == FONT_TOGGLE) + return UWAVE_TOGGLE; - if (font_.noun() == Font::TOGGLE) + if (fi.noun() == FONT_TOGGLE) return NOUN_TOGGLE; - if (font_.emph() == Font::IGNORE - && font_.underbar() == Font::IGNORE - && font_.noun() == Font::IGNORE) + if (fi.emph() == FONT_IGNORE + && fi.underbar() == FONT_IGNORE + && fi.noun() == FONT_IGNORE) return IGNORE; return INHERIT; } -void GuiCharacter::setBar(FontState val) +static void setBar(FontInfo & fi, FontState val) { switch (val) { case IGNORE: - font_.setEmph(Font::IGNORE); - font_.setUnderbar(Font::IGNORE); - font_.setNoun(Font::IGNORE); + fi.setEmph(FONT_IGNORE); + fi.setUnderbar(FONT_IGNORE); + fi.setStrikeout(FONT_IGNORE); + fi.setNoun(FONT_IGNORE); break; case EMPH_TOGGLE: - font_.setEmph(Font::TOGGLE); + fi.setEmph(FONT_TOGGLE); break; case UNDERBAR_TOGGLE: - font_.setUnderbar(Font::TOGGLE); + fi.setUnderbar(FONT_TOGGLE); + break; + + case STRIKEOUT_TOGGLE: + fi.setStrikeout(FONT_TOGGLE); + break; + + case UULINE_TOGGLE: + fi.setUuline(FONT_TOGGLE); + break; + + case UWAVE_TOGGLE: + fi.setUwave(FONT_TOGGLE); break; case NOUN_TOGGLE: - font_.setNoun(Font::TOGGLE); + fi.setNoun(FONT_TOGGLE); break; case INHERIT: - font_.setEmph(Font::INHERIT); - font_.setUnderbar(Font::INHERIT); - font_.setNoun(Font::INHERIT); + fi.setEmph(FONT_INHERIT); + fi.setUnderbar(FONT_INHERIT); + fi.setStrikeout(FONT_INHERIT); + fi.setUuline(FONT_INHERIT); + fi.setUwave(FONT_INHERIT); + fi.setNoun(FONT_INHERIT); break; } } -Color_color GuiCharacter::getColor() const +void GuiCharacter::paramsToDialog(Font const & font) { - return font_.color(); + FontInfo const & fi = font.fontInfo(); + familyCO->setCurrentIndex(findPos2nd(family, fi.family())); + seriesCO->setCurrentIndex(findPos2nd(series, fi.series())); + shapeCO->setCurrentIndex(findPos2nd(shape, fi.shape())); + sizeCO->setCurrentIndex(findPos2nd(size, fi.size())); + miscCO->setCurrentIndex(findPos2nd(bar, getBar(fi))); + colorCO->setCurrentIndex(findPos2nd(color, fi.color())); + + // reset_language is a null pointer. + QString const lang = (font.language() == reset_language) + ? "reset" : toqstr(font.language()->lang()); + langCO->setCurrentIndex(findPos2nd(language, lang)); + + toggleallCB->setChecked(toggleall_); } -void GuiCharacter::setColor(Color_color val) +void GuiCharacter::applyView() { - switch (val) { - case Color::ignore: - case Color::none: - case Color::black: - case Color::white: - case Color::red: - case Color::green: - case Color::blue: - case Color::cyan: - case Color::magenta: - case Color::yellow: - case Color::inherit: - font_.setColor(val); - break; - default: - break; - } + FontInfo & fi = font_.fontInfo(); + fi.setFamily(family[familyCO->currentIndex()].second); + fi.setSeries(series[seriesCO->currentIndex()].second); + fi.setShape(shape[shapeCO->currentIndex()].second); + fi.setSize(size[sizeCO->currentIndex()].second); + setBar(fi, bar[miscCO->currentIndex()].second); + fi.setColor(color[colorCO->currentIndex()].second); + + font_.setLanguage(languages.getLanguage( + fromqstr(language[langCO->currentIndex()].second))); + + toggleall_ = toggleallCB->isChecked(); } -string GuiCharacter::getLanguage() const +bool GuiCharacter::initialiseParams(string const &) { - if (reset_lang_) - return "reset"; - if (font_.language()) - return font_.language()->lang(); - return "ignore"; + if (autoapplyCB->isChecked()) + return true; + + FontInfo & fi = font_.fontInfo(); + + // so that the user can press Ok + if (fi.family() != IGNORE_FAMILY + || fi.series() != IGNORE_SERIES + || fi.shape() != IGNORE_SHAPE + || fi.size() != FONT_SIZE_IGNORE + || getBar(fi) != IGNORE + || fi.color() != Color_ignore + || font_.language() != ignore_language) + setButtonsValid(true); + + paramsToDialog(font_); + return true; } -void GuiCharacter::setLanguage(string const & val) +void GuiCharacter::dispatchParams() { - if (val == "ignore") - font_.setLanguage(ignore_language); - else if (val == "reset") { - reset_lang_ = true; - // Ignored in getLanguage, but needed for dispatchParams - font_.setLanguage(buffer().params().language); - } else { - font_.setLanguage(languages.getLanguage(val)); - } + dispatch(FuncRequest(getLfun(), font_.toString(toggleall_))); } -bool GuiCharacter::getToggleAll() const +void GuiCharacter::saveSession() const { - return toggleall_; + Dialog::saveSession(); + QSettings settings; + settings.setValue(sessionKey() + "/toggleall", toggleallCB->isChecked()); + settings.setValue(sessionKey() + "/autoapply", autoapplyCB->isChecked()); } -void GuiCharacter::setToggleAll(bool t) +void GuiCharacter::restoreSession() { - toggleall_ = t; + Dialog::restoreSession(); + QSettings settings; + toggleallCB->setChecked( + settings.value(sessionKey() + "/toggleall").toBool()); + autoapplyCB->setChecked( + settings.value(sessionKey() + "/autoapply").toBool()); } -Dialog * createGuiCharacter(LyXView & lv) { return new GuiCharacter(lv); } +Dialog * createGuiCharacter(GuiView & lv) { return new GuiCharacter(lv); } } // namespace frontend } // namespace lyx -#include "GuiCharacter_moc.cpp" +#include "moc_GuiCharacter.cpp"