Commit 2a22c7d4 authored by Dimitri van Heesch's avatar Dimitri van Heesch
Browse files

Merge branch 'master' of github.com:doxygen/doxygen

parents ea436bd6 9ba0c0ff
Loading
Loading
Loading
Loading
+30 −0
Original line number Diff line number Diff line
@@ -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(""))
@@ -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;
+44 −4
Original line number Diff line number Diff line
@@ -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
@@ -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++;
@@ -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();
  }
@@ -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();
@@ -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);
+3 −1
Original line number Diff line number Diff line
@@ -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,
@@ -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;
+15 −7
Original line number Diff line number Diff line
@@ -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);

@@ -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()) 
    {
@@ -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);
}

+1 −1
Original line number Diff line number Diff line
@@ -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