2010-15-18 15:12 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)

* contrib/hbide/ideedit.prg
  * contrib/hbqt/hbqt_hbqplaintextedit.cpp
    ! Fixed: more selections and cursor behavior.
This commit is contained in:
Pritpal Bedi
2010-05-18 22:15:12 +00:00
parent 7f6a0de6de
commit 64bad2c4b7
3 changed files with 46 additions and 15 deletions

View File

@@ -17,6 +17,11 @@
past entries belonging to author(s): Viktor Szakats.
*/
2010-15-18 15:12 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
* contrib/hbide/ideedit.prg
* contrib/hbqt/hbqt_hbqplaintextedit.cpp
! Fixed: more selections and cursor behavior.
2010-15-18 14:30 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
* contrib/hbide/hbide.prg
* contrib/hbide/ideedit.prg

View File

@@ -760,14 +760,6 @@ STATIC FUNCTION hbide_qCursorDownInsert( qCursor )
/*----------------------------------------------------------------------*/
METHOD IdeEdit:clearSelection()
::qEdit:hbSetSelectionInfo( { -1,-1,-1,-1,1 } )
RETURN Self
/*----------------------------------------------------------------------*/
METHOD IdeEdit:copyBlockContents( aCord )
LOCAL nT, nL, nB, nR, nW, i, cLine, nMode, qClip
LOCAL cClip := ""
@@ -1312,6 +1304,13 @@ METHOD IdeEdit:toggleLineSelectionMode()
/*----------------------------------------------------------------------*/
METHOD IdeEdit:clearSelection()
//::qEdit:hbSetSelectionInfo( { -1,-1,-1,-1,1 } )
::qEdit:hbSetSelectionMode( 0, .t. )
RETURN Self
/*----------------------------------------------------------------------*/
METHOD IdeEdit:toggleCurrentLineHighlightMode()
::qEdit:hbHighlightCurrentLine( ::lCurrentLineHighlightEnabled )
RETURN Self

View File

@@ -389,6 +389,17 @@ void HBQPlainTextEdit::hbSetSelectionMode( int mode, bool byApplication )
{
if( byApplication )
{
if( mode == 0 )
{
isSelectionByApplication = false;
isStreamSelectionON = false;
isColumnSelectionON = false;
isLineSelectionON = false;
hbClearSelection();
repaint();
return;
}
isSelectionByApplication = ! isSelectionByApplication;
if( ! isSelectionByApplication )
@@ -396,6 +407,18 @@ void HBQPlainTextEdit::hbSetSelectionMode( int mode, bool byApplication )
isStreamSelectionON = false;
isColumnSelectionON = false;
isLineSelectionON = false;
if( mode == selectionMode_column )
{
QTextCursor c( textCursor() );
c.movePosition( QTextCursor::EndOfLine );
if( c.columnNumber() > columnEnds )
{
c.movePosition( QTextCursor::StartOfLine );
c.movePosition( QTextCursor::Right, QTextCursor::MoveAnchor, columnEnds );
}
setTextCursor( c );
}
setCursorWidth( 1 );
}
else
@@ -405,14 +428,17 @@ void HBQPlainTextEdit::hbSetSelectionMode( int mode, bool byApplication )
case selectionMode_stream:
{
setCursorWidth( 1 );
if( columnBegins >= 0 )
{
hbToStream();
}
selectionMode = selectionMode_stream;
isStreamSelectionON = true;
isColumnSelectionON = false;
isLineSelectionON = false;
QTextCursor c( textCursor() );
rowBegins = c.blockNumber();
rowEnds = rowBegins;
columnBegins = c.columnNumber();
columnEnds = columnBegins;
break;
}
case selectionMode_column:
@@ -460,19 +486,20 @@ void HBQPlainTextEdit::hbSetSelectionMode( int mode, bool byApplication )
{
case selectionMode_stream:
{
setCursorWidth( 1 );
if( columnBegins >= 0 )
{
hbToStream();
}
selectionMode = selectionMode_stream;
selectionMode = selectionMode_stream;
isColumnSelectionON = false;
isLineSelectionON = false;
setCursorWidth( 1 );
break;
}
case selectionMode_column:
{
selectionMode = selectionMode_column;
setCursorWidth( 0 );
selectionMode = selectionMode_column;
isColumnSelectionON = true;
isLineSelectionON = false;
break;