2012-08-24 22:31 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)

* contrib/hbide/docks.prg
  * contrib/hbide/edit.prg
  * contrib/hbide/editor.prg
    ! Refined: selected-text's in-line toolbar; its positioning and 
       the actions which bring it up and hide. Now toolbar has title-bar
       and X button, and is positioned in the center of the 
       editing-instance horizintally. Vertical it follows the cursor
       position but one line down.
This commit is contained in:
Pritpal Bedi
2012-08-25 05:37:20 +00:00
parent d0b8fc0e68
commit ab5180dcf1
4 changed files with 48 additions and 20 deletions

View File

@@ -16,6 +16,16 @@
The license applies to all entries newer than 2009-04-28.
*/
2012-08-24 22:31 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
* contrib/hbide/docks.prg
* contrib/hbide/edit.prg
* contrib/hbide/editor.prg
! Refined: selected-text's in-line toolbar; its positioning and
the actions which bring it up and hide. Now toolbar has title-bar
and X button, and is positioned in the center of the
editing-instance horizintally. Vertical it follows the cursor
position but one line down.
2012-08-24 10:13 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
* contrib/hbide/docks.prg
* contrib/hbide/edit.prg

View File

@@ -207,6 +207,7 @@ CLASS IdeDocks INHERIT IdeObject
METHOD buildCuiEdWidget()
METHOD buildUISrcDock()
METHOD buildSelectedTextToolbar()
METHOD showSelectedTextToolbar( oEdit )
ENDCLASS
@@ -855,6 +856,7 @@ METHOD IdeDocks:execEvent( nEvent, p, p1 )
oEdit:qCoEdit:toggleCurrentLineHighlightMode()
oEdit:qCoEdit:dispStatusInfo()
::oUpDn:show()
::oDK:showSelectedTextToolbar()
oEdit:changeThumbnail()
ENDIF
@@ -919,6 +921,7 @@ METHOD IdeDocks:execEvent( nEvent, p, p1 )
oEdit:qCoEdit:toggleCurrentLineHighlightMode()
oEdit:qCoEdit:dispStatusInfo()
::oUpDn:show()
::oDK:showSelectedTextToolbar()
oEdit:changeThumbnail()
ENDIF
ENDIF
@@ -2048,6 +2051,29 @@ METHOD IdeDocks:buildUISrcDock()
/*----------------------------------------------------------------------*/
METHOD IdeDocks:showSelectedTextToolbar( oEdit )
LOCAL qRect
DEFAULT oEdit TO ::oEM:getEditObjectCurrent()
IF ! empty( oEdit )
IF oEdit:aSelectionInfo[ 1 ] > -1
::qSelToolbar:adjustSize()
qRect := oEdit:qEdit:cursorRect()
::qSelToolbar:move( oEdit:qEdit:viewport():mapToGlobal( QPoint( ( oEdit:qEdit:viewport():width() / 2 ) - ;
( ::qSelToolbar:width() / 2 ), qRect:y() + ( qRect:height() * 2 ) ) ) )
//::oDK:qSelToolbar:setOrientation( Qt_Vertical )
::qSelToolbar:show()
::qSelToolbar:raise()
ELSE
::qSelToolbar:hide()
ENDIF
ENDIF
RETURN Self
/*----------------------------------------------------------------------*/
METHOD IdeDocks:buildSelectedTextToolbar()
LOCAL qTBar
@@ -2056,33 +2082,30 @@ METHOD IdeDocks:buildSelectedTextToolbar()
//::qSelToolbar:size := QSize( val( ::oINI:cToolbarSize ), val( ::oINI:cToolbarSize ) )
::qSelToolbar:create( "SelectedText_Toolbar" )
::qSelToolbar:setObjectName( "ToolbarSelectedText" )
::qSelToolbar:setWindowTitle( "Toolbar: Selected Text" )
::qSelToolbar:setWindowFlags( hb_bitOr( Qt_Tool, Qt_FramelessWindowHint ) )
::qSelToolbar:setWindowTitle( "Actions on Selected Text" )
::qSelToolbar:setWindowFlags( hb_bitOr( Qt_Tool, Qt_CustomizeWindowHint, Qt_WindowTitleHint, Qt_WindowCloseButtonHint ) )
::qSelToolbar:setMovable( .T. )
::qSelToolbar:setFloatable( .T. )
::oDlg:oWidget:addToolBar( Qt_TopToolBarArea, ::qSelToolbar:oWidget )
::qSelToolbar:hide()
::qSelToolbar:setStyleSheet( "" )
::qSelToolbar:setStyleSheet( "background-color: yellow;" )
qTBar := ::qSelToolbar
qTBar:addToolButton( "Undo" , "Undo" , hbide_image( "undo" ), {|| ::oEM:undo() }, .f. )
qTBar:addToolButton( "Redo" , "Redo" , hbide_image( "redo" ), {|| ::oEM:redo() }, .f. )
qTBar:addSeparator()
//qTBar:addSeparator()
qTBar:addToolButton( "Cut" , "Cut" , hbide_image( "cut" ), {|| ::oEM:cut() }, .f. )
qTBar:addToolButton( "Copy" , "Copy" , hbide_image( "copy" ), {|| ::oEM:copy() }, .f. )
qTBar:addSeparator()
//qTBar:addSeparator()
qTBar:addToolButton( "ToUpper" , "To Upper" , hbide_image( "toupper" ), {|| ::oEM:convertSelection( "ToUpper" ) }, .f. )
qTBar:addToolButton( "ToLower" , "To Lower" , hbide_image( "tolower" ), {|| ::oEM:convertSelection( "ToLower" ) }, .f. )
qTBar:addToolButton( "InvertCase", "Invert Case" , hbide_image( "invertcase" ), {|| ::oEM:convertSelection( "Invert" ) }, .f. )
qTBar:addSeparator()
//qTBar:addSeparator()
qTBar:addToolButton( "BlockCmnt" , "Block Comment" , hbide_image( "blockcomment" ), {|| ::oEM:blockComment() }, .f. )
qTBar:addToolButton( "StreamCmnt", "Stream Comment" , hbide_image( "streamcomment" ), {|| ::oEM:streamComment() }, .f. )
qTBar:addSeparator()
//qTBar:addSeparator()
qTBar:addToolButton( "IndentR" , "Indent Right" , hbide_image( "blockindentr" ), {|| ::oEM:indent( 1 ) }, .f. )
qTBar:addToolButton( "IndentL" , "Indent Left" , hbide_image( "blockindentl" ), {|| ::oEM:indent( -1 ) }, .f. )
qTBar:addSeparator()
//qTBar:addSeparator()
qTBar:addToolButton( "Sgl2Dbl" , "Single to Double Quotes" , hbide_image( "sgl2dblquote" ), {|| ::oEM:convertDQuotes() }, .f. )
qTBar:addToolButton( "Dbl2Sgl" , "Double to Single Quotes" , hbide_image( "dbl2sglquote" ), {|| ::oEM:convertQuotes() }, .f. )

View File

@@ -411,7 +411,7 @@ METHOD IdeEdit:connectEditSignals()
/*----------------------------------------------------------------------*/
METHOD IdeEdit:execEvent( nMode, p, p1 )
LOCAL qAct, n, qCursor, cAct, lOtherEdit, qRect
LOCAL qAct, n, qCursor, cAct, lOtherEdit
HB_SYMBOL_UNUSED( p1 )
@@ -453,15 +453,7 @@ METHOD IdeEdit:execEvent( nMode, p, p1 )
::oDK:setStatusText( SB_PNL_SELECTEDCHARS, 0 )
ENDIF
IF ::aSelectionInfo[ 1 ] > -1
qRect := ::qEdit:cursorRect()
::oDK:qSelToolbar:move( ::qEdit:viewport():mapToGlobal( QPoint( qRect:x() - 100, qRect:y() + qRect:height() ) ) )
::oDK:qSelToolbar:adjustSize()
::oDK:qSelToolbar:show()
ELSE
::oDK:qSelToolbar:hide()
ENDIF
::oDK:showSelectedTextToolbar( Self )
::unHighlight()
::oUpDn:show( Self )
EXIT
@@ -648,10 +640,12 @@ METHOD IdeEdit:execKeyEvent( nMode, nEvent, p, p1, p2 )
CASE QEvent_FocusIn
IF key == QEvent_FocusIn
::oUpDn:show()
::oDK:showSelectedTextToolbar()
ENDIF
EXIT
CASE QEvent_Resize
::oUpDn:show()
::oDK:showSelectedTextToolbar()
EXIT
CASE QEvent_Leave
CASE QEvent_FocusOut

View File

@@ -1752,6 +1752,7 @@ METHOD IdeEditor:updateComponents()
qCoEdit:toggleCurrentLineHighlightMode()
qCoEdit:dispStatusInfo()
::oUpDn:show()
::oDK:showSelectedTextToolbar()
::changeThumbnail()
RETURN Self