From 419deb4b22f5d31ee83d03487a2583425b451439 Mon Sep 17 00:00:00 2001 From: dockes Date: Mon, 1 Oct 2007 06:35:31 +0000 Subject: [PATCH] qt4 port --- src/qtgui/confgui/confgui.cpp | 73 ++++++++++++++++++++++-------- src/qtgui/confgui/confgui.h | 23 +++++++--- src/qtgui/confgui/confguiindex.cpp | 52 +++++++++++++++++---- src/qtgui/confgui/main.cpp | 43 +++++++++++++++--- src/qtgui/confgui/trconf.pro | 4 +- 5 files changed, 152 insertions(+), 43 deletions(-) diff --git a/src/qtgui/confgui/confgui.cpp b/src/qtgui/confgui/confgui.cpp index 53632779..221750c9 100644 --- a/src/qtgui/confgui/confgui.cpp +++ b/src/qtgui/confgui/confgui.cpp @@ -1,9 +1,42 @@ #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 #include +#include +#if QT_VERSION < 0x040000 +#define QFRAME_INCLUDE +#define QFILEDIALOG_INCLUDE +#define QLISTBOX_INCLUDE +#define QFILEDIALOG QFileDialog +#define QFRAME QFrame +#define QHBOXLAYOUT QHBoxLayout +#define QLISTBOX QListBox +#define QLISTBOXITEM QListBoxItem +#define QLBEXACTMATCH Qt::ExactMatch +#define QVBOXLAYOUT QVBoxLayout +#else +#include +#include + +#include +#define QFRAME_INCLUDE + +#include +#define QFILEDIALOG_INCLUDE + +#define QLISTBOX_INCLUDE + +#define QFILEDIALOG Q3FileDialog +#define QFRAME Q3Frame +#define QHBOXLAYOUT Q3HBoxLayout +#define QLISTBOX Q3ListBox +#define QLISTBOXITEM Q3ListBoxItem +#define QLBEXACTMATCH Q3ListBox::ExactMatch +#define QVBOXLAYOUT Q3VBoxLayout +#endif + #include #include #include @@ -13,13 +46,13 @@ static char rcsid[] = "@(#$Id: confgui.cpp,v 1.4 2007-10-01 06:19:21 dockes Exp #include #include #include -#include +#include QFILEDIALOG_INCLUDE #include #include #include -#include +#include QLISTBOX_INCLUDE #include -#include +#include QFRAME_INCLUDE #include "confgui.h" #include "smallut.h" @@ -59,7 +92,7 @@ void ConfParamW::loadValue() bool ConfParamW::createCommon(const QString& lbltxt, const QString& tltptxt) { - m_hl = new QHBoxLayout(this); + m_hl = new QHBOXLAYOUT(this); m_hl->setSpacing(spacing); QLabel *tl = new QLabel(this); @@ -99,7 +132,7 @@ ConfParamIntW::ConfParamIntW(QWidget *parent, ConfLink cflink, m_sb->sizePolicy().hasHeightForWidth() ) ); m_hl->addWidget(m_sb); - QFrame *fr = new QFrame(this); + QFRAME *fr = new QFRAME(this); fr->setSizePolicy(QSizePolicy(QSizePolicy::Preferred, QSizePolicy::Fixed, 1, // Horizontal stretch @@ -198,7 +231,7 @@ ConfParamBoolW::ConfParamBoolW(QWidget *parent, ConfLink cflink, : ConfParamW(parent, cflink) { // No createCommon because the checkbox has a label - m_hl = new QHBoxLayout(this); + m_hl = new QHBOXLAYOUT(this); m_hl->setSpacing(spacing); m_cb = new QCheckBox(lbltxt, this); @@ -211,7 +244,7 @@ ConfParamBoolW::ConfParamBoolW(QWidget *parent, ConfLink cflink, QToolTip::add(m_cb, tltptxt); m_hl->addWidget(m_cb); - QFrame *fr = new QFrame(this); + QFRAME *fr = new QFRAME(this); fr->setSizePolicy(QSizePolicy(QSizePolicy::Preferred, QSizePolicy::Fixed, 1, // Horizontal stretch @@ -274,7 +307,7 @@ void ConfParamFNW::loadValue() void ConfParamFNW::showBrowserDialog() { QString s = m_isdir ? - QFileDialog::getExistingDirectory() : QFileDialog::getSaveFileName(); + QFILEDIALOG::getExistingDirectory() : QFILEDIALOG::getSaveFileName(); if (!s.isEmpty()) m_le->setText(s); } @@ -285,11 +318,11 @@ ConfParamSLW::ConfParamSLW(QWidget *parent, ConfLink cflink, : ConfParamW(parent, cflink) { // 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); - QVBoxLayout *vl1 = new QVBoxLayout(); - QHBoxLayout *hl1 = new QHBoxLayout(); + QVBOXLAYOUT *vl1 = new QVBOXLAYOUT(); + QHBOXLAYOUT *hl1 = new QHBOXLAYOUT(); QLabel *tl = new QLabel(this); tl->setSizePolicy(QSizePolicy(QSizePolicy::Preferred, @@ -323,11 +356,11 @@ ConfParamSLW::ConfParamSLW(QWidget *parent, ConfLink cflink, m_hl->addLayout(vl1); - m_lb = new QListBox(this); + m_lb = new QLISTBOX(this); loadValue(); - m_lb->setSelectionMode(QListBox::Extended); + m_lb->setSelectionMode(QLISTBOX::Extended); m_lb->setSizePolicy(QSizePolicy(QSizePolicy::Preferred, QSizePolicy::Preferred, @@ -371,7 +404,7 @@ void ConfParamSLW::showInputDialog() &ok, this); 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->sort(); listToConf(); @@ -410,13 +443,13 @@ void ConfParamSLW::deleteSelected() // "Add entry" dialog for a file name list void ConfParamDNLW::showInputDialog() { - QString s = QFileDialog::getExistingDirectory(); + QString s = QFILEDIALOG::getExistingDirectory(); if (!s.isEmpty()) { - if (m_lb->findItem(s, Qt::ExactMatch) == 0) { + if (m_lb->findItem(s, QLBEXACTMATCH) == 0) { m_lb->insertItem(s); m_lb->sort(); - QListBoxItem *item = m_lb->findItem(s, Qt::ExactMatch); - if (m_lb->selectionMode() == QListBox::Single && item) + QLISTBOXITEM *item = m_lb->findItem(s, QLBEXACTMATCH); + if (m_lb->selectionMode() == QLISTBOX::Single && item) m_lb->setSelected(item, true); listToConf(); } @@ -434,7 +467,7 @@ void ConfParamCSLW::showInputDialog() false, // editable, &ok); 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->sort(); listToConf(); diff --git a/src/qtgui/confgui/confgui.h b/src/qtgui/confgui/confgui.h index 1605a8d4..2b989ecb 100644 --- a/src/qtgui/confgui/confgui.h +++ b/src/qtgui/confgui/confgui.h @@ -1,19 +1,27 @@ #ifndef _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 +#include #include #include +#if QT_VERSION < 0x040000 +#define QHBOXLAYOUT QHBoxLayout +#define QLISTBOX QListBox +#else +#define QHBOXLAYOUT Q3HBoxLayout +#define QLISTBOX Q3ListBox +#endif #include "refcntr.h" using std::string; -class QHBoxLayout; +class QHBOXLAYOUT; class QLineEdit; -class QListBox; +class QLISTBOX; class RclConfig; class QSpinBox; class QComboBox; @@ -24,6 +32,7 @@ namespace confgui { // A class to isolate the gui widget from the config storage mechanism class ConfLinkRep { public: + virtual ~ConfLinkRep() {} virtual bool set(const string& val) = 0; virtual bool get(string& val) = 0; }; @@ -31,6 +40,7 @@ namespace confgui { class ConfLinkNullRep : public ConfLinkRep { public: + virtual ~ConfLinkNullRep() {} virtual bool set(const string&) { //fprintf(stderr, "Setting value to [%s]\n", val.c_str()); @@ -52,7 +62,7 @@ namespace confgui { protected: ConfLink m_cflink; - QHBoxLayout *m_hl; + QHBOXLAYOUT *m_hl; virtual bool createCommon(const QString& lbltxt, const QString& tltptxt); @@ -135,7 +145,7 @@ namespace confgui { const QString& lbltxt, const QString& tltptxt); virtual void loadValue(); - QListBox *getListBox() {return m_lb;} + QLISTBOX *getListBox() {return m_lb;} protected slots: virtual void showInputDialog(); @@ -143,7 +153,7 @@ namespace confgui { signals: void entryDeleted(QString); protected: - QListBox *m_lb; + QLISTBOX *m_lb; void listToConf(); }; @@ -175,6 +185,7 @@ namespace confgui { } protected slots: virtual void showInputDialog(); + protected: const QStringList m_sl; }; } diff --git a/src/qtgui/confgui/confguiindex.cpp b/src/qtgui/confgui/confguiindex.cpp index c055f1fc..39581c1e 100644 --- a/src/qtgui/confgui/confguiindex.cpp +++ b/src/qtgui/confgui/confguiindex.cpp @@ -1,12 +1,44 @@ #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 +#include +#if QT_VERSION < 0x040000 +#define QFRAME_INCLUDE +#define QFILEDIALOG_INCLUDE +#define QLISTBOX_INCLUDE +#define QFILEDIALOG QFileDialog +#define QFRAME QFrame +#define QHBOXLAYOUT QHBoxLayout +#define QLISTBOX QListBox +#define QLISTBOXITEM QListBoxItem +#define QLBEXACTMATCH Qt::ExactMatch +#define QVBOXLAYOUT QVBoxLayout +#else +#include +#include + +#include +#define QFRAME_INCLUDE + +#include +#define QFILEDIALOG_INCLUDE + +#define QLISTBOX_INCLUDE + +#define QFILEDIALOG Q3FileDialog +#define QFRAME Q3Frame +#define QHBOXLAYOUT Q3HBoxLayout +#define QLISTBOX Q3ListBox +#define QLISTBOXITEM Q3ListBoxItem +#define QLBEXACTMATCH Q3ListBox::ExactMatch +#define QVBOXLAYOUT Q3VBoxLayout +#endif #include -#include +#include QFRAME_INCLUDE #include #include -#include +#include QLISTBOX_INCLUDE #include #include @@ -27,7 +59,7 @@ const static int margin = 6; ConfTopPanelW::ConfTopPanelW(QWidget *parent, RclConfig *config) : QWidget(parent) { - QVBoxLayout *vboxLayout = new QVBoxLayout(this); + QVBOXLAYOUT *vboxLayout = new QVBOXLAYOUT(this); vboxLayout->setSpacing(spacing); vboxLayout->setMargin(margin); @@ -137,7 +169,7 @@ ConfTopPanelW::ConfTopPanelW(QWidget *parent, RclConfig *config) ConfSubPanelW::ConfSubPanelW(QWidget *parent, RclConfig *config) : QWidget(parent), m_config(config) { - QVBoxLayout *vboxLayout = new QVBoxLayout(this); + QVBOXLAYOUT *vboxLayout = new QVBOXLAYOUT(this); vboxLayout->setSpacing(spacing); vboxLayout->setMargin(margin); @@ -149,7 +181,7 @@ ConfSubPanelW::ConfSubPanelW(QWidget *parent, RclConfig *config) "hierarchy where some parameters need to be " "customised. " "Default: empty.")); - m_subdirs->getListBox()->setSelectionMode(QListBox::Single); + m_subdirs->getListBox()->setSelectionMode(QLISTBOX::Single); connect(m_subdirs->getListBox(), SIGNAL(selectionChanged()), this, SLOT(subDirChanged())); connect(m_subdirs, SIGNAL(entryDeleted(QString)), @@ -174,9 +206,9 @@ ConfSubPanelW::ConfSubPanelW(QWidget *parent, RclConfig *config) "the +/- buttons.")); vboxLayout->addWidget(explain); - QFrame *line2 = new QFrame(this); - line2->setFrameShape(QFrame::HLine); - line2->setFrameShadow(QFrame::Sunken); + QFRAME *line2 = new QFRAME(this); + line2->setFrameShape(QFRAME::HLine); + line2->setFrameShadow(QFRAME::Sunken); vboxLayout->addWidget(line2); ConfLink lnkskn(new ConfLinkRclRep(config, "skippedNames", &m_sk)); @@ -252,7 +284,7 @@ void ConfSubPanelW::reloadAll() void ConfSubPanelW::subDirChanged() { LOGDEB(("ConfSubPanelW::subDirChanged\n")); - QListBoxItem *item = m_subdirs->getListBox()->selectedItem(); + QLISTBOXITEM *item = m_subdirs->getListBox()->selectedItem(); if (item == 0) { m_sk = ""; } else { diff --git a/src/qtgui/confgui/main.cpp b/src/qtgui/confgui/main.cpp index 1dfa90cb..2a4923b3 100644 --- a/src/qtgui/confgui/main.cpp +++ b/src/qtgui/confgui/main.cpp @@ -1,5 +1,5 @@ #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 /* * This program is free software; you can redistribute it and/or modify @@ -27,6 +27,37 @@ using namespace std; #include +#include +#if QT_VERSION < 0x040000 +#define QFRAME_INCLUDE +#define QFILEDIALOG_INCLUDE +#define QLISTBOX_INCLUDE +#define QFILEDIALOG QFileDialog +#define QFRAME QFrame +#define QHBOXLAYOUT QHBoxLayout +#define QLISTBOX QListBox +#define QLISTBOXITEM QListBoxItem +#define QVBOXLAYOUT QVBoxLayout +#else +#include +#include + +#include +#define QFRAME_INCLUDE + +#include +#define QFILEDIALOG_INCLUDE + +#define QLISTBOX_INCLUDE + +#define QFILEDIALOG Q3FileDialog +#define QFRAME Q3Frame +#define QHBOXLAYOUT Q3HBoxLayout +#define QLISTBOX Q3ListBox +#define QLISTBOXITEM Q3ListBoxItem +#define QVBOXLAYOUT Q3VBoxLayout +#endif + #include #include #include @@ -34,7 +65,7 @@ using namespace std; #include #include #include -#include +#include QFRAME_INCLUDE #include #include @@ -126,15 +157,15 @@ int main(int argc, char **argv) QWidget w; - QVBoxLayout *vboxLayout = new QVBoxLayout(&w); + QVBOXLAYOUT *vboxLayout = new QVBOXLAYOUT(&w); vboxLayout->setSpacing(6); vboxLayout->setMargin(11); vboxLayout->addWidget(new ConfTopPanelW(&w, config)); - QFrame *line1 = new QFrame(&w); - line1->setFrameShape(QFrame::HLine); - line1->setFrameShadow(QFrame::Sunken); + QFRAME *line1 = new QFRAME(&w); + line1->setFrameShape(QFRAME::HLine); + line1->setFrameShadow(QFRAME::Sunken); vboxLayout->addWidget(line1); vboxLayout->addWidget(new ConfSubPanelW(&w, config)); diff --git a/src/qtgui/confgui/trconf.pro b/src/qtgui/confgui/trconf.pro index e3d361c2..6be1750e 100644 --- a/src/qtgui/confgui/trconf.pro +++ b/src/qtgui/confgui/trconf.pro @@ -14,7 +14,7 @@ unix { MOC_DIR = .moc OBJECTS_DIR = .obj - DEFINES += RECOLL_DATADIR=\"/usr/local/share/recoll\" + DEFINES += RECOLL_DATADIR='\\"/usr/local/share/recoll\\"' LIBS += ../../lib/librcl.a -lxapian -liconv -lz INCLUDEPATH += ../../common ../../utils ../../rcldb @@ -28,3 +28,5 @@ contains( UNAME, [lL]inux ) { LIBS -= -liconv } +#The following line was inserted by qt3to4 +QT += qt3support