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:
@@ -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
|
||||
|
||||
@@ -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. )
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -1752,6 +1752,7 @@ METHOD IdeEditor:updateComponents()
|
||||
qCoEdit:toggleCurrentLineHighlightMode()
|
||||
qCoEdit:dispStatusInfo()
|
||||
::oUpDn:show()
|
||||
::oDK:showSelectedTextToolbar()
|
||||
::changeThumbnail()
|
||||
|
||||
RETURN Self
|
||||
|
||||
Reference in New Issue
Block a user