Пример #1
0
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);
}
Пример #2
0
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 );
}
Пример #3
0
	void LauncherDropArea::dropEvent (QGraphicsSceneDragDropEvent *event)
	{
		unsetCursor ();
		emit tabDropped (event->mimeData ()->data ("x-leechcraft/tab-tabclass"));
	}