void TabBar::mouseReleaseEvent (QMouseEvent *event) { /* first do what a QTabBar does... */ QTabBar::mouseReleaseEvent (event); /* ...then emit an extra signal, that will be useful for tab detachment */ QPoint dropPos = event->globalPos(); emit tabDropped (dropPos); }
void pTabBar::dropEvent( QDropEvent* event ) { if ( !event->mimeData()->hasUrls() ) { // get drop tab int ni = tabAt( event->pos() ); // if get it if ( ni != -1 ) { // get original tab infos int oi = event->mimeData()->data( "x-tabindex" ).toInt(); QVariant otd = tabData( oi ); QIcon oti = tabIcon( oi ); QString ott = tabText( oi ); QColor ottc = tabTextColor( oi ); QString ottt = tabToolTip( oi ); QString otwt = tabWhatsThis( oi ); // remove original tab removeTab( oi ); // insert new one with correct infos int i = insertTab( ni, oti, ott ); setTabData( i, otd ); setTabTextColor( i, ottc ); setTabToolTip( i, ottt ); setTabWhatsThis( i, otwt ); //accept event->acceptProposedAction(); // emit signal emit tabDropped( oi, i ); // set new current index setCurrentIndex( i ); } } else emit urlsDropped( event->mimeData()->urls () ); // default event QTabBar::dropEvent( event ); }
void LauncherDropArea::dropEvent (QGraphicsSceneDragDropEvent *event) { unsetCursor (); emit tabDropped (event->mimeData ()->data ("x-leechcraft/tab-tabclass")); }