Fix tab bar visibility when the execution log tab is enabled

This commit is contained in:
Christophe Dumez 2010-12-25 20:21:04 +00:00
parent 050601498c
commit 64df47b49f
2 changed files with 20 additions and 6 deletions

View file

@ -36,9 +36,29 @@
class HidableTabWidget : public QTabWidget { class HidableTabWidget : public QTabWidget {
public: public:
void showTabBar(bool show) { void showTabBar(bool show) {
tabBar()->setVisible(show); tabBar()->setVisible(show);
} }
protected:
void tabInserted(int index) {
QTabWidget::tabInserted(index);
if(count() == 1) {
showTabBar(false);
} else {
showTabBar(true);
}
}
void tabRemoved(int index) {
QTabWidget::tabInserted(index);
if(count() == 1) {
showTabBar(false);
} else {
showTabBar(true);
}
}
}; };
#endif // HIDABLETABWIDGET_H #endif // HIDABLETABWIDGET_H

View file

@ -385,13 +385,10 @@ void MainWindow::displayRSSTab(bool enable) {
int index_tab = tabs->addTab(rssWidget, tr("RSS")); int index_tab = tabs->addTab(rssWidget, tr("RSS"));
tabs->setTabIcon(index_tab, misc::getIcon("application-rss+xml")); tabs->setTabIcon(index_tab, misc::getIcon("application-rss+xml"));
} }
tabs->showTabBar(true);
} else { } else {
if(rssWidget) { if(rssWidget) {
delete rssWidget; delete rssWidget;
} }
if(!searchEngine)
tabs->showTabBar(false);
} }
} }
@ -402,13 +399,10 @@ void MainWindow::displaySearchTab(bool enable) {
searchEngine = new SearchEngine(this); searchEngine = new SearchEngine(this);
tabs->insertTab(1, searchEngine, misc::getIcon("edit-find"), tr("Search")); tabs->insertTab(1, searchEngine, misc::getIcon("edit-find"), tr("Search"));
} }
tabs->showTabBar(true);
} else { } else {
if(searchEngine) { if(searchEngine) {
delete searchEngine; delete searchEngine;
} }
if(!rssWidget)
tabs->showTabBar(false);
} }
} }