From 70f45a30729fa8df7ee920d3755bc644ed94c2c7 Mon Sep 17 00:00:00 2001 From: Pritpal Bedi Date: Wed, 30 Jun 2010 07:40:17 +0000 Subject: [PATCH] 2010-06-30 00:27 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com) * contrib/hbqt/hbqt_hbqplaintextedit.cpp ! Fixed: the paint behavior in "thumbnail". Selected text was covered behind highlight area. * contrib/hbide/idebrowse.prg * contrib/hbide/idedocks.prg * contrib/hbide/idesaveload.prg + Added: more icons to ideDBU toolbar, close and toggle form view. + Implemented: to save and restore table informations per panel. Now ideDBU is presented with opened tables as was closed previously. + Implemented: "Panels" concept where each panel can hold different tables. TODO: interface to add panels. Please test. --- harbour/ChangeLog | 17 + harbour/contrib/hbide/idebrowse.prg | 397 ++++++++++++++---- harbour/contrib/hbide/idedocks.prg | 123 +++--- harbour/contrib/hbide/idesaveload.prg | 93 ++-- .../contrib/hbqt/hbqt_hbqplaintextedit.cpp | 4 +- 5 files changed, 435 insertions(+), 199 deletions(-) diff --git a/harbour/ChangeLog b/harbour/ChangeLog index 8078b104ab..672e930cbb 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -16,6 +16,23 @@ The license applies to all entries newer than 2009-04-28. */ +2010-06-30 00:27 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com) + * contrib/hbqt/hbqt_hbqplaintextedit.cpp + ! Fixed: the paint behavior in "thumbnail". + Selected text was covered behind highlight area. + + * contrib/hbide/idebrowse.prg + * contrib/hbide/idedocks.prg + * contrib/hbide/idesaveload.prg + + Added: more icons to ideDBU toolbar, close and toggle form view. + + Implemented: to save and restore table informations per panel. + Now ideDBU is presented with opened tables as was closed previously. + + Implemented: "Panels" concept where each panel can hold + different tables. + TODO: interface to add panels. + + Please test. + 2010-06-29 17:44 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com) * contrib/hbide/ideedit.prg * contrib/hbide/ideeditor.prg diff --git a/harbour/contrib/hbide/idebrowse.prg b/harbour/contrib/hbide/idebrowse.prg index da57e1ad9b..2a5681bdbf 100644 --- a/harbour/contrib/hbide/idebrowse.prg +++ b/harbour/contrib/hbide/idebrowse.prg @@ -79,142 +79,347 @@ CLASS IdeBrowseManager INHERIT IdeObject - DATA oStack - DATA oPanel - DATA oMain + DATA qDbu + DATA qStack DATA qLayout DATA qVSplitter DATA qToolBar - DATA qLayMain + DATA aPanels INIT {} DATA aToolBtns INIT {} - DATA aItems INIT {} + DATA aButtons INIT {} + + DATA oCurBrw + DATA oCurPanel METHOD new( oIde ) METHOD create( oIde ) + METHOD show() METHOD destroy() + METHOD buildToolbar() METHOD execEvent( cEvent, p ) - METHOD addTable( cFileDBF, cAlias, nRow, nCol ) - METHOD addArray( aData, aAttr, nRow, nCol ) + METHOD addTable( cFileDBF, cAlias ) + METHOD addArray( aData, aAttr ) + METHOD getPanelNames() + METHOD getPanelsInfo() + METHOD addPanels() + METHOD addPanel( cPanel ) + METHOD showPanel( cPanel ) + METHOD isPanel( cPanel ) + METHOD loadTables() ENDCLASS /*----------------------------------------------------------------------*/ METHOD IdeBrowseManager:new( oIde ) - ::oIde := oIde + RETURN Self + +/*----------------------------------------------------------------------*/ + +METHOD IdeBrowseManager:getPanelNames() + LOCAL aNames := {} + aeval( ::aPanels, {|e| aadd( aNames, e:cPanel ) } ) + RETURN aNames + +/*----------------------------------------------------------------------*/ + +METHOD IdeBrowseManager:getPanelsInfo() + LOCAL oBrw, oPanel + LOCAL aInfo := {} + + FOR EACH oPanel IN ::aPanels + FOR EACH oBrw IN oPanel:aItems + IF oBrw:nType == BRW_TYPE_DBF + aadd( aInfo, oPanel:cPanel + "," + oBrw:cTable + "," + oBrw:cAlias + "," + oBrw:cDriver + "," + ; + hb_ntos( oBrw:nOrder ) + "," + hb_ntos( oBrw:recNo() ) + hb_ntos( oBrw:nCursorType ) ) + ENDIF + NEXT + NEXT + + RETURN aInfo + +/*----------------------------------------------------------------------*/ + +METHOD IdeBrowseManager:destroy() + LOCAL oPanel, oBrw + + FOR EACH oPanel IN ::aPanels + FOR EACH oBrw IN oPanel:aItems + oBrw:destroy() + oBrw := NIL + NEXT + oPanel:aItems := NIL + oPanel := NIL + NEXT + ::aPanels := NIL RETURN Self /*----------------------------------------------------------------------*/ -METHOD IdeBrowseManager:destroy() - #if 0 - LOCAL oBrw +METHOD IdeBrowseManager:show() + + ::qToolbar:setStyleSheet( GetStyleSheet( "QToolBar", ::nAnimantionMode ) ) + ::oQScintillaDock:oWidget:raise() - // Close tables and clear variables - FOR EACH oBrw IN ::aItems - Select( oBrw:cAlias ) - DbCloseArea() - NEXT - ::aItems := {} - #endif RETURN Self /*----------------------------------------------------------------------*/ METHOD IdeBrowseManager:create( oIde ) - LOCAL oDock, qBtn DEFAULT oIde TO ::oIde ::oIde := oIde - oDock := ::oIde:oEM:oQScintillaDock:oWidget + ::qDbu := QWidget():new() + ::oIde:oEM:oQScintillaDock:oWidget:setWidget( ::qDbu ) - ::oPanel := QWidget():new() - oDock:setWidget( ::oPanel ) - - ::qLayout := QVBoxLayout():new() ; ::oPanel:setLayout( ::qLayout ) + /* Layout applied to dbu widget */ + ::qLayout := QVBoxLayout():new() ::qLayout:setContentsMargins( 0,0,0,0 ) ::qLayout:setSpacing( 2 ) - ::qToolbar := QToolbar():new() + ::qDbu:setLayout( ::qLayout ) + + /* Toolbar */ + ::buildToolbar() ::qLayout:addWidget( ::qToolbar ) + + /* Stacked widget */ + ::qStack := QStackedWidget():new() + ::qLayout:addWidget( ::qStack ) + + /* Panels on the stacked widget */ + ::addPanels() + + /* Spread tables onto panels */ + ::loadTables() + + RETURN Self + +/*----------------------------------------------------------------------*/ + +METHOD IdeBrowseManager:buildToolbar() + LOCAL qBtn, aBtn + + ::qToolbar := QToolbar():new() ::qToolbar:setIconSize( QSize():new( 16,16 ) ) + ::qToolbar:setStyleSheet( GetStyleSheet( "QToolBar", ::nAnimantionMode ) ) - ::oStack := QStackedWidget():new() - ::qLayout:addWidget( ::oStack ) + aadd( ::aButtons, { "Open a table" , "open" , "clicked()", {|| ::execEvent( "buttonOpen_clicked" ) }, .f. } ) + aadd( ::aButtons, { "Close current table", "close" , "clicked()", {|| ::execEvent( "buttonClose_clicked" ) }, .f. } ) + aadd( ::aButtons, { "Show/hide form view", "fullscreen" , "clicked()", {|| ::execEvent( "buttonShowForm_clicked" ) }, .t. } ) - ::oMain := QWidget():new() - ::oStack:addWidget( ::oMain ) + FOR EACH aBtn IN ::aButtons + qBtn := QToolButton():new() + qBtn:setTooltip( aBtn[ 1 ] ) + qBtn:setAutoRaise( .t. ) + qBtn:setIcon( hbide_image( aBtn[ 2 ] ) ) + IF aBtn[ 5 ] + qBtn:setCheckable( .t. ) + ENDIF - ::qLayMain := QHBoxLayout():new(); ::oMain:setLayout( ::qLayMain ) - ::qLayMain:setContentsMargins( 0,0,0,0 ) - ::qLayMain:setSpacing( 2 ) + ::connect( qBtn, aBtn[ 3 ], aBtn[ 4 ] ) - ::qVSplitter := QSplitter():new() - ::qVSplitter:setOrientation( Qt_Vertical ) - ::qLayMain:addWidget( ::qVSplitter ) + ::qToolBar:addWidget( qBtn ) - qBtn := QToolButton():new() - qBtn:setTooltip( "Open a Table" ) - qBtn:setAutoRaise( .t. ) - qBtn:setIcon( hbide_image( "open" ) ) - ::connect( qBtn, "clicked()", {|| ::execEvent( "buttonOpen_clicked" ) } ) - aadd( ::aToolBtns, qBtn ) + aadd( ::aToolBtns, qBtn ) + NEXT - ::qToolBar:addWidget( qBtn ) + RETURN Self + +/*----------------------------------------------------------------------*/ + +METHOD IdeBrowseManager:addPanels() + LOCAL cPanel, aPanel + + ::addPanel( "Main" ) /* The default one */ + + FOR EACH cPanel IN ::oINI:aDbuPanelsInfo + aPanel := hb_aTokens( cPanel ) + IF aPanel[ 1 ] != "Main" + ::addPanel( aPanel[ 1 ] ) + ENDIF + NEXT + + ::qStack:setCurrentWidget( ::aPanels[ 1 ] ) /* Always start with main */ + ::oCurPanel := ::aPanels[ 1 ] + + RETURN Self + +/*----------------------------------------------------------------------*/ + +METHOD IdeBrowseManager:addPanel( cPanel ) + LOCAL qPanel + + qPanel := IdeBrowsePanel():new( ::oIde, cPanel ) + + ::qStack:addWidget( qPanel:qWidget ) + + aadd( ::aPanels, qPanel ) + + RETURN Self + +/*----------------------------------------------------------------------*/ + +METHOD IdeBrowseManager:isPanel( cPanel ) + RETURN ascan( ::aPanels, {|o| o:qWidget:objectName() == cPanel } ) > 0 + +/*----------------------------------------------------------------------*/ + +METHOD IdeBrowseManager:showPanel( cPanel ) + LOCAL n + + IF ( n := ascan( ::aPanels, {|o| o:qWidget:objectName() == cPanel } ) ) > 0 + ::qStack:setCurrentWidget( ::aPanels[ n ] ) + ::oCurPanel := ::aPanels[ n ] + ENDIF RETURN Self /*----------------------------------------------------------------------*/ METHOD IdeBrowseManager:execEvent( cEvent, p ) - LOCAL cTable, cPath + LOCAL cTable, cPath, n, oBrw HB_SYMBOL_UNUSED( p ) SWITCH cEvent + CASE "buttonShowForm_clicked" + IF !empty( ::oCurBrw ) + IF ::oCurBrw:qForm:isHidden() + ::oCurBrw:qForm:show() + ::aToolBtns[ 3 ]:setChecked( .t. ) + ELSE + ::oCurBrw:qForm:hide() + ::aToolBtns[ 3 ]:setChecked( .f. ) + ENDIF + ENDIF + EXIT + + CASE "buttonClose_clicked" + IF !empty( ::oCurBrw ) + IF ( n := ascan( ::aItems, {|oBrw| oBrw == ::oCurBrw } ) ) > 0 + hb_adel( ::aItems, n, .t. ) + ::oCurBrw:destroy() + FOR EACH oBrw IN ::aItems + oBrw:oBrw:configure() + NEXT + ENDIF + ENDIF + EXIT + CASE "buttonOpen_clicked" IF !empty( cTable := hbide_fetchAFile( ::oIde:oDlg, "Select a Table", { { "Database File", "*.dbf" } }, ::oIde:cWrkFolderLast ) ) hb_fNameSplit( cTable, @cPath ) ::oIde:cWrkFolderLast := cPath ::addTable( cTable ) ENDIF - EXIT + ENDSWITCH RETURN Self /*----------------------------------------------------------------------*/ -METHOD IdeBrowseManager:addTable( cFileDBF, cAlias, nRow, nCol ) - LOCAL oBrw +METHOD IdeBrowseManager:loadTables() + LOCAL cInfo, aPanel, oCurPanel, cTable - HB_SYMBOL_UNUSED( nRow ) - HB_SYMBOL_UNUSED( nCol ) + oCurPanel := ::oCurPanel - oBrw := IdeBrowse():new() - oBrw:cTable := cFileDBF - oBrw:cAlias := cAlias - oBrw:create() + FOR EACH cInfo IN ::oINI:aDbuPanelsInfo + aPanel := hb_aTokens( cInfo, "," ) + IF ::isPanel( aPanel[ 1 ] ) + IF hb_fileExists( cTable := hbide_pathToOSPath( aPanel[ 2 ] ) ) + ::showPanel( aPanel[ 1 ] ) + ::addTable( cTable ) + ENDIF + ENDIF + NEXT - ::qVSplitter:addWidget( oBrw:oWnd:oWidget ) - - aadd( ::aItems, oBrw ) + ::qStack:setCurrentWidget( oCurPanel ) RETURN Self /*----------------------------------------------------------------------*/ -METHOD IdeBrowseManager:addArray( aData, aAttr, nRow, nCol ) +METHOD IdeBrowseManager:addTable( cFileDBF, cAlias ) + LOCAL oBrw + + oBrw := IdeBrowse():new() + oBrw:cTable := cFileDBF + oBrw:cAlias := cAlias + oBrw:oManager := Self + + oBrw:create() + + ::oCurPanel:addBrowser( oBrw ) + + aadd( ::oCurPanel:aItems, oBrw ) + + RETURN Self + +/*----------------------------------------------------------------------*/ + +METHOD IdeBrowseManager:addArray( aData, aAttr ) HB_SYMBOL_UNUSED( aData ) HB_SYMBOL_UNUSED( aAttr ) - HB_SYMBOL_UNUSED( nRow ) - HB_SYMBOL_UNUSED( nCol ) + + RETURN Self + +/*----------------------------------------------------------------------*/ +// +// Class IdeBrowsePanel +// +/*----------------------------------------------------------------------*/ + +CLASS IdeBrowsePanel INHERIT IdeObject + + DATA cPanel INIT "" + + DATA qWidget + DATA qLayout + DATA qVSplitter + + DATA aItems INIT {} + + METHOD new( oIde, cPanel ) + METHOD addBrowser( oBrw ) + + ENDCLASS + +/*----------------------------------------------------------------------*/ + +METHOD IdeBrowsePanel:new( oIde, cPanel ) + + ::oIde := oIde + ::cPanel := cPanel + + ::qWidget := QWidget():new() + ::qWidget:setObjectName( ::cPanel ) + + ::qLayout := QHBoxLayout():new() + ::qLayout:setContentsMargins( 0,0,0,0 ) + ::qLayout:setSpacing( 2 ) + + ::qVSplitter := QSplitter():new() + ::qVSplitter:setOrientation( Qt_Vertical ) + + ::qLayout:addWidget( ::qVSplitter ) + + ::qWidget:setLayout( ::qLayout ) + + RETURN Self + +/*----------------------------------------------------------------------*/ + +METHOD IdeBrowsePanel:addBrowser( oBrw ) + + ::qVSplitter:addWidget( oBrw:oWnd:oWidget ) RETURN Self @@ -233,6 +438,7 @@ CLASS IdeBrowse INHERIT IdeObject DATA qFLayout DATA qSplitter DATA aForm INIT {} + DATA oManager DATA nType INIT BRW_TYPE_DBF DATA cAlias INIT "" @@ -246,6 +452,7 @@ CLASS IdeBrowse INHERIT IdeObject DATA nOrder INIT 0 DATA nArea INIT 0 DATA nCursorType INIT XBPBRW_CURSOR_CELL + DATA lOpened INIT .f. METHOD new( oIde ) METHOD create( oIde ) @@ -311,6 +518,7 @@ METHOD IdeBrowse:create( oIde ) IF empty( ::cAlias ) ::cAlias := alias() ENDIF + ::lOpened := .t. ENDIF ::aStruct := DbStruct() @@ -348,27 +556,16 @@ METHOD IdeBrowse:create( oIde ) /*----------------------------------------------------------------------*/ -METHOD IdeBrowse:execEvent( cEvent, p, p1 ) - - HB_SYMBOL_UNUSED( p ) - HB_SYMBOL_UNUSED( p1 ) - - SWITCH cEvent - CASE "browse_navigate" - ::populateForm() - EXIT - - ENDSWITCH - - RETURN Self - -/*----------------------------------------------------------------------*/ - -METHOD IdeBrowse:activated() - -HB_TRACE( HB_TR_ALWAYS, "ACTIVATED" ) - ::oQScintillaDock:oWidget:setWindowTitle( ::cTable ) - +METHOD IdeBrowse:destroy() + IF !empty( ::oWnd ) + ::qLayout:removeWidget( ::qSplitter ) + ::oWnd:destroy() + ::qForm := NIL + IF ::lOpened + ( ::cAlias )->( dbCloseArea() ) + ENDIF + ::oManager:oCurBrw := NIL + ENDIF RETURN Self /*----------------------------------------------------------------------*/ @@ -395,8 +592,6 @@ METHOD IdeBrowse:buildBrowser() ::qSplitter:addWidget( oXbpBrowse:oWidget ) - //qLayout:addWidget( oXbpBrowse:oWidget ) - oXbpBrowse:cursorMode := ::nCursorType oXbpBrowse:skipBlock := {|n| ::skipBlock( n ) } @@ -419,6 +614,8 @@ METHOD IdeBrowse:buildBrowser() ::qSplitter:addWidget( ::qForm ) + ::qForm:hide() /* Form view defaults to hidden */ + ::qLayout := qLayout ::oWnd := oWnd ::oBrw := oXbpBrowse @@ -427,6 +624,33 @@ METHOD IdeBrowse:buildBrowser() /*----------------------------------------------------------------------*/ +METHOD IdeBrowse:execEvent( cEvent, p, p1 ) + + HB_SYMBOL_UNUSED( p ) + HB_SYMBOL_UNUSED( p1 ) + + SWITCH cEvent + CASE "browse_navigate" + ::populateForm() + ::oManager:oCurBrw := Self + ::oManager:aToolBtns[ 3 ]:setChecked( ! ::qForm:isHidden() ) + EXIT + + ENDSWITCH + + RETURN Self + +/*----------------------------------------------------------------------*/ + +METHOD IdeBrowse:activated() + +HB_TRACE( HB_TR_ALWAYS, "ACTIVATED" ) + ::oQScintillaDock:oWidget:setWindowTitle( ::cTable ) + + RETURN Self + +/*----------------------------------------------------------------------*/ + STATIC FUNCTION hbide_xtosForForm( xVrb ) LOCAL cType := valtype( xVrb ) @@ -461,8 +685,7 @@ METHOD IdeBrowse:buildForm() IF ::nType == BRW_TYPE_DBF FOR EACH a_ IN ::aStruct - qLbl := QLabel():new() - qLbl:setText( a_[ 1 ] ) + qLbl := QLabel():new(); qLbl:setText( a_[ 1 ] ) qEdit := QLineEdit():new() ::qFLayout:addRow( qLbl, qEdit ) aadd( ::aForm, { qLbl, qEdit } ) @@ -527,14 +750,6 @@ METHOD IdeBrowse:getPP( aStruct ) /*----------------------------------------------------------------------*/ -METHOD IdeBrowse:destroy() - IF !empty( ::oWnd ) - ::oWnd:destroy() - ENDIF - RETURN Self - -/*----------------------------------------------------------------------*/ - METHOD IdeBrowse:skipBlock( nHowMany ) LOCAL nRecs, nCurPos LOCAL nSkipped := 0 diff --git a/harbour/contrib/hbide/idedocks.prg b/harbour/contrib/hbide/idedocks.prg index 478d6e7805..4ea9bdf3e2 100644 --- a/harbour/contrib/hbide/idedocks.prg +++ b/harbour/contrib/hbide/idedocks.prg @@ -73,27 +73,6 @@ /*----------------------------------------------------------------------*/ -#define docEnvironments_visibilityChanged 301 -#define dockFindInFiles_visibilityChanged 302 -#define dockThemes_visibilityChanged 303 -#define dockProperties_visibilityChanged 304 -#define dockDocViewer_visibilityChanged 305 -#define docFunctions_visibilityChanged 306 -#define dockDocWriter_visibilityChanged 307 -#define docSkeletons_visibilityChanged 308 -#define dockSkltnsTree_visibilityChanged 309 -#define dockHelpDock_visibilityChanged 310 -#define oFuncDock_visibilityChanged 311 -#define dockSourceThumbnail_visibilityChanged 312 -#define dockQScintilla_visibilityChanged 313 - -#define qTimer_timeOut 401 -#define qSystemTrayIcon_show 402 -#define qSystemTrayIcon_close 403 -#define qSystemTrayIcon_activated 404 - -/*----------------------------------------------------------------------*/ - CLASS IdeDocks INHERIT IdeObject DATA nPass INIT 0 @@ -116,7 +95,7 @@ CLASS IdeDocks INHERIT IdeObject METHOD new( oIde ) METHOD create( oIde ) METHOD destroy() - METHOD execEvent( nMode, p ) + METHOD execEvent( cEvent, p ) METHOD setView( cView ) METHOD buildToolBarPanels() METHOD buildHelpWidget() @@ -280,8 +259,8 @@ METHOD IdeDocks:buildDialog() ::setView( "Stats" ) /* Always call with name */ - ::oDlg:connectEvent( ::oDlg:oWidget, QEvent_WindowStateChange, {|e| ::execEvent( QEvent_WindowStateChange, e ) } ) - ::oDlg:connectEvent( ::oDlg:oWidget, QEvent_Hide , {|e| ::execEvent( QEvent_Hide, e ) } ) + ::oDlg:connectEvent( ::oDlg:oWidget, QEvent_WindowStateChange, {|e| ::execEvent( "QEvent_WindowStateChange", e ) } ) + ::oDlg:connectEvent( ::oDlg:oWidget, QEvent_Hide , {|e| ::execEvent( "QEvent_Hide", e ) } ) #if 1 ::buildSystemTray() @@ -296,15 +275,15 @@ METHOD IdeDocks:buildSystemTray() ::oIde:oSys := QSystemTrayIcon():new( ::oDlg:oWidget ) IF ( ::lSystemTrayAvailable := ::oSys:isSystemTrayAvailable() ) .AND. ::lMinimizeInSystemTray ::oSys:setIcon( hbide_image( "hbide" ) ) - ::connect( ::oSys, "activated(QSystemTrayIcon::ActivationReason)", {|p| ::execEvent( qSystemTrayIcon_activated, p ) } ) + ::connect( ::oSys, "activated(QSystemTrayIcon::ActivationReason)", {|p| ::execEvent( "qSystemTrayIcon_activated", p ) } ) ::oIde:oSysMenu := QMenu():new( ::oDlg:oWidget ) ::qAct1 := ::oSysMenu:addAction_1( hbide_image( "fullscreen" ), "&Show" ) ::oSysMenu:addSeparator() ::qAct2 := ::oSysMenu:addAction_1( hbide_image( "exit" ), "&Exit" ) - ::connect( ::qAct1, "triggered(bool)", {|| ::execEvent( qSystemTrayIcon_show ) } ) - ::connect( ::qAct2, "triggered(bool)", {|| ::execEvent( qSystemTrayIcon_close ) } ) + ::connect( ::qAct1, "triggered(bool)", {|| ::execEvent( "qSystemTrayIcon_show" ) } ) + ::connect( ::qAct2, "triggered(bool)", {|| ::execEvent( "qSystemTrayIcon_close" ) } ) ::oSys:setContextMenu( ::oSysMenu ) ::oSys:hide() @@ -316,62 +295,57 @@ METHOD IdeDocks:buildSystemTray() /*----------------------------------------------------------------------*/ -METHOD IdeDocks:execEvent( nMode, p ) +METHOD IdeDocks:execEvent( cEvent, p ) LOCAL qEvent DO CASE - - CASE nMode == 2 /* HelpWidget:contextMenuRequested(qPoint) */ + CASE cEvent == "qHelpBrw_contextMenuRequested" hbide_popupBrwContextMenu( ::qHelpBrw, p ) - CASE nMode == dockQScintilla_visibilityChanged - IF ! p - ::oBM:destroy() - ENDIF + CASE cEvent == "dockQScintilla_visibilityChanged" + IF p ; ::oBM:show() ; ENDIF - CASE nMode == dockSourceThumbnail_visibilityChanged + CASE cEvent == "dockSourceThumbnail_visibilityChanged" IF p; ::oEM:showThumbnail(); ENDIF - /* Left Panel Docks */ - CASE nMode == dockSkltnsTree_visibilityChanged + CASE cEvent == "dockSkltnsTree_visibilityChanged" IF p; ::oSK:showTree(); ENDIF - /* Right Panel Docks */ - CASE nMode == dockHelpDock_visibilityChanged + CASE cEvent == "dockHelpDock_visibilityChanged" IF p; ::oHelpDock:oWidget:raise(); ENDIF - CASE nMode == dockDocViewer_visibilityChanged + CASE cEvent == "dockDocViewer_visibilityChanged" IF p; ::oHL:show(); ::oDocViewDock:oWidget:raise(); ENDIF - CASE nMode == dockDocWriter_visibilityChanged + CASE cEvent == "dockDocWriter_visibilityChanged" IF p; ::oDW:show(); ::oDocWriteDock:oWidget:raise(); ENDIF - CASE nMode == oFuncDock_visibilityChanged + CASE cEvent == "oFuncDock_visibilityChanged" IF p; ::oFuncDock:oWidget:raise(); ENDIF - CASE nMode == docFunctions_visibilityChanged + CASE cEvent == "docFunctions_visibilityChanged" IF p; ::oFN:show(); ::oFunctionsDock:oWidget:raise(); ENDIF - CASE nMode == dockProperties_visibilityChanged + CASE cEvent == "dockProperties_visibilityChanged" IF p; ::oPM:fetchProperties(); ::oPropertiesDock:oWidget:raise(); ENDIF - CASE nMode == docEnvironments_visibilityChanged + CASE cEvent == "docEnvironments_visibilityChanged" IF p; ::oEV:show(); ::oEnvironDock:oWidget:raise(); ENDIF - CASE nMode == docSkeletons_visibilityChanged + CASE cEvent == "docSkeletons_visibilityChanged" IF p; ::oSK:show(); ::oSkeltnDock:oWidget:raise(); ENDIF - CASE nMode == dockThemes_visibilityChanged + CASE cEvent == "dockThemes_visibilityChanged" IF p; ::oTH:show(); ::oThemesDock:oWidget:raise(); ENDIF - CASE nMode == dockFindInFiles_visibilityChanged + CASE cEvent == "dockFindInFiles_visibilityChanged" IF p; ::oFF:show(); ::oFindDock:oWidget:raise(); ENDIF - CASE nMode == QEvent_WindowStateChange + CASE cEvent == "QEvent_WindowStateChange" qEvent := QWindowStateChangeEvent():from( p ) ::nPrevWindowState := qEvent:oldState() - CASE nMode == QEvent_Hide + CASE cEvent == "QEvent_Hide" IF ::lSystemTrayAvailable .AND. ::lMinimizeInSystemTray qEvent := QHideEvent():from( p ) IF ! ::lChanging @@ -381,7 +355,7 @@ METHOD IdeDocks:execEvent( nMode, p ) ::qTimer := QTimer():New() ::qTimer:setSingleShot( .t. ) ::qTimer:setInterval( 250 ) - ::connect( ::qTimer, "timeout()", {|| ::execEvent( qTimer_timeOut ) } ) + ::connect( ::qTimer, "timeout()", {|| ::execEvent( "qTimer_timeOut" ) } ) ENDIF ::qTimer:start() qEvent:ignore() @@ -390,27 +364,23 @@ METHOD IdeDocks:execEvent( nMode, p ) ENDIF ENDIF - CASE nMode == qTimer_timeOut + CASE cEvent == "qTimer_timeOut" ::oDlg:hide() ::oSys:setToolTip( ::oDlg:oWidget:windowTitle() ) ::oSys:show() - CASE nMode == qSystemTrayIcon_close + CASE cEvent == "qSystemTrayIcon_close" PostAppEvent( xbeP_Close, NIL, NIL, ::oDlg ) - CASE nMode == qSystemTrayIcon_show + CASE cEvent == "qSystemTrayIcon_show" ::showDlgBySystemTrayIconCommand() - CASE nMode == qSystemTrayIcon_activated + CASE cEvent == "qSystemTrayIcon_activated" IF p == QSystemTrayIcon_Trigger ::showDlgBySystemTrayIconCommand() - ELSEIF p == QSystemTrayIcon_DoubleClick - ELSEIF p == QSystemTrayIcon_Context - ELSEIF p == QSystemTrayIcon_MiddleClick - ENDIF ENDCASE @@ -666,7 +636,7 @@ METHOD IdeDocks:buildToolBarPanels() aadd( aBtns, { "curlinehilight" , "Toggle Current Line Hilight", {|| ::oEM:toggleCurrentLineHighlightMode() } } ) #endif aadd( aBtns, { "togglelinenumber", "Toggle Line Numbers" , {|| ::oEM:toggleLineNumbers() } } ) - aadd( aBtns, { "horzruler" , "Toggle Horizontal Ruler" , {|| ::oEM:toggleHorzRuler() } } ) + aadd( aBtns, { "horzruler" , "Toggle Horizontal Ruler" , {|| ::oEM:toggleHorzRuler() } } ) aadd( aBtns, { "curlinehilight" , "Toggle Current Line Hilight", {|| ::oEM:toggleCurrentLineHighlightMode() } } ) FOR EACH a_ IN aBtns IF empty( a_ ) @@ -900,7 +870,7 @@ METHOD IdeDocks:buildSkeletonsTree() ::oIde:oSkltnsTreeDock := ::getADockWidget( nAreas, "dockSkltnsTree", "Skeletons", QDockWidget_DockWidgetFloatable ) ::oDlg:oWidget:addDockWidget_1( Qt_LeftDockWidgetArea, ::oSkltnsTreeDock:oWidget, Qt_Vertical ) - ::connect( ::oSkltnsTreeDock:oWidget, "visibilityChanged(bool)", {|p| ::execEvent( dockSkltnsTree_visibilityChanged, p ) } ) + ::connect( ::oSkltnsTreeDock:oWidget, "visibilityChanged(bool)", {|p| ::execEvent( "dockSkltnsTree_visibilityChanged", p ) } ) RETURN Self @@ -912,7 +882,7 @@ METHOD IdeDocks:buildFuncList() ::oIde:oFuncDock := ::getADockWidget( nAreas, "dockFuncList", "Functions List", QDockWidget_DockWidgetFloatable ) ::oDlg:oWidget:addDockWidget_1( Qt_RightDockWidgetArea, ::oFuncDock:oWidget, Qt_Vertical ) - ::connect( ::oFuncDock:oWidget, "visibilityChanged(bool)", {|p| ::execEvent( oFuncDock_visibilityChanged, p ) } ) + ::connect( ::oFuncDock:oWidget, "visibilityChanged(bool)", {|p| ::execEvent( "oFuncDock_visibilityChanged", p ) } ) ::oIde:oFuncList := XbpListBox():new( ::oFuncDock ):create( , , { 0,0 }, { 100,400 }, , .t. ) ::oFuncList:oWidget:setEditTriggers( QAbstractItemView_NoEditTriggers ) @@ -948,9 +918,9 @@ METHOD IdeDocks:buildHelpWidget() ::oHelpDock:oWidget:setWidget( ::oIde:qHelpBrw ) - ::oHelpDock:connect( ::qHelpBrw, "customContextMenuRequested(QPoint)", {|p| ::execEvent( 2, p ) } ) + ::oHelpDock:connect( ::qHelpBrw, "customContextMenuRequested(QPoint)", {|p| ::execEvent( "qHelpBrw_contextMenuRequested", p ) } ) - ::connect( ::oHelpDock:oWidget, "visibilityChanged(bool)", {|p| ::execEvent( dockHelpDock_visibilityChanged, p ) } ) + ::connect( ::oHelpDock:oWidget, "visibilityChanged(bool)", {|p| ::execEvent( "dockHelpDock_visibilityChanged", p ) } ) RETURN Self @@ -1063,7 +1033,7 @@ METHOD IdeDocks:buildThemesDock() ::oIde:oThemesDock := ::getADockWidget( nAreas, "dockThemes", "Theme Manager", QDockWidget_DockWidgetFloatable ) ::oDlg:oWidget:addDockWidget_1( Qt_RightDockWidgetArea, ::oThemesDock:oWidget, Qt_Horizontal ) - ::connect( ::oThemesDock:oWidget, "visibilityChanged(bool)", {|p| ::execEvent( dockThemes_visibilityChanged, p ) } ) + ::connect( ::oThemesDock:oWidget, "visibilityChanged(bool)", {|p| ::execEvent( "dockThemes_visibilityChanged", p ) } ) RETURN Self @@ -1075,7 +1045,7 @@ METHOD IdeDocks:buildPropertiesDock() ::oIde:oPropertiesDock := ::getADockWidget( nAreas, "dockProperties", "Project Properties", QDockWidget_DockWidgetFloatable ) ::oDlg:oWidget:addDockWidget_1( Qt_RightDockWidgetArea, ::oPropertiesDock:oWidget, Qt_Horizontal ) - ::connect( ::oPropertiesDock:oWidget, "visibilityChanged(bool)", {|p| ::execEvent( dockProperties_visibilityChanged, p ) } ) + ::connect( ::oPropertiesDock:oWidget, "visibilityChanged(bool)", {|p| ::execEvent( "dockProperties_visibilityChanged", p ) } ) RETURN Self @@ -1087,7 +1057,7 @@ METHOD IdeDocks:buildFindInFiles() ::oIde:oFindDock := ::getADockWidget( nAreas, "dockFindInFiles", "Find in Files", QDockWidget_DockWidgetFloatable ) ::oDlg:oWidget:addDockWidget_1( Qt_RightDockWidgetArea, ::oFindDock:oWidget, Qt_Horizontal ) - ::connect( ::oFindDock:oWidget, "visibilityChanged(bool)", {|p| ::execEvent( dockFindInFiles_visibilityChanged, p ) } ) + ::connect( ::oFindDock:oWidget, "visibilityChanged(bool)", {|p| ::execEvent( "dockFindInFiles_visibilityChanged", p ) } ) RETURN Self @@ -1099,7 +1069,7 @@ METHOD IdeDocks:buildDocViewer() ::oIde:oDocViewDock := ::getADockWidget( nAreas, "dockDocViewer", "Harbour Documentation", QDockWidget_DockWidgetFloatable ) ::oDlg:oWidget:addDockWidget_1( Qt_RightDockWidgetArea, ::oDocViewDock:oWidget, Qt_Horizontal ) - ::connect( ::oDocViewDock:oWidget, "visibilityChanged(bool)", {|p| ::execEvent( dockDocViewer_visibilityChanged, p ) } ) + ::connect( ::oDocViewDock:oWidget, "visibilityChanged(bool)", {|p| ::execEvent( "dockDocViewer_visibilityChanged", p ) } ) RETURN Self @@ -1111,7 +1081,7 @@ METHOD IdeDocks:buildDocWriter() ::oIde:oDocWriteDock := ::getADockWidget( nAreas, "dockDocWriter", "Documentation Writer", QDockWidget_DockWidgetFloatable ) ::oDlg:oWidget:addDockWidget_1( Qt_RightDockWidgetArea, ::oDocWriteDock:oWidget, Qt_Horizontal ) - ::connect( ::oDocWriteDock:oWidget, "visibilityChanged(bool)", {|p| ::execEvent( dockDocWriter_visibilityChanged, p ) } ) + ::connect( ::oDocWriteDock:oWidget, "visibilityChanged(bool)", {|p| ::execEvent( "dockDocWriter_visibilityChanged", p ) } ) RETURN Self @@ -1123,7 +1093,7 @@ METHOD IdeDocks:buildFunctionsDock() ::oIde:oFunctionsDock := ::getADockWidget( nAreas, "dockFunctions", "Projects Functions Lookup", QDockWidget_DockWidgetFloatable ) ::oDlg:oWidget:addDockWidget_1( Qt_RightDockWidgetArea, ::oFunctionsDock:oWidget, Qt_Horizontal ) - ::connect( ::oFunctionsDock:oWidget, "visibilityChanged(bool)", {|p| ::execEvent( docFunctions_visibilityChanged, p ) } ) + ::connect( ::oFunctionsDock:oWidget, "visibilityChanged(bool)", {|p| ::execEvent( "docFunctions_visibilityChanged", p ) } ) RETURN Self @@ -1135,7 +1105,7 @@ METHOD IdeDocks:buildEnvironDock() ::oIde:oEnvironDock := ::getADockWidget( nAreas, "dockEnvironments", "Compiler Environments", QDockWidget_DockWidgetFloatable ) ::oDlg:oWidget:addDockWidget_1( Qt_RightDockWidgetArea, ::oEnvironDock:oWidget, Qt_Horizontal ) - ::connect( ::oEnvironDock:oWidget, "visibilityChanged(bool)", {|p| ::execEvent( docEnvironments_visibilityChanged, p ) } ) + ::connect( ::oEnvironDock:oWidget, "visibilityChanged(bool)", {|p| ::execEvent( "docEnvironments_visibilityChanged", p ) } ) RETURN Self @@ -1147,7 +1117,7 @@ METHOD IdeDocks:buildSkeletonWidget() ::oIde:oSkeltnDock := ::getADockWidget( nAreas, "dockSkeleton", "Code Skeletons", QDockWidget_DockWidgetFloatable ) ::oDlg:oWidget:addDockWidget_1( Qt_RightDockWidgetArea, ::oSkeltnDock:oWidget, Qt_Horizontal ) - ::connect( ::oSkeltnDock:oWidget, "visibilityChanged(bool)", {|p| ::execEvent( docSkeletons_visibilityChanged, p ) } ) + ::connect( ::oSkeltnDock:oWidget, "visibilityChanged(bool)", {|p| ::execEvent( "docSkeletons_visibilityChanged", p ) } ) RETURN Self @@ -1159,7 +1129,7 @@ METHOD IdeDocks:buildSourceThumbnail() ::oIde:oSourceThumbnailDock := ::getADockWidget( nAreas, "dockSourceThumbnail", "Source Thumbnail", QDockWidget_DockWidgetFloatable ) ::oDlg:oWidget:addDockWidget_1( Qt_RightDockWidgetArea, ::oSourceThumbnailDock:oWidget, Qt_Horizontal ) - ::connect( ::oSourceThumbnailDock:oWidget, "visibilityChanged(bool)", {|p| ::execEvent( dockSourceThumbnail_visibilityChanged, p ) } ) + ::connect( ::oSourceThumbnailDock:oWidget, "visibilityChanged(bool)", {|p| ::execEvent( "dockSourceThumbnail_visibilityChanged", p ) } ) RETURN Self @@ -1168,10 +1138,10 @@ METHOD IdeDocks:buildSourceThumbnail() METHOD IdeDocks:buildQScintilla() LOCAL nAreas := Qt_LeftDockWidgetArea + Qt_RightDockWidgetArea + Qt_TopDockWidgetArea + Qt_BottomDockWidgetArea - ::oIde:oQScintillaDock := ::getADockWidget( nAreas, "dockQScintilla", "Browser Widget", QDockWidget_DockWidgetFloatable ) + ::oIde:oQScintillaDock := ::getADockWidget( nAreas, "dockQScintilla", "ideDBU", QDockWidget_DockWidgetFloatable ) ::oDlg:oWidget:addDockWidget_1( Qt_RightDockWidgetArea, ::oQScintillaDock:oWidget, Qt_Horizontal ) - ::connect( ::oQScintillaDock:oWidget, "visibilityChanged(bool)", {|p| ::execEvent( dockQScintilla_visibilityChanged, p ) } ) + ::connect( ::oQScintillaDock:oWidget, "visibilityChanged(bool)", {|p| ::execEvent( "dockQScintilla_visibilityChanged", p ) } ) RETURN Self @@ -1275,7 +1245,6 @@ METHOD IdeDocks:animateComponents( nMode ) ::oMainToolbar:setStyleSheet( GetStyleSheet( "QToolBar", nMode ) ) ::oSBar:oWidget:setStyleSheet( GetStyleSheet( "QStatusBar", nMode ) ) - cStyle := GetStyleSheet( "QDockWidget", nMode ) ::oDockPT:oWidget :setStyleSheet( cStyle ) @@ -1292,6 +1261,8 @@ METHOD IdeDocks:animateComponents( nMode ) ::oThemesDock:oWidget :setStyleSheet( cStyle ) ::oFindDock:oWidget :setStyleSheet( cStyle ) ::oDockB2:oWidget :setStyleSheet( cStyle ) + ::oQScintillaDock:oWidget:setStyleSheet( cStyle ) + ::oSourceThumbnailDock:oWidget:setStyleSheet( cStyle ) #if 1 // should be iteration diff --git a/harbour/contrib/hbide/idesaveload.prg b/harbour/contrib/hbide/idesaveload.prg index 818d2ffe3c..1648547ebc 100644 --- a/harbour/contrib/hbide/idesaveload.prg +++ b/harbour/contrib/hbide/idesaveload.prg @@ -70,7 +70,7 @@ #include "hbqt.ch" /*----------------------------------------------------------------------*/ - +#if 0 #define INI_HBIDE 1 #define INI_PROJECTS 2 #define INI_FILES 3 @@ -85,6 +85,7 @@ #define INI_TOOLS 12 #define INI_USERTOOLBARS 13 #define INI_KEYWORDS 14 +#endif #define INI_SECTIONS_COUNT 14 #define INI_HBIDE_VRBLS 30 @@ -139,6 +140,8 @@ CLASS IdeINI INHERIT IdeObject DATA aTools INIT {} DATA aUserToolbars INIT {} DATA aKeywords INIT {} + DATA aDbuPanelNames INIT {} + DATA aDbuPanelsInfo INIT {} DATA cFontName INIT "Courier New" DATA nPointSize INIT 10 @@ -182,7 +185,7 @@ METHOD IdeINI:create( oIde ) /*----------------------------------------------------------------------*/ METHOD IdeINI:save( cHbideIni ) - LOCAL j, nTab, pTab, n, txt_, oEdit, nTabs, nn, a_ + LOCAL j, nTab, pTab, n, txt_, oEdit, nTabs, nn, a_, s DEFAULT cHbideIni TO ::oIde:cProjIni @@ -357,6 +360,20 @@ METHOD IdeINI:save( cHbideIni ) NEXT aadd( txt_, " " ) + aadd( txt_, "[DBUPANELS]" ) + aadd( txt_, " " ) + FOR EACH s IN ::oBM:getPanelNames() + aadd( txt_, "dbupanel_" + hb_ntos( s:__enumIndex() ) + "=" + s ) + NEXT + aadd( txt_, " " ) + + aadd( txt_, "[DBUPANELSINFO]" ) + aadd( txt_, " " ) + FOR EACH s IN ::oBM:getPanelsInfo() + aadd( txt_, "dbupanelinfo_" + hb_ntos( s:__enumIndex() ) + "=" + s ) + NEXT + aadd( txt_, " " ) + aadd( txt_, "[General]" ) aadd( txt_, " " ) @@ -381,56 +398,62 @@ METHOD IdeINI:load( cHbideIni ) SWITCH Upper( s ) CASE "[GENERAL]" - nPart := INI_GENERAL + nPart := "INI_GENERAL" EXIT CASE "[HBIDE]" - nPart := INI_HBIDE + nPart := "INI_HBIDE" EXIT CASE "[PROJECTS]" - nPart := INI_PROJECTS + nPart := "INI_PROJECTS" EXIT CASE "[FILES]" - nPart := INI_FILES + nPart := "INI_FILES" EXIT CASE "[FIND]" - nPart := INI_FIND + nPart := "INI_FIND" EXIT CASE "[REPLACE]" - nPart := INI_REPLACE + nPart := "INI_REPLACE" EXIT CASE "[RECENTFILES]" - nPart := INI_RECENTFILES + nPart := "INI_RECENTFILES" EXIT CASE "[RECENTPROJECTS]" - nPart := INI_RECENTPROJECTS + nPart := "INI_RECENTPROJECTS" EXIT CASE "[FOLDERS]" - nPart := INI_FOLDERS + nPart := "INI_FOLDERS" EXIT CASE "[VIEWS]" - nPart := INI_VIEWS + nPart := "INI_VIEWS" EXIT CASE "[TAGGEDPROJECTS]" - nPart := INI_TAGGEDPROJECTS + nPart := "INI_TAGGEDPROJECTS" EXIT CASE "[TOOLS]" - nPart := INI_TOOLS + nPart := "INI_TOOLS" EXIT CASE "[USERTOOLBARS]" - nPart := INI_USERTOOLBARS + nPart := "INI_USERTOOLBARS" EXIT CASE "[KEYWORDS]" - nPart := INI_KEYWORDS + nPart := "INI_KEYWORDS" + EXIT + CASE "[DBUPANELS]" + nPart := "INI_DBUPANELS" + EXIT + CASE "[DBUPANELSINFO]" + nPart := "INI_DBUPANELSINFO" EXIT OTHERWISE DO CASE CASE Left( s, 1 ) $ '#[' * Nothing todo! - CASE nPart == INI_GENERAL + CASE nPart == "INI_GENERAL" * Qt Setttings, do nothing. - CASE nPart == INI_HBIDE + CASE nPart == "INI_HBIDE" IF hbide_parseKeyValPair( s, @cKey, @cVal ) SWITCH cKey @@ -487,12 +510,12 @@ METHOD IdeINI:load( cHbideIni ) ENDSWITCH ENDIF - CASE nPart == INI_PROJECTS + CASE nPart == "INI_PROJECTS" IF hbide_parseKeyValPair( s, @cKey, @cVal ) aadd( ::aProjFiles, cVal ) ENDIF - CASE nPart == INI_FILES + CASE nPart == "INI_FILES" IF hbide_parseKeyValPair( s, @cKey, @cVal ) a_:= hbide_parseSourceComponents( cVal ) IF !Empty( a_[ 1 ] ) @@ -500,17 +523,17 @@ METHOD IdeINI:load( cHbideIni ) ENDIF ENDIF - CASE nPart == INI_FIND + CASE nPart == "INI_FIND" IF hbide_parseKeyValPair( s, @cKey, @cVal ) aadd( ::aFind, cVal ) ENDIF - CASE nPart == INI_REPLACE + CASE nPart == "INI_REPLACE" IF hbide_parseKeyValPair( s, @cKey, @cVal ) aadd( ::aReplace, cVal ) ENDIF - CASE nPart == INI_RECENTPROJECTS + CASE nPart == "INI_RECENTPROJECTS" IF hbide_parseKeyValPair( s, @cKey, @cVal ) IF Len( ::aRecentProjects ) < 25 cVal := hbide_pathNormalized( cVal, .f. ) @@ -520,7 +543,7 @@ METHOD IdeINI:load( cHbideIni ) ENDIF ENDIF - CASE nPart == INI_RECENTFILES + CASE nPart == "INI_RECENTFILES" IF hbide_parseKeyValPair( s, @cKey, @cVal ) IF Len( ::aRecentFiles ) < 25 cVal := hbide_pathNormalized( cVal, .f. ) @@ -530,36 +553,46 @@ METHOD IdeINI:load( cHbideIni ) ENDIF ENDIF - CASE nPart == INI_FOLDERS + CASE nPart == "INI_FOLDERS" IF hbide_parseKeyValPair( s, @cKey, @cVal ) aadd( ::aFolders, cVal ) ENDIF - CASE nPart == INI_VIEWS + CASE nPart == "INI_VIEWS" IF hbide_parseKeyValPair( s, @cKey, @cVal ) aadd( ::aViews, cVal ) ENDIF - CASE nPart == INI_TAGGEDPROJECTS + CASE nPart == "INI_TAGGEDPROJECTS" IF hbide_parseKeyValPair( s, @cKey, @cVal ) aadd(::aTaggedProjects, cVal ) ENDIF - CASE nPart == INI_TOOLS + CASE nPart == "INI_TOOLS" IF hbide_parseKeyValPair( s, @cKey, @cVal ) aadd( ::aTools, hbide_parseToolComponents( cVal ) ) ENDIF - CASE nPart == INI_USERTOOLBARS + CASE nPart == "INI_USERTOOLBARS" IF hbide_parseKeyValPair( s, @cKey, @cVal ) aadd( ::aUserToolbars, hbide_parseUserToolbarComponents( cVal ) ) ENDIF - CASE nPart == INI_KEYWORDS + CASE nPart == "INI_KEYWORDS" IF hbide_parseKeyValPair( s, @cKey, @cVal ) aadd( ::aKeywords, hbide_parseKeywordsComponents( cVal ) ) ENDIF + CASE nPart == "INI_DBUPANELS" + IF hbide_parseKeyValPair( s, @cKey, @cVal ) + aadd( ::aDbuPanelNames, cVal ) + ENDIF + + CASE nPart == "INI_DBUPANELSINFO" + IF hbide_parseKeyValPair( s, @cKey, @cVal ) + aadd( ::aDbuPanelsInfo, cVal ) + ENDIF + ENDCASE EXIT ENDSWITCH diff --git a/harbour/contrib/hbqt/hbqt_hbqplaintextedit.cpp b/harbour/contrib/hbqt/hbqt_hbqplaintextedit.cpp index c0b4af3354..526b7a466e 100644 --- a/harbour/contrib/hbqt/hbqt_hbqplaintextedit.cpp +++ b/harbour/contrib/hbqt/hbqt_hbqplaintextedit.cpp @@ -1385,10 +1385,10 @@ void HBQPlainTextEdit::paintEvent( QPaintEvent * event ) bottom = top + height; ++blockNumber; } - this->hbPaintSelection( event ); this->hbPaintHighlight( event ); + this->hbPaintSelection( event ); -// this->hbDrawCursor( event ); +// this->hbDrawCursor( event ); QPlainTextEdit::paintEvent( event );