--- a/src/qtgui/uiprefs.ui.h
+++ b/src/qtgui/uiprefs.ui.h
@@ -1,19 +1,3 @@
-/*
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the
- * Free Software Foundation, Inc.,
- * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- */
/****************************************************************************
** ui.h extension file, included from the uic-generated form implementation.
**
@@ -25,306 +9,3 @@
** These will automatically be called by the form's constructor and
** destructor.
*****************************************************************************/
-#include <sys/stat.h>
-
-#include <string>
-#include <algorithm>
-#include <list>
-
-#include "qfontdialog.h"
-#include "qfiledialog.h"
-#include "qspinbox.h"
-#include "qmessagebox.h"
-
-#include "recoll.h"
-#include "guiutils.h"
-#include "rcldb.h"
-#include "pathut.h"
-
-void UIPrefsDialog::init()
-{
- // Entries per result page spinbox
- pageLenSB->setValue(prefs.respagesize);
- // Show icons checkbox
- useIconsCB->setChecked(prefs.showicons);
- autoSearchCB->setChecked(prefs.autoSearchOnWS);
- // Result list font family and size
- reslistFontFamily = prefs.reslistfontfamily;
- reslistFontSize = prefs.reslistfontsize;
- QString s;
- if (prefs.reslistfontfamily.length() == 0) {
- reslistFontPB->setText(this->font().family() + "-" +
- s.setNum(this->font().pointSize()));
- } else {
- reslistFontPB->setText(reslistFontFamily + "-" +
- s.setNum(reslistFontSize));
- }
- helpBrowserLE->setText(prefs.htmlBrowser);
- // Stemming language combobox
- stemLangCMB->insertItem("(no stemming)");
- list<string> langs;
- string reason;
- if (!maybeOpenDb(reason)) {
- QMessageBox::critical(0, "Recoll", QString(reason.c_str()));
- exit(1);
- }
- langs = rcldb->getStemLangs();
-
- int i = 0, cur = -1;
- for (list<string>::const_iterator it = langs.begin();
- it != langs.end(); it++) {
- stemLangCMB->
- insertItem(QString::fromAscii(it->c_str(), it->length()));
- i++;
- if (cur == -1) {
- if (!strcmp(prefs.queryStemLang.ascii(), it->c_str()))
- cur = i;
- }
- }
- if (cur < 0)
- cur = 0;
- stemLangCMB->setCurrentItem(cur);
-
- buildAbsCB->setDown(prefs.queryBuildAbstract);
- if (!prefs.queryBuildAbstract) {
- replAbsCB->setEnabled(false);
- }
- replAbsCB->setDown(prefs.queryReplaceAbstract);
-
- // Initialize the extra databases listboxes
- QStringList ql;
- for (list<string>::iterator it = prefs.allExtraDbs.begin();
- it != prefs.allExtraDbs.end(); it++) {
- ql.append(QString::fromLocal8Bit(it->c_str()));
- }
- allDbsLB->insertStringList(ql);
- ql.clear();
- for (list<string>::iterator it = prefs.activeExtraDbs.begin();
- it != prefs.activeExtraDbs.end(); it++) {
- ql.append(QString::fromLocal8Bit(it->c_str()));
- }
- actDbsLB->insertStringList(ql);
- ql.clear();
-
- connect(reslistFontPB, SIGNAL(clicked()), this, SLOT(showFontDialog()));
- connect(helpBrowserPB, SIGNAL(clicked()), this, SLOT(showBrowserDialog()));
- connect(resetFontPB, SIGNAL(clicked()), this, SLOT(resetReslistFont()));
- connect(extraDbLE,SIGNAL(textChanged(const QString&)), this,
- SLOT(extraDbTextChanged(const QString&)));
- connect(addAADbPB, SIGNAL(clicked()), this, SLOT(addAADbPB_clicked()));
- connect(addADbPB, SIGNAL(clicked()), this, SLOT(addADbPB_clicked()));
- connect(delADbPB, SIGNAL(clicked()), this, SLOT(delADbPB_clicked()));
- connect(delAADbPB, SIGNAL(clicked()), this, SLOT(delAADbPB_clicked()));
- connect(addExtraDbPB, SIGNAL(clicked()), this, SLOT(addExtraDbPB_clicked()));
- connect(browseDbPB, SIGNAL(clicked()), this, SLOT(browseDbPB_clicked()));
-
-
-}
-
-void UIPrefsDialog::accept()
-{
- prefs.showicons = useIconsCB->isChecked();
- prefs.autoSearchOnWS = autoSearchCB->isChecked();
- prefs.respagesize = pageLenSB->value();
-
- prefs.reslistfontfamily = reslistFontFamily;
- prefs.reslistfontsize = reslistFontSize;
-
- prefs.htmlBrowser = helpBrowserLE->text();
-
- if (stemLangCMB->currentItem() == 0) {
- prefs.queryStemLang = "";
- } else {
- prefs.queryStemLang = stemLangCMB->currentText();
- }
- prefs.queryBuildAbstract = buildAbsCB->isChecked();
- prefs.queryReplaceAbstract = buildAbsCB->isChecked() &&
- replAbsCB->isChecked();
-
- prefs.activeExtraDbs.clear();
- for (unsigned int i = 0; i < actDbsLB->count(); i++) {
- QListBoxItem *item = actDbsLB->item(i);
- if (item)
- prefs.activeExtraDbs.push_back((const char *)item->text().local8Bit());
- }
- prefs.allExtraDbs.clear();
- for (unsigned int i = 0; i < allDbsLB->count(); i++) {
- QListBoxItem *item = allDbsLB->item(i);
- if (item)
- prefs.allExtraDbs.push_back((const char *)item->text().local8Bit());
- }
-
-
- rwSettings(true);
- string reason;
- maybeOpenDb(reason, true);
- emit uiprefsDone();
- QDialog::accept();
-}
-
-void UIPrefsDialog::showFontDialog()
-{
- bool ok;
- QFont font;
- if (prefs.reslistfontfamily.length()) {
- font.setFamily(prefs.reslistfontfamily);
- font.setPointSize(prefs.reslistfontsize);
- }
-
- font = QFontDialog::getFont(&ok, font, this );
- if (ok) {
- // Check if the default font was set, in which case we
- // erase the preference
- if (font.family().compare(this->font().family()) ||
- font.pointSize() != this->font().pointSize()) {
- reslistFontFamily = font.family();
- reslistFontSize = font.pointSize();
- QString s;
- reslistFontPB->setText(reslistFontFamily + "-" +
- s.setNum(reslistFontSize));
- } else {
- reslistFontFamily = "";
- reslistFontSize = 0;
- }
- }
-}
-
-
-void UIPrefsDialog::resetReslistFont()
-{
- reslistFontFamily = "";
- reslistFontSize = 0;
- reslistFontPB->setText(this->font().family() + "-" +
- QString().setNum(this->font().pointSize()));
-}
-
-void UIPrefsDialog::showBrowserDialog()
-{
- QString s = QFileDialog::getOpenFileName("/usr",
- "",
- this,
- "open file dialog",
- "Choose a file" );
- if (s)
- helpBrowserLE->setText(s);
-}
-
-////////////////////////////////////////////
-// External / extra search databases setup
-// TBD: a way to remove entry from 'all' list (del button? )
-
-void UIPrefsDialog::extraDbTextChanged(const QString &text)
-{
- if (text.isEmpty()) {
- addExtraDbPB->setEnabled(false);
- } else {
- addExtraDbPB->setEnabled(true);
- }
-}
-
-/**
- * Add the selected extra dbs to the active list
- */
-void UIPrefsDialog::addADbPB_clicked()
-{
- for (unsigned int i = 0; i < allDbsLB->count();i++) {
- QListBoxItem *item = allDbsLB->item(i);
- if (item && item->isSelected()) {
- allDbsLB->setSelected(i, false);
- if (!actDbsLB->findItem(item->text(),
- Qt::CaseSensitive|Qt::ExactMatch)) {
- actDbsLB->insertItem(item->text());
- }
- }
- }
- actDbsLB->sort();
-}
-
-/**
- * Make all extra dbs active
- */
-void UIPrefsDialog::addAADbPB_clicked()
-{
- for (unsigned int i = 0; i < allDbsLB->count();i++) {
- allDbsLB->setSelected(i, true);
- }
- addADbPB_clicked();
-}
-
-/**
- * Remove the selected entries from the list of active extra search dbs
- */
-void UIPrefsDialog::delADbPB_clicked()
-{
- list<int> rmi;
- for (unsigned int i = 0; i < actDbsLB->count(); i++) {
- QListBoxItem *item = actDbsLB->item(i);
- if (item && item->isSelected()) {
- rmi.push_front(i);
- }
- }
- for (list<int>::iterator ii = rmi.begin(); ii != rmi.end(); ii++) {
- actDbsLB->removeItem(*ii);
- }
-}
-
-/**
- * Remove all extra search databases from the active list
- */
-void UIPrefsDialog::delAADbPB_clicked()
-{
- for (unsigned int i = 0; i < actDbsLB->count(); i++) {
- actDbsLB->setSelected(i, true);
- }
- delADbPB_clicked();
-}
-
-/**
- * Add the current content of the extra db line editor to the list of all
- * extra dbs. We do a textual comparison to check for duplicates, except for
- * the main db for which we check inode numbers.
- */
-void UIPrefsDialog::addExtraDbPB_clicked()
-{
- string dbdir = (const char *)extraDbLE->text().local8Bit();
- path_catslash(dbdir);
- if (!Rcl::Db::testDbDir(dbdir)) {
- QMessageBox::warning(0, "Recoll",
- tr("The selected directory does not appear to be a Xapian database"));
- return;
- }
- struct stat st1, st2;
- stat(dbdir.c_str(), &st1);
- string rcldbdir;
- if (rcldb)
- rcldbdir = rcldb->getDbDir();
- stat(rcldbdir.c_str(), &st2);
- path_catslash(rcldbdir);
- fprintf(stderr, "rcldbdir: [%s]\n", rcldbdir.c_str());
- if (st1.st_dev == st2.st_dev && st1.st_ino == st2.st_ino) {
- QMessageBox::warning(0, "Recoll",
- tr("This is the main/local database!"));
- return;
- }
- if (allDbsLB->findItem(extraDbLE->text(),
- Qt::CaseSensitive|Qt::ExactMatch)) {
- QMessageBox::warning(0, "Recoll",
- tr("The selected directory is already in the database list"));
- return;
- }
- allDbsLB->insertItem(extraDbLE->text());
- allDbsLB->sort();
-}
-
-void UIPrefsDialog::browseDbPB_clicked()
-{
- QFileDialog fdia;
- bool savedh = fdia.showHiddenFiles();
- fdia.setShowHiddenFiles(true);
- QString s = QFileDialog::getExistingDirectory("", this, 0,
-tr("Select directory holding xapian database (ie: /home/someone/.recoll/xapiandb)"));
-
- fdia.setShowHiddenFiles(savedh);
- if (s)
- extraDbLE->setText(s);
-}