diff --git a/addon/doxywizard/doxywizard.cpp b/addon/doxywizard/doxywizard.cpp index d69cf73f120..26df065f28a 100644 --- a/addon/doxywizard/doxywizard.cpp +++ b/addon/doxywizard/doxywizard.cpp @@ -128,6 +128,7 @@ MainWindow::MainWindow() connect(showSettings,SIGNAL(clicked()),SLOT(showSettings())); connect(m_expert,SIGNAL(changed()),SLOT(configChanged())); connect(m_wizard,SIGNAL(done()),SLOT(selectRunTab())); + connect(m_expert,SIGNAL(done()),SLOT(selectRunTab())); loadSettings(); updateLaunchButtonState(); @@ -372,6 +373,7 @@ void MainWindow::saveSettings() void MainWindow::selectTab(int id) { if (id==0) m_wizard->refresh(); + else if (id==1) m_expert->refresh(); } void MainWindow::selectRunTab() diff --git a/addon/doxywizard/expert.cpp b/addon/doxywizard/expert.cpp index fe6609eadb8..1cc5d154309 100644 --- a/addon/doxywizard/expert.cpp +++ b/addon/doxywizard/expert.cpp @@ -683,7 +683,7 @@ void Expert::activateTopic(QTreeWidgetItem *item,QTreeWidgetItem *) QWidget *w = m_topics[item->text(0)]; m_topicStack->setCurrentWidget(w); m_prev->setEnabled(m_topicStack->currentIndex()!=0); - m_next->setEnabled(m_topicStack->currentIndex()!=m_topicStack->count()-1); + m_next->setEnabled(true); } } @@ -824,10 +824,17 @@ void Expert::showHelp(Input *option) void Expert::nextTopic() { - m_topicStack->setCurrentIndex(m_topicStack->currentIndex()+1); - m_next->setEnabled(m_topicStack->count()!=m_topicStack->currentIndex()+1); - m_prev->setEnabled(m_topicStack->currentIndex()!=0); - m_treeWidget->setCurrentItem(m_treeWidget->invisibleRootItem()->child(m_topicStack->currentIndex())); + if (m_topicStack->currentIndex()+1==m_topicStack->count()) // last topic + { + done(); + } + else + { + m_topicStack->setCurrentIndex(m_topicStack->currentIndex()+1); + m_next->setEnabled(m_topicStack->count()!=m_topicStack->currentIndex()+1); + m_prev->setEnabled(m_topicStack->currentIndex()!=0); + m_treeWidget->setCurrentItem(m_treeWidget->invisibleRootItem()->child(m_topicStack->currentIndex())); + } } void Expert::prevTopic() @@ -931,3 +938,8 @@ bool Expert::pdfOutputPresent(const QString &workingDir) const return fi.exists() && fi.isFile(); } +void Expert::refresh() +{ + m_treeWidget->setCurrentItem(m_treeWidget->invisibleRootItem()->child(0)); +} + diff --git a/addon/doxywizard/expert.h b/addon/doxywizard/expert.h index 2c654463866..ff571cb39f4 100644 --- a/addon/doxywizard/expert.h +++ b/addon/doxywizard/expert.h @@ -42,6 +42,7 @@ class Expert : public QSplitter, public DocIntf public slots: void activateTopic(QTreeWidgetItem *,QTreeWidgetItem *); QWidget *createTopicWidget(QDomElement &elem); + void refresh(); private slots: void showHelp(Input *); @@ -50,6 +51,7 @@ class Expert : public QSplitter, public DocIntf signals: void changed(); + void done(); private: void createTopics(const QDomElement &);