From 38de39f102c03a52de4c9bb4875125745abce622 Mon Sep 17 00:00:00 2001 From: dimitri Date: Mon, 3 Jan 2011 18:43:15 +0000 Subject: Release-1.7.3 --- INSTALL | 4 +- README | 4 +- addon/doxywizard/expert.cpp | 20 +- addon/doxywizard/expert.h | 1 + addon/doxywizard/images/tunecolor.png | Bin 0 -> 116333 bytes addon/doxywizard/wizard.cpp | 412 +++++++++++++++++++++++++++++++--- addon/doxywizard/wizard.h | 56 ++++- configure | 4 +- doc/config.doc | 6 +- doc/grouping.doc | 25 ++- doc/language.doc | 18 +- doc/maintainers.txt | 1 + doc/translator_report.txt | 66 +----- src/commentcnv.l | 17 +- src/compound.xsd | 16 +- src/compound_xsd.h | 16 +- src/config.xml | 10 +- src/configoptions.cpp | 10 +- src/definition.h | 6 +- src/doctokenizer.l | 3 +- src/doxygen.css | 6 + src/doxygen_css.h | 6 + src/ftvhelp.cpp | 10 +- src/htmlgen.h | 6 +- src/index.cpp | 65 ++---- src/jquery.js | 41 +--- src/jquery_js.h | 41 +--- src/jquery_ui.js | 32 +++ src/jquery_ui_js.h | 32 +++ src/latexgen.cpp | 26 +-- src/layout.cpp | 149 ++++++++---- src/layout.h | 7 +- src/layout_default.h | 22 +- src/layout_default.xml | 22 +- src/libdoxygen.pro.in | 2 + src/libdoxygen.t | 6 + src/memberdef.cpp | 23 +- src/memberdef.h | 4 + src/sizzle.js | 9 + src/sizzle_js.h | 9 + src/translator_dk.h | 321 +++++++++++++++++++++++++- src/util.cpp | 43 ++-- 42 files changed, 1202 insertions(+), 375 deletions(-) create mode 100644 addon/doxywizard/images/tunecolor.png create mode 100644 src/jquery_ui.js create mode 100644 src/jquery_ui_js.h create mode 100644 src/sizzle.js create mode 100644 src/sizzle_js.h diff --git a/INSTALL b/INSTALL index ef7908f..2b6038d 100644 --- a/INSTALL +++ b/INSTALL @@ -1,7 +1,7 @@ -DOXYGEN Version 1.7.2-20101224 +DOXYGEN Version 1.7.3 Please read the installation section of the manual (http://www.doxygen.org/install.html) for instructions. -------- -Dimitri van Heesch (24 December 2010) +Dimitri van Heesch (03 January 2011) diff --git a/README b/README index 213685f..fdcd46a 100644 --- a/README +++ b/README @@ -1,4 +1,4 @@ -DOXYGEN Version 1.7.2_20101224 +DOXYGEN Version 1.7.3 Please read INSTALL for compilation instructions. @@ -26,4 +26,4 @@ forum. Enjoy, -Dimitri van Heesch (dimitri@stack.nl) (24 December 2010) +Dimitri van Heesch (dimitri@stack.nl) (03 January 2011) diff --git a/addon/doxywizard/expert.cpp b/addon/doxywizard/expert.cpp index e328ef0..4bbb104 100644 --- a/addon/doxywizard/expert.cpp +++ b/addon/doxywizard/expert.cpp @@ -33,6 +33,7 @@ Expert::Expert() m_treeWidget = new QTreeWidget; m_treeWidget->setColumnCount(1); m_topicStack = new QStackedWidget; + m_inShowHelp = FALSE; QFile file(SA(":/config.xml")); QString err; @@ -435,13 +436,18 @@ bool Expert::restoreInnerState ( const QByteArray & state ) void Expert::showHelp(Input *option) { - m_helper->setText( - QString::fromAscii("")+option->id()+ - QString::fromAscii("
")+ - option->docs(). - replace(QChar::fromAscii('\n'),QChar::fromAscii(' '))+ - QString::fromAscii("") - ); + if (!m_inShowHelp) + { + m_inShowHelp = TRUE; + m_helper->setText( + QString::fromAscii("")+option->id()+ + QString::fromAscii("
")+ + option->docs(). + replace(QChar::fromAscii('\n'),QChar::fromAscii(' '))+ + QString::fromAscii("") + ); + m_inShowHelp = FALSE; + } } void Expert::nextTopic() diff --git a/addon/doxywizard/expert.h b/addon/doxywizard/expert.h index 3372ae6..8d43161 100644 --- a/addon/doxywizard/expert.h +++ b/addon/doxywizard/expert.h @@ -59,6 +59,7 @@ class Expert : public QSplitter QPushButton *m_next; QPushButton *m_prev; QDomElement m_rootElement; + bool m_inShowHelp; }; #endif diff --git a/addon/doxywizard/images/tunecolor.png b/addon/doxywizard/images/tunecolor.png new file mode 100644 index 0000000..bf7be83 Binary files /dev/null and b/addon/doxywizard/images/tunecolor.png differ diff --git a/addon/doxywizard/wizard.cpp b/addon/doxywizard/wizard.cpp index bdccd81..3c15622 100644 --- a/addon/doxywizard/wizard.cpp +++ b/addon/doxywizard/wizard.cpp @@ -4,8 +4,10 @@ #include -// step1 options +// options configurable via the wizard #define STR_PROJECT_NAME QString::fromAscii("PROJECT_NAME") +#define STR_PROJECT_LOGO QString::fromAscii("PROJECT_LOGO") +#define STR_PROJECT_BRIEF QString::fromAscii("PROJECT_BRIEF") #define STR_INPUT QString::fromAscii("INPUT") #define STR_OUTPUT_DIRECTORY QString::fromAscii("OUTPUT_DIRECTORY") #define STR_PROJECT_NUMBER QString::fromAscii("PROJECT_NUMBER") @@ -37,7 +39,9 @@ #define STR_INCLUDED_BY_GRAPH QString::fromAscii("INCLUDED_BY_GRAPH") #define STR_CALL_GRAPH QString::fromAscii("CALL_GRAPH") #define STR_CALLER_GRAPH QString::fromAscii("CALLER_GRAPH") - +#define STR_HTML_COLORSTYLE_HUE QString::fromAscii("HTML_COLORSTYLE_HUE") +#define STR_HTML_COLORSTYLE_SAT QString::fromAscii("HTML_COLORSTYLE_SAT") +#define STR_HTML_COLORSTYLE_GAMMA QString::fromAscii("HTML_COLORSTYLE_GAMMA") static bool g_optimizeMapping[6][6] = { @@ -82,6 +86,14 @@ static bool getBoolOption( return stringVariantToBool(option->value()); } +static int getIntOption( + const QHash&model,const QString &name) +{ + Input *option = model[name]; + Q_ASSERT(option!=0); + return option->value().toInt(); +} + static QString getStringOption( const QHash&model,const QString &name) { @@ -103,6 +115,20 @@ static void updateBoolOption( } } +static void updateIntOption( + const QHash&model,const QString &name,int iNew) +{ + Input *option = model[name]; + Q_ASSERT(option!=0); + int iOld = option->value().toInt(); + if (iOld!=iNew) + { + option->value()=QString::fromAscii("%1").arg(iNew); + option->update(); + } +} + + static void updateStringOption( const QHash&model,const QString &name,const QString &s) { @@ -117,14 +143,14 @@ static void updateStringOption( //========================================================================== -TuneColorDialog::TuneColorDialog(QWidget *parent) : QDialog(parent) +TuneColorDialog::TuneColorDialog(int hue,int sat,int gamma,QWidget *parent) : QDialog(parent) { setWindowTitle(tr("Tune the color of the HTML output")); QGridLayout *layout = new QGridLayout(this); m_image = new QImage(QString::fromAscii(":/images/tunecolor.png")); m_imageLab = new QLabel; - m_imageLab->setPixmap(QPixmap::fromImage(*m_image)); - layout->addWidget(new QLabel(tr("Example output: use the sliders to change")),0,0); + updateImage(hue,sat,gamma); + layout->addWidget(new QLabel(tr("Example output: use the sliders on the right to adjust the color")),0,0); layout->addWidget(m_imageLab,1,0); QHBoxLayout *buttonsLayout = new QHBoxLayout; @@ -134,11 +160,282 @@ TuneColorDialog::TuneColorDialog(QWidget *parent) : QDialog(parent) QPushButton *cancelButton = new QPushButton(tr("Cancel")); connect(cancelButton,SIGNAL(clicked()),SLOT(reject())); + ColorPicker *huePicker = new ColorPicker(ColorPicker::Hue); + huePicker->setCol(hue,sat,gamma); + huePicker->setFixedWidth(20); + layout->addWidget(huePicker,1,1); + ColorPicker *satPicker = new ColorPicker(ColorPicker::Saturation); + satPicker->setCol(hue,sat,gamma); + satPicker->setFixedWidth(20); + layout->addWidget(satPicker,1,2); + ColorPicker *gamPicker = new ColorPicker(ColorPicker::Gamma); + gamPicker->setCol(hue,sat,gamma); + gamPicker->setFixedWidth(20); + layout->addWidget(gamPicker,1,3); + + connect(huePicker,SIGNAL(newHsv(int,int,int)),satPicker,SLOT(setCol(int,int,int))); + connect(satPicker,SIGNAL(newHsv(int,int,int)),huePicker,SLOT(setCol(int,int,int))); + connect(huePicker,SIGNAL(newHsv(int,int,int)),gamPicker,SLOT(setCol(int,int,int))); + connect(satPicker,SIGNAL(newHsv(int,int,int)),gamPicker,SLOT(setCol(int,int,int))); + connect(gamPicker,SIGNAL(newHsv(int,int,int)),satPicker,SLOT(setCol(int,int,int))); + connect(gamPicker,SIGNAL(newHsv(int,int,int)),huePicker,SLOT(setCol(int,int,int))); + connect(huePicker,SIGNAL(newHsv(int,int,int)),this,SLOT(updateImage(int,int,int))); + connect(satPicker,SIGNAL(newHsv(int,int,int)),this,SLOT(updateImage(int,int,int))); + connect(gamPicker,SIGNAL(newHsv(int,int,int)),this,SLOT(updateImage(int,int,int))); + buttonsLayout->addStretch(); buttonsLayout->addWidget(okButton); buttonsLayout->addWidget(cancelButton); - layout->addLayout(buttonsLayout,5,0); + layout->addLayout(buttonsLayout,5,0,1,4); +} + +void hsl2rgb(double h,double s,double l, + double *pRed,double *pGreen,double *pBlue) +{ + double v; + double r,g,b; + + r = l; // default to gray + g = l; + b = l; + v = (l <= 0.5) ? (l * (1.0 + s)) : (l + s - l * s); + if (v > 0) + { + double m; + double sv; + int sextant; + double fract, vsf, mid1, mid2; + + m = l + l - v; + sv = (v - m ) / v; + h *= 6.0; + sextant = (int)h; + fract = h - sextant; + vsf = v * sv * fract; + mid1 = m + vsf; + mid2 = v - vsf; + switch (sextant) + { + case 0: + r = v; + g = mid1; + b = m; + break; + case 1: + r = mid2; + g = v; + b = m; + break; + case 2: + r = m; + g = v; + b = mid1; + break; + case 3: + r = m; + g = mid2; + b = v; + break; + case 4: + r = mid1; + g = m; + b = v; + break; + case 5: + r = v; + g = m; + b = mid2; + break; + } + } + *pRed = r; + *pGreen = g; + *pBlue = b; +} + + + +void TuneColorDialog::updateImage(int hue,int sat,int gam) +{ + QImage coloredImg(m_image->width(),m_image->height(),QImage::Format_RGB32); + uint *srcPixel = (uint *)m_image->scanLine(0); + uint *dstPixel = (uint *)coloredImg.scanLine(0); + uint nrPixels = coloredImg.width()*coloredImg.height(); + for (uint i=0;isetPixmap(QPixmap::fromImage(coloredImg)); + m_hue = hue; + m_sat = sat; + m_gam = gam; +} + +int TuneColorDialog::getHue() const +{ + return m_hue; +} + +int TuneColorDialog::getSaturation() const +{ + return m_sat; +} + +int TuneColorDialog::getGamma() const +{ + return m_gam; +} + +//========================================================================== + +ColorPicker::ColorPicker(Mode m) +{ + m_hue = 220; + m_gam = 100; + m_sat = 100; + m_mode = m; + m_pix = 0; +} + +ColorPicker::~ColorPicker() +{ + delete m_pix; +} + +void ColorPicker::paintEvent(QPaintEvent*) +{ + int w = width() - 5; + + QRect r(0, foff, w, height() - 2*foff); + int wi = r.width() - 2; + int hi = r.height() - 2; + if (!m_pix || m_pix->height() != hi || m_pix->width() != wi) + { + delete m_pix; + QImage img(wi, hi, QImage::Format_RGB32); + int y; + uint *pixel = (uint *) img.scanLine(0); + for (y = 0; y < hi; y++) + { + const uint *end = pixel + wi; + int yh = y2hue(y+coff); + int ys = y2sat(y+coff); + int yg = y2gam(y+coff); + while (pixel < end) + { + QColor c; + c.setHsv(yh, ys, (int)(255*pow(0.7,yg/100.0))); + *pixel = c.rgb(); + ++pixel; + } + } + m_pix = new QPixmap(QPixmap::fromImage(img)); + } + QPainter p(this); + p.drawPixmap(1, coff, *m_pix); + const QPalette &g = palette(); + qDrawShadePanel(&p, r, g, true); + p.setPen(g.foreground().color()); + p.setBrush(g.foreground()); + QPolygon a; + int y = m_mode==Hue ? hue2y(m_hue) : + m_mode==Saturation ? sat2y(m_sat) : + gam2y(m_gam); + a.setPoints(3, w, y, w+5, y+5, w+5, y-5); + p.eraseRect(w, 0, 5, height()); + p.drawPolygon(a); +} +void ColorPicker::mouseMoveEvent(QMouseEvent *m) +{ + if (m_mode==Hue) setHue(y2hue(m->y())); + else if (m_mode==Saturation) setSat(y2sat(m->y())); + else setGam(y2gam(m->y())); +} + +void ColorPicker::mousePressEvent(QMouseEvent *m) +{ + if (m_mode==Hue) setHue(y2hue(m->y())); + else if (m_mode==Saturation) setSat(y2sat(m->y())); + else setGam(y2gam(m->y())); +} + +void ColorPicker::setHue(int h) +{ + if (h==m_hue) return; + m_hue = qMax(0,qMin(h,359)); + delete m_pix; m_pix=0; + repaint(); + emit newHsv(m_hue,m_sat,m_gam); +} + +void ColorPicker::setSat(int s) +{ + if (s==m_sat) return; + m_sat = qMax(0,qMin(s,255)); + delete m_pix; m_pix=0; + repaint(); + emit newHsv(m_hue,m_sat,m_gam); +} + +void ColorPicker::setGam(int g) +{ + if (g==m_gam) return; + m_gam = qMax(40,qMin(g,240)); + delete m_pix; m_pix=0; + repaint(); + emit newHsv(m_hue,m_sat,m_gam); +} + +void ColorPicker::setCol(int h, int s, int g) +{ + if (m_hue!=h || m_sat!=s || m_gam!=g) + { + m_hue = h; + m_sat = s; + m_gam = g; + delete m_pix; m_pix=0; + repaint(); + } +} + +int ColorPicker::y2hue(int y) +{ + int d = height() - 2*coff - 1; + return m_mode==Hue ? (y - coff)*359/d : m_hue; +} + +int ColorPicker::hue2y(int v) +{ + int d = height() - 2*coff - 1; + return coff + v*d/359; +} + +int ColorPicker::y2sat(int y) +{ + int d = height() - 2*coff - 1; + return m_mode==Saturation ? 255 - (y - coff)*255/d : m_sat; +} + +int ColorPicker::sat2y(int v) +{ + int d = height() - 2*coff - 1; + return coff + (255-v)*d/255; +} + +int ColorPicker::y2gam(int y) +{ + int d = height() - 2*coff - 1; + return m_mode==Gamma ? 240 - (y - coff)*200/d : m_gam; +} + +int ColorPicker::gam2y(int g) +{ + int d = height() - 2*coff - 1; + return coff + (240-g)*d/200; } //========================================================================== @@ -153,32 +450,50 @@ Step1::Step1(Wizard *wizard,const QHash &modelData) : m_wizard(w "about the project you are documenting")); layout->addWidget(l); QWidget *w = new QWidget( this ); - QHBoxLayout *bl = new QHBoxLayout(w); - bl->setSpacing(10); + QGridLayout *grid = new QGridLayout(w); + grid->setSpacing(10); - QWidget *col1 = new QWidget; - QVBoxLayout *col1Layout = new QVBoxLayout(col1); - col1Layout->setSpacing(8); + // project name QLabel *projName = new QLabel(this); projName->setText(tr("Project name:")); projName->setAlignment(Qt::AlignRight|Qt::AlignVCenter); + // project brief + QLabel *projBrief = new QLabel(this); + projBrief->setText(tr("Project synopsis:")); + projBrief->setAlignment(Qt::AlignRight|Qt::AlignVCenter); + // project version QLabel *projVersion = new QLabel(this); projVersion->setText(tr("Project version or id:")); projVersion->setAlignment(Qt::AlignRight|Qt::AlignVCenter); - col1Layout->addWidget(projName); - col1Layout->addWidget(projVersion); - - QWidget *col2 = new QWidget; - QVBoxLayout *col2Layout = new QVBoxLayout(col2); - col2Layout->setSpacing(8); - m_projName = new QLineEdit; + // project icon + QLabel *projLogo = new QLabel(this); + projLogo->setText(tr("Project logo:")); + projLogo->setAlignment(Qt::AlignRight|Qt::AlignVCenter); + + grid->addWidget(projName,0,0); + grid->addWidget(projBrief,1,0); + grid->addWidget(projVersion,2,0); + grid->addWidget(projLogo,3,0); + + m_projName = new QLineEdit; + m_projBrief = new QLineEdit; m_projNumber = new QLineEdit; - col2Layout->addWidget(m_projName); - col2Layout->addWidget(m_projNumber); + QPushButton *projIconSel = new QPushButton(this); + projIconSel->setText(tr("Select...")); + QPixmap pm(QSize(120,55)); + pm.fill(); + m_projIconLab = new QLabel; + m_projIconLab->setPixmap(pm); + + grid->addWidget(m_projName,0,1,1,2); + grid->addWidget(m_projBrief,1,1,1,2); + grid->addWidget(m_projNumber,2,1,1,2); + grid->addWidget(projIconSel,3,1); + grid->addWidget(m_projIconLab,3,2); - bl->addWidget(col1); - bl->addWidget(col2); - w->setLayout(bl); + grid->setColumnStretch(2,1); + + w->setLayout(grid); layout->addWidget(w); @@ -232,17 +547,33 @@ Step1::Step1(Wizard *wizard,const QHash &modelData) : m_wizard(w layout->addStretch(1); setLayout(layout); + connect(projIconSel,SIGNAL(clicked()), + this,SLOT(selectProjectIcon())); connect(m_srcSelectDir,SIGNAL(clicked()), this,SLOT(selectSourceDir())); connect(m_dstSelectDir,SIGNAL(clicked()), this,SLOT(selectDestinationDir())); connect(m_projName,SIGNAL(textChanged(const QString &)),SLOT(setProjectName(const QString &))); + connect(m_projBrief,SIGNAL(textChanged(const QString &)),SLOT(setProjectBrief(const QString &))); connect(m_projNumber,SIGNAL(textChanged(const QString &)),SLOT(setProjectNumber(const QString &))); connect(m_sourceDir,SIGNAL(textChanged(const QString &)),SLOT(setSourceDir(const QString &))); connect(m_recursive,SIGNAL(stateChanged(int)),SLOT(setRecursiveScan(int))); connect(m_destDir,SIGNAL(textChanged(const QString &)),SLOT(setDestinationDir(const QString &))); } +void Step1::selectProjectIcon() +{ + QString path = QFileInfo(MainWindow::instance().configFileName()).path(); + QString iconName = QFileDialog::getOpenFileName(this, + tr("Select project icon/image"),path); + QPixmap pm(iconName); + if (!pm.isNull()) + { + m_projIconLab->setPixmap(pm.scaledToHeight(55,Qt::SmoothTransformation)); + updateStringOption(m_modelData,STR_PROJECT_LOGO,iconName); + } +} + void Step1::selectSourceDir() { QString path = QFileInfo(MainWindow::instance().configFileName()).path(); @@ -282,6 +613,11 @@ void Step1::setProjectName(const QString &name) updateStringOption(m_modelData,STR_PROJECT_NAME,name); } +void Step1::setProjectBrief(const QString &desc) +{ + updateStringOption(m_modelData,STR_PROJECT_BRIEF,desc); +} + void Step1::setProjectNumber(const QString &num) { updateStringOption(m_modelData,STR_PROJECT_NUMBER,num); @@ -321,7 +657,23 @@ void Step1::init() { Input *option; m_projName->setText(getStringOption(m_modelData,STR_PROJECT_NAME)); + m_projBrief->setText(getStringOption(m_modelData,STR_PROJECT_BRIEF)); m_projNumber->setText(getStringOption(m_modelData,STR_PROJECT_NUMBER)); + QString iconName = getStringOption(m_modelData,STR_PROJECT_LOGO); + if (!iconName.isEmpty()) + { + QPixmap pm(iconName); + if (!pm.isNull()) + { + m_projIconLab->setPixmap(pm.scaledToHeight(55,Qt::SmoothTransformation)); + } + } + else + { + QPixmap pm(QSize(120,55)); + pm.fill(); + m_projIconLab->setPixmap(pm); + } option = m_modelData[STR_INPUT]; if (option->value().toStringList().count()>0) { @@ -495,7 +847,7 @@ Step3::Step3(Wizard *wizard,const QHash &modelData) m_htmlOptionsGroup->addButton(r, 0); vbox = new QVBoxLayout; vbox->addWidget(r); - r = new QRadioButton(tr("with frames and a navigation tree")); + r = new QRadioButton(tr("with navigation panel")); m_htmlOptionsGroup->addButton(r, 1); // GENERATE_TREEVIEW vbox->addWidget(r); @@ -567,8 +919,16 @@ Step3::Step3(Wizard *wizard,const QHash &modelData) void Step3::tuneColorDialog() { - TuneColorDialog tuneColor(this); - tuneColor.exec(); + int hue = getIntOption(m_modelData,STR_HTML_COLORSTYLE_HUE); + int sat = getIntOption(m_modelData,STR_HTML_COLORSTYLE_SAT); + int gam = getIntOption(m_modelData,STR_HTML_COLORSTYLE_GAMMA); + TuneColorDialog tuneColor(hue,sat,gam,this); + if (tuneColor.exec()==QDialog::Accepted) + { + updateIntOption(m_modelData,STR_HTML_COLORSTYLE_HUE,tuneColor.getHue()); + updateIntOption(m_modelData,STR_HTML_COLORSTYLE_SAT,tuneColor.getSaturation()); + updateIntOption(m_modelData,STR_HTML_COLORSTYLE_GAMMA,tuneColor.getGamma()); + } } void Step3::setHtmlEnabled(bool b) diff --git a/addon/doxywizard/wizard.h b/addon/doxywizard/wizard.h index 94cccc2..01f8c8b 100644 --- a/addon/doxywizard/wizard.h +++ b/addon/doxywizard/wizard.h @@ -43,13 +43,63 @@ class TuneColorDialog : public QDialog Q_OBJECT public: - TuneColorDialog(QWidget *parent=0); + TuneColorDialog(int hue,int sat,int gamma,QWidget *parent=0); + int getHue() const; + int getSaturation() const; + int getGamma() const; + + private slots: + void updateImage(int hue,int sat,int val); private: QImage *m_image; QLabel *m_imageLab; + int m_hue; + int m_sat; + int m_gam; +}; + +class ColorPicker : public QWidget +{ + Q_OBJECT +public: + enum Mode { Hue, Saturation, Gamma }; + ColorPicker(Mode m); + ~ColorPicker(); + +public slots: + void setCol(int h, int s, int g); + //void setCol(int h, int s); + +signals: + void newHsv(int h, int s, int g); + +protected: + void paintEvent(QPaintEvent*); + void mouseMoveEvent(QMouseEvent *); + void mousePressEvent(QMouseEvent *); + +private: + enum { foff = 3, coff = 4 }; //frame and contents offset + int y2hue(int y); + int y2sat(int y); + int y2gam(int y); + int hue2y(int hue); + int sat2y(int sat); + int gam2y(int gamma); + void setHue(int v); + void setSat(int v); + void setGam(int v); + + QPixmap *m_pix; + Mode m_mode; + int m_gam; + int m_hue; + int m_sat; + }; + class Step1 : public QWidget { Q_OBJECT @@ -61,7 +111,9 @@ class Step1 : public QWidget private slots: void selectSourceDir(); void selectDestinationDir(); + void selectProjectIcon(); void setProjectName(const QString &name); + void setProjectBrief(const QString &desc); void setProjectNumber(const QString &num); void setSourceDir(const QString &dir); void setDestinationDir(const QString &dir); @@ -69,9 +121,11 @@ class Step1 : public QWidget private: QLineEdit *m_projName; + QLineEdit *m_projBrief; QLineEdit *m_projNumber; QLineEdit *m_sourceDir; QLineEdit *m_destDir; + QLabel *m_projIconLab; QCheckBox *m_recursive; QPushButton *m_srcSelectDir; QPushButton *m_dstSelectDir; diff --git a/configure b/configure index c76413f..93180f3 100755 --- a/configure +++ b/configure @@ -17,10 +17,10 @@ doxygen_version_major=1 doxygen_version_minor=7 -doxygen_version_revision=2 +doxygen_version_revision=3 #NOTE: Setting version_mmn to "NO" will omit mmn info from the package. -doxygen_version_mmn=20101224 +doxygen_version_mmn=NO bin_dirs=`echo $PATH | sed -e "s/:/ /g"` diff --git a/doc/config.doc b/doc/config.doc index e9bd647..759021a 100644 --- a/doc/config.doc +++ b/doc/config.doc @@ -336,7 +336,7 @@ followed by the descriptions of the tags grouped by category. Afrikaans, Arabic, Brazilian, Catalan, Chinese, Croatian, Czech, Danish, Dutch, Finnish, French, German, Greek, Hungarian, Italian, Japanese, Korean, Lithuanian, Norwegian, Persian, Polish, Portuguese, Romanian, Russian, Serbian, - Slovak, Slovene, Spanish, Swedish, and Ukrainian. + Serbian-Cyrillic, Slovak, Slovene, Spanish, Swedish, and Ukrainian. \anchor cfg_brief_member_desc
\c BRIEF_MEMBER_DESC
@@ -1041,7 +1041,7 @@ FILE_VERSION_INFO = "cleartool desc -fmt \%Vn"
\c EXCLUDE_SYMLINKS
\addindex EXCLUDE_SYMLINKS The \c EXCLUDE_SYMLINKS tag can be used select whether or not files or directories - that are symbolic links (a Unix filesystem feature) are excluded from the input. + that are symbolic links (a Unix file system feature) are excluded from the input. \anchor cfg_exclude_patterns
\c EXCLUDE_PATTERNS
@@ -2197,7 +2197,7 @@ install and use dot, since it yields more powerful graphs. directory and reference it in all dot files that doxygen generates. This font does not include all possible unicode characters however, so when you need these (or just want a differently looking font) you can specify the font name - using \c DOT_FONTNAME. You need need to make sure dot is able to find the font, + using \c DOT_FONTNAME. You need to make sure dot is able to find the font, which can be done by putting it in a standard location or by setting the \c DOTFONTPATH environment variable or by setting \c DOT_FONTPATH to the directory containing the font. diff --git a/doc/grouping.doc b/doc/grouping.doc index d2244b4..819859c 100644 --- a/doc/grouping.doc +++ b/doc/grouping.doc @@ -58,9 +58,12 @@ but when the group has been defined already, then it silently merges the existing documentation with the new one. The title of the group is optional for this command, so you can use \verbatim -/** \addtogroup