diff options
-rw-r--r-- | src/mainview.cpp | 18 | ||||
-rw-r--r-- | src/mainview.h | 6 | ||||
-rw-r--r-- | src/mainwindow.cpp | 5 |
3 files changed, 21 insertions, 8 deletions
diff --git a/src/mainview.cpp b/src/mainview.cpp index fe6413a1..dfa202dc 100644 --- a/src/mainview.cpp +++ b/src/mainview.cpp @@ -112,7 +112,6 @@ void MainView::postLaunch() // Session Manager connect(this, SIGNAL(tabsChanged()), Application::sessionManager(), SLOT(saveSession())); - connect(this, SIGNAL(currentChanged(int)), Application::sessionManager(), SLOT(saveSession())); m_addTabButton->setDefaultAction(m_parentWindow->actionByName("new_tab")); @@ -267,6 +266,8 @@ void MainView::currentChanged(int index) tab->view()->setFocus(); tabBar()->resetTabHighlighted(index); + + emit tabsChanged(); } @@ -316,9 +317,13 @@ WebTab *MainView::newWebTab(bool focused) { setCurrentWidget(tab); } - - emit tabsChanged(); - + else + { + // if tab is not focused, + // current index doesn't change... + emit tabsChanged(); + } + return tab; } @@ -484,7 +489,9 @@ void MainView::closeTab(int index, bool del) tabToClose->deleteLater(); } - emit tabsChanged(); + // if tab was not focused, current index does not change... + if(index != currentIndex()) + emit tabsChanged(); } @@ -594,6 +601,7 @@ void MainView::webViewUrlChanged(const QUrl &url) } if (ReKonfig::hoveringTabOption() == 2) tabBar()->setTabToolTip(index, webTab(index)->url().toMimeDataString()); + emit tabsChanged(); } diff --git a/src/mainview.h b/src/mainview.h index 6af4012c..749fb7ea 100644 --- a/src/mainview.h +++ b/src/mainview.h @@ -97,7 +97,11 @@ public: inline QList<HistoryItem> recentlyClosedTabs() { return m_recentlyClosedTabs; } Q_SIGNALS: - // tab widget signals + // tabs change when: + // - current tab change + // - one tab is closed + // - one tab is added + // - one tab is updated (eg: changes url) void tabsChanged(); // current tab signals diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 35f47701..24dc8658 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -311,7 +311,6 @@ void MainWindow::postLaunch() connect(m_view, SIGNAL(openNextInHistory()), this, SLOT(openNext())); // update toolbar actions signals - connect(m_view, SIGNAL(tabsChanged()), this, SLOT(updateActions())); connect(m_view, SIGNAL(currentChanged(int)), this, SLOT(updateActions())); //Change window icon according to tab icon @@ -408,7 +407,6 @@ void MainWindow::setupActions() actionCollection()->addAction(QL1S("stop_reload") , m_stopReloadAction); m_stopReloadAction->setShortcutConfigurable(false); connect(m_view, SIGNAL(browserTabLoading(bool)), this, SLOT(browserLoading(bool))); - browserLoading(false); //first init for blank start page a = new KAction(i18n("Open Location"), this); KShortcut openLocationShortcut(Qt::CTRL + Qt::Key_L); @@ -981,6 +979,7 @@ WebTab *MainWindow::currentTab() const void MainWindow::browserLoading(bool v) { + kDebug() << "-------------------------------------------------------------------"; QAction *stop = actionCollection()->action( QL1S("stop") ); QAction *reload = actionCollection()->action( QL1S("view_redisplay") ); if (v) @@ -1000,6 +999,8 @@ void MainWindow::browserLoading(bool v) m_stopReloadAction->setText(i18n("Reload")); connect(m_stopReloadAction, SIGNAL(triggered(bool)), reload, SIGNAL(triggered(bool))); stop->setEnabled(false); + + updateActions(); } } |