namespace frontend {
+string const catLookAndFeel = N_("Look & Feel");
+string const catEditing = N_("Editing");
+string const catLanguage = N_("Language Settings");
+string const catOutput = N_("Output");
+string const catFiles = N_("File Handling");
+
static int findPos_helper(QStringList const & vec, QString const & val)
{
for (int i = 0; i != vec.size(); ++i)
/////////////////////////////////////////////////////////////////////
PrefPlaintext::PrefPlaintext(QWidget * parent)
- : PrefModule(qt_("Plain text"), 0, parent)
+ : PrefModule(qt_(catOutput), qt_("Plain text"), 0, parent)
{
setupUi(this);
connect(plaintextLinelengthSB, SIGNAL(valueChanged(int)),
/////////////////////////////////////////////////////////////////////
PrefDate::PrefDate(QWidget * parent)
- : PrefModule(qt_("Date format"), 0, parent)
+ : PrefModule(qt_(catOutput), qt_("Date format"), 0, parent)
{
setupUi(this);
connect(DateED, SIGNAL(textChanged(QString)),
/////////////////////////////////////////////////////////////////////
PrefInput::PrefInput(GuiPreferences * form, QWidget * parent)
- : PrefModule(qt_("Keyboard/Mouse"), form, parent)
+ : PrefModule(qt_(catEditing), qt_("Keyboard/Mouse"), form, parent)
{
setupUi(this);
this, SIGNAL(changed()));
connect(secondKeymapED, SIGNAL(textChanged(QString)),
this, SIGNAL(changed()));
- connect(inlineDelaySB, SIGNAL(valueChanged(double)),
- this, SIGNAL(changed()));
- connect(inlineMathCB, SIGNAL(clicked()),
- this, SIGNAL(changed()));
- connect(inlineTextCB, SIGNAL(clicked()),
- this, SIGNAL(changed()));
- connect(inlineDotsCB, SIGNAL(clicked()),
- this, SIGNAL(changed()));
- connect(popupDelaySB, SIGNAL(valueChanged(double)),
- this, SIGNAL(changed()));
- connect(popupMathCB, SIGNAL(clicked()),
- this, SIGNAL(changed()));
- connect(popupTextCB, SIGNAL(clicked()),
- this, SIGNAL(changed()));
- connect(popupAfterCompleteCB, SIGNAL(clicked()),
- this, SIGNAL(changed()));
connect(mouseWheelSpeedSB, SIGNAL(valueChanged(double)),
this, SIGNAL(changed()));
}
rc.use_kbmap = keymapCB->isChecked();
rc.primary_kbmap = internal_path(fromqstr(firstKeymapED->text()));
rc.secondary_kbmap = internal_path(fromqstr(secondKeymapED->text()));
- rc.completion_inline_delay = inlineDelaySB->value();
- rc.completion_inline_math = inlineMathCB->isChecked();
- rc.completion_inline_text = inlineTextCB->isChecked();
- rc.completion_inline_dots = inlineDotsCB->isChecked() ? 13 : -1;
- rc.completion_popup_delay = popupDelaySB->value();
- rc.completion_popup_math = popupMathCB->isChecked();
- rc.completion_popup_text = popupTextCB->isChecked();
- rc.completion_popup_after_complete
- = popupAfterCompleteCB->isChecked();
rc.mouse_wheel_speed = mouseWheelSpeedSB->value();
}
keymapCB->setChecked(rc.use_kbmap);
firstKeymapED->setText(toqstr(external_path(rc.primary_kbmap)));
secondKeymapED->setText(toqstr(external_path(rc.secondary_kbmap)));
- inlineDelaySB->setValue(rc.completion_inline_delay);
- inlineMathCB->setChecked(rc.completion_inline_math);
- inlineTextCB->setChecked(rc.completion_inline_text);
- inlineDotsCB->setChecked(rc.completion_inline_dots != -1);
- popupDelaySB->setValue(rc.completion_popup_delay);
- popupMathCB->setChecked(rc.completion_popup_math);
- popupTextCB->setChecked(rc.completion_popup_text);
- popupAfterCompleteCB->setChecked(rc.completion_popup_after_complete);
mouseWheelSpeedSB->setValue(rc.mouse_wheel_speed);
}
}
+/////////////////////////////////////////////////////////////////////
+//
+// PrefCompletion
+//
+/////////////////////////////////////////////////////////////////////
+
+PrefCompletion::PrefCompletion(GuiPreferences * form, QWidget * parent)
+ : PrefModule(qt_(catEditing), qt_("Input Completion"), form, parent)
+{
+ setupUi(this);
+
+ connect(inlineDelaySB, SIGNAL(valueChanged(double)),
+ this, SIGNAL(changed()));
+ connect(inlineMathCB, SIGNAL(clicked()),
+ this, SIGNAL(changed()));
+ connect(inlineTextCB, SIGNAL(clicked()),
+ this, SIGNAL(changed()));
+ connect(inlineDotsCB, SIGNAL(clicked()),
+ this, SIGNAL(changed()));
+ connect(popupDelaySB, SIGNAL(valueChanged(double)),
+ this, SIGNAL(changed()));
+ connect(popupMathCB, SIGNAL(clicked()),
+ this, SIGNAL(changed()));
+ connect(popupTextCB, SIGNAL(clicked()),
+ this, SIGNAL(changed()));
+ connect(popupAfterCompleteCB, SIGNAL(clicked()),
+ this, SIGNAL(changed()));
+ connect(cursorTextCB, SIGNAL(clicked()),
+ this, SIGNAL(changed()));
+}
+
+
+void PrefCompletion::apply(LyXRC & rc) const
+{
+ rc.completion_inline_delay = inlineDelaySB->value();
+ rc.completion_inline_math = inlineMathCB->isChecked();
+ rc.completion_inline_text = inlineTextCB->isChecked();
+ rc.completion_inline_dots = inlineDotsCB->isChecked() ? 13 : -1;
+ rc.completion_popup_delay = popupDelaySB->value();
+ rc.completion_popup_math = popupMathCB->isChecked();
+ rc.completion_popup_text = popupTextCB->isChecked();
+ rc.completion_cursor_text = cursorTextCB->isChecked();
+ rc.completion_popup_after_complete =
+ popupAfterCompleteCB->isChecked();
+}
+
+
+void PrefCompletion::update(LyXRC const & rc)
+{
+ inlineDelaySB->setValue(rc.completion_inline_delay);
+ inlineMathCB->setChecked(rc.completion_inline_math);
+ inlineTextCB->setChecked(rc.completion_inline_text);
+ inlineDotsCB->setChecked(rc.completion_inline_dots != -1);
+ popupDelaySB->setValue(rc.completion_popup_delay);
+ popupMathCB->setChecked(rc.completion_popup_math);
+ popupTextCB->setChecked(rc.completion_popup_text);
+ cursorTextCB->setChecked(rc.completion_cursor_text);
+ popupAfterCompleteCB->setChecked(rc.completion_popup_after_complete);
+}
+
+
+
/////////////////////////////////////////////////////////////////////
//
// PrefLatex
/////////////////////////////////////////////////////////////////////
PrefLatex::PrefLatex(GuiPreferences * form, QWidget * parent)
- : PrefModule(qt_("LaTeX"), form, parent)
+ : PrefModule(qt_(catOutput), qt_("LaTeX"), form, parent)
{
setupUi(this);
connect(latexEncodingED, SIGNAL(textChanged(QString)),
/////////////////////////////////////////////////////////////////////
PrefScreenFonts::PrefScreenFonts(GuiPreferences * form, QWidget * parent)
- : PrefModule(qt_("Screen fonts"), form, parent)
+ : PrefModule(qt_(catLookAndFeel), qt_("Screen fonts"), form, parent)
{
setupUi(this);
} // namespace anon
PrefColors::PrefColors(GuiPreferences * form, QWidget * parent)
- : PrefModule(qt_("Colors"), form, parent)
+ : PrefModule(qt_(catLookAndFeel), qt_("Colors"), form, parent)
{
setupUi(this);
/////////////////////////////////////////////////////////////////////
PrefDisplay::PrefDisplay(QWidget * parent)
- : PrefModule(qt_("Graphics"), 0, parent)
+ : PrefModule(qt_(catLookAndFeel), qt_("Graphics"), 0, parent)
{
setupUi(this);
connect(instantPreviewCO, SIGNAL(activated(int)),
/////////////////////////////////////////////////////////////////////
PrefPaths::PrefPaths(GuiPreferences * form, QWidget * parent)
- : PrefModule(qt_("Paths"), form, parent)
+ : PrefModule(QString(), qt_("Paths"), form, parent)
{
setupUi(this);
connect(exampleDirPB, SIGNAL(clicked()), this, SLOT(select_exampledir()));
/////////////////////////////////////////////////////////////////////
PrefSpellchecker::PrefSpellchecker(GuiPreferences * form, QWidget * parent)
- : PrefModule(qt_("Spellchecker"), form, parent)
+ : PrefModule(qt_(catLanguage), qt_("Spellchecker"), form, parent)
{
setupUi(this);
PrefConverters::PrefConverters(GuiPreferences * form, QWidget * parent)
- : PrefModule(qt_("Converters"), form, parent)
+ : PrefModule(qt_(catFiles), qt_("Converters"), form, parent)
{
setupUi(this);
PrefFileformats::PrefFileformats(GuiPreferences * form, QWidget * parent)
- : PrefModule(qt_("File formats"), form, parent)
+ : PrefModule(qt_(catFiles), qt_("File formats"), form, parent)
{
setupUi(this);
formatED->setValidator(new FormatNameValidator(formatsCB, form_->formats()));
/////////////////////////////////////////////////////////////////////
PrefLanguage::PrefLanguage(QWidget * parent)
- : PrefModule(qt_("Language"), 0, parent)
+ : PrefModule(qt_(catLanguage), qt_("Language"), 0, parent)
{
setupUi(this);
/////////////////////////////////////////////////////////////////////
PrefPrinter::PrefPrinter(QWidget * parent)
- : PrefModule(qt_("Printer"), 0, parent)
+ : PrefModule(qt_(catOutput), qt_("Printer"), 0, parent)
{
setupUi(this);
/////////////////////////////////////////////////////////////////////
PrefUserInterface::PrefUserInterface(GuiPreferences * form, QWidget * parent)
- : PrefModule(qt_("User interface"), form, parent)
+ : PrefModule(qt_(catLookAndFeel), qt_("User interface"), form, parent)
{
setupUi(this);
/////////////////////////////////////////////////////////////////////
PrefEdit::PrefEdit(GuiPreferences * form, QWidget * parent)
- : PrefModule(qt_("Editing"), form, parent)
+ : PrefModule(qt_(catEditing), qt_("Control"), form, parent)
{
setupUi(this);
PrefShortcuts::PrefShortcuts(GuiPreferences * form, QWidget * parent)
- : PrefModule(qt_("Shortcuts"), form, parent)
+ : PrefModule(qt_(catEditing), qt_("Shortcuts"), form, parent)
{
setupUi(this);
shortcutsTW->clear();
editItem_ = new QTreeWidgetItem(shortcutsTW);
- editItem_->setText(0, toqstr("Cursor, Mouse and Editing functions"));
+ editItem_->setText(0, qt_("Cursor, Mouse and Editing functions"));
editItem_->setFlags(editItem_->flags() & ~Qt::ItemIsSelectable);
mathItem_ = new QTreeWidgetItem(shortcutsTW);
- mathItem_->setText(0, toqstr("Mathematical Symbols"));
+ mathItem_->setText(0, qt_("Mathematical Symbols"));
mathItem_->setFlags(mathItem_->flags() & ~Qt::ItemIsSelectable);
bufferItem_ = new QTreeWidgetItem(shortcutsTW);
- bufferItem_->setText(0, toqstr("Buffer and Window"));
+ bufferItem_->setText(0, qt_("Buffer and Window"));
bufferItem_->setFlags(bufferItem_->flags() & ~Qt::ItemIsSelectable);
layoutItem_ = new QTreeWidgetItem(shortcutsTW);
- layoutItem_->setText(0, toqstr("Font, Layouts and Textclasses"));
+ layoutItem_->setText(0, qt_("Font, Layouts and Textclasses"));
layoutItem_->setFlags(layoutItem_->flags() & ~Qt::ItemIsSelectable);
systemItem_ = new QTreeWidgetItem(shortcutsTW);
- systemItem_->setText(0, toqstr("System and Miscellaneous"));
+ systemItem_->setText(0, qt_("System and Miscellaneous"));
systemItem_->setFlags(systemItem_->flags() & ~Qt::ItemIsSelectable);
// listBindings(unbound=true) lists all bound and unbound lfuns
FuncCode action = lfun.action;
string const action_name = lyxaction.getActionName(action);
QString const lfun_name = toqstr(from_utf8(action_name)
- + " " + lfun.argument());
+ + ' ' + lfun.argument());
QString const shortcut = toqstr(seq.print(KeySequence::ForGui));
item_type item_tag = tag;
- QTreeWidgetItem * newItem = NULL;
+ QTreeWidgetItem * newItem = 0;
// for unbind items, try to find an existing item in the system bind list
if (tag == UserUnbind) {
QList<QTreeWidgetItem*> const items = shortcutsTW->findItems(lfun_name,
// unmatched removed?).
if (!newItem) {
item_tag = UserExtraUnbind;
- return NULL;
+ return 0;
}
}
if (!newItem) {
switch(lyxaction.getActionType(action)) {
case LyXAction::Hidden:
- return NULL;
+ return 0;
case LyXAction::Edit:
newItem = new QTreeWidgetItem(editItem_);
break;
item_type tag = static_cast<item_type>(items[0]->data(0, Qt::UserRole).toInt());
if (tag == UserUnbind)
- removePB->setText(toqstr("Restore"));
+ removePB->setText(qt_("Res&tore"));
else
- removePB->setText(toqstr("Remove"));
+ removePB->setText(qt_("Remo&ve"));
}
// but add an user unbind item
user_unbind_.bind(shortcut, func);
setItemType(items[i], UserUnbind);
- removePB->setText(toqstr("Restore"));
+ removePB->setText(qt_("Res&tore"));
break;
}
case UserBind: {
// become System again.
user_unbind_.unbind(shortcut, func);
setItemType(items[i], System);
- removePB->setText(toqstr("Remove"));
+ removePB->setText(qt_("Remo&ve"));
break;
}
case UserExtraUnbind: {
/////////////////////////////////////////////////////////////////////
PrefIdentity::PrefIdentity(QWidget * parent)
- : PrefModule(qt_("Identity"), 0, parent)
+ : PrefModule(QString(), qt_("Identity"), 0, parent)
{
setupUi(this);
add(new PrefColors(this));
add(new PrefDisplay);
add(new PrefInput(this));
+ add(new PrefCompletion(this));
add(new PrefPaths(this));
void GuiPreferences::add(PrefModule * module)
{
- BOOST_ASSERT(module);
- prefsPS->addPanel(module, module->title());
+ LASSERT(module, /**/);
+ if (module->category().isEmpty())
+ prefsPS->addPanel(module, module->title());
+ else
+ prefsPS->addPanel(module, module->title(), module->category());
connect(module, SIGNAL(changed()), this, SLOT(change_adaptor()));
modules_.push_back(module);
}