Loading addon/doxywizard/expert.cpp +30 −0 Original line number Diff line number Diff line Loading @@ -323,6 +323,32 @@ static QString getDocsForNode(const QDomElement &child) } } } else if (child.attribute(SA("format")) == SA("image")) { QString abspath = child.attribute(SA("abspath")); if (defval != SA("")) { docs+=SA("<br/>"); if (abspath != SA("1")) { docs += SA(" The default image is: <code>") + defval + SA("</code>."); } else { docs += SA(" The default image (with absolute path) is: <code>") + defval + SA("</code>."); } docs += SA("<br/>"); } else { if (abspath == SA("1")) { docs+=SA("<br/>"); docs += SA(" The image has to be specified with full path."); docs += SA("<br/>"); } } } else // if (child.attribute(SA("format")) == SA("string")) { if (defval != SA("")) Loading Loading @@ -477,6 +503,10 @@ QWidget *Expert::createTopicWidget(QDomElement &elem) { mode = InputString::StringFile; } else if (format==SA("image")) { mode = InputString::StringImage; } else // format=="string" { mode = InputString::StringFree; Loading addon/doxywizard/inputstring.cpp +44 −4 Original line number Diff line number Diff line Loading @@ -44,6 +44,7 @@ InputString::InputString( QGridLayout *layout,int &row, layout->addWidget( m_com, row, 1, 1, 3, Qt::AlignLeft ); m_le=0; m_br=0; m_im=0; row++; } else Loading @@ -51,28 +52,39 @@ InputString::InputString( QGridLayout *layout,int &row, layout->addWidget( m_lab, row, 0 ); m_le = new QLineEdit; m_le->setText( s ); m_im = 0; //layout->setColumnMinimumWidth(2,150); if (m==StringFile || m==StringDir) if (m==StringFile || m==StringDir || m==StringImage) { layout->addWidget( m_le, row, 1 ); m_br = new QToolBar; m_br->setIconSize(QSize(24,24)); if (m==StringFile) if (m==StringFile || m==StringImage) { QAction *file = m_br->addAction(QIcon(QString::fromAscii(":/images/file.png")),QString(),this,SLOT(browse())); file->setToolTip(tr("Browse to a file")); layout->addWidget( m_br,row,2 ); if (m==StringImage) { m_im = new QLabel; m_im->setMinimumSize(1,55); m_im->setAlignment(Qt::AlignLeft|Qt::AlignTop); row++; layout->addWidget( m_im,row,1 ); } } else { QAction *dir = m_br->addAction(QIcon(QString::fromAscii(":/images/folder.png")),QString(),this,SLOT(browse())); dir->setToolTip(tr("Browse to a folder")); } layout->addWidget( m_br,row,2 ); } } else { layout->addWidget( m_le, row, 1, 1, 2 ); m_br=0; m_im=0; } m_com=0; row++; Loading Loading @@ -119,6 +131,33 @@ void InputString::updateDefault() { m_lab->setText(QString::fromAscii("<qt><font color='red'>")+m_id+QString::fromAscii("</font></qt>")); } if (m_im) { if (m_str.isEmpty()) { m_im->setText(tr("No Project logo selected.")); } else { QFile Fout(m_str); if(!Fout.exists()) { m_im->setText(tr("Sorry, cannot find file(")+m_str+QString::fromAscii(");")); } else { QPixmap pm(m_str); if (!pm.isNull()) { m_im->setPixmap(pm.scaledToHeight(55,Qt::SmoothTransformation)); } else { m_im->setText(tr("Sorry, no preview available (")+m_str+QString::fromAscii(");")); } } } } if (m_le && m_le->text()!=m_str) m_le->setText( m_str ); emit changed(); } Loading @@ -128,6 +167,7 @@ void InputString::setEnabled(bool state) { m_lab->setEnabled(state); if (m_le) m_le->setEnabled(state); if (m_im) m_le->setEnabled(state); if (m_br) m_br->setEnabled(state); if (m_com) m_com->setEnabled(state); updateDefault(); Loading @@ -136,7 +176,7 @@ void InputString::setEnabled(bool state) void InputString::browse() { QString path = QFileInfo(MainWindow::instance().configFileName()).path(); if (m_sm==StringFile) if (m_sm==StringFile || m_sm==StringImage) { QString fileName = QFileDialog::getOpenFileName(&MainWindow::instance(), tr("Select file"),path); Loading addon/doxywizard/inputstring.h +3 −1 Original line number Diff line number Diff line Loading @@ -35,7 +35,8 @@ class InputString : public QObject, public Input enum StringMode { StringFree=0, StringFile=1, StringDir=2, StringFixed=3 StringFixed=3, StringImage=4 }; InputString( QGridLayout *layout,int &row, Loading Loading @@ -77,6 +78,7 @@ class InputString : public QObject, public Input void updateDefault(); QLabel *m_lab; QLineEdit *m_le; QLabel *m_im; QToolBar *m_br; QComboBox *m_com; QString m_str; Loading addon/doxywizard/wizard.cpp +15 −7 Original line number Diff line number Diff line Loading @@ -468,6 +468,7 @@ Step1::Step1(Wizard *wizard,const QHash<QString,Input*> &modelData) : m_wizard(w projVersion->setAlignment(Qt::AlignRight|Qt::AlignVCenter); // project icon QLabel *projLogo = new QLabel(this); projLogo->setMinimumSize(1,55); projLogo->setText(tr("Project logo:")); projLogo->setAlignment(Qt::AlignRight|Qt::AlignVCenter); Loading Loading @@ -564,6 +565,12 @@ void Step1::selectProjectIcon() QString path = QFileInfo(MainWindow::instance().configFileName()).path(); QString iconName = QFileDialog::getOpenFileName(this, tr("Select project icon/image"),path); if (iconName.isEmpty()) { m_projIconLab->setText(tr("No Project logo selected.")); } else { QFile Fout(iconName); if(!Fout.exists()) { Loading @@ -581,6 +588,7 @@ void Step1::selectProjectIcon() m_projIconLab->setText(tr("Sorry, no preview available (")+iconName+QString::fromAscii(");")); } } } updateStringOption(m_modelData,STR_PROJECT_LOGO,iconName); } Loading src/config.h +1 −1 Original line number Diff line number Diff line Loading @@ -165,7 +165,7 @@ class ConfigEnum : public ConfigOption class ConfigString : public ConfigOption { public: enum WidgetType { String, File, Dir }; enum WidgetType { String, File, Dir, Image }; ConfigString(const char *name,const char *doc) : ConfigOption(O_String) { Loading Loading
addon/doxywizard/expert.cpp +30 −0 Original line number Diff line number Diff line Loading @@ -323,6 +323,32 @@ static QString getDocsForNode(const QDomElement &child) } } } else if (child.attribute(SA("format")) == SA("image")) { QString abspath = child.attribute(SA("abspath")); if (defval != SA("")) { docs+=SA("<br/>"); if (abspath != SA("1")) { docs += SA(" The default image is: <code>") + defval + SA("</code>."); } else { docs += SA(" The default image (with absolute path) is: <code>") + defval + SA("</code>."); } docs += SA("<br/>"); } else { if (abspath == SA("1")) { docs+=SA("<br/>"); docs += SA(" The image has to be specified with full path."); docs += SA("<br/>"); } } } else // if (child.attribute(SA("format")) == SA("string")) { if (defval != SA("")) Loading Loading @@ -477,6 +503,10 @@ QWidget *Expert::createTopicWidget(QDomElement &elem) { mode = InputString::StringFile; } else if (format==SA("image")) { mode = InputString::StringImage; } else // format=="string" { mode = InputString::StringFree; Loading
addon/doxywizard/inputstring.cpp +44 −4 Original line number Diff line number Diff line Loading @@ -44,6 +44,7 @@ InputString::InputString( QGridLayout *layout,int &row, layout->addWidget( m_com, row, 1, 1, 3, Qt::AlignLeft ); m_le=0; m_br=0; m_im=0; row++; } else Loading @@ -51,28 +52,39 @@ InputString::InputString( QGridLayout *layout,int &row, layout->addWidget( m_lab, row, 0 ); m_le = new QLineEdit; m_le->setText( s ); m_im = 0; //layout->setColumnMinimumWidth(2,150); if (m==StringFile || m==StringDir) if (m==StringFile || m==StringDir || m==StringImage) { layout->addWidget( m_le, row, 1 ); m_br = new QToolBar; m_br->setIconSize(QSize(24,24)); if (m==StringFile) if (m==StringFile || m==StringImage) { QAction *file = m_br->addAction(QIcon(QString::fromAscii(":/images/file.png")),QString(),this,SLOT(browse())); file->setToolTip(tr("Browse to a file")); layout->addWidget( m_br,row,2 ); if (m==StringImage) { m_im = new QLabel; m_im->setMinimumSize(1,55); m_im->setAlignment(Qt::AlignLeft|Qt::AlignTop); row++; layout->addWidget( m_im,row,1 ); } } else { QAction *dir = m_br->addAction(QIcon(QString::fromAscii(":/images/folder.png")),QString(),this,SLOT(browse())); dir->setToolTip(tr("Browse to a folder")); } layout->addWidget( m_br,row,2 ); } } else { layout->addWidget( m_le, row, 1, 1, 2 ); m_br=0; m_im=0; } m_com=0; row++; Loading Loading @@ -119,6 +131,33 @@ void InputString::updateDefault() { m_lab->setText(QString::fromAscii("<qt><font color='red'>")+m_id+QString::fromAscii("</font></qt>")); } if (m_im) { if (m_str.isEmpty()) { m_im->setText(tr("No Project logo selected.")); } else { QFile Fout(m_str); if(!Fout.exists()) { m_im->setText(tr("Sorry, cannot find file(")+m_str+QString::fromAscii(");")); } else { QPixmap pm(m_str); if (!pm.isNull()) { m_im->setPixmap(pm.scaledToHeight(55,Qt::SmoothTransformation)); } else { m_im->setText(tr("Sorry, no preview available (")+m_str+QString::fromAscii(");")); } } } } if (m_le && m_le->text()!=m_str) m_le->setText( m_str ); emit changed(); } Loading @@ -128,6 +167,7 @@ void InputString::setEnabled(bool state) { m_lab->setEnabled(state); if (m_le) m_le->setEnabled(state); if (m_im) m_le->setEnabled(state); if (m_br) m_br->setEnabled(state); if (m_com) m_com->setEnabled(state); updateDefault(); Loading @@ -136,7 +176,7 @@ void InputString::setEnabled(bool state) void InputString::browse() { QString path = QFileInfo(MainWindow::instance().configFileName()).path(); if (m_sm==StringFile) if (m_sm==StringFile || m_sm==StringImage) { QString fileName = QFileDialog::getOpenFileName(&MainWindow::instance(), tr("Select file"),path); Loading
addon/doxywizard/inputstring.h +3 −1 Original line number Diff line number Diff line Loading @@ -35,7 +35,8 @@ class InputString : public QObject, public Input enum StringMode { StringFree=0, StringFile=1, StringDir=2, StringFixed=3 StringFixed=3, StringImage=4 }; InputString( QGridLayout *layout,int &row, Loading Loading @@ -77,6 +78,7 @@ class InputString : public QObject, public Input void updateDefault(); QLabel *m_lab; QLineEdit *m_le; QLabel *m_im; QToolBar *m_br; QComboBox *m_com; QString m_str; Loading
addon/doxywizard/wizard.cpp +15 −7 Original line number Diff line number Diff line Loading @@ -468,6 +468,7 @@ Step1::Step1(Wizard *wizard,const QHash<QString,Input*> &modelData) : m_wizard(w projVersion->setAlignment(Qt::AlignRight|Qt::AlignVCenter); // project icon QLabel *projLogo = new QLabel(this); projLogo->setMinimumSize(1,55); projLogo->setText(tr("Project logo:")); projLogo->setAlignment(Qt::AlignRight|Qt::AlignVCenter); Loading Loading @@ -564,6 +565,12 @@ void Step1::selectProjectIcon() QString path = QFileInfo(MainWindow::instance().configFileName()).path(); QString iconName = QFileDialog::getOpenFileName(this, tr("Select project icon/image"),path); if (iconName.isEmpty()) { m_projIconLab->setText(tr("No Project logo selected.")); } else { QFile Fout(iconName); if(!Fout.exists()) { Loading @@ -581,6 +588,7 @@ void Step1::selectProjectIcon() m_projIconLab->setText(tr("Sorry, no preview available (")+iconName+QString::fromAscii(");")); } } } updateStringOption(m_modelData,STR_PROJECT_LOGO,iconName); } Loading
src/config.h +1 −1 Original line number Diff line number Diff line Loading @@ -165,7 +165,7 @@ class ConfigEnum : public ConfigOption class ConfigString : public ConfigOption { public: enum WidgetType { String, File, Dir }; enum WidgetType { String, File, Dir, Image }; ConfigString(const char *name,const char *doc) : ConfigOption(O_String) { Loading