Commit b2ff175f authored by Dimitri van Heesch's avatar Dimitri van Heesch

Release-1.5.7.1-20081206

parent 78a0accf
DOXYGEN Version 1.5.7.1-20081103 DOXYGEN Version 1.5.7.1-20081206
Please read the installation section of the manual Please read the installation section of the manual
(http://www.doxygen.org/install.html) for instructions. (http://www.doxygen.org/install.html) for instructions.
-------- --------
Dimitri van Heesch (03 November 2008) Dimitri van Heesch (06 December 2008)
...@@ -41,12 +41,7 @@ distclean: clean ...@@ -41,12 +41,7 @@ distclean: clean
-rm -f src/doxygen.pro src/libdoxygen.pro src/doxytag.pro qtools/qtools.pro src/libdoxycfg.pro libpng/libpng.pro libmd5/libmd5.pro -rm -f src/doxygen.pro src/libdoxygen.pro src/doxytag.pro qtools/qtools.pro src/libdoxycfg.pro libpng/libpng.pro libmd5/libmd5.pro
-rm -f src/version.cpp -rm -f src/version.cpp
-rm -r addon/doxywizard/Makefile -rm -r addon/doxywizard/Makefile
-rm -f addon/doxywizard/Makefile.doxywizard
-rm -f addon/doxywizard/doxywizard.pro -rm -f addon/doxywizard/doxywizard.pro
-rm -f addon/doxywizard/moc/moc_*
-rm -f addon/doxywizard/config.cpp
-rm -f addon/doxywizard/lib
-rm -f addon/doxywizard/objects
-rm -f VERSION -rm -f VERSION
-rm -f packages/rpm/doxygen.spec -rm -f packages/rpm/doxygen.spec
......
DOXYGEN Version 1.5.7.1_20081103 DOXYGEN Version 1.5.7.1_20081206
Please read INSTALL for compilation instructions. Please read INSTALL for compilation instructions.
...@@ -17,4 +17,4 @@ to subscribe to the lists or to visit the archives. ...@@ -17,4 +17,4 @@ to subscribe to the lists or to visit the archives.
Enjoy, Enjoy,
Dimitri van Heesch (dimitri@stack.nl) (03 November 2008) Dimitri van Heesch (dimitri@stack.nl) (06 December 2008)
...@@ -10,38 +10,23 @@ ...@@ -10,38 +10,23 @@
# See the GNU General Public License for more details. # See the GNU General Public License for more details.
# #
all: version.cpp config.h config.l portable.h portable.cpp Makefile.doxywizard QMAKE = qmake
$(MAKE) -f Makefile.doxywizard QTDIR=$(QTDIR) $@
version.cpp: ../../src/version.cpp all: Makefile.doxywizard
$(CP) ../../src/version.cpp version.cpp $(MAKE) -f Makefile.doxywizard
portable.cpp: ../../src/portable.cpp
$(CP) ../../src/portable.cpp portable.cpp
portable.h: ../../src/portable.h
$(CP) ../../src/portable.h portable.h
config.h: ../../src/config.h
$(CP) ../../src/config.h config.h
config.l: ../../src/config.l
$(CP) ../../src/config.l config.l
Makefile.doxywizard: doxywizard.pro Makefile.doxywizard: doxywizard.pro
$(ENV) $(PERL) $(TMAKE) doxywizard.pro >Makefile.doxywizard $(QTDIR)/bin/qmake doxywizard.pro -o Makefile.doxywizard
tmake: qmake:
$(ENV) $(PERL) $(TMAKE) doxywizard.pro >Makefile.doxywizard $(QTDIR)/bin/qmake doxywizard.pro -o Makefile.doxywizard
clean: Makefile.doxywizard clean: Makefile.doxywizard
$(MAKE) -f Makefile.doxywizard clean $(MAKE) -f Makefile.doxywizard clean
$(RM) config.cpp
distclean: clean
$(RM) Makefile.doxywizard version.cpp config.l config.h portable.h portable.cpp
MAN1DIR = man/man1 distclean: Makefile.doxywizard
$(MAKE) -f Makefile.doxywizard distclean
$(RM) Makefile.doxywizard
install: install:
$(INSTTOOL) -d $(INSTALL)/bin $(INSTTOOL) -d $(INSTALL)/bin
......
#
#
#
# Copyright (C) 1997-2008 by Dimitri van Heesch.
#
# Permission to use, copy, modify, and distribute this software and its
# documentation under the terms of the GNU General Public License is hereby
# granted. No representations are made about the suitability of this software
# for any purpose. It is provided "as is" without express or implied warranty.
# See the GNU General Public License for more details.
#
all: config.h config.l unistd.h Makefile.doxywizard
$(MAKE) -f Makefile.doxywizard $@
unistd.h: ..\..\src\unistd.h
$(CP) ..\..\src\unistd.h unistd.h
config.h: ..\..\src\config.l
$(CP) ..\..\src\config.h config.h
config.l: ..\..\src\config.l
$(CP) ..\..\src\config.l config.l
version.cpp: ..\..\src\version.cpp
$(CP) ..\..\src\version.cpp version.cpp
Makefile.doxywizard: doxywizard.pro
$(ENV) $(PERL) $(TMAKE) doxywizard.pro >Makefile.doxywizard
tmake:
$(ENV) $(PERL) $(TMAKE) doxywizard.pro >Makefile.doxywizard
clean: Makefile.doxywizard
$(MAKE) -f Makefile.doxywizard clean
$(RM) config.cpp
distclean: clean
$(RM) Makefile.doxywizard config.l config.h
FORCE:
Doxywizard is a graphical front-end to read/edit/write doxygen configuration Doxywizard is a graphical front-end to read/edit/write doxygen configuration
files. It requires Qt version 3.x or higher. files and to launch doxygen. It requires Qt version 4.3 or higher.
This diff is collapsed.
This diff is collapsed.
# ######################################################################
# # Automatically generated by qmake (2.01a) zo okt 19 12:50:02 2008
# ######################################################################
# Copyright (C) 1997-2008 by Dimitri van Heesch.
# TEMPLATE = app
# Permission to use, copy, modify, and distribute this software and its DESTDIR = ../../bin
# documentation under the terms of the GNU General Public License is hereby TARGET =
# granted. No representations are made about the suitability of this software DEPENDPATH += .
# for any purpose. It is provided "as is" without express or implied warranty. INCLUDEPATH += .
# See the GNU General Public License for more details. QT += xml
# CONFIG += $extraopts
# project file for the doxywizard project
# special template configuration file because we use flex
TEMPLATE = doxywizard.t
# executable to generate
TARGET = ../../bin/doxywizard
# we do not use the debug features in this copy of portable.cpp
DEFINES = NODEBUG
# configure options
CONFIG = qt warn_on $extraopts
# header file for the project
HEADERS = doxywizard.h \
version.h \
inputstring.h \
inputbool.h \
inputstrlist.h \
inputint.h \
expert.h \
config.h \
portable.h
# source flle for the project
SOURCES = doxywizard.cpp \
version.cpp \
inputstring.cpp \
inputbool.cpp \
inputstrlist.cpp \
inputint.cpp \
expert.cpp \
config.cpp \
portable.cpp
# where to put the objects
OBJECTS_DIR = obj OBJECTS_DIR = obj
# where to put the intermediate moc stuff
MOC_DIR = moc MOC_DIR = moc
RCC_DIR = rcc
# extra C++ compiler options DEFINES += QT_NO_CAST_FROM_ASCII QT_NO_CAST_TO_ASCII
INCLUDEPATH += ../../src
win32:TMAKE_CXXFLAGS += -DQT_DLL # Input
win32:INCLUDEPATH += . HEADERS += doxywizard.h version.h expert.h config.h helplabel.h \
macosx-c++:LIBS+=-framework CoreFoundation -framework ApplicationServices inputbool.h inputstring.h inputint.h inputstrlist.h wizard.h
SOURCES += doxywizard.cpp ../../src/version.cpp expert.cpp wizard.cpp \
# extra link options inputbool.cpp inputstring.cpp inputint.cpp inputstrlist.cpp
win32:TMAKE_LFLAGS = /NODEFAULTLIB:msvcrt.lib doxywizard.res LEXSOURCES += config.l
win32:TMAKE_LIBS = $(QTDIR)\lib\qtmain.lib $(QTDIR)\lib\qt-mt332.lib user32.lib gdi32.lib comdlg32.lib imm32.lib ole32.lib uuid.lib wsock32.lib RESOURCES += doxywizard.qrc
win32:TMAKE_LIBS_QT =
<!DOCTYPE RCC><RCC version="1.0">
<qresource prefix="/">
<file alias="config.xml">../../src/config.xml</file>
<file>images/add.png</file>
<file>images/del.png</file>
<file>images/file.png</file>
<file>images/folder.png</file>
<file>images/refresh.png</file>
</qresource>
</RCC>
#
#
#
# Copyright (C) 1997-2008 by Dimitri van Heesch.
#
# Permission to use, copy, modify, and distribute this software and its
# documentation under the terms of the GNU General Public License is hereby
# granted. No representations are made about the suitability of this software
# for any purpose. It is provided "as is" without express or implied warranty.
# See the GNU General Public License for more details.
#!
#! wizard.t: This is a custom template for building doxywizard
#!
#$ IncludeTemplate("app.t");
LEX = flex
YACC = bison
#${
sub GenerateDep {
my($obj,$src,$dep) = @_;
my(@objv,$srcv,$i,$s,$o,$d,$c);
@objv = split(/\s+/,$obj);
@srcv = split(/\s+/,$src);
for $i ( 0..$#objv ) {
$s = $srcv[$i];
$o = $objv[$i];
next if $s eq "";
$text .= $o . ": " . $s;
$text .= " ${linebreak}\n\t\t" . $dep if $dep ne "";
if ( $moc_output{$s} ne "" ) {
$text .= " ${linebreak}\n\t\t" . $moc_output{$s};
}
$d = &make_depend($s);
$text .= " ${linebreak}\n\t\t" . $d if $d ne "";
$text .= "\n";
}
chop $text;
}
#$}
####################
#$ GenerateDep("config.cpp","config.l");
$(LEX) -PconfigYY -t config.l >config.cpp
This diff is collapsed.
/******************************************************************************
*
*
*
* Copyright (C) 1997-2008 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
* granted. No representations are made about the suitability of this software
* for any purpose. It is provided "as is" without express or implied warranty.
* See the GNU General Public License for more details.
*
*/
#ifndef EXPERT_H #ifndef EXPERT_H
#define EXPERT_H #define EXPERT_H
#include <qtabdialog.h> #include <QSplitter>
#include <qlist.h> #include <QDomElement>
#include <qdict.h> #include <QHash>
class IInput;
class QWidget;
class QObject;
class InputBool;
class InputString;
class InputStrList;
class InputFile;
class InputDir;
class InputInt;
class ConfigWidget
{
public:
enum Kind { Int, String, StrList, Bool };
ConfigWidget(QWidget *w,Kind k) : m_widget(w), m_kind(k) {}
Kind kind() const { return m_kind; }
InputString *getString() const class QTreeWidget;
{ return m_kind==String ? (InputString *)m_widget : 0; } class QTreeWidgetItem;
class QStackedWidget;
class QSettings;
class QTextEdit;
class QTextCodec;
class QPushButton;
class Input;
InputBool *getBool() const class Expert : public QSplitter
{ return m_kind==Bool ? (InputBool *)m_widget : 0; }
InputStrList *getStrList() const
{ return m_kind==StrList ? (InputStrList *)m_widget : 0; }
InputInt *getInt() const
{ return m_kind==Int ? (InputInt *)m_widget : 0; }
private:
QWidget *m_widget;
Kind m_kind;
};
class Expert : public QTabDialog
{ {
Q_OBJECT Q_OBJECT
public: public:
Expert(QWidget *parent=0); Expert();
~Expert(); ~Expert();
void init(); void loadSettings(QSettings *);
void addDependency(QDict<QObject> *switches, void saveSettings(QSettings *);
const QCString &dep,const QCString &name); void loadConfig(const QString &fileName);
bool hasChanged() const { return m_changed; } bool writeConfig(QTextStream &t,bool brief);
QByteArray saveInnerState () const;
bool restoreInnerState ( const QByteArray & state );
const QHash<QString,Input*> &modelData() const { return m_options; }
void resetToDefaults();
bool htmlOutputPresent(const QString &workingDir) const;
bool pdfOutputPresent(const QString &workingDir) const;
QString getHtmlOutputIndex(const QString &workingDir) const;
public slots:
void activateTopic(QTreeWidgetItem *,QTreeWidgetItem *);
QWidget *createTopicWidget(QDomElement &elem);
private slots: private slots:
void toggle(const char *,bool); void showHelp(Input *);
void handleHelp(); void nextTopic();
void prevTopic();
signals:
void changed(); void changed();
private: private:
QDict<IInput> *m_inputWidgets; void createTopics(const QDomElement &);
QDict< QList<IInput> > *m_dependencies; void saveTopic(QTextStream &t,QDomElement &elem,QTextCodec *codec,bool brief);
QDict<QObject> *m_switches;
bool m_changed; QSplitter *m_splitter;
QTextEdit *m_helper;
QTreeWidget *m_treeWidget;
QStackedWidget *m_topicStack;
QHash<QString,QWidget *> m_topics;
QHash<QString,QObject *> m_optionWidgets;
QHash<QString,Input *> m_options;
QPushButton *m_next;
QPushButton *m_prev;
QDomElement m_rootElement;
}; };
#endif #endif
#ifndef HELPLABEL_H
#define HELPLABEL_H
#include <QLabel>
#include <QMenu>
class HelpLabel : public QLabel
{
Q_OBJECT
public:
HelpLabel(const QString &text) : QLabel(text)
{ setContextMenuPolicy(Qt::CustomContextMenu);
connect(this,SIGNAL(customContextMenuRequested(const QPoint&)),
this,SLOT(showMenu(const QPoint&)));
}
signals:
void enter();
void reset();
private slots:
void showMenu(const QPoint &p)
{
QMenu menu(this);
QAction *a = menu.addAction(tr("Reset to default"));
if (menu.exec(mapToGlobal(p))==a)
{
reset();
}
}
protected:
void enterEvent( QEvent * event ) { enter(); QLabel::enterEvent(event); }
};
#endif
#ifndef _INPUT_H #ifndef INPUT_H
#define _INPUT_H #define INPUT_H
class QObject; #include <QVariant>
class IInput class QTextStream;
class QTextCodec;
class Input
{ {
public: public:
virtual ~IInput() {} enum Kind
virtual void init() = 0; {
Bool,
Int,
String,
StrList,
Obsolete
};
virtual ~Input() {}
virtual QVariant &value() = 0;
virtual void update() = 0;
virtual Kind kind() const = 0;
virtual QString docs() const = 0;
virtual QString id() const = 0;
virtual void addDependency(Input *option) = 0;
virtual void setEnabled(bool) = 0; virtual void setEnabled(bool) = 0;
virtual QObject *qobject() = 0; virtual void updateDependencies() = 0;
virtual void reset() = 0;
virtual void writeValue(QTextStream &t,QTextCodec *codec) = 0;
}; };
#endif #endif
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* *
* *
* *
* Copyright (C) 1997-2008 by Dimitri van Heesch. * Copyright (C) 1997-2007 by Dimitri van Heesch.
* *
* Permission to use, copy, modify, and distribute this software and its * Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby * documentation under the terms of the GNU General Public License is hereby
...@@ -13,47 +13,98 @@ ...@@ -13,47 +13,98 @@
*/ */
#include "inputbool.h" #include "inputbool.h"
//#if QT_VERSION >= 300 #include "helplabel.h"
//#include <qstylefactory.h> #include <QtGui>
//#else
//#include <qwindowsstyle.h>
//#endif
#include <qlayout.h>
InputBool::InputBool( const QString & text, QWidget * parent, bool &flag ) InputBool::InputBool( QGridLayout *layout, int &row,
: QWidget(parent), state(flag) const QString &id, bool checked,
const QString &docs )
: m_default(checked), m_docs(docs), m_id(id)
{ {
QBoxLayout *layout = new QHBoxLayout(this); m_lab = new HelpLabel(id);
cb = new QCheckBox(text,this); m_cb = new QCheckBox;
layout->addWidget(cb); layout->addWidget(m_lab,row, 0);
layout->addStretch(10); layout->addWidget(m_cb,row, 1);
m_enabled = true;
//#if QT_VERSION >= 300 m_state=!checked; // force update
// QStyle *winStyle = QStyleFactory::create("windows"); setValue(checked);
//#else connect( m_cb, SIGNAL(toggled(bool)), SLOT(setValue(bool)) );
// QWindowsStyle *winStyle = new QWindowsStyle(); connect( m_lab, SIGNAL(enter()), SLOT(help()) );
//#endif connect( m_lab, SIGNAL(reset()), SLOT(reset()) );
cb->setChecked( flag ); row++;
// if (winStyle) cb->setStyle( winStyle ); }
cb->setMinimumSize( sizeHint() );
connect( cb, SIGNAL(toggled(bool)), SLOT(setState(bool)) ); void InputBool::help()
{
showHelp(this);
}
layout->activate(); void InputBool::setEnabled(bool b)
{
m_enabled = b;
m_cb->setEnabled(b);
updateDependencies();
} }
void InputBool::init() void InputBool::updateDependencies()
{ {
cb->setChecked(state); for (int i=0;i<m_dependencies.count();i++)
{
m_dependencies[i]->setEnabled(m_enabled && m_state);
}
} }
void InputBool::setState( bool s ) void InputBool::setValue( bool s )
{ {
if (state!=s) if (m_state!=s)
{ {
m_state=s;
updateDefault();
updateDependencies();
m_cb->setChecked( s );
m_value = m_state;
emit changed(); emit changed();
emit toggle(cb->text(),s);
} }
state=s; }
void InputBool::updateDefault()
{
if (m_state==m_default)
{
m_lab->setText(QString::fromAscii("<qt>")+m_id+QString::fromAscii("</qt"));
}
else
{
m_lab->setText(QString::fromAscii("<qt><font color='red'>")+m_id+QString::fromAscii("</font></qt>"));
}
}
QVariant &InputBool::value()
{
return m_value;
}
void InputBool::update()
{
QString v = m_value.toString().toLower();
m_state = (v==QString::fromAscii("yes") ||
v==QString::fromAscii("true") ||
v==QString::fromAscii("1"));
m_cb->setChecked( m_state );
updateDefault();
updateDependencies();
}
void InputBool::reset()
{
setValue(m_default);
}
void InputBool::writeValue(QTextStream &t,QTextCodec *codec)
{
if (m_state)
t << codec->fromUnicode(QString::fromAscii("YES"));
else
t << codec->fromUnicode(QString::fromAscii("NO"));
} }
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* *
* *
* *
* Copyright (C) 1997-2008 by Dimitri van Heesch. * Copyright (C) 1997-2007 by Dimitri van Heesch.
* *
* Permission to use, copy, modify, and distribute this software and its * Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby * documentation under the terms of the GNU General Public License is hereby
...@@ -15,35 +15,55 @@ ...@@ -15,35 +15,55 @@
#ifndef _INPUTBOOL_H #ifndef _INPUTBOOL_H
#define _INPUTBOOL_H #define _INPUTBOOL_H
#include <qwidget.h>
#include <qcheckbox.h>
#include "input.h" #include "input.h"
#include <QObject>
class PageWidget; class QCheckBox;
class QGridLayout;
class QLabel;
class InputBool : public QWidget, /*QCheckBox,*/ public IInput class InputBool : public QObject, public Input
{ {
Q_OBJECT Q_OBJECT
public: public:
InputBool( const QString &text, QWidget *parent, bool &flag ); InputBool(QGridLayout *layout,int &row,const QString &id,
~InputBool(){}; bool enabled, const QString &docs );
void init();
void setEnabled(bool b) { cb->setEnabled(b); } // Input
QObject *qobject() { return this; } QVariant &value();
bool getState() const { return state; } void update();
Kind kind() const { return Bool; }
QString docs() const { return m_docs; }
QString id() const { return m_id; }
void addDependency(Input *option) { m_dependencies+=option; }
void setEnabled(bool);
void updateDependencies();
void writeValue(QTextStream &t,QTextCodec *codec);
public slots:
void reset();
void setValue(bool);
signals: signals:
void changed(); void changed();
void toggle(const char *,bool); void toggle(QString,bool);
void showHelp(Input *);
private slots: private slots:
void setState(bool); void help();
private: private:
bool &state; void updateDefault();
QCheckBox *cb; bool m_state;
bool m_default;
bool m_enabled;
QVariant m_value;
QCheckBox *m_cb;
QString m_docs;
QList<Input*> m_dependencies;
QString m_id;
QLabel *m_lab;
}; };
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* *
* *
* *
* Copyright (C) 1997-2008 by Dimitri van Heesch. * Copyright (C) 1997-2007 by Dimitri van Heesch.
* *
* Permission to use, copy, modify, and distribute this software and its * Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby * documentation under the terms of the GNU General Public License is hereby
...@@ -13,53 +13,84 @@ ...@@ -13,53 +13,84 @@
*/ */
#include "inputint.h" #include "inputint.h"
#include "helplabel.h"
#include <stdio.h> #include <QtGui>
#include <stdlib.h>
#include <qlabel.h>
#include <qlayout.h>
#include <qwindowsstyle.h>
#include <qspinbox.h>
InputInt::InputInt( const QString & label, QWidget *parent, int &val, int minVal,int maxVal ) InputInt::InputInt( QGridLayout *layout,int &row,
: QWidget( parent), m_val(val), m_minVal(minVal), m_maxVal(maxVal) const QString & id,
int defVal, int minVal,int maxVal,
const QString & docs )
: m_default(defVal), m_minVal(minVal), m_maxVal(maxVal), m_docs(docs), m_id(id)
{ {
QHBoxLayout *layout = new QHBoxLayout( this, 5 ); m_lab = new HelpLabel(id);
m_sp = new QSpinBox;
m_sp->setMinimum(minVal);
m_sp->setMaximum(maxVal);
m_sp->setSingleStep(1);
m_val=defVal-1; // force update
setValue(defVal);
lab = new QLabel( label, this ); layout->addWidget( m_lab, row, 0 );
lab->setMinimumSize( lab->sizeHint() ); layout->addWidget( m_sp, row, 1 );
sp = new QSpinBox( minVal,maxVal,1,this ); connect(m_sp, SIGNAL(valueChanged(int)),
sp->setMinimumSize( sp->sizeHint() ); this, SLOT(setValue(int)) );
connect( m_lab, SIGNAL(enter()), SLOT(help()) );
connect( m_lab, SIGNAL(reset()), SLOT(reset()) );
row++;
}
void InputInt::help()
{
showHelp(this);
}
init();
layout->addWidget( lab ); void InputInt::setValue(int val)
layout->addWidget( sp ); {
layout->addStretch(1); val = qMax(m_minVal,val);
layout->activate(); val = qMin(m_maxVal,val);
setMinimumSize( sizeHint() ); if (val!=m_val)
{
m_val = val;
m_sp->setValue(val);
m_value = m_val;
if (m_val==m_default)
{
m_lab->setText(QString::fromAscii("<qt>")+m_id+QString::fromAscii("</qt"));
}
else
{
m_lab->setText(QString::fromAscii("<qt><font color='red'>")+m_id+QString::fromAscii("</font></qt>"));
}
emit changed();
}
}
connect(sp, SIGNAL(valueChanged(int)), void InputInt::setEnabled(bool state)
this, SLOT(valueChanged(int)) ); {
m_lab->setEnabled(state);
m_sp->setEnabled(state);
}
QVariant &InputInt::value()
{
return m_value;
} }
void InputInt::valueChanged(int val) void InputInt::update()
{ {
if (val!=m_val) emit changed(); setValue(m_value.toInt());
m_val = val;
} }
void InputInt::setEnabled(bool state) void InputInt::reset()
{ {
lab->setEnabled(state); setValue(m_default);
sp->setEnabled(state);
} }
void InputInt::init() void InputInt::writeValue(QTextStream &t,QTextCodec *)
{ {
m_val = QMAX(m_minVal,m_val); t << m_val;
m_val = QMIN(m_maxVal,m_val);
sp->setValue(m_val);
} }
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* *
* *
* *
* Copyright (C) 1997-2008 by Dimitri van Heesch. * Copyright (C) 1997-2007 by Dimitri van Heesch.
* *
* Permission to use, copy, modify, and distribute this software and its * Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby * documentation under the terms of the GNU General Public License is hereby
...@@ -15,39 +15,56 @@ ...@@ -15,39 +15,56 @@
#ifndef _INPUTINT_H #ifndef _INPUTINT_H
#define _INPUTINT_H #define _INPUTINT_H
#include <qwidget.h>
#include <qstring.h>
#include "input.h" #include "input.h"
#include <QObject>
class QGridLayout;
class QLabel; class QLabel;
class QSpinBox; class QSpinBox;
class InputInt : public QWidget, public IInput class InputInt : public QObject, public Input
{ {
Q_OBJECT Q_OBJECT
public: public:
InputInt( const QString &text, QWidget *parent, int &val, InputInt( QGridLayout *layout,int &row,
int minVal, int maxVal ); const QString &id, int defVal,
int minVal, int maxVal,
const QString &docs );
~InputInt(){}; ~InputInt(){};
// Input
QVariant &value();
void update();
Kind kind() const { return Int; }
QString docs() const { return m_docs; }
QString id() const { return m_id; }
void addDependency(Input *) { Q_ASSERT(false); }
void setEnabled(bool); void setEnabled(bool);
void init(); void updateDependencies() {}
QObject *qobject() { return this; } void writeValue(QTextStream &t,QTextCodec *codec);
private: public slots:
QLabel *lab; void reset();
QSpinBox *sp; void setValue(int val);
int &m_val;
int m_minVal; private slots:
int m_maxVal; void help();
signals: signals:
void changed(); void changed();
void showHelp(Input *);
private slots: private:
void valueChanged(int val); QLabel *m_lab;
QSpinBox *m_sp;
int m_val;
int m_default;
int m_minVal;
int m_maxVal;
QVariant m_value;
QString m_docs;
QString m_id;
}; };
#endif #endif
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* *
* *
* *
* Copyright (C) 1997-2008 by Dimitri van Heesch. * Copyright (C) 1997-2007 by Dimitri van Heesch.
* *
* Permission to use, copy, modify, and distribute this software and its * Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby * documentation under the terms of the GNU General Public License is hereby
...@@ -13,178 +13,179 @@ ...@@ -13,178 +13,179 @@
*/ */
#include "inputstring.h" #include "inputstring.h"
//#include "pixmaps.h" #include "helplabel.h"
#include "doxywizard.h"
#include <qlabel.h> #include "config.h"
#include <qlayout.h>
#include <qlineedit.h> #include <QtGui>
#include <qwindowsstyle.h>
#include <qcstring.h> InputString::InputString( QGridLayout *layout,int &row,
#include <qpushbutton.h> const QString & id, const QString &s,
#include <qfiledialog.h> StringMode m, const QString &docs )
#include <qcombobox.h> : m_default(s), m_sm(m), m_index(0), m_docs(docs), m_id(id)
#include <qtooltip.h>
InputString::InputString( const QString & label,
QWidget *parent, QCString &s, StringMode m )
: QWidget( parent ), str(s), sm(m), m_values(0), m_index(0)
{ {
m_lab = new HelpLabel(id);
if (m==StringFixed) if (m==StringFixed)
{ {
QHBoxLayout *layout = new QHBoxLayout( this, 5); layout->addWidget( m_lab, row, 0 );
lab = new QLabel( label, this ); m_com = new QComboBox;
lab->setMinimumSize( lab->sizeHint() ); layout->addWidget( m_com, row, 1, 1, 3, Qt::AlignLeft );
layout->addWidget( lab ); m_le=0;
com = new QComboBox( this ); m_br=0;
com->setMinimumSize(com->sizeHint()); row++;
layout->addWidget( com );
layout->addStretch( 1 );
le=0;
br=0;
layout->activate();
setMinimumSize( sizeHint() );
} }
else else
{ {
QGridLayout *layout = new QGridLayout( this, 1, m==StringFree ? 1 : 3, 5 ); layout->addWidget( m_lab, row, 0 );
lab = new QLabel( label, this ); m_le = new QLineEdit;
lab->setMinimumSize( lab->sizeHint() ); m_le->setText( s );
layout->addWidget( lab,0,0 ); //layout->setColumnMinimumWidth(2,150);
le = new QLineEdit( this );
le->setMinimumSize( le->sizeHint() );
le->setText( s );
layout->addWidget( le,0,1 );
if (m==StringFile || m==StringDir) if (m==StringFile || m==StringDir)
{ {
//QPixmap pixmap = QPixmap(m==StringFile ? layout->addWidget( m_le, row, 1 );
// file_xpm : m_br = new QToolBar;
// folder_xpm ); m_br->setIconSize(QSize(24,24));
br = new QPushButton( this );
br->setMinimumSize( br->sizeHint() );
if (m==StringFile) if (m==StringFile)
{ {
br->setText("File..."); QAction *file = m_br->addAction(QIcon(QString::fromAscii(":/images/file.png")),QString(),this,SLOT(browse()));
QToolTip::add(br,"Browse to a file"); file->setToolTip(tr("Browse to a file"));
} }
else else
{ {
br->setText("Folder..."); QAction *dir = m_br->addAction(QIcon(QString::fromAscii(":/images/folder.png")),QString(),this,SLOT(browse()));
QToolTip::add(br,"Browse to a folder"); dir->setToolTip(tr("Browse to a folder"));
} }
layout->addWidget( br,0,2 ); layout->addWidget( m_br,row,2 );
} }
else else
{ {
br=0; layout->addWidget( m_le, row, 1, 1, 2 );
m_br=0;
} }
com=0; m_com=0;
layout->activate(); row++;
setMinimumSize( sizeHint() );
} }
if (le) connect( le, SIGNAL(textChanged(const QString&)), if (m_le) connect( m_le, SIGNAL(textChanged(const QString&)),
this, SLOT(textChanged(const QString&)) ); this, SLOT(setValue(const QString&)) );
if (br) connect( br, SIGNAL(clicked()), this, SLOT(browse()) ); if (m_com) connect( m_com, SIGNAL(activated(const QString &)),
if (com) connect( com, SIGNAL(activated(const QString &)), this, SLOT(setValue(const QString &)) );
this, SLOT(textChanged(const QString &)) ); m_str = s+QChar::fromAscii('!'); // force update
setValue(s);
connect( m_lab, SIGNAL(enter()), SLOT(help()) );
connect( m_lab, SIGNAL(reset()), SLOT(reset()) );
}
void InputString::help()
{
showHelp(this);
} }
InputString::~InputString() InputString::~InputString()
{ {
if (m_values) delete m_values;
} }
void InputString::textChanged(const QString &s) void InputString::setValue(const QString &s)
{ {
if (str!=(const char *)s) if (m_str!=s)
{ {
str = s; m_str = s;
m_value = m_str;
if (m_str==m_default)
{
m_lab->setText(QString::fromAscii("<qt>")+m_id+QString::fromAscii("</qt"));
}
else
{
m_lab->setText(QString::fromAscii("<qt><font color='red'>")+m_id+QString::fromAscii("</font></qt>"));
}
if (m_le) m_le->setText( m_str );
emit changed(); emit changed();
} }
} }
void InputString::setEnabled(bool state) void InputString::setEnabled(bool state)
{ {
lab->setEnabled(state); m_lab->setEnabled(state);
if (le) le->setEnabled(state); if (m_le) m_le->setEnabled(state);
if (br) br->setEnabled(state); if (m_br) m_br->setEnabled(state);
if (com) com->setEnabled(state); if (m_com) m_com->setEnabled(state);
} }
void InputString::browse() void InputString::browse()
{ {
if (sm==StringFile) QString path = QFileInfo(MainWindow::instance().configFileName()).path();
if (m_sm==StringFile)
{ {
QString fileName = QFileDialog::getOpenFileName(); QString fileName = QFileDialog::getOpenFileName(&MainWindow::instance(),
tr("Select file"),path);
if (!fileName.isNull()) if (!fileName.isNull())
{ {
le->setText( fileName ); QDir dir(path);
if (str!=(const char *)le->text()) if (!MainWindow::instance().configFileName().isEmpty() && dir.exists())
{ {
str = le->text(); fileName = dir.relativeFilePath(fileName);
emit changed();
} }
setValue(fileName);
} }
} }
else // sm==StringDir else // sm==StringDir
{ {
QString dirName = QFileDialog::getExistingDirectory(); QString dirName = QFileDialog::getExistingDirectory(&MainWindow::instance(),
tr("Select directory"),path);
if (!dirName.isNull()) if (!dirName.isNull())
{ {
le->setText( dirName ); QDir dir(path);
if (str!=(const char *)le->text()) if (!MainWindow::instance().configFileName().isEmpty() && dir.exists())
{ {
str = le->text(); dirName = dir.relativeFilePath(dirName);
emit changed();
} }
setValue(dirName);
} }
} }
} }
void InputString::clear() void InputString::clear()
{ {
le->setText(""); setValue(QString());
if (!str.isEmpty())
{
emit changed();
str = "";
}
} }
void InputString::addValue(const char *s) void InputString::addValue(QString s)
{ {
if (sm==StringFixed) if (m_sm==StringFixed)
{ {
if (m_values==0) m_values = new QDict<int>; m_values.append(s);
m_values->setAutoDelete(TRUE); m_com->addItem(s);
m_values->insert(s,new int(m_index++));
com->insertItem(s);
} }
} }
void InputString::init() void InputString::setDefault()
{ {
if (sm==StringFixed) int index = m_values.indexOf(m_str);
{ if (index!=-1 && m_com) m_com->setCurrentIndex(index);
if (m_values) }
{
int *itemIndex = m_values->find(str); QVariant &InputString::value()
if (itemIndex) {
{ return m_value;
com->setCurrentItem(*itemIndex);
}
else
{
com->setCurrentItem(0);
}
}
}
else
{
le->setText(str);
}
} }
void InputString::update()
{
setValue(m_value.toString().trimmed());
setDefault();
}
void InputString::reset()
{
setValue(m_default);
setDefault();
}
void InputString::writeValue(QTextStream &t,QTextCodec *codec)
{
writeStringValue(t,codec,m_str);
}
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* *
* *
* *
* Copyright (C) 1997-2008 by Dimitri van Heesch. * Copyright (C) 1997-2007 by Dimitri van Heesch.
* *
* Permission to use, copy, modify, and distribute this software and its * Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby * documentation under the terms of the GNU General Public License is hereby
...@@ -15,19 +15,19 @@ ...@@ -15,19 +15,19 @@
#ifndef _INPUTSTRING_H #ifndef _INPUTSTRING_H
#define _INPUTSTRING_H #define _INPUTSTRING_H
#include <qwidget.h>
#include <qstring.h>
#include <qdict.h>
#include "qtbc.h"
#include "input.h" #include "input.h"
#include <QObject>
#include <QMap>
#include <QStringList>
class QLabel; class QLabel;
class QLineEdit; class QLineEdit;
class QPushButton; class QToolBar;
class QComboBox; class QComboBox;
class QGridLayout;
class InputString : public QWidget, public IInput class InputString : public QObject, public Input
{ {
Q_OBJECT Q_OBJECT
...@@ -38,32 +38,51 @@ class InputString : public QWidget, public IInput ...@@ -38,32 +38,51 @@ class InputString : public QWidget, public IInput
StringFixed=3 StringFixed=3
}; };
InputString( const QString &text, QWidget *parent, QCString &s, InputString( QGridLayout *layout,int &row,
StringMode m=StringFree ); const QString &id, const QString &s,
StringMode m,
const QString &docs );
~InputString(); ~InputString();
void addValue(QString s);
void setDefault();
// Input
QVariant &value();
void update();
Kind kind() const { return String; }
QString docs() const { return m_docs; }
QString id() const { return m_id; }
void addDependency(Input *) { Q_ASSERT(false); }
void setEnabled(bool); void setEnabled(bool);
void addValue(const char *s); void updateDependencies() {}
void init(); void writeValue(QTextStream &t,QTextCodec *codec);
QObject *qobject() { return this; }
private: public slots:
QLabel *lab; void reset();
QLineEdit *le; void setValue(const QString&);
QPushButton *br;
QComboBox *com;
QCString &str;
StringMode sm;
QDict<int> *m_values;
int m_index;
signals: signals:
void changed(); void changed();
void showHelp(Input *);
private slots: private slots:
void textChanged(const QString&);
void browse(); void browse();
void clear(); void clear();
void help();
private:
QLabel *m_lab;
QLineEdit *m_le;
QToolBar *m_br;
QComboBox *m_com;
QString m_str;
QString m_default;
StringMode m_sm;
QStringList m_values;
int m_index;
QVariant m_value;
QString m_docs;
QString m_id;
}; };
#endif #endif
This diff is collapsed.
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* *
* *
* *
* Copyright (C) 1997-2008 by Dimitri van Heesch. * Copyright (C) 1997-2007 by Dimitri van Heesch.
* *
* Permission to use, copy, modify, and distribute this software and its * Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby * documentation under the terms of the GNU General Public License is hereby
...@@ -15,48 +15,51 @@ ...@@ -15,48 +15,51 @@
#ifndef _INPUTSTRLIST_H #ifndef _INPUTSTRLIST_H
#define _INPUTSTRLIST_H #define _INPUTSTRLIST_H
#include <qwidget.h>
#include <qstring.h>
#include "input.h" #include "input.h"
#include <QObject>
#include <QStringList>
class QLabel; class QLabel;
class QLineEdit; class QLineEdit;
class QPushButton; class QPushButton;
class QListBox; class QListWidget;
class QStrList; class QStringList;
class QGridLayout;
class QAction;
class InputStrList : public QWidget, public IInput class InputStrList : public QObject, public Input
{ {
Q_OBJECT Q_OBJECT
public: public:
enum ListMode { ListString=0, enum ListMode { ListString = 0,
ListFile=1, ListFile = 1,
ListDir=2, ListDir = 2,
ListFileDir=ListFile|ListDir ListFileDir = ListFile | ListDir
}; };
InputStrList( const QString &text, QWidget *parent, InputStrList( QGridLayout *layout,int &row,
QStrList &sl, ListMode v=ListString ); const QString &id, const QStringList &sl,
~InputStrList() {}; ListMode v, const QString &docs);
void setValue(const QStringList &sl);
QVariant &value();
void update();
Kind kind() const { return StrList; }
QString docs() const { return m_docs; }
QString id() const { return m_id; }
void addDependency(Input *) { Q_ASSERT(false); }
void setEnabled(bool); void setEnabled(bool);
void init(); void updateDependencies() {}
QObject *qobject() { return this; } void writeValue(QTextStream &t,QTextCodec *codec);
private: public slots:
QLabel *lab; void reset();
QLineEdit *le;
QPushButton *add;
QPushButton *del;
QPushButton *upd;
QPushButton *brFile;
QPushButton *brDir;
QListBox *lb;
QStrList &strList;
signals: signals:
void changed(); void changed();
void showHelp(Input *);
private slots: private slots:
void addString(); void addString();
...@@ -65,6 +68,23 @@ class InputStrList : public QWidget, public IInput ...@@ -65,6 +68,23 @@ class InputStrList : public QWidget, public IInput
void selectText(const QString &s); void selectText(const QString &s);
void browseFiles(); void browseFiles();
void browseDir(); void browseDir();
void help();
private:
void updateDefault();
QLabel *m_lab;
QLineEdit *m_le;
QAction *m_add;
QAction *m_del;
QAction *m_upd;
QAction *m_brFile;
QAction *m_brDir;
QListWidget *m_lb;
QStringList m_default;
QStringList m_strList;
QVariant m_value;
QString m_docs;
QString m_id;
}; };
......
/******************************************************************************
*
*
*
* Copyright (C) 1997-2008 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
* granted. No representations are made about the suitability of this software
* for any purpose. It is provided "as is" without express or implied warranty.
* See the GNU General Public License for more details.
*
* Documents produced by Doxygen are derivative works derived from the
* input used in their production; they are not affected by this license.
*
*/
#ifndef QTBC_H
#define QTBC_H
/*! This file contains some hacks to make Doxygen work with
* Qt version 2.00 and Qt version 1.xx
*/
#include <qglobal.h>
#if QT_VERSION >= 200
#include <locale.h>
#define GCI QCollection::Item
#include <qcstring.h>
#include <qstring.h>
inline QCString convertToQCString(const QString &s) { return s.latin1(); }
#else /* QT_VERSION < 200 */
#include <qstring.h>
#define QCString QString
inline QCString convertToQCString(const QCString &s) { return s; }
#endif
#endif
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* *
* *
* *
* Copyright (C) 1997-2008 by Dimitri van Heesch. * Copyright (C) 1997-2007 by Dimitri van Heesch.
* *
* Permission to use, copy, modify, and distribute this software and its * Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby * documentation under the terms of the GNU General Public License is hereby
......
This diff is collapsed.
/******************************************************************************
*
*
*
* Copyright (C) 1997-2007 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
* granted. No representations are made about the suitability of this software
* for any purpose. It is provided "as is" without express or implied warranty.
* See the GNU General Public License for more details.
*
*/
#ifndef WIZARD_H
#define WIZARD_H
#include <QSplitter>
#include <QHash>
class Input;
class QTreeWidget;
class QTreeWidgetItem;
class QStackedWidget;
class QCheckBox;
class QLineEdit;
class QPushButton;
class QRadioButton;
class QGroupBox;
class QButtonGroup;
class Wizard;
enum OptLang { Lang_Cpp, Lang_C, Lang_Java, Lang_CS };
enum HtmlStyle { HS_Plain, HS_TreeView, HS_CHM };
enum TexStyle { TS_PDFHyper, TS_PDF, TS_PS };
enum DiagramMode { DM_None, DM_Builtin, DM_Dot };
class Step1 : public QWidget
{
Q_OBJECT
public:
Step1(Wizard *parent,const QHash<QString,Input*> &modelData);
void init();
private slots:
void selectSourceDir();
void selectDestinationDir();
void setProjectName(const QString &name);
void setProjectNumber(const QString &num);
void setSourceDir(const QString &dir);
void setDestinationDir(const QString &dir);
void setRecursiveScan(int);
private:
QLineEdit *m_projName;
QLineEdit *m_projNumber;
QLineEdit *m_sourceDir;
QLineEdit *m_destDir;
QCheckBox *m_recursive;
QPushButton *m_srcSelectDir;
QPushButton *m_dstSelectDir;
Wizard *m_wizard;
const QHash<QString,Input *> &m_modelData;
};
class Step2 : public QWidget
{
Q_OBJECT
public:
Step2(Wizard *parent,const QHash<QString,Input*> &modelData);
void init();
private slots:
void optimizeFor(int choice);
void extractMode(int choice);
void changeCrossRefState(int choice);
private:
QGroupBox *m_extractMode;
QGroupBox *m_optimizeLang;
QButtonGroup *m_extractModeGroup;
QButtonGroup *m_optimizeLangGroup;
QCheckBox *m_crossRef;
Wizard *m_wizard;
const QHash<QString,Input *> &m_modelData;
};
class Step3 : public QWidget
{
Q_OBJECT
public:
Step3(Wizard *parent,const QHash<QString,Input*> &modelData);
void init();
private slots:
void setHtmlEnabled(bool);
void setLatexEnabled(bool);
void setManEnabled(int);
void setRtfEnabled(int);
void setXmlEnabled(int);
void setSearchEnabled(int);
void setHtmlOptions(int);
void setLatexOptions(int);
private:
QGroupBox *m_texOptions;
QButtonGroup *m_texOptionsGroup;
QGroupBox *m_htmlOptions;
QButtonGroup *m_htmlOptionsGroup;
QCheckBox *m_htmlEnabled;
QCheckBox *m_latexEnabled;
QCheckBox *m_manEnabled;
QCheckBox *m_rtfEnabled;
QCheckBox *m_xmlEnabled;
QCheckBox *m_searchEnabled;
Wizard *m_wizard;
const QHash<QString,Input *> &m_modelData;
};
class Step4 : public QWidget
{
Q_OBJECT
public:
Step4(Wizard *parent,const QHash<QString,Input*> &modelData);
void init();
private slots:
void diagramModeChanged(int);
void setClassGraphEnabled(int state);
void setCollaborationGraphEnabled(int state);
void setGraphicalHierarchyEnabled(int state);
void setIncludeGraphEnabled(int state);
void setIncludedByGraphEnabled(int state);
void setCallGraphEnabled(int state);
void setCallerGraphEnabled(int state);
private:
QGroupBox *m_diagramMode;
QButtonGroup *m_diagramModeGroup;
QGroupBox *m_dotGroup;
QCheckBox *m_dotClass;
QCheckBox *m_dotCollaboration;
QCheckBox *m_dotInclude;
QCheckBox *m_dotIncludedBy;
QCheckBox *m_dotInheritance;
QCheckBox *m_dotCall;
QCheckBox *m_dotCaller;
Wizard *m_wizard;
const QHash<QString,Input *> &m_modelData;
};
class Wizard : public QSplitter
{
Q_OBJECT
public:
Wizard(const QHash<QString,Input*> &modelData, QWidget *parent=0);
~Wizard();
public slots:
void refresh();
private slots:
void activateTopic(QTreeWidgetItem *item,QTreeWidgetItem *);
void nextTopic();
void prevTopic();
private:
const QHash<QString,Input *> &m_modelData;
QTreeWidget *m_treeWidget;
QStackedWidget *m_topicStack;
Step1 *m_step1;
Step2 *m_step2;
Step3 *m_step3;
Step4 *m_step4;
QPushButton *m_next;
QPushButton *m_prev;
};
#endif
...@@ -20,7 +20,7 @@ doxygen_version_minor=5 ...@@ -20,7 +20,7 @@ doxygen_version_minor=5
doxygen_version_revision=7.1 doxygen_version_revision=7.1
#NOTE: Setting version_mmn to "NO" will omit mmn info from the package. #NOTE: Setting version_mmn to "NO" will omit mmn info from the package.
doxygen_version_mmn=20081103 doxygen_version_mmn=NO
bin_dirs=`echo $PATH | sed -e "s/:/ /g"` bin_dirs=`echo $PATH | sed -e "s/:/ /g"`
...@@ -38,7 +38,7 @@ f_app=NO ...@@ -38,7 +38,7 @@ f_app=NO
f_thread=NO f_thread=NO
f_flex=NO f_flex=NO
f_bison=NO f_bison=NO
f_langs=nl,se,cz,fr,id,it,de,jp,je,es,fi,ru,hr,pl,pt,hu,kr,ke,ro,si,cn,no,br,dk,sk,ua,gr,tw,sr,ca,lt,za,ar,fa,vi f_langs=nl,se,cz,fr,id,it,de,jp,je,es,fi,ru,hr,pl,pt,hu,kr,ke,ro,si,cn,no,br,dk,sk,ua,gr,tw,sr,ca,lt,za,ar,fa,vi,tr
while test -n "$1"; do while test -n "$1"; do
case $1 in case $1 in
...@@ -263,13 +263,12 @@ fi ...@@ -263,13 +263,12 @@ fi
#- check for qt -------------------------------------------------------------- #- check for qt --------------------------------------------------------------
LIBDIR=lib
if test "$f_wizard" = YES; then if test "$f_wizard" = YES; then
if test -z "$QTDIR"; then if test -z "$QTDIR"; then
echo " QTDIR environment variable not set!" echo " QTDIR environment variable not set!"
echo -n " Checking for Qt..." echo -n " Checking for Qt..."
for d in /usr/{lib,share,qt}/{qt-3,qt3,qt,qt*,3}; do for d in /usr/{lib,share,qt}/{qt-4,qt4,qt,qt*,4}; do
if test -d "$d/lib" -a -d "$d/include" -a -x "$d/bin/moc"; then if test -x "$d/bin/qmake"; then
QTDIR=$d QTDIR=$d
fi fi
done done
...@@ -280,30 +279,9 @@ if test "$f_wizard" = YES; then ...@@ -280,30 +279,9 @@ if test "$f_wizard" = YES; then
if test -z "$QTDIR"; then if test -z "$QTDIR"; then
echo "QTDIR not set and Qt not found at standard locations!" echo "QTDIR not set and Qt not found at standard locations!"
echo echo
echo "tmake requires the QTDIR environment variable to be set." echo "Set the QTDIR environment variable such that \$QTDIR/bin/qmake exists."
echo "check the Qt installation instructions!" echo "check the Qt installation instructions!"
exit 2 exit 2
else
if test ! -d "$QTDIR/lib"; then
if test ! -d "$QTDIR/lib64"; then
echo "QTDIR is set to $QTDIR, but library directory $QTDIR/lib does not exist!"
exit 2
fi
LIBDIR=lib64
fi
if test ! -d "$QTDIR/include"; then
echo "QTDIR is set to $QTDIR, but include directory $QTDIR/include does not exist!"
exit 2
fi
if test ! -x "$QTDIR/bin/moc"; then
echo "QTDIR is set to $QTDIR, but the moc tool could not be found in $QTDIR/bin!"
exit 2
fi
echo " headers $QTDIR/include,"
echo " libraries $QTDIR/$LIBDIR"
if test -n "`ls $QTDIR/$LIBDIR/* | grep qt-mt`"; then
f_thread=YES
fi
fi fi
fi fi
...@@ -654,9 +632,9 @@ EOF ...@@ -654,9 +632,9 @@ EOF
else else
realopts="debug" realopts="debug"
fi fi
if test "$f_thread" = YES; then #if test "$f_thread" = YES; then
realopts="$realopts thread" # realopts="$realopts thread"
fi #fi
cat $SRC .tmakeconfig | sed -e "s/\$extraopts/$realopts/g" >> $DST cat $SRC .tmakeconfig | sed -e "s/\$extraopts/$realopts/g" >> $DST
echo " Created $DST from $SRC..." echo " Created $DST from $SRC..."
done done
...@@ -669,7 +647,7 @@ fi ...@@ -669,7 +647,7 @@ fi
echo -n " Generating src/lang_cfg.h..." echo -n " Generating src/lang_cfg.h..."
echo $f_langs | $f_perl -e '@l=split(/,/,<STDIN>); echo $f_langs | $f_perl -e '@l=split(/,/,<STDIN>);
chomp @l; chomp @l;
@allowed=(split(/,/,"NL,SE,CZ,FR,ID,IT,DE,JP,JE,ES,FI,RU,HR,PL,PT,HU,KR,KE,RO,SI,CN,NO,MK,BR,DK,SK,UA,GR,TW,SR,CA,LT,ZA,AR,FA,SC,VI")); @allowed=(split(/,/,"NL,SE,CZ,FR,ID,IT,DE,JP,JE,ES,FI,RU,HR,PL,PT,HU,KR,KE,RO,SI,CN,NO,MK,BR,DK,SK,UA,GR,TW,SR,CA,LT,ZA,AR,FA,SC,VI,TR"));
foreach my $elem (@l){ foreach my $elem (@l){
$elem =~ tr/a-z/A-Z/; $elem =~ tr/a-z/A-Z/;
$r=0; $r=0;
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment