summaryrefslogtreecommitdiff
path: root/src/tabbar.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/tabbar.cpp')
-rw-r--r--src/tabbar.cpp62
1 files changed, 6 insertions, 56 deletions
diff --git a/src/tabbar.cpp b/src/tabbar.cpp
index 65a65f7e..7e83f69d 100644
--- a/src/tabbar.cpp
+++ b/src/tabbar.cpp
@@ -64,7 +64,6 @@
TabBar::TabBar(MainView *parent)
: KTabBar(parent)
, m_parent(parent)
- , m_addTabButton(new QToolButton(this))
, m_currentTabPreview(-1)
{
setElideMode(Qt::ElideRight);
@@ -77,8 +76,6 @@ TabBar::TabBar(MainView *parent)
connect(this, SIGNAL(contextMenu(int, const QPoint &)), this, SLOT(slotContextMenuRequested(int, const QPoint &)));
connect(this, SIGNAL(emptyAreaContextMenu(const QPoint &)), this, SLOT(slotEmptyAreaContextMenu(const QPoint &)));
-
- QTimer::singleShot(0, this, SLOT(postLaunch()));
}
@@ -87,27 +84,9 @@ TabBar::~TabBar()
}
-void TabBar::postLaunch()
-{
- // Find the correct MainWindow of this tab button
- MainWindowList list = Application::instance()->mainWindowList();
- Q_FOREACH(QPointer<MainWindow> w, list)
- {
- if (w->isAncestorOf(this))
- {
- m_addTabButton->setDefaultAction(w->actionByName("new_tab"));
- break;
- }
- }
-
- m_addTabButton->setAutoRaise(true);
- m_addTabButton->setToolButtonStyle(Qt::ToolButtonIconOnly);
-}
-
-
QSize TabBar::tabSizeHint(int index) const
{
- int buttonSize = m_addTabButton->size().width();
+ int buttonSize = m_parent->addTabButton()->size().width();
int tabBarWidth = m_parent->size().width() - buttonSize;
int baseWidth = m_parent->sizeHint().width()/BASE_WIDTH_DIVISOR;
int minWidth = m_parent->sizeHint().width()/MIN_WIDTH_DIVISOR;
@@ -165,6 +144,10 @@ void TabBar::showTabPreview(int tab)
WebView *view = m_parent->webView(tab);
WebView *currentView = m_parent->webView(currentIndex());
+ // should fix bug #212219
+ if(!currentView)
+ return;
+
int w = tabSizeHint(tab).width();
int h = w*((0.0 + currentView->height())/currentView->width());
@@ -243,6 +226,7 @@ void TabBar::leaveEvent(QEvent *event)
KTabBar::leaveEvent(event);
}
+
void TabBar::mousePressEvent(QMouseEvent *event)
{
// just close tab on middle mouse click
@@ -253,40 +237,6 @@ void TabBar::mousePressEvent(QMouseEvent *event)
}
-void TabBar::updateNewTabButton()
-{
- static bool ButtonInCorner = false;
-
- int tabWidgetWidth = m_parent->frameSize().width();
- int tabBarWidth = tabSizeHint(0).width() * count();
-
- if (tabBarWidth + m_addTabButton->width() > tabWidgetWidth)
- {
- if(ButtonInCorner)
- return;
- m_parent->setCornerWidget(m_addTabButton);
- ButtonInCorner = true;
- }
- else
- {
- if(ButtonInCorner)
- {
- m_parent->setCornerWidget(0);
- m_addTabButton->show();
- ButtonInCorner = false;
- }
-
- int newPosX = tabWidgetWidth - m_addTabButton->width();
- int newPosY = height() - m_addTabButton->height();
-
- if (tabBarWidth + m_addTabButton->width() < tabWidgetWidth)
- newPosX = tabBarWidth;
-
- m_addTabButton->move(newPosX, newPosY);
- }
-}
-
-
void TabBar::slotContextMenuRequested(int tab, const QPoint &pos)
{
m_actualIndex = tab;