pressing shift and one of editgo keys for win32 version
This commit is contained in:
parent
9815a5db1a
commit
7c5e65cfcd
@ -10,6 +10,8 @@ ______________________________________________________________________
|
||||
Notes for GoldED+ 1.1.5, /snapshot/
|
||||
______________________________________________________________________
|
||||
|
||||
+ Win32 version: pressing SHIFT+EditGo* keys will work as EditBlock* keys
|
||||
|
||||
! Added Microsoft Developer Studio 6.0 Workspace and GoldEd Project files
|
||||
(use golded.dsw to open workspace)
|
||||
|
||||
|
@ -33,6 +33,8 @@
|
||||
#include <golded.h>
|
||||
#include <geedit.h>
|
||||
|
||||
gkey kbxget_raw(int mode);
|
||||
|
||||
|
||||
// ------------------------------------------------------------------
|
||||
// Globals
|
||||
@ -1205,7 +1207,7 @@ void IEclass::GoWordRight() {
|
||||
if((col >= currline->txt.length()) or (currline->txt[col] == '\n')) {
|
||||
if(currline->next) {
|
||||
GoDown();
|
||||
col = 0;
|
||||
col = mincol;
|
||||
}
|
||||
}
|
||||
else {
|
||||
@ -1232,11 +1234,11 @@ void IEclass::GoWordRight() {
|
||||
else
|
||||
col--;
|
||||
}
|
||||
|
||||
if(blockcol != -1)
|
||||
displine(currline, row);
|
||||
}
|
||||
|
||||
if (blockcol != -1)
|
||||
displine(currline, row);
|
||||
|
||||
GFTRK(NULL);
|
||||
}
|
||||
|
||||
@ -2349,6 +2351,9 @@ int IEclass::handlekey(gkey __key) {
|
||||
case KK_EditBlockPgDn: __key = KK_EditGoPgDn; break;
|
||||
case KK_EditBlockPgUp: __key = KK_EditGoPgUp; break;
|
||||
|
||||
case KK_EditBlockWordRight: __key = KK_EditGoWordRight; break;
|
||||
case KK_EditBlockWordLeft: __key = KK_EditGoWordLeft; break;
|
||||
|
||||
case KK_EditCopy:
|
||||
case KK_EditCut:
|
||||
case KK_EditDelete: goto noselecting;
|
||||
@ -2588,9 +2593,14 @@ int IEclass::Start(int __mode, uint* __position, GMsg* __msg) {
|
||||
vcurlarge();
|
||||
|
||||
gkey _ch;
|
||||
gkey keystatus = 0;
|
||||
|
||||
do {
|
||||
_ch = getxchtick();
|
||||
// TO_PORT_TAG: kbxget_raw(3)
|
||||
#if defined(__WIN32__)
|
||||
keystatus = kbxget_raw(3);
|
||||
#endif
|
||||
|
||||
if(EDIT->AutoSave()) {
|
||||
time_t _thistime = time(NULL);
|
||||
@ -2611,6 +2621,32 @@ int IEclass::Start(int __mode, uint* __position, GMsg* __msg) {
|
||||
gkey _kk = SearchKey(_ch, EditKey, EditKeys);
|
||||
if(_kk) {
|
||||
_ch = _kk;
|
||||
|
||||
// TO_PORT_TAG: kbxget_raw(3)
|
||||
#if defined(__WIN32__)
|
||||
if (keystatus & SHIFT_PRESSED)
|
||||
#else
|
||||
if (0)
|
||||
#endif
|
||||
{
|
||||
switch(_ch)
|
||||
{
|
||||
case KK_EditGoUp: _ch = KK_EditBlockUp; break;
|
||||
case KK_EditGoDown: _ch = KK_EditBlockDown; break;
|
||||
case KK_EditGoLeft: _ch = KK_EditBlockLeft; break;
|
||||
case KK_EditGoWordLeft: _ch = KK_EditBlockWordLeft; break;
|
||||
case KK_EditGoRight: _ch = KK_EditBlockRight; break;
|
||||
case KK_EditGoWordRight: _ch = KK_EditBlockWordRight; break;
|
||||
case KK_EditGoBegLine:
|
||||
case KK_EditGoTopMsg: _ch = KK_EditBlockHome; break;
|
||||
case KK_EditGoEOL:
|
||||
case KK_EditGoBotMsg: _ch = KK_EditBlockEnd; break;
|
||||
case KK_EditGoPgUp:
|
||||
case KK_EditGoTopLine: _ch = KK_EditBlockPgUp; break;
|
||||
case KK_EditGoPgDn:
|
||||
case KK_EditGoBotLine: _ch = KK_EditBlockPgDn; break;
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
ismacro = IsMacro(_ch, KT_E);
|
||||
|
@ -174,6 +174,8 @@ const gkey KK_EditBlockPgUp = 0xFF02;
|
||||
const gkey KK_EditDelete = 0xFF03;
|
||||
const gkey KK_EditUndo = 0xFF04;
|
||||
const gkey KK_EditDeleteSOL = 0xFF05;
|
||||
const gkey KK_EditBlockWordLeft = 0xFF06;
|
||||
const gkey KK_EditBlockWordRight = 0xFF07;
|
||||
const gkey KK_EditSCodeNormal = 0xFF08;
|
||||
const gkey KK_EditSCodeBold = 0xFF09;
|
||||
const gkey KK_EditSCodeItalic = 0xFF0A;
|
||||
|
@ -1046,6 +1046,7 @@ gkey kbxget_raw(int mode) {
|
||||
// =2 - return Shifts key status
|
||||
gkey k;
|
||||
|
||||
// TO_PORT_TAG: kbxget_raw(3)
|
||||
#if defined(__USE_NCURSES__)
|
||||
|
||||
int key;
|
||||
@ -1242,8 +1243,12 @@ gkey kbxget_raw(int mode) {
|
||||
|
||||
INPUT_RECORD inp;
|
||||
DWORD nread;
|
||||
static gkey KeyCtrlState = 0;
|
||||
|
||||
if(mode == 2) {
|
||||
if (mode == 3) {
|
||||
return KeyCtrlState;
|
||||
}
|
||||
else if(mode == 2) {
|
||||
return 0;
|
||||
}
|
||||
else if(mode & 0x01) {
|
||||
@ -1559,6 +1564,10 @@ gkey kbxget_raw(int mode) {
|
||||
}
|
||||
#endif
|
||||
|
||||
// TO_PORT_TAG: kbxget_raw(3)
|
||||
#if defined(__WIN32__)
|
||||
KeyCtrlState = (gkey)inp.Event.KeyEvent.dwControlKeyState;
|
||||
#endif
|
||||
return k;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user