From 7b5e52479c7f3a6bd1d2e0e61731dbc589babbfe Mon Sep 17 00:00:00 2001 From: Pritpal Bedi Date: Thu, 31 Mar 2011 01:05:10 +0000 Subject: [PATCH] 2011-03-30 17:56 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com) * contrib/hbqt/qtgui/qth/QDropEvent.qth * contrib/hbqt/qtgui/qth/QGraphicsSceneDragDropEvent.qth ! Fixed: manual code creating HMV destroyable object. * contrib/hbqt/qtcore/hbqt_hbqslots.cpp ! Removed: tracelog entry. * contrib/hbide/hbqreportsmanager.prg * contrib/hbide/hbqtoolbar.prg * contrib/hbide/idebrowse.prg * contrib/hbide/idedocks.prg ! Removed: all occurances exploiting raw pointer with QList(). --- harbour/ChangeLog | 14 +++++++ harbour/contrib/hbide/hbqreportsmanager.prg | 39 ++++++++++--------- harbour/contrib/hbide/hbqtoolbar.prg | 9 +++-- harbour/contrib/hbide/idebrowse.prg | 4 +- harbour/contrib/hbide/idedocks.prg | 6 +-- harbour/contrib/hbqt/qtcore/hbqt_hbqslots.cpp | 2 +- harbour/contrib/hbqt/qtgui/qth/QDropEvent.qth | 2 +- .../qtgui/qth/QGraphicsSceneDragDropEvent.qth | 2 +- 8 files changed, 48 insertions(+), 30 deletions(-) diff --git a/harbour/ChangeLog b/harbour/ChangeLog index adcfdf9189..ff183e013c 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -16,6 +16,20 @@ The license applies to all entries newer than 2009-04-28. */ +2011-03-30 17:56 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com) + * contrib/hbqt/qtgui/qth/QDropEvent.qth + * contrib/hbqt/qtgui/qth/QGraphicsSceneDragDropEvent.qth + ! Fixed: manual code creating HMV destroyable object. + + * contrib/hbqt/qtcore/hbqt_hbqslots.cpp + ! Removed: tracelog entry. + + * contrib/hbide/hbqreportsmanager.prg + * contrib/hbide/hbqtoolbar.prg + * contrib/hbide/idebrowse.prg + * contrib/hbide/idedocks.prg + ! Removed: all occurances exploiting raw pointer with QList(). + 2011-03-30 15:50 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com) * contrib/gtwvg/tests/demowvg.prg * contrib/gtwvg/tests/wvgmodal.prg diff --git a/harbour/contrib/hbide/hbqreportsmanager.prg b/harbour/contrib/hbide/hbqreportsmanager.prg index 7b8cae3a14..3a3a8e5b8f 100644 --- a/harbour/contrib/hbide/hbqreportsmanager.prg +++ b/harbour/contrib/hbide/hbqreportsmanager.prg @@ -294,6 +294,10 @@ METHOD HbqReportsManager:create( qParent ) METHOD HbqReportsManager:destroy() + ::qTreeObjects:disconnect( "itemClicked(QTreeWidgetItem*,int)" ) + + ::qParent := NIL + ::aSources := NIL ::aPages := NIL ::qToolbar := NIL @@ -489,33 +493,27 @@ METHOD HbqReportsManager:execEvent( cEvent, p, p1, p2 ) ::contextMenuScene( p1 ) CASE p == QEvent_GraphicsSceneDragEnter -HB_TRACE( HB_TR_ALWAYS, QEvent_GraphicsSceneDragEnter, valtype( p1 ), p1 ) +HB_TRACE( HB_TR_DEBUG, "QEvent_GraphicsSceneDragEnter", valtype( p1 ), p1 ) p1:acceptProposedAction() CASE p == QEvent_GraphicsSceneDragMove -HB_TRACE( HB_TR_ALWAYS, "QEvent_GraphicsSceneDragMove", valtype( p1 ), p1 ) +HB_TRACE( HB_TR_DEBUG, "QEvent_GraphicsSceneDragMove", valtype( p1 ), p1 ) p1:acceptProposedAction() CASE p == QEvent_GraphicsSceneDragLeave + p1:acceptProposedAction() CASE p == QEvent_GraphicsSceneDrop -HB_TRACE( HB_TR_ALWAYS, "QEvent_GraphicsSceneDrop", valtype( p1 ), 0, p1:className() ) qMime := p1:mimeData() -HB_TRACE( HB_TR_ALWAYS, "QEvent_GraphicsSceneDrop", valtype( p1 ), 1 ) IF qMime:hasFormat( "application/x-qabstractitemmodeldatalist" ) -HB_TRACE( HB_TR_ALWAYS, "QEvent_GraphicsSceneDrop", valtype( p1 ), 2 ) IF p2[ 1 ] == "DataTree" IF p2[ 2 ] != p2[ 3 ] ::addField( p2[ 2 ], p2[ 3 ], p1:scenePos(), NIL ) ENDIF ENDIF -HB_TRACE( HB_TR_ALWAYS, "QEvent_GraphicsSceneDrop", valtype( p1 ), 21 ) ELSEIF qMime:hasFormat( "application/x-toolbaricon" ) -HB_TRACE( HB_TR_ALWAYS, "QEvent_GraphicsSceneDrop", valtype( p1 ), 3 ) ::addObject( qMime:html(), p1:scenePos(), NIL ) -HB_TRACE( HB_TR_ALWAYS, "QEvent_GraphicsSceneDrop", valtype( p1 ), 31 ) ELSEIF qMime:hasFormat( "application/x-menuitem" ) -HB_TRACE( HB_TR_ALWAYS, "QEvent_GraphicsSceneDrop", valtype( p1 ), 4 ) cType := qMime:html() SWITCH cType CASE "Rectangle" ; EXIT @@ -531,13 +529,11 @@ HB_TRACE( HB_TR_ALWAYS, "QEvent_GraphicsSceneDrop", valtype( p1 ), 4 ) CASE "Diagonal Line Left" ; cType := "LineDL" ; EXIT ENDSWITCH ::addObject( cType, p1:scenePos(), NIL ) -HB_TRACE( HB_TR_ALWAYS, "QEvent_GraphicsSceneDrop", valtype( p1 ), 41 ) ELSEIF qMime:hasUrls() -HB_TRACE( HB_TR_ALWAYS, "QEvent_GraphicsSceneDrop", valtype( p1 ), 5 ) - qList := qMime:hbUrlList() + qList := qMime:urls() FOR i := 0 TO qList:size() - 1 - cFile := ( QUrl( qList:at( i ) ) ):toLocalFile() + cFile := qList:at( i ):toLocalFile() IF ".dbf" == right( lower( cFile ), 4 ) hb_fNameSplit( cFile, @cPath, @cAlias ) @@ -554,12 +550,12 @@ HB_TRACE( HB_TR_ALWAYS, "QEvent_GraphicsSceneDrop", valtype( p1 ), 5 ) END SEQUENCE ENDIF NEXT -HB_TRACE( HB_TR_ALWAYS, "QEvent_GraphicsSceneDrop", valtype( p1 ), 51 ) - ENDIF - ENDCASE -HB_TRACE( HB_TR_ALWAYS, "QEvent_GraphicsSceneDrop", valtype( p1 ), 1000 ) + p1:acceptProposedAction() + p1:accept() +HB_TRACE( HB_TR_DEBUG, "QEvent_GraphicsSceneDrop", 1000, p1:dropAction() ) + ENDCASE EXIT CASE "treeObjects_clicked" @@ -598,7 +594,7 @@ HB_TRACE( HB_TR_ALWAYS, "QEvent_GraphicsSceneDrop", valtype( p1 ), 1000 ) ::qMime:setData( "application/x-menuitem", ::qByte ) ::qMime:setHtml( ::qAct:text() ) - ::qPix := QPixmap( qIcon:pixmap( 16,16 ) ) + ::qPix := qIcon:pixmap( 16,16 ) ::qDrag := QDrag( hbide_setIde():oDlg:oWidget ) ::qDrag:setMimeData( ::qMime ) @@ -1574,6 +1570,7 @@ METHOD HbqReportsManager:printPreview( qPrinter ) qDlg:move( 20, 20 ) qDlg:resize( 400, 600 ) qDlg:exec() + qDlg:disconnect( "paintRequested(QPrinter*)" ) RETURN qStr @@ -1725,6 +1722,8 @@ CLASS HqrGraphicsItem METHOD HqrGraphicsItem:new( oRM, cParent, cType, cName, aPos, aGeometry ) + HB_TRACE( HB_TR_DEBUG, "HqrGraphicsItem:new" ) + ::oRM := oRM ::cParent := cParent ::cType := cType @@ -1751,7 +1750,7 @@ METHOD HqrGraphicsItem:new( oRM, cParent, cType, cName, aPos, aGeometry ) EXIT CASE "Text" ::nWidth := 300 ; ::nHeight := 50 - ::oWidget := HBQGraphicsItem( HBQT_GRAPHICSITEM_SIMPLETEXT ) + ::oWidget := HBQGraphicsItem( HBQT_GRAPHICSITEM_SIMPLETEXT )//, ::oRM:qScene ) EXIT CASE "Field" ::nWidth := 300 ; ::nHeight := 50 @@ -1837,6 +1836,8 @@ METHOD HqrGraphicsItem:onError( ... ) METHOD HqrGraphicsItem:execEvent( cEvent, p, p1, p2 ) + HB_TRACE( HB_TR_DEBUG, "HqrGraphicsItem:execEvent", P, P1, P2 ) + DO CASE CASE cEvent == "graphicsItem_block" DO CASE diff --git a/harbour/contrib/hbide/hbqtoolbar.prg b/harbour/contrib/hbide/hbqtoolbar.prg index 7bf23e4a52..683f6ca829 100644 --- a/harbour/contrib/hbide/hbqtoolbar.prg +++ b/harbour/contrib/hbide/hbqtoolbar.prg @@ -204,14 +204,17 @@ METHOD HbqToolbar:execEvent( cEvent, p, p1 ) ::qMime:setData( "application/x-toolbaricon", ::qByte ) ::qMime:setHtml( ::hItems[ p1 ]:objectName() ) - ::qPix := QPixmap( QIcon( ::hItems[ p1 ]:icon ):pixmap( 16,16 ) ) + ::qPix := QIcon( ::hItems[ p1 ]:icon ):pixmap( 16,16 ) ::qDrag := QDrag( hbide_setIde():oDlg:oWidget ) ::qDrag:setMimeData( ::qMime ) ::qDrag:setPixmap( ::qPix ) ::qDrag:setHotSpot( QPoint( 15,15 ) ) - ::qDrag:setDragCursor( ::qPix, Qt_MoveAction ) - ::qDropAction := ::qDrag:exec( Qt_MoveAction ) + ::qDrag:setDragCursor( ::qPix, Qt_CopyAction + Qt_IgnoreAction ) +HB_TRACE( HB_TR_DEBUG, "..............................0" ) + ::qDropAction := ::qDrag:exec( Qt_CopyAction + Qt_IgnoreAction ) /* Why this is not terminated GPF's */ +HB_TRACE( HB_TR_DEBUG, "..............................1" ) + ::qDrag := NIL ::qPos := NIL ::hItems[ p1 ]:setChecked( .f. ) diff --git a/harbour/contrib/hbide/idebrowse.prg b/harbour/contrib/hbide/idebrowse.prg index 852f3b2dfc..11b2cb8156 100644 --- a/harbour/contrib/hbide/idebrowse.prg +++ b/harbour/contrib/hbide/idebrowse.prg @@ -575,9 +575,9 @@ METHOD IdeBrowseManager:execEvent( cEvent, p, p1 ) CASE "dockDbu_dropEvent" qMime := p:mimeData() IF qMime:hasUrls() - qList := qMime:hbUrlList() + qList := qMime:urls() FOR i := 0 TO qList:size() - 1 - qUrl := QUrl( qList:at( i ) ) + qUrl := qList:at( i ) hb_fNameSplit( qUrl:toLocalFile(), @cPath, @cTable, @cExt ) IF lower( cExt ) == ".dbf" ::oCurPanel:addBrowser( { NIL, hbide_pathToOSPath( cPath + cTable + cExt ), NIL, ; diff --git a/harbour/contrib/hbide/idedocks.prg b/harbour/contrib/hbide/idedocks.prg index 99c139edaa..6794245841 100644 --- a/harbour/contrib/hbide/idedocks.prg +++ b/harbour/contrib/hbide/idedocks.prg @@ -726,9 +726,9 @@ HB_TRACE( HB_TR_DEBUG, "projectTree_dragEnterEvent" ) HB_TRACE( HB_TR_DEBUG, "projectTree_dropEvent" ) qMime := p:mimeData() IF qMime:hasUrls() - qList := qMime:hbUrlList() + qList := qMime:urls() FOR i := 0 TO qList:size() - 1 - qUrl := QUrl( qList:at( i ) ) + qUrl := qList:at( i ) IF hbide_sourceType( qUrl:toLocalFile() ) == ".hbp" ::oPM:loadProperties( qUrl:toLocalFile(), .f., .f., .t. ) ENDIF @@ -1454,7 +1454,7 @@ METHOD IdeDocks:buildToolBarPanels() aadd( aBtns, { ::oFindDock , "search" } ) aadd( aBtns, { ::oSourceThumbnailDock, "thumbnail" } ) aadd( aBtns, { ::oQScintillaDock , "browser" } ) - aadd( aBtns, { ::oReportsManagerDock , "designer" } ) + aadd( aBtns, { ::oReportsManagerDock , "designer" } ) aadd( aBtns, {} ) aadd( aBtns, { ::oDockB2 , "builderror" } ) diff --git a/harbour/contrib/hbqt/qtcore/hbqt_hbqslots.cpp b/harbour/contrib/hbqt/qtcore/hbqt_hbqslots.cpp index 0df6ec7c66..8660f554d0 100644 --- a/harbour/contrib/hbqt/qtcore/hbqt_hbqslots.cpp +++ b/harbour/contrib/hbqt/qtcore/hbqt_hbqslots.cpp @@ -329,7 +329,7 @@ HB_FUNC( __HBQT_SLOTS_DISCONNECT ) if( t_slots->listBlock.at( i - 1 ) != NULL ) { - HB_TRACE( HB_TR_ALWAYS, ( " __HBQT_SLOTS_DISCONNECT %d", i ) ); + //HB_TRACE( HB_TR_ALWAYS, ( " __HBQT_SLOTS_DISCONNECT %d", i ) ); hb_itemRelease( t_slots->listBlock.at( i - 1 ) ); t_slots->listBlock[ i - 1 ] = NULL; } diff --git a/harbour/contrib/hbqt/qtgui/qth/QDropEvent.qth b/harbour/contrib/hbqt/qtgui/qth/QDropEvent.qth index 49c0c18b17..ad06cbe226 100644 --- a/harbour/contrib/hbqt/qtgui/qth/QDropEvent.qth +++ b/harbour/contrib/hbqt/qtgui/qth/QDropEvent.qth @@ -55,7 +55,7 @@ const QMimeData * mimeData () const{ QDropEvent * p = ( QDropEvent * ) hbqt_pPtrFromObj( 0 ); if( p ) { - hbqt_create_objectGC( hbqt_gcAllocate_QMimeData( ( void* ) p->mimeData(), true ), "hb_QMimeData" ); + hbqt_create_objectGC( hbqt_gcAllocate_QMimeData( ( void* ) p->mimeData(), false ), "hb_QMimeData" ); } } # diff --git a/harbour/contrib/hbqt/qtgui/qth/QGraphicsSceneDragDropEvent.qth b/harbour/contrib/hbqt/qtgui/qth/QGraphicsSceneDragDropEvent.qth index 50acb3a064..afe21ab037 100644 --- a/harbour/contrib/hbqt/qtgui/qth/QGraphicsSceneDragDropEvent.qth +++ b/harbour/contrib/hbqt/qtgui/qth/QGraphicsSceneDragDropEvent.qth @@ -48,7 +48,7 @@ const QMimeData * mimeData () const{ QGraphicsSceneDragDropEvent * _graphicsscenedragdropevent = ( QGraphicsSceneDragDropEvent * ) hbqt_pPtrFromObj( 0 ); if( _graphicsscenedragdropevent ) { - hbqt_create_objectGC( hbqt_gcAllocate_QMimeData( ( void* ) _graphicsscenedragdropevent->mimeData(), true ), "hb_QMimeData" ); + hbqt_create_objectGC( hbqt_gcAllocate_QMimeData( ( void* ) _graphicsscenedragdropevent->mimeData(), false ), "hb_QMimeData" ); } } Qt::KeyboardModifiers modifiers () const