#include "GuiPrefs.h"
-#include "qt_helpers.h"
+#include "FileDialog.h"
#include "GuiApplication.h"
+#include "GuiFontExample.h"
#include "GuiFontLoader.h"
+#include "GuiKeySymbol.h"
+#include "qt_helpers.h"
#include "BufferList.h"
#include "Color.h"
#include "ConverterCache.h"
-#include "FileDialog.h"
#include "FuncRequest.h"
-#include "GuiFontExample.h"
-#include "GuiKeySymbol.h"
#include "KeyMap.h"
#include "KeySequence.h"
+#include "Language.h"
#include "LyXAction.h"
#include "PanelStack.h"
#include "paper.h"
#include "Session.h"
#include "support/debug.h"
-#include "support/FileFilterList.h"
#include "support/FileName.h"
#include "support/filetools.h"
#include "support/foreach.h"
#include <QPixmapCache>
#include <QPushButton>
#include <QSpinBox>
+#include <QStandardItemModel.h>
#include <QString>
#include <QTreeWidget>
#include <QTreeWidgetItem>
*/
QString browseFile(QString const & filename,
QString const & title,
- support::FileFilterList const & filters,
+ QStringList const & filters,
bool save = false,
QString const & label1 = QString(),
QString const & dir1 = QString(),
QString const & name,
QString const & ext,
QString const & title,
- support::FileFilterList const & filters)
+ QStringList const & filters)
{
// FIXME UNICODE
QString const label1 = qt_("System files|#S#s");
} // namespace frontend
+
QString browseRelFile(QString const & filename, QString const & refpath,
- QString const & title, FileFilterList const & filters, bool save,
+ QString const & title, QStringList const & filters, bool save,
QString const & label1, QString const & dir1,
QString const & label2, QString const & dir2)
{
- QString const fname = toqstr(makeAbsPath(
- fromqstr(filename), fromqstr(refpath)).absFilename());
+ QString const fname = makeAbsPath(filename, refpath);
+
QString const outname =
frontend::browseFile(fname, title, filters, save, label1, dir1, label2, dir2);
}
+
/////////////////////////////////////////////////////////////////////
//
// Helpers
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)
- if (vec[i] == val)
- return i;
- return 0;
-}
-
-
static void parseFontName(QString const & mangled0,
string & name, string & foundry)
{
font.setStyleHint(QFont::TypeWriter);
font.setFamily(font_family);
} else {
- lyxerr << "FAILED to find the default font: '"
- << foundry << "', '" << family << '\''<< endl;
+ LYXERR0("FAILED to find the default font: '"
+ << foundry << "', '" << family << '\'');
return;
}
QFontInfo info(font);
string default_font_name, dummyfoundry;
parseFontName(info.family(), default_font_name, dummyfoundry);
- lyxerr << "Apparent font is " << default_font_name << endl;
+ LYXERR0("Apparent font is " << default_font_name);
for (int i = 0; i < cb->count(); ++i) {
- lyxerr << "Looking at " << fromqstr(cb->itemText(i)) << endl;
+ LYXERR0("Looking at " << cb->itemText(i));
if (compare_ascii_no_case(fromqstr(cb->itemText(i)),
default_font_name) == 0) {
cb->setCurrentIndex(i);
}
}
- lyxerr << "FAILED to find the font: '"
- << foundry << "', '" << family << '\'' <<endl;
+ LYXERR0("FAILED to find the font: '"
+ << foundry << "', '" << family << '\'');
}
+
/////////////////////////////////////////////////////////////////////
//
// PrefPlaintext
void PrefPaths::select_exampledir()
{
- QString file = form_->browsedir(internalPath(exampleDirED->text()),
+ QString file = browseDir(internalPath(exampleDirED->text()),
qt_("Select directory for example files"));
if (!file.isEmpty())
exampleDirED->setText(file);
void PrefPaths::select_templatedir()
{
- QString file = form_->browsedir(internalPath(templateDirED->text()),
+ QString file = browseDir(internalPath(templateDirED->text()),
qt_("Select a document templates directory"));
if (!file.isEmpty())
templateDirED->setText(file);
void PrefPaths::select_tempdir()
{
- QString file = form_->browsedir(internalPath(tempDirED->text()),
+ QString file = browseDir(internalPath(tempDirED->text()),
qt_("Select a temporary directory"));
if (!file.isEmpty())
tempDirED->setText(file);
void PrefPaths::select_backupdir()
{
- QString file = form_->browsedir(internalPath(backupDirED->text()),
+ QString file = browseDir(internalPath(backupDirED->text()),
qt_("Select a backups directory"));
if (!file.isEmpty())
backupDirED->setText(file);
void PrefPaths::select_workingdir()
{
- QString file = form_->browsedir(internalPath(workingDirED->text()),
+ QString file = browseDir(internalPath(workingDirED->text()),
qt_("Select a document directory"));
if (!file.isEmpty())
workingDirED->setText(file);
defaultLanguageCO->clear();
- // store the lang identifiers for later
- //foreach (LanguagePair const & lpair, languageData(false)) {
- QList<LanguagePair> l = languageData(false);
- foreach (LanguagePair const & lpair, l) {
- defaultLanguageCO->addItem(lpair.first);
- lang_.append(lpair.second);
- }
+ defaultLanguageCO->setModel(guiApp->languageModel());
}
rc.language_package = fromqstr(languagePackageED->text());
rc.language_command_begin = fromqstr(startCommandED->text());
rc.language_command_end = fromqstr(endCommandED->text());
- rc.default_language = fromqstr(lang_[defaultLanguageCO->currentIndex()]);
+ rc.default_language = fromqstr(
+ defaultLanguageCO->itemData(defaultLanguageCO->currentIndex()).toString());
}
startCommandED->setText(toqstr(rc.language_command_begin));
endCommandED->setText(toqstr(rc.language_command_end));
- int const pos = findPos_helper(lang_, toqstr(rc.default_language));
+ int const pos = defaultLanguageCO->findData(toqstr(rc.default_language));
defaultLanguageCO->setCurrentIndex(pos);
}
this, SIGNAL(changed()));
connect(tooltipCB, SIGNAL(toggled(bool)),
this, SIGNAL(changed()));
- connect(useBundledCB, SIGNAL(toggled(bool)),
- this, SIGNAL(changed()));
lastfilesSB->setMaximum(maxlastfiles);
}
rc.num_lastfiles = lastfilesSB->value();
rc.use_tooltip = tooltipCB->isChecked();
rc.open_buffers_in_tabs = openDocumentsInTabsCB->isChecked();
- rc.use_bundled_format = useBundledCB->isChecked();
}
lastfilesSB->setValue(rc.num_lastfiles);
tooltipCB->setChecked(rc.use_tooltip);
openDocumentsInTabsCB->setChecked(rc.open_buffers_in_tabs);
- useBundledCB->setChecked(rc.use_bundled_format);
}
shortcutsTW->setSortingEnabled(true);
// Multi-selection can be annoying.
// shortcutsTW->setSelectionMode(QAbstractItemView::MultiSelection);
- shortcutsTW->header()->resizeSection(0, 200);
connect(bindFilePB, SIGNAL(clicked()),
this, SLOT(select_bind()));
mathItem_->setFlags(mathItem_->flags() & ~Qt::ItemIsSelectable);
bufferItem_ = new QTreeWidgetItem(shortcutsTW);
- bufferItem_->setText(0, qt_("Buffer and Window"));
+ bufferItem_->setText(0, qt_("Document and Window"));
bufferItem_->setFlags(bufferItem_->flags() & ~Qt::ItemIsSelectable);
layoutItem_ = new QTreeWidgetItem(shortcutsTW);
shortcutsTW->sortItems(0, Qt::AscendingOrder);
QList<QTreeWidgetItem*> items = shortcutsTW->selectedItems();
removePB->setEnabled(!items.isEmpty() && !items[0]->text(1).isEmpty());
+ modifyPB->setEnabled(!items.isEmpty());
+
+ shortcutsTW->resizeColumnToContents(0);
}
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;
{
QList<QTreeWidgetItem*> items = shortcutsTW->selectedItems();
removePB->setEnabled(!items.isEmpty() && !items[0]->text(1).isEmpty());
+ modifyPB->setEnabled(!items.isEmpty());
if (items.isEmpty())
return;
item_type tag = static_cast<item_type>(items[0]->data(0, Qt::UserRole).toInt());
if (tag == UserUnbind)
- removePB->setText(qt_("Restore"));
+ removePB->setText(qt_("Res&tore"));
else
- removePB->setText(qt_("Remove"));
+ removePB->setText(qt_("Remo&ve"));
}
void PrefShortcuts::on_shortcutsTW_itemDoubleClicked()
+{
+ modifyShortcut();
+}
+
+
+void PrefShortcuts::modifyShortcut()
{
QTreeWidgetItem * item = shortcutsTW->currentItem();
if (item->flags() & Qt::ItemIsSelectable) {
shortcut_->lfunLE->setText(item->text(0));
- // clear the shortcut because I assume that a user will enter
- // a new shortcut.
- shortcut_->shortcutLE->reset();
+ shortcut_->shortcutLE->setText(item->text(1));
shortcut_->shortcutLE->setFocus();
shortcut_->exec();
}
}
+void PrefShortcuts::on_modifyPB_pressed()
+{
+ modifyShortcut();
+}
+
+
void PrefShortcuts::on_newPB_pressed()
{
shortcut_->lfunLE->clear();
// but add an user unbind item
user_unbind_.bind(shortcut, func);
setItemType(items[i], UserUnbind);
- removePB->setText(qt_("Restore"));
+ removePB->setText(qt_("Res&tore"));
break;
}
case UserBind: {
// become System again.
user_unbind_.unbind(shortcut, func);
setItemType(items[i], System);
- removePB->setText(qt_("Remove"));
+ removePB->setText(qt_("Remo&ve"));
break;
}
case UserExtraUnbind: {
void GuiPreferences::add(PrefModule * module)
{
- BOOST_ASSERT(module);
+ LASSERT(module, /**/);
if (module->category().isEmpty())
prefsPS->addPanel(module, module->title());
else
QString GuiPreferences::browsebind(QString const & file) const
{
return browseLibFile("bind", file, "bind", qt_("Choose bind file"),
- FileFilterList(_("LyX bind files (*.bind)")));
+ QStringList(qt_("LyX bind files (*.bind)")));
}
QString GuiPreferences::browseUI(QString const & file) const
{
return browseLibFile("ui", file, "ui", qt_("Choose UI file"),
- FileFilterList(_("LyX UI files (*.ui)")));
+ QStringList(qt_("LyX UI files (*.ui)")));
}
QString GuiPreferences::browsekbmap(QString const & file) const
{
return browseLibFile("kbd", file, "kmap", qt_("Choose keyboard map"),
- FileFilterList(_("LyX keyboard maps (*.kmap)")));
+ QStringList(qt_("LyX keyboard maps (*.kmap)")));
}
QString GuiPreferences::browsedict(QString const & file) const
{
return browseFile(file, qt_("Choose personal dictionary"),
- FileFilterList(lyxrc.use_spell_lib ? _("*.pws") : _("*.ispell")));
+ QStringList(lyxrc.use_spell_lib ? qt_("*.pws") : qt_("*.ispell")));
}
QString GuiPreferences::browse(QString const & file,
QString const & title) const
{
- return browseFile(file, title, FileFilterList(), true);
-}
-
-
-QString GuiPreferences::browsedir(QString const & path,
- QString const & title) const
-{
- return browseDir(path, title);
+ return browseFile(file, title, QStringList(), true);
}