#include "GuiApplication.h"
#include "GuiBranches.h"
+#include "GuiSelectionManager.h"
#include "LaTeXHighlighter.h"
#include "LengthCombo.h"
#include "PanelStack.h"
char const * const tex_graphics[] =
{
- "default", "dvips", "dvitops", "emtex",
- "ln", "oztex", "textures", "none", ""
+ "default", "dvialw", "dvilaser", "dvipdf", "dvipdfm", "dvipdfmx",
+ "dvips", "dvipsone", "dvitops", "dviwin", "dviwindo", "dvi2ps", "emtex",
+ "ln", "oztex", "pctexhp", "pctexps", "pctexwin", "pctex32", "pdftex",
+ "psprint", "pubps", "tcidvi", "textures", "truetex", "vtex", "xdvi",
+ "xetex", "none", ""
};
char const * const tex_graphics_gui[] =
{
- N_("Default"), "Dvips", "DVItoPS", "EmTeX",
- "LN", "OzTeX", "Textures", N_("None"), ""
+ N_("Default"), "dvialw", "DviLaser", "dvipdf", "DVIPDFM", "DVIPDFMx",
+ "Dvips", "DVIPSONE", "DVItoPS", "DVIWIN", "DVIWindo", "dvi2ps", "EmTeX",
+ "LN", "OzTeX", "pctexhp", "pctexps", "pctexwin", "PCTeX32", "pdfTeX",
+ "psprint", "pubps", "tcidvi", "Textures", "TrueTeX", "VTeX", "xdvi",
+ "XeTeX", N_("None"), ""
};
};
-vector<pair<string, lyx::docstring> > pagestyles;
+vector<pair<string, QString> > pagestyles;
} // anonymous namespace
: public binary_function<string, string, int>
{
public:
- int operator()(string const & lhs, string const & rhs) const
+ bool operator()(string const & lhs, string const & rhs) const
{
// Ordering criteria:
// 1. Availability of text class
}
namespace frontend {
+namespace {
+
+vector<string> getRequiredList(string const & modName)
+{
+ LyXModule const * const mod = moduleList[modName];
+ if (!mod)
+ return vector<string>(); //empty such thing
+ return mod->getRequiredModules();
+}
-///
-QModelIndex getSelectedIndex(QListView * lv)
+vector<string> getExcludedList(string const & modName)
{
- QModelIndex retval = QModelIndex();
- QModelIndexList selIdx =
- lv->selectionModel()->selectedIndexes();
- if (!selIdx.empty())
- retval = selIdx.first();
- return retval;
+ LyXModule const * const mod = moduleList[modName];
+ if (!mod)
+ return vector<string>(); //empty such thing
+ return mod->getExcludedModules();
}
-namespace {
- vector<string> getRequiredList(string const & modName)
- {
- LyXModule const * const mod = moduleList[modName];
- if (!mod)
- return vector<string>(); //empty such thing
- return mod->getRequiredModules();
- }
+docstring getModuleDescription(string const & modName)
+{
+ LyXModule const * const mod = moduleList[modName];
+ if (!mod)
+ return _("Module not found!");
+ return _(mod->getDescription());
+}
- vector<string> getExcludedList(string const & modName)
- {
- LyXModule const * const mod = moduleList[modName];
- if (!mod)
- return vector<string>(); //empty such thing
- return mod->getExcludedModules();
- }
+vector<string> getPackageList(string const & modName)
+{
+ LyXModule const * const mod = moduleList[modName];
+ if (!mod)
+ return vector<string>(); //empty such thing
+ return mod->getPackageList();
+}
- docstring getModuleDescription(string const & modName)
- {
- LyXModule const * const mod = moduleList[modName];
- if (!mod)
- return _("Module not found!");
- return _(mod->getDescription());
- }
+bool isModuleAvailable(string const & modName)
+{
+ LyXModule * mod = moduleList[modName];
+ if (!mod)
+ return false;
+ return mod->isAvailable();
+}
+} // anonymous namespace
- vector<string> getPackageList(string const & modName)
- {
- LyXModule const * const mod = moduleList[modName];
- if (!mod)
- return vector<string>(); //empty such thing
- return mod->getPackageList();
- }
+/////////////////////////////////////////////////////////////////////
+//
+// ModuleSelectionManager
+//
+/////////////////////////////////////////////////////////////////////
- bool isModuleAvailable(string const & modName)
- {
- LyXModule * mod = moduleList[modName];
- if (!mod)
- return false;
- return mod->isAvailable();
- }
-} //anonymous namespace
-
-
-ModuleSelMan::ModuleSelMan(
- QListView * availableLV,
- QListView * selectedLV,
- QPushButton * addPB,
- QPushButton * delPB,
- QPushButton * upPB,
- QPushButton * downPB,
- GuiIdListModel * availableModel,
- GuiIdListModel * selectedModel) :
-GuiSelectionManager(availableLV, selectedLV, addPB, delPB,
+/// SelectionManager for use with modules
+class ModuleSelectionManager : public GuiSelectionManager
+{
+public:
+ ModuleSelectionManager(
+ QListView * availableLV,
+ QListView * selectedLV,
+ QPushButton * addPB,
+ QPushButton * delPB,
+ QPushButton * upPB,
+ QPushButton * downPB,
+ GuiIdListModel * availableModel,
+ GuiIdListModel * selectedModel)
+ : GuiSelectionManager(availableLV, selectedLV, addPB, delPB,
upPB, downPB, availableModel, selectedModel)
-{}
+ {}
-void ModuleSelMan::updateAddPB()
+private:
+ ///
+ virtual void updateAddPB();
+ ///
+ virtual void updateUpPB();
+ ///
+ virtual void updateDownPB();
+ ///
+ virtual void updateDelPB();
+ /// returns availableModel as a GuiIdListModel
+ GuiIdListModel * getAvailableModel()
+ {
+ return dynamic_cast<GuiIdListModel *>(availableModel);
+ }
+ /// returns selectedModel as a GuiIdListModel
+ GuiIdListModel * getSelectedModel()
+ {
+ return dynamic_cast<GuiIdListModel *>(selectedModel);
+ }
+};
+
+void ModuleSelectionManager::updateAddPB()
{
int const arows = availableModel->rowCount();
QModelIndexList const availSels =
}
-void ModuleSelMan::updateDownPB()
+void ModuleSelectionManager::updateDownPB()
{
int const srows = selectedModel->rowCount();
if (srows == 0) {
find(reqs.begin(), reqs.end(), curModName) == reqs.end());
}
-void ModuleSelMan::updateUpPB()
+void ModuleSelectionManager::updateUpPB()
{
int const srows = selectedModel->rowCount();
if (srows == 0) {
upPB->setEnabled(find(reqs.begin(), reqs.end(), preModName) == reqs.end());
}
-void ModuleSelMan::updateDelPB()
+void ModuleSelectionManager::updateDelPB()
{
int const srows = selectedModel->rowCount();
if (srows == 0) {
//
/////////////////////////////////////////////////////////////////////
-PreambleModule::PreambleModule(): current_id_(0)
+PreambleModule::PreambleModule() : current_id_(0)
{
// This is not a memory leak. The object will be destroyed
// with this.
this, SLOT(setCustomMargins(bool)));
connect(marginsModule->marginCB, SIGNAL(clicked()),
this, SLOT(change_adaptor()));
- connect(marginsModule->topLE, SIGNAL(textChanged(const QString &)),
+ connect(marginsModule->topLE, SIGNAL(textChanged(QString)),
this, SLOT(change_adaptor()));
connect(marginsModule->topUnit, SIGNAL(activated(int)),
this, SLOT(change_adaptor()));
- connect(marginsModule->bottomLE, SIGNAL(textChanged(const QString &)),
+ connect(marginsModule->bottomLE, SIGNAL(textChanged(QString)),
this, SLOT(change_adaptor()));
connect(marginsModule->bottomUnit, SIGNAL(activated(int)),
this, SLOT(change_adaptor()));
- connect(marginsModule->innerLE, SIGNAL(textChanged(const QString &)),
+ connect(marginsModule->innerLE, SIGNAL(textChanged(QString)),
this, SLOT(change_adaptor()));
connect(marginsModule->innerUnit, SIGNAL(activated(int)),
this, SLOT(change_adaptor()));
- connect(marginsModule->outerLE, SIGNAL(textChanged(const QString &)),
+ connect(marginsModule->outerLE, SIGNAL(textChanged(QString)),
this, SLOT(change_adaptor()));
connect(marginsModule->outerUnit, SIGNAL(activated(int)),
this, SLOT(change_adaptor()));
- connect(marginsModule->headheightLE, SIGNAL(textChanged(const QString &)),
+ connect(marginsModule->headheightLE, SIGNAL(textChanged(QString)),
this, SLOT(change_adaptor()));
connect(marginsModule->headheightUnit, SIGNAL(activated(int)),
this, SLOT(change_adaptor()));
- connect(marginsModule->headsepLE, SIGNAL(textChanged(const QString &)),
+ connect(marginsModule->headsepLE, SIGNAL(textChanged(QString)),
this, SLOT(change_adaptor()));
connect(marginsModule->headsepUnit, SIGNAL(activated(int)),
this, SLOT(change_adaptor()));
- connect(marginsModule->footskipLE, SIGNAL(textChanged(const QString&)),
+ connect(marginsModule->footskipLE, SIGNAL(textChanged(QString)),
this, SLOT(change_adaptor()));
connect(marginsModule->footskipUnit, SIGNAL(activated(int)),
this, SLOT(change_adaptor()));
- connect(marginsModule->columnsepLE, SIGNAL(textChanged(const QString&)),
+ connect(marginsModule->columnsepLE, SIGNAL(textChanged(QString)),
this, SLOT(change_adaptor()));
connect(marginsModule->columnsepUnit, SIGNAL(activated(int)),
this, SLOT(change_adaptor()));
latexModule = new UiWidget<Ui::LaTeXUi>;
// latex class
- connect(latexModule->optionsLE, SIGNAL(textChanged(const QString &)),
+ connect(latexModule->optionsLE, SIGNAL(textChanged(QString)),
+ this, SLOT(change_adaptor()));
+ connect(latexModule->defaultOptionsCB, SIGNAL(clicked()),
this, SLOT(change_adaptor()));
connect(latexModule->psdriverCO, SIGNAL(activated(int)),
this, SLOT(change_adaptor()));
this, SLOT(change_adaptor()));
connect(latexModule->childDocGB, SIGNAL(clicked()),
this, SLOT(change_adaptor()));
- connect(latexModule->childDocLE, SIGNAL(textChanged(const QString &)),
+ connect(latexModule->childDocLE, SIGNAL(textChanged(QString)),
this, SLOT(change_adaptor()));
connect(latexModule->childDocPB, SIGNAL(clicked()),
this, SLOT(browseMaster()));
- selectionManager =
- new ModuleSelMan(latexModule->availableLV, latexModule->selectedLV,
+ selectionManager =
+ new ModuleSelectionManager(latexModule->availableLV,
+ latexModule->selectedLV,
latexModule->addPB, latexModule->deletePB,
latexModule->upPB, latexModule->downPB,
availableModel(), selectedModel());
connect(pdfSupportModule->use_hyperrefGB, SIGNAL(toggled(bool)),
this, SLOT(change_adaptor()));
- connect(pdfSupportModule->titleLE, SIGNAL(textChanged(const QString &)),
+ connect(pdfSupportModule->titleLE, SIGNAL(textChanged(QString)),
this, SLOT(change_adaptor()));
- connect(pdfSupportModule->authorLE, SIGNAL(textChanged(const QString &)),
+ connect(pdfSupportModule->authorLE, SIGNAL(textChanged(QString)),
this, SLOT(change_adaptor()));
- connect(pdfSupportModule->subjectLE, SIGNAL(textChanged(const QString &)),
+ connect(pdfSupportModule->subjectLE, SIGNAL(textChanged(QString)),
this, SLOT(change_adaptor()));
- connect(pdfSupportModule->keywordsLE, SIGNAL(textChanged(const QString &)),
+ connect(pdfSupportModule->keywordsLE, SIGNAL(textChanged(QString)),
this, SLOT(change_adaptor()));
connect(pdfSupportModule->bookmarksGB, SIGNAL(toggled(bool)),
this, SLOT(change_adaptor()));
this, SLOT(change_adaptor()));
connect(pdfSupportModule->fullscreenCB, SIGNAL(toggled(bool)),
this, SLOT(change_adaptor()));
- connect(pdfSupportModule->optionsLE, SIGNAL(textChanged(const QString &)),
+ connect(pdfSupportModule->optionsLE, SIGNAL(textChanged(QString)),
this, SLOT(change_adaptor()));
// float
pageLayoutModule->pagestyleCO->clear();
pageLayoutModule->pagestyleCO->addItem(qt_("Default"));
- for (int n = 0; !token(items,'|',n).empty(); ++n) {
+ for (int n = 0; !token(items, '|', n).empty(); ++n) {
string style = token(items, '|', n);
- docstring style_gui = _(style);
- pagestyles.push_back(pair<string, docstring>(style, style_gui));
- pageLayoutModule->pagestyleCO->addItem(toqstr(style_gui));
+ QString style_gui = qt_(style);
+ pagestyles.push_back(pair<string, QString>(style, style_gui));
+ pageLayoutModule->pagestyleCO->addItem(style_gui);
}
if (sel == "default") {
for (size_t i = 0; i < pagestyles.size(); ++i)
if (pagestyles[i].first == sel)
- nn = pageLayoutModule->pagestyleCO->findText(
- toqstr(pagestyles[i].second));
+ nn = pageLayoutModule->pagestyleCO->findText(pagestyles[i].second);
if (nn > 0)
pageLayoutModule->pagestyleCO->setCurrentIndex(nn);
applyView();
}
bp_.useClassDefaults();
- paramsToDialog(bp_);
}
// FIXME There's a little bug here connected with auto_reset, namely,
// that, if the preceding is skipped and the user has changed the
// modules before changing the class, those changes will be lost on
// update. But maybe that's what we want?
updateSelectedModules();
+ bp_.makeDocumentClass();
+ paramsToDialog(bp_);
}
docstring formatStrVec(vector<string> const & v, docstring const & s)
{
//this mess formats the list as "v[0], v[1], ..., [s] v[n]"
- int const vSize = v.size();
if (v.size() == 0)
return docstring();
- else if (v.size() == 1)
+ if (v.size() == 1)
return from_ascii(v[0]);
- else if (v.size() == 2) {
+ if (v.size() == 2) {
docstring retval = _("%1$s and %2$s");
retval = subst(retval, _("and"), s);
return bformat(retval, from_ascii(v[0]), from_ascii(v[1]));
}
- //The idea here is to format all but the last two items...
+ // The idea here is to format all but the last two items...
+ int const vSize = v.size();
docstring t2 = _("%1$s, %2$s");
docstring retval = from_ascii(v[0]);
for (int i = 1; i < vSize - 2; ++i)
params.addLayoutModule(modules_sel_model_.getIDString(i));
// update the list of removed modules
params.clearRemovedModules();
- set<string> const & reqmods = params.baseClass()->defaultModules();
- set<string>::const_iterator rit = reqmods.begin();
- set<string>::const_iterator ren = reqmods.end();
+ list<string> const & reqmods = params.baseClass()->defaultModules();
+ list<string>::const_iterator rit = reqmods.begin();
+ list<string>::const_iterator ren = reqmods.end();
// check each of the required modules
for (; rit != ren; rit++) {
vector<string>::const_iterator mit = params.getModules().begin();
if (pageLayoutModule->pagestyleCO->currentIndex() == 0)
params.pagestyle = "default";
else {
- docstring style_gui =
- qstring_to_ucs4(pageLayoutModule->pagestyleCO->currentText());
- for (size_t i = 0; i < pagestyles.size(); ++i)
+ QString style_gui = pageLayoutModule->pagestyleCO->currentText();
+ for (size_t i = 0; i != pagestyles.size(); ++i)
if (pagestyles[i].second == style_gui)
params.pagestyle = pagestyles[i].first;
}
params.options =
fromqstr(latexModule->optionsLE->text());
+ params.use_default_options =
+ latexModule->defaultOptionsCB->isChecked();
+
if (latexModule->childDocGB->isChecked())
params.master =
fromqstr(latexModule->childDocLE->text());
latexModule->optionsLE->setText(QString());
}
+ latexModule->defaultOptionsCB->setChecked(
+ params.use_default_options);
+
+ if (!documentClass().options().empty()) {
+ latexModule->defaultOptionsLE->setText(
+ toqstr(documentClass().options()));
+ } else {
+ latexModule->defaultOptionsLE->setText(
+ toqstr(_("[No options predefined]")));
+ }
+
+ latexModule->defaultOptionsLE->setEnabled(
+ params.use_default_options
+ && !documentClass().options().empty());
+
+ latexModule->defaultOptionsCB->setEnabled(
+ !documentClass().options().empty());
+
if (!params.master.empty()) {
latexModule->childDocGB->setChecked(true);
latexModule->childDocLE->setText(
bool GuiDocument::initialiseParams(string const &)
{
- BufferView * view = bufferview();
+ BufferView const * view = bufferview();
if (!view) {
bp_ = BufferParams();
paramsToDialog(bp_);
support::onlyPath(buffer().absFileName()));
if (isLyXFilename(master_file.absFilename())) {
Buffer * master = checkAndLoadLyXFile(master_file);
- buffer().setParent(master);
+ const_cast<Buffer &>(buffer()).setParent(master);
}
}
BranchList::const_iterator it = branchlist.begin();
BranchList::const_iterator const end = branchlist.end();
for (; it != end; ++it) {
- docstring const & current_branch = it->getBranch();
+ docstring const & current_branch = it->branch();
Branch const * branch = branchlist.find(current_branch);
- string const x11hexname = X11hexname(branch->getColor());
+ string const x11hexname = X11hexname(branch->color());
// display the new color
docstring const str = current_branch + ' ' + from_ascii(x11hexname);
dispatch(FuncRequest(LFUN_SET_COLOR, str));
"assign branch"));
}
// FIXME: If we used an LFUN, we would not need those two lines:
- bufferview()->processUpdateFlags(Update::Force | Update::FitCursor);
+ BufferView * bv = const_cast<BufferView *>(bufferview());
+ bv->processUpdateFlags(Update::Force | Update::FitCursor);
}