diff --git a/shell/shell.cpp b/shell/shell.cpp index 9ee422a60..55f4f1248 100644 --- a/shell/shell.cpp +++ b/shell/shell.cpp @@ -46,6 +46,7 @@ #include #include #include +#include #ifdef KActivities_FOUND #include @@ -103,10 +104,12 @@ void Shell::init() m_tabWidget->setElideMode( Qt::ElideRight ); m_tabWidget->setTabBarHidden( true ); m_tabWidget->setDocumentMode( true ); + m_tabWidget->setMovable( true ); connect( m_tabWidget, SIGNAL(currentChanged(int)), SLOT(setActiveTab(int)) ); connect( m_tabWidget, SIGNAL(tabCloseRequested(int)), SLOT(closeTab(int)) ); connect( m_tabWidget, SIGNAL(testCanDecode(const QDragMoveEvent*,bool&)), SLOT(testTabDrop(const QDragMoveEvent*,bool&)) ); connect( m_tabWidget, SIGNAL(receivedDropEvent(QDropEvent*)), SLOT(handleTabDrop(QDropEvent*)) ); + connect( m_tabWidget->tabBar(), SIGNAL(tabMoved(int,int)), SLOT(moveTabData(int,int)) ); setCentralWidget( m_tabWidget ); @@ -645,6 +648,11 @@ void Shell::handleTabDrop( QDropEvent* event ) handleDroppedUrls( list ); } +void Shell::moveTabData( int from, int to ) +{ + m_tabs.move( from, to ); +} + #include "shell.moc" /* kate: replace-tabs on; indent-width 4; */ diff --git a/shell/shell.h b/shell/shell.h index f25b3d8c0..e540054f1 100644 --- a/shell/shell.h +++ b/shell/shell.h @@ -109,6 +109,7 @@ private slots: void activatePrevTab(); void testTabDrop( const QDragMoveEvent* event, bool& accept ); void handleTabDrop( QDropEvent* event ); + void moveTabData( int from, int to ); signals: void restoreDocument(const KConfigGroup &group);