#include "LyXAction.h"
#include "LyX.h"
#include "PanelStack.h"
-#include "paper.h"
#include "Session.h"
#include "SpellChecker.h"
this, SIGNAL(changed()));
connect(pdfCB, SIGNAL(editTextChanged(QString)),
this, SIGNAL(changed()));
+ connect(printerPaperTypeED, SIGNAL(textChanged(QString)),
+ this, SIGNAL(changed()));
+ connect(printerLandscapeED, SIGNAL(textChanged(QString)),
+ this, SIGNAL(changed()));
+ connect(printerPaperSizeED, SIGNAL(textChanged(QString)),
+ this, SIGNAL(changed()));
+
+ printerPaperTypeED->setValidator(new NoNewLineValidator(printerPaperTypeED));
+ printerLandscapeED->setValidator(new NoNewLineValidator(printerLandscapeED));
+ printerPaperSizeED->setValidator(new NoNewLineValidator(printerPaperSizeED));
+
dviCB->addItem("");
dviCB->addItem("xdvi -sourceposition '$$n:\\ $$t' $$o");
dviCB->addItem("yap -1 -s \"$$n $$t\" $$o");
rc.export_overwrite = ALL_FILES;
break;
}
+
+ rc.print_paper_flag = fromqstr(printerPaperTypeED->text());
+ rc.print_landscape_flag = fromqstr(printerLandscapeED->text());
+ rc.print_paper_dimension_flag = fromqstr(printerPaperSizeED->text());
}
overwriteCO->setCurrentIndex(2);
break;
}
+
+ printerPaperTypeED->setText(toqstr(rc.print_paper_flag));
+ printerLandscapeED->setText(toqstr(rc.print_landscape_flag));
+ printerPaperSizeED->setText(toqstr(rc.print_paper_dimension_flag));
}
popupTextCB->setChecked(rc.completion_popup_text);
cursorTextCB->setChecked(rc.completion_cursor_text);
popupAfterCompleteCB->setChecked(rc.completion_popup_after_complete);
- enableCB();
+ enableCB();
minlengthSB->setValue(rc.completion_minlength);
}
//
/////////////////////////////////////////////////////////////////////
-namespace {
-
-struct ColorSorter
-{
- bool operator()(ColorCode lhs, ColorCode rhs) const {
- return
- compare_no_case(lcolor.getGUIName(lhs), lcolor.getGUIName(rhs)) < 0;
- }
-};
-
-} // namespace anon
PrefColors::PrefColors(GuiPreferences * form)
: PrefModule(catLookAndFeel, N_("Colors"), form)
if (lc == Color_none
|| lc == Color_black
|| lc == Color_white
- || lc == Color_red
- || lc == Color_green
|| lc == Color_blue
+ || lc == Color_brown
|| lc == Color_cyan
+ || lc == Color_darkgray
+ || lc == Color_gray
+ || lc == Color_green
+ || lc == Color_lightgray
+ || lc == Color_lime
|| lc == Color_magenta
+ || lc == Color_olive
+ || lc == Color_orange
+ || lc == Color_pink
+ || lc == Color_purple
+ || lc == Color_red
+ || lc == Color_teal
+ || lc == Color_violet
|| lc == Color_yellow
|| lc == Color_inherit
|| lc == Color_ignore)
continue;
lcolors_.push_back(lc);
}
- sort(lcolors_.begin(), lcolors_.end(), ColorSorter());
+ qSort(lcolors_.begin(), lcolors_.end(), ColorSorter);
vector<ColorCode>::const_iterator cit = lcolors_.begin();
vector<ColorCode>::const_iterator const end = lcolors_.end();
for (; cit != end; ++cit) {
rc.preview = LyXRC::PREVIEW_OFF;
break;
case 1:
- rc.preview = LyXRC::PREVIEW_NO_MATH;
+ if (rc.preview != LyXRC::PREVIEW_NO_MATH) {
+ rc.preview = LyXRC::PREVIEW_NO_MATH;
+ form_->updatePreviews();
+ }
break;
case 2:
- rc.preview = LyXRC::PREVIEW_ON;
+ if (rc.preview != LyXRC::PREVIEW_ON) {
+ rc.preview = LyXRC::PREVIEW_ON;
+ form_->updatePreviews();
+ }
break;
}
startCommandED->setValidator(new NoNewLineValidator(startCommandED));
endCommandED->setValidator(new NoNewLineValidator(endCommandED));
- uiLanguageCO->clear();
-
- QAbstractItemModel * language_model = guiApp->languageModel();
- // FIXME: it would be nice if sorting was enabled/disabled via a checkbox.
- language_model->sort(0);
defaultDecimalPointLE->setInputMask("X; ");
defaultDecimalPointLE->setMaxLength(1);
defaultLengthUnitCO->addItem(lyx::qt_(unit_name_gui[Length::CM]), Length::CM);
defaultLengthUnitCO->addItem(lyx::qt_(unit_name_gui[Length::IN]), Length::IN);
- set<string> added;
+ QAbstractItemModel * language_model = guiApp->languageModel();
+ language_model->sort(0);
uiLanguageCO->blockSignals(true);
+ uiLanguageCO->clear();
uiLanguageCO->addItem(qt_("Default"), toqstr("auto"));
for (int i = 0; i != language_model->rowCount(); ++i) {
QModelIndex index = language_model->index(i, 0);
if (name != form->rc().gui_language
&& name != lyxrc.gui_language
&& (!Messages::available(lang->code())
- || added.find(lang->code()) != added.end()))
- continue;
- added.insert(lang->code());
+ || !lang->hasGuiSupport()))
+ continue;
uiLanguageCO->addItem(index.data(Qt::DisplayRole).toString(),
- index.data(Qt::UserRole).toString());
+ index.data(Qt::UserRole).toString());
}
uiLanguageCO->blockSignals(false);
}
}
-/////////////////////////////////////////////////////////////////////
-//
-// PrefPrinter
-//
-/////////////////////////////////////////////////////////////////////
-
-PrefPrinter::PrefPrinter(GuiPreferences * form)
- : PrefModule(catOutput, N_("Printer"), form)
-{
- setupUi(this);
-
- connect(printerAdaptCB, SIGNAL(clicked()),
- this, SIGNAL(changed()));
- connect(printerCommandED, SIGNAL(textChanged(QString)),
- this, SIGNAL(changed()));
- connect(printerNameED, SIGNAL(textChanged(QString)),
- this, SIGNAL(changed()));
- connect(printerPageRangeED, SIGNAL(textChanged(QString)),
- this, SIGNAL(changed()));
- connect(printerCopiesED, SIGNAL(textChanged(QString)),
- this, SIGNAL(changed()));
- connect(printerReverseED, SIGNAL(textChanged(QString)),
- this, SIGNAL(changed()));
- connect(printerToPrinterED, SIGNAL(textChanged(QString)),
- this, SIGNAL(changed()));
- connect(printerExtensionED, SIGNAL(textChanged(QString)),
- this, SIGNAL(changed()));
- connect(printerSpoolCommandED, SIGNAL(textChanged(QString)),
- this, SIGNAL(changed()));
- connect(printerPaperTypeED, SIGNAL(textChanged(QString)),
- this, SIGNAL(changed()));
- connect(printerEvenED, SIGNAL(textChanged(QString)),
- this, SIGNAL(changed()));
- connect(printerOddED, SIGNAL(textChanged(QString)),
- this, SIGNAL(changed()));
- connect(printerCollatedED, SIGNAL(textChanged(QString)),
- this, SIGNAL(changed()));
- connect(printerLandscapeED, SIGNAL(textChanged(QString)),
- this, SIGNAL(changed()));
- connect(printerToFileED, SIGNAL(textChanged(QString)),
- this, SIGNAL(changed()));
- connect(printerExtraED, SIGNAL(textChanged(QString)),
- this, SIGNAL(changed()));
- connect(printerSpoolPrefixED, SIGNAL(textChanged(QString)),
- this, SIGNAL(changed()));
- connect(printerPaperSizeED, SIGNAL(textChanged(QString)),
- this, SIGNAL(changed()));
-
- printerNameED->setValidator(new NoNewLineValidator(printerNameED));
- printerCommandED->setValidator(new NoNewLineValidator(printerCommandED));
- printerEvenED->setValidator(new NoNewLineValidator(printerEvenED));
- printerPageRangeED->setValidator(new NoNewLineValidator(printerPageRangeED));
- printerCopiesED->setValidator(new NoNewLineValidator(printerCopiesED));
- printerReverseED->setValidator(new NoNewLineValidator(printerReverseED));
- printerToFileED->setValidator(new NoNewLineValidator(printerToFileED));
- printerPaperTypeED->setValidator(new NoNewLineValidator(printerPaperTypeED));
- printerExtraED->setValidator(new NoNewLineValidator(printerExtraED));
- printerOddED->setValidator(new NoNewLineValidator(printerOddED));
- printerCollatedED->setValidator(new NoNewLineValidator(printerCollatedED));
- printerLandscapeED->setValidator(new NoNewLineValidator(printerLandscapeED));
- printerToPrinterED->setValidator(new NoNewLineValidator(printerToPrinterED));
- printerExtensionED->setValidator(new NoNewLineValidator(printerExtensionED));
- printerPaperSizeED->setValidator(new NoNewLineValidator(printerPaperSizeED));
- printerSpoolCommandED->setValidator(new NoNewLineValidator(printerSpoolCommandED));
- printerSpoolPrefixED->setValidator(new NoNewLineValidator(printerSpoolPrefixED));
-}
-
-
-void PrefPrinter::applyRC(LyXRC & rc) const
-{
- rc.print_adapt_output = printerAdaptCB->isChecked();
- rc.print_command = fromqstr(printerCommandED->text());
- rc.printer = fromqstr(printerNameED->text());
-
- rc.print_pagerange_flag = fromqstr(printerPageRangeED->text());
- rc.print_copies_flag = fromqstr(printerCopiesED->text());
- rc.print_reverse_flag = fromqstr(printerReverseED->text());
- rc.print_to_printer = fromqstr(printerToPrinterED->text());
- rc.print_file_extension = fromqstr(printerExtensionED->text());
- rc.print_spool_command = fromqstr(printerSpoolCommandED->text());
- rc.print_paper_flag = fromqstr(printerPaperTypeED->text());
- rc.print_evenpage_flag = fromqstr(printerEvenED->text());
- rc.print_oddpage_flag = fromqstr(printerOddED->text());
- rc.print_collcopies_flag = fromqstr(printerCollatedED->text());
- rc.print_landscape_flag = fromqstr(printerLandscapeED->text());
- rc.print_to_file = internal_path(fromqstr(printerToFileED->text()));
- rc.print_extra_options = fromqstr(printerExtraED->text());
- rc.print_spool_printerprefix = fromqstr(printerSpoolPrefixED->text());
- rc.print_paper_dimension_flag = fromqstr(printerPaperSizeED->text());
-}
-
-
-void PrefPrinter::updateRC(LyXRC const & rc)
-{
- printerAdaptCB->setChecked(rc.print_adapt_output);
- printerCommandED->setText(toqstr(rc.print_command));
- printerNameED->setText(toqstr(rc.printer));
-
- printerPageRangeED->setText(toqstr(rc.print_pagerange_flag));
- printerCopiesED->setText(toqstr(rc.print_copies_flag));
- printerReverseED->setText(toqstr(rc.print_reverse_flag));
- printerToPrinterED->setText(toqstr(rc.print_to_printer));
- printerExtensionED->setText(toqstr(rc.print_file_extension));
- printerSpoolCommandED->setText(toqstr(rc.print_spool_command));
- printerPaperTypeED->setText(toqstr(rc.print_paper_flag));
- printerEvenED->setText(toqstr(rc.print_evenpage_flag));
- printerOddED->setText(toqstr(rc.print_oddpage_flag));
- printerCollatedED->setText(toqstr(rc.print_collcopies_flag));
- printerLandscapeED->setText(toqstr(rc.print_landscape_flag));
- printerToFileED->setText(toqstr(external_path(rc.print_to_file)));
- printerExtraED->setText(toqstr(rc.print_extra_options));
- printerSpoolPrefixED->setText(toqstr(rc.print_spool_printerprefix));
- printerPaperSizeED->setText(toqstr(rc.print_paper_dimension_flag));
-}
-
-
/////////////////////////////////////////////////////////////////////
//
// PrefUserInterface
this, SIGNAL(changed()));
connect(saveCompressedCB, SIGNAL(clicked()),
this, SIGNAL(changed()));
+ connect(saveOriginCB, SIGNAL(clicked()),
+ this, SIGNAL(changed()));
}
rc.autosave = autoSaveCB->isChecked() ? autoSaveSB->value() * 60 : 0;
rc.make_backup = backupCB->isChecked();
rc.save_compressed = saveCompressedCB->isChecked();
+ rc.save_origin = saveOriginCB->isChecked();
rc.open_buffers_in_tabs = openDocumentsInTabsCB->isChecked();
rc.single_instance = singleInstanceCB->isChecked();
rc.single_close_tab_button = singleCloseTabButtonCB->isChecked();
autoSaveSB->setEnabled(autosave);
backupCB->setChecked(rc.make_backup);
saveCompressedCB->setChecked(rc.save_compressed);
+ saveOriginCB->setChecked(rc.save_origin);
openDocumentsInTabsCB->setChecked(rc.open_buffers_in_tabs);
singleInstanceCB->setChecked(rc.single_instance && !rc.lyxpipes.empty());
singleInstanceCB->setEnabled(!rc.lyxpipes.empty());
macroEditStyleCO->setCurrentIndex(rc.macro_edit_style);
cursorWidthSB->setValue(rc.cursor_width);
toggleScrollbarCB->setChecked(rc.full_screen_scrollbar);
- toggleScrollbarCB->setChecked(rc.full_screen_statusbar);
+ toggleStatusbarCB->setChecked(rc.full_screen_statusbar);
toggleToolbarsCB->setChecked(rc.full_screen_toolbars);
toggleTabbarCB->setChecked(rc.full_screen_tabbar);
toggleMenubarCB->setChecked(rc.full_screen_menubar);
PrefShortcuts::PrefShortcuts(GuiPreferences * form)
- : PrefModule(catEditing, N_("Shortcuts"), form)
+ : PrefModule(catEditing, N_("Shortcuts"), form),
+ editItem_(0), mathItem_(0), bufferItem_(0), layoutItem_(0),
+ systemItem_(0)
{
setupUi(this);
QString const lfun_name = toqstr(from_utf8(action_name)
+ ' ' + lfun.argument());
QString const shortcut = toqstr(seq.print(KeySequence::ForGui));
- KeyMap::ItemType item_tag = tag;
QTreeWidgetItem * newItem = 0;
// for unbind items, try to find an existing item in the system bind list
QList<QTreeWidgetItem*> const items = shortcutsTW->findItems(lfun_name,
Qt::MatchFlags(Qt::MatchExactly | Qt::MatchRecursive), 0);
for (int i = 0; i < items.size(); ++i) {
- if (items[i]->text(1) == shortcut)
+ if (items[i]->text(1) == shortcut) {
newItem = items[i];
break;
}
+ }
// if not found, this unbind item is KeyMap::UserExtraUnbind
// Such an item is not displayed to avoid confusion (what is
// unmatched removed?).
if (!newItem) {
- item_tag = KeyMap::UserExtraUnbind;
return 0;
}
}
newItem->setText(1, shortcut);
// record BindFile representation to recover KeySequence when needed.
newItem->setData(1, Qt::UserRole, toqstr(seq.print(KeySequence::BindFile)));
- setItemType(newItem, item_tag);
+ setItemType(newItem, tag);
return newItem;
}
// show matched items
for (int i = 0; i < matched.size(); ++i) {
shortcutsTW->setItemHidden(matched[i], false);
- shortcutsTW->setItemExpanded(matched[i]->parent(), true);
+ shortcutsTW->setItemExpanded(matched[i]->parent(), true);
}
}
/////////////////////////////////////////////////////////////////////
GuiPreferences::GuiPreferences(GuiView & lv)
- : GuiDialog(lv, "prefs", qt_("Preferences")), update_screen_font_(false)
+ : GuiDialog(lv, "prefs", qt_("Preferences")), update_screen_font_(false),
+ update_previews_(false)
{
setupUi(this);
//for strftime validator
PrefOutput * output = new PrefOutput(this);
addModule(output);
- addModule(new PrefPrinter(this));
addModule(new PrefLatex(this));
PrefConverters * converters = new PrefConverters(this);
movers_ = theMovers();
colors_.clear();
update_screen_font_ = false;
+ update_previews_ = false;
updateRC(rc_);
// Make sure that the bc is in the INITIAL state
if (update_screen_font_) {
dispatch(FuncRequest(LFUN_SCREEN_FONT_UPDATE));
+ // resets flag in case second apply in same dialog
update_screen_font_ = false;
}
- theBufferList().updatePreviews();
+ if (update_previews_) {
+ // resets flag in case second apply in same dialog
+ theBufferList().updatePreviews();
+ update_previews_ = false;
+ }
// The Save button has been pressed
if (isClosing())
}
+void GuiPreferences::updatePreviews()
+{
+ update_previews_ = true;
+}
+
+
QString GuiPreferences::browsebind(QString const & file) const
{
return browseLibFile("bind", file, "bind", qt_("Choose bind file"),