This commit is contained in:
dockes 2007-10-01 06:35:31 +00:00
parent 569d96c43f
commit 419deb4b22
5 changed files with 152 additions and 43 deletions

View File

@ -1,9 +1,42 @@
#ifndef lint #ifndef lint
static char rcsid[] = "@(#$Id: confgui.cpp,v 1.4 2007-10-01 06:19:21 dockes Exp $ (C) 2005 J.F.Dockes"; static char rcsid[] = "@(#$Id: confgui.cpp,v 1.5 2007-10-01 06:35:31 dockes Exp $ (C) 2005 J.F.Dockes";
#endif #endif
#include <stdio.h> #include <stdio.h>
#include <qglobal.h>
#if QT_VERSION < 0x040000
#define QFRAME_INCLUDE <qframe.h>
#define QFILEDIALOG_INCLUDE <qfiledialog.h>
#define QLISTBOX_INCLUDE <qlistbox.h>
#define QFILEDIALOG QFileDialog
#define QFRAME QFrame
#define QHBOXLAYOUT QHBoxLayout
#define QLISTBOX QListBox
#define QLISTBOXITEM QListBoxItem
#define QLBEXACTMATCH Qt::ExactMatch
#define QVBOXLAYOUT QVBoxLayout
#else
#include <Q3HBoxLayout>
#include <Q3VBoxLayout>
#include <QFrame>
#define QFRAME_INCLUDE <q3frame.h>
#include <QFileDialog>
#define QFILEDIALOG_INCLUDE <q3filedialog.h>
#define QLISTBOX_INCLUDE <q3listbox.h>
#define QFILEDIALOG Q3FileDialog
#define QFRAME Q3Frame
#define QHBOXLAYOUT Q3HBoxLayout
#define QLISTBOX Q3ListBox
#define QLISTBOXITEM Q3ListBoxItem
#define QLBEXACTMATCH Q3ListBox::ExactMatch
#define QVBOXLAYOUT Q3VBoxLayout
#endif
#include <qobject.h> #include <qobject.h>
#include <qlayout.h> #include <qlayout.h>
#include <qsize.h> #include <qsize.h>
@ -13,13 +46,13 @@ static char rcsid[] = "@(#$Id: confgui.cpp,v 1.4 2007-10-01 06:19:21 dockes Exp
#include <qtooltip.h> #include <qtooltip.h>
#include <qlineedit.h> #include <qlineedit.h>
#include <qcheckbox.h> #include <qcheckbox.h>
#include <qfiledialog.h> #include QFILEDIALOG_INCLUDE
#include <qinputdialog.h> #include <qinputdialog.h>
#include <qpushbutton.h> #include <qpushbutton.h>
#include <qstringlist.h> #include <qstringlist.h>
#include <qlistbox.h> #include QLISTBOX_INCLUDE
#include <qcombobox.h> #include <qcombobox.h>
#include <qframe.h> #include QFRAME_INCLUDE
#include "confgui.h" #include "confgui.h"
#include "smallut.h" #include "smallut.h"
@ -59,7 +92,7 @@ void ConfParamW::loadValue()
bool ConfParamW::createCommon(const QString& lbltxt, const QString& tltptxt) bool ConfParamW::createCommon(const QString& lbltxt, const QString& tltptxt)
{ {
m_hl = new QHBoxLayout(this); m_hl = new QHBOXLAYOUT(this);
m_hl->setSpacing(spacing); m_hl->setSpacing(spacing);
QLabel *tl = new QLabel(this); QLabel *tl = new QLabel(this);
@ -99,7 +132,7 @@ ConfParamIntW::ConfParamIntW(QWidget *parent, ConfLink cflink,
m_sb->sizePolicy().hasHeightForWidth() ) ); m_sb->sizePolicy().hasHeightForWidth() ) );
m_hl->addWidget(m_sb); m_hl->addWidget(m_sb);
QFrame *fr = new QFrame(this); QFRAME *fr = new QFRAME(this);
fr->setSizePolicy(QSizePolicy(QSizePolicy::Preferred, fr->setSizePolicy(QSizePolicy(QSizePolicy::Preferred,
QSizePolicy::Fixed, QSizePolicy::Fixed,
1, // Horizontal stretch 1, // Horizontal stretch
@ -198,7 +231,7 @@ ConfParamBoolW::ConfParamBoolW(QWidget *parent, ConfLink cflink,
: ConfParamW(parent, cflink) : ConfParamW(parent, cflink)
{ {
// No createCommon because the checkbox has a label // No createCommon because the checkbox has a label
m_hl = new QHBoxLayout(this); m_hl = new QHBOXLAYOUT(this);
m_hl->setSpacing(spacing); m_hl->setSpacing(spacing);
m_cb = new QCheckBox(lbltxt, this); m_cb = new QCheckBox(lbltxt, this);
@ -211,7 +244,7 @@ ConfParamBoolW::ConfParamBoolW(QWidget *parent, ConfLink cflink,
QToolTip::add(m_cb, tltptxt); QToolTip::add(m_cb, tltptxt);
m_hl->addWidget(m_cb); m_hl->addWidget(m_cb);
QFrame *fr = new QFrame(this); QFRAME *fr = new QFRAME(this);
fr->setSizePolicy(QSizePolicy(QSizePolicy::Preferred, fr->setSizePolicy(QSizePolicy(QSizePolicy::Preferred,
QSizePolicy::Fixed, QSizePolicy::Fixed,
1, // Horizontal stretch 1, // Horizontal stretch
@ -274,7 +307,7 @@ void ConfParamFNW::loadValue()
void ConfParamFNW::showBrowserDialog() void ConfParamFNW::showBrowserDialog()
{ {
QString s = m_isdir ? QString s = m_isdir ?
QFileDialog::getExistingDirectory() : QFileDialog::getSaveFileName(); QFILEDIALOG::getExistingDirectory() : QFILEDIALOG::getSaveFileName();
if (!s.isEmpty()) if (!s.isEmpty())
m_le->setText(s); m_le->setText(s);
} }
@ -285,11 +318,11 @@ ConfParamSLW::ConfParamSLW(QWidget *parent, ConfLink cflink,
: ConfParamW(parent, cflink) : ConfParamW(parent, cflink)
{ {
// Can't use createCommon here cause we want the buttons below the label // Can't use createCommon here cause we want the buttons below the label
m_hl = new QHBoxLayout(this); m_hl = new QHBOXLAYOUT(this);
m_hl->setSpacing(spacing); m_hl->setSpacing(spacing);
QVBoxLayout *vl1 = new QVBoxLayout(); QVBOXLAYOUT *vl1 = new QVBOXLAYOUT();
QHBoxLayout *hl1 = new QHBoxLayout(); QHBOXLAYOUT *hl1 = new QHBOXLAYOUT();
QLabel *tl = new QLabel(this); QLabel *tl = new QLabel(this);
tl->setSizePolicy(QSizePolicy(QSizePolicy::Preferred, tl->setSizePolicy(QSizePolicy(QSizePolicy::Preferred,
@ -323,11 +356,11 @@ ConfParamSLW::ConfParamSLW(QWidget *parent, ConfLink cflink,
m_hl->addLayout(vl1); m_hl->addLayout(vl1);
m_lb = new QListBox(this); m_lb = new QLISTBOX(this);
loadValue(); loadValue();
m_lb->setSelectionMode(QListBox::Extended); m_lb->setSelectionMode(QLISTBOX::Extended);
m_lb->setSizePolicy(QSizePolicy(QSizePolicy::Preferred, m_lb->setSizePolicy(QSizePolicy(QSizePolicy::Preferred,
QSizePolicy::Preferred, QSizePolicy::Preferred,
@ -371,7 +404,7 @@ void ConfParamSLW::showInputDialog()
&ok, &ok,
this); this);
if (ok && !s.isEmpty()) { if (ok && !s.isEmpty()) {
if (m_lb->findItem(s, Qt::ExactMatch) == 0) { if (m_lb->findItem(s, QLBEXACTMATCH) == 0) {
m_lb->insertItem(s); m_lb->insertItem(s);
m_lb->sort(); m_lb->sort();
listToConf(); listToConf();
@ -410,13 +443,13 @@ void ConfParamSLW::deleteSelected()
// "Add entry" dialog for a file name list // "Add entry" dialog for a file name list
void ConfParamDNLW::showInputDialog() void ConfParamDNLW::showInputDialog()
{ {
QString s = QFileDialog::getExistingDirectory(); QString s = QFILEDIALOG::getExistingDirectory();
if (!s.isEmpty()) { if (!s.isEmpty()) {
if (m_lb->findItem(s, Qt::ExactMatch) == 0) { if (m_lb->findItem(s, QLBEXACTMATCH) == 0) {
m_lb->insertItem(s); m_lb->insertItem(s);
m_lb->sort(); m_lb->sort();
QListBoxItem *item = m_lb->findItem(s, Qt::ExactMatch); QLISTBOXITEM *item = m_lb->findItem(s, QLBEXACTMATCH);
if (m_lb->selectionMode() == QListBox::Single && item) if (m_lb->selectionMode() == QLISTBOX::Single && item)
m_lb->setSelected(item, true); m_lb->setSelected(item, true);
listToConf(); listToConf();
} }
@ -434,7 +467,7 @@ void ConfParamCSLW::showInputDialog()
false, // editable, false, // editable,
&ok); &ok);
if (ok && !s.isEmpty()) { if (ok && !s.isEmpty()) {
if (m_lb->findItem(s, Qt::ExactMatch) == 0) { if (m_lb->findItem(s, QLBEXACTMATCH) == 0) {
m_lb->insertItem(s); m_lb->insertItem(s);
m_lb->sort(); m_lb->sort();
listToConf(); listToConf();

View File

@ -1,19 +1,27 @@
#ifndef _confgui_h_included_ #ifndef _confgui_h_included_
#define _confgui_h_included_ #define _confgui_h_included_
/* @(#$Id: confgui.h,v 1.3 2007-09-29 09:06:53 dockes Exp $ (C) 2007 J.F.Dockes */ /* @(#$Id: confgui.h,v 1.4 2007-10-01 06:35:31 dockes Exp $ (C) 2007 J.F.Dockes */
#include <string> #include <string>
#include <qglobal.h>
#include <qstring.h> #include <qstring.h>
#include <qwidget.h> #include <qwidget.h>
#if QT_VERSION < 0x040000
#define QHBOXLAYOUT QHBoxLayout
#define QLISTBOX QListBox
#else
#define QHBOXLAYOUT Q3HBoxLayout
#define QLISTBOX Q3ListBox
#endif
#include "refcntr.h" #include "refcntr.h"
using std::string; using std::string;
class QHBoxLayout; class QHBOXLAYOUT;
class QLineEdit; class QLineEdit;
class QListBox; class QLISTBOX;
class RclConfig; class RclConfig;
class QSpinBox; class QSpinBox;
class QComboBox; class QComboBox;
@ -24,6 +32,7 @@ namespace confgui {
// A class to isolate the gui widget from the config storage mechanism // A class to isolate the gui widget from the config storage mechanism
class ConfLinkRep { class ConfLinkRep {
public: public:
virtual ~ConfLinkRep() {}
virtual bool set(const string& val) = 0; virtual bool set(const string& val) = 0;
virtual bool get(string& val) = 0; virtual bool get(string& val) = 0;
}; };
@ -31,6 +40,7 @@ namespace confgui {
class ConfLinkNullRep : public ConfLinkRep { class ConfLinkNullRep : public ConfLinkRep {
public: public:
virtual ~ConfLinkNullRep() {}
virtual bool set(const string&) virtual bool set(const string&)
{ {
//fprintf(stderr, "Setting value to [%s]\n", val.c_str()); //fprintf(stderr, "Setting value to [%s]\n", val.c_str());
@ -52,7 +62,7 @@ namespace confgui {
protected: protected:
ConfLink m_cflink; ConfLink m_cflink;
QHBoxLayout *m_hl; QHBOXLAYOUT *m_hl;
virtual bool createCommon(const QString& lbltxt, virtual bool createCommon(const QString& lbltxt,
const QString& tltptxt); const QString& tltptxt);
@ -135,7 +145,7 @@ namespace confgui {
const QString& lbltxt, const QString& lbltxt,
const QString& tltptxt); const QString& tltptxt);
virtual void loadValue(); virtual void loadValue();
QListBox *getListBox() {return m_lb;} QLISTBOX *getListBox() {return m_lb;}
protected slots: protected slots:
virtual void showInputDialog(); virtual void showInputDialog();
@ -143,7 +153,7 @@ namespace confgui {
signals: signals:
void entryDeleted(QString); void entryDeleted(QString);
protected: protected:
QListBox *m_lb; QLISTBOX *m_lb;
void listToConf(); void listToConf();
}; };
@ -175,6 +185,7 @@ namespace confgui {
} }
protected slots: protected slots:
virtual void showInputDialog(); virtual void showInputDialog();
protected:
const QStringList m_sl; const QStringList m_sl;
}; };
} }

View File

@ -1,12 +1,44 @@
#ifndef lint #ifndef lint
static char rcsid[] = "@(#$Id: confguiindex.cpp,v 1.2 2007-09-29 09:06:53 dockes Exp $ (C) 2007 J.F.Dockes"; static char rcsid[] = "@(#$Id: confguiindex.cpp,v 1.3 2007-10-01 06:35:31 dockes Exp $ (C) 2007 J.F.Dockes";
#endif #endif
#include <qglobal.h>
#if QT_VERSION < 0x040000
#define QFRAME_INCLUDE <qframe.h>
#define QFILEDIALOG_INCLUDE <qfiledialog.h>
#define QLISTBOX_INCLUDE <qlistbox.h>
#define QFILEDIALOG QFileDialog
#define QFRAME QFrame
#define QHBOXLAYOUT QHBoxLayout
#define QLISTBOX QListBox
#define QLISTBOXITEM QListBoxItem
#define QLBEXACTMATCH Qt::ExactMatch
#define QVBOXLAYOUT QVBoxLayout
#else
#include <Q3HBoxLayout>
#include <Q3VBoxLayout>
#include <QFrame>
#define QFRAME_INCLUDE <q3frame.h>
#include <QFileDialog>
#define QFILEDIALOG_INCLUDE <q3filedialog.h>
#define QLISTBOX_INCLUDE <q3listbox.h>
#define QFILEDIALOG Q3FileDialog
#define QFRAME Q3Frame
#define QHBOXLAYOUT Q3HBoxLayout
#define QLISTBOX Q3ListBox
#define QLISTBOXITEM Q3ListBoxItem
#define QLBEXACTMATCH Q3ListBox::ExactMatch
#define QVBOXLAYOUT Q3VBoxLayout
#endif
#include <qlayout.h> #include <qlayout.h>
#include <qframe.h> #include QFRAME_INCLUDE
#include <qwidget.h> #include <qwidget.h>
#include <qlabel.h> #include <qlabel.h>
#include <qlistbox.h> #include QLISTBOX_INCLUDE
#include <qtimer.h> #include <qtimer.h>
#include <list> #include <list>
@ -27,7 +59,7 @@ const static int margin = 6;
ConfTopPanelW::ConfTopPanelW(QWidget *parent, RclConfig *config) ConfTopPanelW::ConfTopPanelW(QWidget *parent, RclConfig *config)
: QWidget(parent) : QWidget(parent)
{ {
QVBoxLayout *vboxLayout = new QVBoxLayout(this); QVBOXLAYOUT *vboxLayout = new QVBOXLAYOUT(this);
vboxLayout->setSpacing(spacing); vboxLayout->setSpacing(spacing);
vboxLayout->setMargin(margin); vboxLayout->setMargin(margin);
@ -137,7 +169,7 @@ ConfTopPanelW::ConfTopPanelW(QWidget *parent, RclConfig *config)
ConfSubPanelW::ConfSubPanelW(QWidget *parent, RclConfig *config) ConfSubPanelW::ConfSubPanelW(QWidget *parent, RclConfig *config)
: QWidget(parent), m_config(config) : QWidget(parent), m_config(config)
{ {
QVBoxLayout *vboxLayout = new QVBoxLayout(this); QVBOXLAYOUT *vboxLayout = new QVBOXLAYOUT(this);
vboxLayout->setSpacing(spacing); vboxLayout->setSpacing(spacing);
vboxLayout->setMargin(margin); vboxLayout->setMargin(margin);
@ -149,7 +181,7 @@ ConfSubPanelW::ConfSubPanelW(QWidget *parent, RclConfig *config)
"hierarchy where some parameters need to be " "hierarchy where some parameters need to be "
"customised. " "customised. "
"Default: empty.")); "Default: empty."));
m_subdirs->getListBox()->setSelectionMode(QListBox::Single); m_subdirs->getListBox()->setSelectionMode(QLISTBOX::Single);
connect(m_subdirs->getListBox(), SIGNAL(selectionChanged()), connect(m_subdirs->getListBox(), SIGNAL(selectionChanged()),
this, SLOT(subDirChanged())); this, SLOT(subDirChanged()));
connect(m_subdirs, SIGNAL(entryDeleted(QString)), connect(m_subdirs, SIGNAL(entryDeleted(QString)),
@ -174,9 +206,9 @@ ConfSubPanelW::ConfSubPanelW(QWidget *parent, RclConfig *config)
"the +/- buttons.")); "the +/- buttons."));
vboxLayout->addWidget(explain); vboxLayout->addWidget(explain);
QFrame *line2 = new QFrame(this); QFRAME *line2 = new QFRAME(this);
line2->setFrameShape(QFrame::HLine); line2->setFrameShape(QFRAME::HLine);
line2->setFrameShadow(QFrame::Sunken); line2->setFrameShadow(QFRAME::Sunken);
vboxLayout->addWidget(line2); vboxLayout->addWidget(line2);
ConfLink lnkskn(new ConfLinkRclRep(config, "skippedNames", &m_sk)); ConfLink lnkskn(new ConfLinkRclRep(config, "skippedNames", &m_sk));
@ -252,7 +284,7 @@ void ConfSubPanelW::reloadAll()
void ConfSubPanelW::subDirChanged() void ConfSubPanelW::subDirChanged()
{ {
LOGDEB(("ConfSubPanelW::subDirChanged\n")); LOGDEB(("ConfSubPanelW::subDirChanged\n"));
QListBoxItem *item = m_subdirs->getListBox()->selectedItem(); QLISTBOXITEM *item = m_subdirs->getListBox()->selectedItem();
if (item == 0) { if (item == 0) {
m_sk = ""; m_sk = "";
} else { } else {

View File

@ -1,5 +1,5 @@
#ifndef lint #ifndef lint
static char rcsid[] = "@(#$Id: main.cpp,v 1.3 2007-09-29 09:06:53 dockes Exp $ (C) 2005 J.F.Dockes"; static char rcsid[] = "@(#$Id: main.cpp,v 1.4 2007-10-01 06:35:31 dockes Exp $ (C) 2005 J.F.Dockes";
#endif #endif
/* /*
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
@ -27,6 +27,37 @@ using namespace std;
#include <unistd.h> #include <unistd.h>
#include <qglobal.h>
#if QT_VERSION < 0x040000
#define QFRAME_INCLUDE <qframe.h>
#define QFILEDIALOG_INCLUDE <qfiledialog.h>
#define QLISTBOX_INCLUDE <qlistbox.h>
#define QFILEDIALOG QFileDialog
#define QFRAME QFrame
#define QHBOXLAYOUT QHBoxLayout
#define QLISTBOX QListBox
#define QLISTBOXITEM QListBoxItem
#define QVBOXLAYOUT QVBoxLayout
#else
#include <Q3HBoxLayout>
#include <Q3VBoxLayout>
#include <QFrame>
#define QFRAME_INCLUDE <q3frame.h>
#include <QFileDialog>
#define QFILEDIALOG_INCLUDE <q3filedialog.h>
#define QLISTBOX_INCLUDE <q3listbox.h>
#define QFILEDIALOG Q3FileDialog
#define QFRAME Q3Frame
#define QHBOXLAYOUT Q3HBoxLayout
#define QLISTBOX Q3ListBox
#define QLISTBOXITEM Q3ListBoxItem
#define QVBOXLAYOUT Q3VBoxLayout
#endif
#include <qobject.h> #include <qobject.h>
#include <qapplication.h> #include <qapplication.h>
#include <qtranslator.h> #include <qtranslator.h>
@ -34,7 +65,7 @@ using namespace std;
#include <qthread.h> #include <qthread.h>
#include <qtimer.h> #include <qtimer.h>
#include <qlayout.h> #include <qlayout.h>
#include <qframe.h> #include QFRAME_INCLUDE
#include <qwidget.h> #include <qwidget.h>
#include <qlabel.h> #include <qlabel.h>
@ -126,15 +157,15 @@ int main(int argc, char **argv)
QWidget w; QWidget w;
QVBoxLayout *vboxLayout = new QVBoxLayout(&w); QVBOXLAYOUT *vboxLayout = new QVBOXLAYOUT(&w);
vboxLayout->setSpacing(6); vboxLayout->setSpacing(6);
vboxLayout->setMargin(11); vboxLayout->setMargin(11);
vboxLayout->addWidget(new ConfTopPanelW(&w, config)); vboxLayout->addWidget(new ConfTopPanelW(&w, config));
QFrame *line1 = new QFrame(&w); QFRAME *line1 = new QFRAME(&w);
line1->setFrameShape(QFrame::HLine); line1->setFrameShape(QFRAME::HLine);
line1->setFrameShadow(QFrame::Sunken); line1->setFrameShadow(QFRAME::Sunken);
vboxLayout->addWidget(line1); vboxLayout->addWidget(line1);
vboxLayout->addWidget(new ConfSubPanelW(&w, config)); vboxLayout->addWidget(new ConfSubPanelW(&w, config));

View File

@ -14,7 +14,7 @@ unix {
MOC_DIR = .moc MOC_DIR = .moc
OBJECTS_DIR = .obj OBJECTS_DIR = .obj
DEFINES += RECOLL_DATADIR=\"/usr/local/share/recoll\" DEFINES += RECOLL_DATADIR='\\"/usr/local/share/recoll\\"'
LIBS += ../../lib/librcl.a -lxapian -liconv -lz LIBS += ../../lib/librcl.a -lxapian -liconv -lz
INCLUDEPATH += ../../common ../../utils ../../rcldb INCLUDEPATH += ../../common ../../utils ../../rcldb
@ -28,3 +28,5 @@ contains( UNAME, [lL]inux ) {
LIBS -= -liconv LIBS -= -liconv
} }
#The following line was inserted by qt3to4
QT += qt3support