Revert "BTextView: Update word-wise/line-wise shortcuts"
This reverts commit 74ef92bc55.
Change-Id: I441d9cce87670e17141051fded594ae8aa6fc1fd
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9299
Reviewed-by: waddlesplash <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
This commit is contained in:
@@ -470,23 +470,19 @@ private:
|
|||||||
LayoutData* fLayoutData;
|
LayoutData* fLayoutData;
|
||||||
int32 fLastClickOffset;
|
int32 fLastClickOffset;
|
||||||
|
|
||||||
|
bool fInstalledNavigateCommandWordwiseShortcuts : 1;
|
||||||
bool fInstalledNavigateOptionWordwiseShortcuts : 1;
|
bool fInstalledNavigateOptionWordwiseShortcuts : 1;
|
||||||
bool fInstalledSelectOptionWordwiseShortcuts : 1;
|
bool fInstalledNavigateOptionLinewiseShortcuts : 1;
|
||||||
bool fInstalledRemoveCommandLinewiseShortcuts : 1;
|
|
||||||
bool fInstalledRemoveOptionWordwiseShortcuts : 1;
|
|
||||||
|
|
||||||
bool fInstalledNavigateCommandHorizontalLinewiseShortcuts : 1;
|
|
||||||
bool fInstalledNavigateCommandVerticalLinewiseShortcuts : 1;
|
|
||||||
bool fInstalledNavigateControlHorizontalLinewiseShortcuts : 1;
|
|
||||||
bool fInstalledNavigateControlVerticalLinewiseShortcuts : 1;
|
|
||||||
bool fInstalledSelectCommandHorizontalLinewiseShortcuts : 1;
|
|
||||||
bool fInstalledSelectCommandVerticalLinewiseShortcuts : 1;
|
|
||||||
bool fInstalledSelectControlHorizontalLinewiseShortcuts : 1;
|
|
||||||
bool fInstalledSelectControlVerticalLinewiseShortcuts : 1;
|
|
||||||
|
|
||||||
bool fInstalledNavigateHomeEndDocwiseShortcuts : 1;
|
bool fInstalledNavigateHomeEndDocwiseShortcuts : 1;
|
||||||
|
|
||||||
|
bool fInstalledSelectCommandWordwiseShortcuts : 1;
|
||||||
|
bool fInstalledSelectOptionWordwiseShortcuts : 1;
|
||||||
|
bool fInstalledSelectOptionLinewiseShortcuts : 1;
|
||||||
bool fInstalledSelectHomeEndDocwiseShortcuts : 1;
|
bool fInstalledSelectHomeEndDocwiseShortcuts : 1;
|
||||||
|
|
||||||
|
bool fInstalledRemoveCommandWordwiseShortcuts : 1;
|
||||||
|
bool fInstalledRemoveOptionWordwiseShortcuts : 1;
|
||||||
|
|
||||||
uint32 _reserved[6];
|
uint32 _reserved[6];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
+143
-258
@@ -3230,23 +3230,19 @@ BTextView::_InitObject(BRect textRect, const BFont* initialFont,
|
|||||||
fLines = new LineBuffer;
|
fLines = new LineBuffer;
|
||||||
fStyles = new StyleBuffer(&font, initialColor);
|
fStyles = new StyleBuffer(&font, initialColor);
|
||||||
|
|
||||||
|
fInstalledNavigateCommandWordwiseShortcuts = false;
|
||||||
fInstalledNavigateOptionWordwiseShortcuts = false;
|
fInstalledNavigateOptionWordwiseShortcuts = false;
|
||||||
fInstalledSelectOptionWordwiseShortcuts = false;
|
fInstalledNavigateOptionLinewiseShortcuts = false;
|
||||||
fInstalledRemoveCommandLinewiseShortcuts = false;
|
|
||||||
fInstalledRemoveOptionWordwiseShortcuts = false;
|
|
||||||
|
|
||||||
fInstalledNavigateCommandHorizontalLinewiseShortcuts = false;
|
|
||||||
fInstalledNavigateCommandVerticalLinewiseShortcuts = false;
|
|
||||||
fInstalledNavigateControlHorizontalLinewiseShortcuts = false;
|
|
||||||
fInstalledNavigateControlVerticalLinewiseShortcuts = false;
|
|
||||||
fInstalledSelectCommandHorizontalLinewiseShortcuts = false;
|
|
||||||
fInstalledSelectCommandVerticalLinewiseShortcuts = false;
|
|
||||||
fInstalledSelectControlHorizontalLinewiseShortcuts = false;
|
|
||||||
fInstalledSelectControlVerticalLinewiseShortcuts = false;
|
|
||||||
|
|
||||||
fInstalledNavigateHomeEndDocwiseShortcuts = false;
|
fInstalledNavigateHomeEndDocwiseShortcuts = false;
|
||||||
|
|
||||||
|
fInstalledSelectCommandWordwiseShortcuts = false;
|
||||||
|
fInstalledSelectOptionWordwiseShortcuts = false;
|
||||||
|
fInstalledSelectOptionLinewiseShortcuts = false;
|
||||||
fInstalledSelectHomeEndDocwiseShortcuts = false;
|
fInstalledSelectHomeEndDocwiseShortcuts = false;
|
||||||
|
|
||||||
|
fInstalledRemoveCommandWordwiseShortcuts = false;
|
||||||
|
fInstalledRemoveOptionWordwiseShortcuts = false;
|
||||||
|
|
||||||
// We put these here instead of in the constructor initializer list
|
// We put these here instead of in the constructor initializer list
|
||||||
// to have less code duplication, and a single place where to do changes
|
// to have less code duplication, and a single place where to do changes
|
||||||
// if needed.
|
// if needed.
|
||||||
@@ -3312,14 +3308,9 @@ BTextView::_HandleBackspace(int32 modifiers)
|
|||||||
bool optionKeyDown = (modifiers & B_OPTION_KEY) != 0;
|
bool optionKeyDown = (modifiers & B_OPTION_KEY) != 0;
|
||||||
bool commandKeyDown = (modifiers & B_COMMAND_KEY) != 0;
|
bool commandKeyDown = (modifiers & B_COMMAND_KEY) != 0;
|
||||||
|
|
||||||
if (optionKeyDown) {
|
if ((commandKeyDown || optionKeyDown) && !controlKeyDown) {
|
||||||
// delete previous word with option held down
|
|
||||||
fSelStart = _PreviousWordStart(fCaretOffset - 1);
|
fSelStart = _PreviousWordStart(fCaretOffset - 1);
|
||||||
fSelEnd = fCaretOffset;
|
fSelEnd = fCaretOffset;
|
||||||
} else if (commandKeyDown && !controlKeyDown) {
|
|
||||||
// delete to beginning of line with command held down
|
|
||||||
fSelStart = _PreviousLineStart(fCaretOffset);
|
|
||||||
fSelEnd = fCaretOffset;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (fUndo) {
|
if (fUndo) {
|
||||||
@@ -3385,10 +3376,8 @@ BTextView::_HandleArrowKey(uint32 arrowKey, int32 modifiers)
|
|||||||
else if (fSelStart != fSelEnd && !shiftKeyDown)
|
else if (fSelStart != fSelEnd && !shiftKeyDown)
|
||||||
fCaretOffset = fSelStart;
|
fCaretOffset = fSelStart;
|
||||||
else {
|
else {
|
||||||
if (optionKeyDown)
|
if ((commandKeyDown || optionKeyDown) && !controlKeyDown)
|
||||||
fCaretOffset = _PreviousWordStart(fCaretOffset - 1);
|
fCaretOffset = _PreviousWordStart(fCaretOffset - 1);
|
||||||
else if (commandKeyDown || controlKeyDown)
|
|
||||||
fCaretOffset = _PreviousLineStart(fCaretOffset);
|
|
||||||
else
|
else
|
||||||
fCaretOffset = _PreviousInitialByte(fCaretOffset);
|
fCaretOffset = _PreviousInitialByte(fCaretOffset);
|
||||||
|
|
||||||
@@ -3414,10 +3403,8 @@ BTextView::_HandleArrowKey(uint32 arrowKey, int32 modifiers)
|
|||||||
else if (fSelStart != fSelEnd && !shiftKeyDown)
|
else if (fSelStart != fSelEnd && !shiftKeyDown)
|
||||||
fCaretOffset = fSelEnd;
|
fCaretOffset = fSelEnd;
|
||||||
else {
|
else {
|
||||||
if (optionKeyDown)
|
if ((commandKeyDown || optionKeyDown) && !controlKeyDown)
|
||||||
fCaretOffset = _NextWordEnd(fCaretOffset);
|
fCaretOffset = _NextWordEnd(fCaretOffset);
|
||||||
else if (commandKeyDown || controlKeyDown)
|
|
||||||
fCaretOffset = _NextLineEnd(fCaretOffset);
|
|
||||||
else
|
else
|
||||||
fCaretOffset = _NextInitialByte(fCaretOffset);
|
fCaretOffset = _NextInitialByte(fCaretOffset);
|
||||||
|
|
||||||
@@ -3444,9 +3431,9 @@ BTextView::_HandleArrowKey(uint32 arrowKey, int32 modifiers)
|
|||||||
else if (fSelStart != fSelEnd && !shiftKeyDown)
|
else if (fSelStart != fSelEnd && !shiftKeyDown)
|
||||||
fCaretOffset = fSelStart;
|
fCaretOffset = fSelStart;
|
||||||
else {
|
else {
|
||||||
if (optionKeyDown) {
|
if (optionKeyDown && !commandKeyDown && !controlKeyDown)
|
||||||
fCaretOffset = _PreviousLineStart(fCaretOffset);
|
fCaretOffset = _PreviousLineStart(fCaretOffset);
|
||||||
} else if (commandKeyDown || controlKeyDown) {
|
else if (commandKeyDown && !optionKeyDown && !controlKeyDown) {
|
||||||
_ScrollTo(0, 0);
|
_ScrollTo(0, 0);
|
||||||
fCaretOffset = 0;
|
fCaretOffset = 0;
|
||||||
} else {
|
} else {
|
||||||
@@ -3488,9 +3475,9 @@ BTextView::_HandleArrowKey(uint32 arrowKey, int32 modifiers)
|
|||||||
else if (fSelStart != fSelEnd && !shiftKeyDown)
|
else if (fSelStart != fSelEnd && !shiftKeyDown)
|
||||||
fCaretOffset = fSelEnd;
|
fCaretOffset = fSelEnd;
|
||||||
else {
|
else {
|
||||||
if (optionKeyDown) {
|
if (optionKeyDown && !commandKeyDown && !controlKeyDown)
|
||||||
fCaretOffset = _NextLineEnd(fCaretOffset);
|
fCaretOffset = _NextLineEnd(fCaretOffset);
|
||||||
} else if (commandKeyDown || controlKeyDown) {
|
else if (commandKeyDown && !optionKeyDown && !controlKeyDown) {
|
||||||
_ScrollTo(0, fTextRect.bottom + fLayoutData->bottomInset);
|
_ScrollTo(0, fTextRect.bottom + fLayoutData->bottomInset);
|
||||||
fCaretOffset = fText->Length();
|
fCaretOffset = fText->Length();
|
||||||
} else {
|
} else {
|
||||||
@@ -3551,14 +3538,9 @@ BTextView::_HandleDelete(int32 modifiers)
|
|||||||
bool optionKeyDown = (modifiers & B_OPTION_KEY) != 0;
|
bool optionKeyDown = (modifiers & B_OPTION_KEY) != 0;
|
||||||
bool commandKeyDown = (modifiers & B_COMMAND_KEY) != 0;
|
bool commandKeyDown = (modifiers & B_COMMAND_KEY) != 0;
|
||||||
|
|
||||||
if (optionKeyDown) {
|
if ((commandKeyDown || optionKeyDown) && !controlKeyDown) {
|
||||||
// delete next word with option held down
|
|
||||||
fSelStart = fCaretOffset;
|
fSelStart = fCaretOffset;
|
||||||
fSelEnd = _NextWordEnd(fCaretOffset) + 1;
|
fSelEnd = _NextWordEnd(fCaretOffset) + 1;
|
||||||
} else if (commandKeyDown && !controlKeyDown) {
|
|
||||||
// delete to end of line with command held down
|
|
||||||
fSelStart = fCaretOffset;
|
|
||||||
fSelEnd = _NextLineEnd(fCaretOffset);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (fUndo) {
|
if (fUndo) {
|
||||||
@@ -5238,81 +5220,9 @@ BTextView::_Activate()
|
|||||||
if (Bounds().Contains(where))
|
if (Bounds().Contains(where))
|
||||||
_TrackMouse(where, NULL);
|
_TrackMouse(where, NULL);
|
||||||
|
|
||||||
// bail out if not connected to app server
|
if (Window() != NULL) {
|
||||||
if (Window() == NULL)
|
|
||||||
return;
|
|
||||||
|
|
||||||
// Define alternate shorcuts for Windows/Linux mode, these shortcuts
|
|
||||||
// may be already be taken by application shortcuts.
|
|
||||||
|
|
||||||
BMessage* message;
|
BMessage* message;
|
||||||
|
|
||||||
// set Option+Left/Right for word-wise navigation
|
|
||||||
if (!Window()->HasShortcut(B_LEFT_ARROW, B_NO_COMMAND_KEY | B_OPTION_KEY)
|
|
||||||
&& !Window()->HasShortcut(B_RIGHT_ARROW, B_NO_COMMAND_KEY | B_OPTION_KEY)) {
|
|
||||||
message = new BMessage(kMsgNavigateArrow);
|
|
||||||
message->AddInt32("key", B_LEFT_ARROW);
|
|
||||||
message->AddInt32("modifiers", B_OPTION_KEY);
|
|
||||||
Window()->AddShortcut(B_LEFT_ARROW, B_NO_COMMAND_KEY | B_OPTION_KEY, message, this);
|
|
||||||
|
|
||||||
message = new BMessage(kMsgNavigateArrow);
|
|
||||||
message->AddInt32("key", B_RIGHT_ARROW);
|
|
||||||
message->AddInt32("modifiers", B_OPTION_KEY);
|
|
||||||
Window()->AddShortcut(B_RIGHT_ARROW, B_OPTION_KEY, message, this);
|
|
||||||
|
|
||||||
fInstalledNavigateOptionWordwiseShortcuts = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
// set Shift+Option+Left/Right for word-wise selection
|
|
||||||
if (!Window()->HasShortcut(B_LEFT_ARROW, B_NO_COMMAND_KEY | B_OPTION_KEY | B_SHIFT_KEY)
|
|
||||||
&& !Window()->HasShortcut(B_RIGHT_ARROW, B_NO_COMMAND_KEY | B_OPTION_KEY | B_SHIFT_KEY)) {
|
|
||||||
message = new BMessage(kMsgNavigateArrow);
|
|
||||||
message->AddInt32("key", B_LEFT_ARROW);
|
|
||||||
message->AddInt32("modifiers", B_OPTION_KEY | B_SHIFT_KEY);
|
|
||||||
Window()->AddShortcut(B_LEFT_ARROW, B_NO_COMMAND_KEY | B_OPTION_KEY | B_SHIFT_KEY, message,
|
|
||||||
this);
|
|
||||||
|
|
||||||
message = new BMessage(kMsgNavigateArrow);
|
|
||||||
message->AddInt32("key", B_RIGHT_ARROW);
|
|
||||||
message->AddInt32("modifiers", B_OPTION_KEY | B_SHIFT_KEY);
|
|
||||||
Window()->AddShortcut(B_RIGHT_ARROW, B_NO_COMMAND_KEY | B_OPTION_KEY | B_SHIFT_KEY, message,
|
|
||||||
this);
|
|
||||||
|
|
||||||
fInstalledSelectOptionWordwiseShortcuts = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
// set Command+Delete for line-wise deletion
|
|
||||||
if (!Window()->HasShortcut(B_DELETE, B_COMMAND_KEY)
|
|
||||||
&& !Window()->HasShortcut(B_BACKSPACE, B_COMMAND_KEY)) {
|
|
||||||
message = new BMessage(kMsgRemoveWord);
|
|
||||||
message->AddInt32("key", B_DELETE);
|
|
||||||
message->AddInt32("modifiers", B_COMMAND_KEY);
|
|
||||||
Window()->AddShortcut(B_DELETE, B_COMMAND_KEY, message, this);
|
|
||||||
|
|
||||||
message = new BMessage(kMsgRemoveWord);
|
|
||||||
message->AddInt32("key", B_BACKSPACE);
|
|
||||||
message->AddInt32("modifiers", B_COMMAND_KEY);
|
|
||||||
Window()->AddShortcut(B_BACKSPACE, B_COMMAND_KEY, message, this);
|
|
||||||
|
|
||||||
fInstalledRemoveCommandLinewiseShortcuts = true;
|
|
||||||
}
|
|
||||||
// set Option+Delete for word-wise deletion
|
|
||||||
if (!Window()->HasShortcut(B_DELETE, B_NO_COMMAND_KEY | B_OPTION_KEY)
|
|
||||||
&& !Window()->HasShortcut(B_BACKSPACE, B_NO_COMMAND_KEY | B_OPTION_KEY)) {
|
|
||||||
message = new BMessage(kMsgRemoveWord);
|
|
||||||
message->AddInt32("key", B_DELETE);
|
|
||||||
message->AddInt32("modifiers", B_OPTION_KEY);
|
|
||||||
Window()->AddShortcut(B_DELETE, B_NO_COMMAND_KEY | B_OPTION_KEY, message, this);
|
|
||||||
|
|
||||||
message = new BMessage(kMsgRemoveWord);
|
|
||||||
message->AddInt32("key", B_BACKSPACE);
|
|
||||||
message->AddInt32("modifiers", B_OPTION_KEY);
|
|
||||||
Window()->AddShortcut(B_BACKSPACE, B_NO_COMMAND_KEY | B_OPTION_KEY, message, this);
|
|
||||||
|
|
||||||
fInstalledRemoveOptionWordwiseShortcuts = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
// set Command+Left/Right to navigate to the beginning and end of a line
|
|
||||||
if (!Window()->HasShortcut(B_LEFT_ARROW, B_COMMAND_KEY)
|
if (!Window()->HasShortcut(B_LEFT_ARROW, B_COMMAND_KEY)
|
||||||
&& !Window()->HasShortcut(B_RIGHT_ARROW, B_COMMAND_KEY)) {
|
&& !Window()->HasShortcut(B_RIGHT_ARROW, B_COMMAND_KEY)) {
|
||||||
message = new BMessage(kMsgNavigateArrow);
|
message = new BMessage(kMsgNavigateArrow);
|
||||||
@@ -5325,121 +5235,118 @@ BTextView::_Activate()
|
|||||||
message->AddInt32("modifiers", B_COMMAND_KEY);
|
message->AddInt32("modifiers", B_COMMAND_KEY);
|
||||||
Window()->AddShortcut(B_RIGHT_ARROW, B_COMMAND_KEY, message, this);
|
Window()->AddShortcut(B_RIGHT_ARROW, B_COMMAND_KEY, message, this);
|
||||||
|
|
||||||
fInstalledNavigateCommandHorizontalLinewiseShortcuts = true;
|
fInstalledNavigateCommandWordwiseShortcuts = true;
|
||||||
}
|
}
|
||||||
// set Control+Left/Right alternate for Win/Linux mode
|
|
||||||
if (!Window()->HasShortcut(B_LEFT_ARROW, B_NO_COMMAND_KEY | B_CONTROL_KEY)
|
|
||||||
&& !Window()->HasShortcut(B_RIGHT_ARROW, B_NO_COMMAND_KEY | B_CONTROL_KEY)) {
|
|
||||||
message = new BMessage(kMsgNavigateArrow);
|
|
||||||
message->AddInt32("key", B_LEFT_ARROW);
|
|
||||||
message->AddInt32("modifiers", B_CONTROL_KEY);
|
|
||||||
Window()->AddShortcut(B_LEFT_ARROW, B_NO_COMMAND_KEY | B_CONTROL_KEY, message, this);
|
|
||||||
|
|
||||||
message = new BMessage(kMsgNavigateArrow);
|
|
||||||
message->AddInt32("key", B_RIGHT_ARROW);
|
|
||||||
message->AddInt32("modifiers", B_CONTROL_KEY);
|
|
||||||
Window()->AddShortcut(B_RIGHT_ARROW, B_NO_COMMAND_KEY | B_CONTROL_KEY, message, this);
|
|
||||||
|
|
||||||
fInstalledNavigateControlHorizontalLinewiseShortcuts = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
// set Command+Up/Down to navigate to the beginning and end of a line
|
|
||||||
if (!Window()->HasShortcut(B_UP_ARROW, B_COMMAND_KEY)
|
|
||||||
&& !Window()->HasShortcut(B_DOWN_ARROW, B_COMMAND_KEY)) {
|
|
||||||
message = new BMessage(kMsgNavigateArrow);
|
|
||||||
message->AddInt32("key", B_UP_ARROW);
|
|
||||||
message->AddInt32("modifiers", B_COMMAND_KEY);
|
|
||||||
Window()->AddShortcut(B_UP_ARROW, B_COMMAND_KEY, message, this);
|
|
||||||
|
|
||||||
message = new BMessage(kMsgNavigateArrow);
|
|
||||||
message->AddInt32("key", B_DOWN_ARROW);
|
|
||||||
message->AddInt32("modifiers", B_COMMAND_KEY);
|
|
||||||
Window()->AddShortcut(B_DOWN_ARROW, B_COMMAND_KEY, message, this);
|
|
||||||
|
|
||||||
fInstalledNavigateCommandVerticalLinewiseShortcuts = true;
|
|
||||||
}
|
|
||||||
// set Control+Up/Down alternative to Win/Linux mode
|
|
||||||
if (!Window()->HasShortcut(B_UP_ARROW, B_NO_COMMAND_KEY | B_CONTROL_KEY)
|
|
||||||
&& !Window()->HasShortcut(B_DOWN_ARROW, B_NO_COMMAND_KEY | B_CONTROL_KEY)) {
|
|
||||||
message = new BMessage(kMsgNavigateArrow);
|
|
||||||
message->AddInt32("key", B_UP_ARROW);
|
|
||||||
message->AddInt32("modifiers", B_CONTROL_KEY);
|
|
||||||
Window()->AddShortcut(B_UP_ARROW, B_NO_COMMAND_KEY | B_CONTROL_KEY, message, this);
|
|
||||||
|
|
||||||
message = new BMessage(kMsgNavigateArrow);
|
|
||||||
message->AddInt32("key", B_DOWN_ARROW);
|
|
||||||
message->AddInt32("modifiers", B_CONTROL_KEY);
|
|
||||||
Window()->AddShortcut(B_DOWN_ARROW, B_NO_COMMAND_KEY | B_CONTROL_KEY, message, this);
|
|
||||||
|
|
||||||
fInstalledNavigateControlVerticalLinewiseShortcuts = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
// set Shift+Command+Left/Right to select to the beginning/end of line
|
|
||||||
if (!Window()->HasShortcut(B_LEFT_ARROW, B_COMMAND_KEY | B_SHIFT_KEY)
|
if (!Window()->HasShortcut(B_LEFT_ARROW, B_COMMAND_KEY | B_SHIFT_KEY)
|
||||||
&& !Window()->HasShortcut(B_RIGHT_ARROW, B_COMMAND_KEY | B_SHIFT_KEY)) {
|
&& !Window()->HasShortcut(B_RIGHT_ARROW,
|
||||||
|
B_COMMAND_KEY | B_SHIFT_KEY)) {
|
||||||
message = new BMessage(kMsgNavigateArrow);
|
message = new BMessage(kMsgNavigateArrow);
|
||||||
message->AddInt32("key", B_LEFT_ARROW);
|
message->AddInt32("key", B_LEFT_ARROW);
|
||||||
message->AddInt32("modifiers", B_COMMAND_KEY | B_SHIFT_KEY);
|
message->AddInt32("modifiers", B_COMMAND_KEY | B_SHIFT_KEY);
|
||||||
Window()->AddShortcut(B_LEFT_ARROW, B_COMMAND_KEY | B_SHIFT_KEY, message, this);
|
Window()->AddShortcut(B_LEFT_ARROW, B_COMMAND_KEY | B_SHIFT_KEY,
|
||||||
|
|
||||||
message = new BMessage(kMsgNavigateArrow);
|
|
||||||
message->AddInt32("key", B_RIGHT_ARROW);
|
|
||||||
message->AddInt32("modifiers", B_COMMAND_KEY | B_SHIFT_KEY);
|
|
||||||
Window()->AddShortcut(B_RIGHT_ARROW, B_COMMAND_KEY | B_SHIFT_KEY, message, this);
|
|
||||||
|
|
||||||
fInstalledSelectCommandHorizontalLinewiseShortcuts = true;
|
|
||||||
}
|
|
||||||
// set Shift+Control+Left/Right alternate for Win/Linux mode
|
|
||||||
if (!Window()->HasShortcut(B_LEFT_ARROW, B_NO_COMMAND_KEY | B_CONTROL_KEY | B_SHIFT_KEY)
|
|
||||||
&& !Window()->HasShortcut(B_RIGHT_ARROW, B_NO_COMMAND_KEY | B_CONTROL_KEY | B_SHIFT_KEY)) {
|
|
||||||
message = new BMessage(kMsgNavigateArrow);
|
|
||||||
message->AddInt32("key", B_LEFT_ARROW);
|
|
||||||
message->AddInt32("modifiers", B_NO_COMMAND_KEY | B_CONTROL_KEY | B_SHIFT_KEY);
|
|
||||||
Window()->AddShortcut(B_LEFT_ARROW, B_NO_COMMAND_KEY | B_CONTROL_KEY | B_SHIFT_KEY, message,
|
|
||||||
this);
|
|
||||||
|
|
||||||
message = new BMessage(kMsgNavigateArrow);
|
|
||||||
message->AddInt32("key", B_RIGHT_ARROW);
|
|
||||||
message->AddInt32("modifiers", B_NO_COMMAND_KEY | B_CONTROL_KEY | B_SHIFT_KEY);
|
|
||||||
Window()->AddShortcut(B_RIGHT_ARROW, B_NO_COMMAND_KEY | B_CONTROL_KEY | B_SHIFT_KEY,
|
|
||||||
message, this);
|
message, this);
|
||||||
|
|
||||||
fInstalledSelectControlHorizontalLinewiseShortcuts = true;
|
message = new BMessage(kMsgNavigateArrow);
|
||||||
|
message->AddInt32("key", B_RIGHT_ARROW);
|
||||||
|
message->AddInt32("modifiers", B_COMMAND_KEY | B_SHIFT_KEY);
|
||||||
|
Window()->AddShortcut(B_RIGHT_ARROW, B_COMMAND_KEY | B_SHIFT_KEY,
|
||||||
|
message, this);
|
||||||
|
|
||||||
|
fInstalledSelectCommandWordwiseShortcuts = true;
|
||||||
|
}
|
||||||
|
if (!Window()->HasShortcut(B_DELETE, B_COMMAND_KEY)
|
||||||
|
&& !Window()->HasShortcut(B_BACKSPACE, B_COMMAND_KEY)) {
|
||||||
|
message = new BMessage(kMsgRemoveWord);
|
||||||
|
message->AddInt32("key", B_DELETE);
|
||||||
|
message->AddInt32("modifiers", B_COMMAND_KEY);
|
||||||
|
Window()->AddShortcut(B_DELETE, B_COMMAND_KEY, message, this);
|
||||||
|
|
||||||
|
message = new BMessage(kMsgRemoveWord);
|
||||||
|
message->AddInt32("key", B_BACKSPACE);
|
||||||
|
message->AddInt32("modifiers", B_COMMAND_KEY);
|
||||||
|
Window()->AddShortcut(B_BACKSPACE, B_COMMAND_KEY, message, this);
|
||||||
|
|
||||||
|
fInstalledRemoveCommandWordwiseShortcuts = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
// set Shift+Command+Up/Down to select to the beginning/end of line
|
if (!Window()->HasShortcut(B_LEFT_ARROW, B_OPTION_KEY)
|
||||||
if (!Window()->HasShortcut(B_UP_ARROW, B_COMMAND_KEY | B_SHIFT_KEY)
|
&& !Window()->HasShortcut(B_RIGHT_ARROW, B_OPTION_KEY)) {
|
||||||
&& !Window()->HasShortcut(B_DOWN_ARROW, B_COMMAND_KEY | B_SHIFT_KEY)) {
|
message = new BMessage(kMsgNavigateArrow);
|
||||||
|
message->AddInt32("key", B_LEFT_ARROW);
|
||||||
|
message->AddInt32("modifiers", B_OPTION_KEY);
|
||||||
|
Window()->AddShortcut(B_LEFT_ARROW, B_OPTION_KEY, message, this);
|
||||||
|
|
||||||
|
message = new BMessage(kMsgNavigateArrow);
|
||||||
|
message->AddInt32("key", B_RIGHT_ARROW);
|
||||||
|
message->AddInt32("modifiers", B_OPTION_KEY);
|
||||||
|
Window()->AddShortcut(B_RIGHT_ARROW, B_OPTION_KEY, message, this);
|
||||||
|
|
||||||
|
fInstalledNavigateOptionWordwiseShortcuts = true;
|
||||||
|
}
|
||||||
|
if (!Window()->HasShortcut(B_LEFT_ARROW, B_OPTION_KEY | B_SHIFT_KEY)
|
||||||
|
&& !Window()->HasShortcut(B_RIGHT_ARROW,
|
||||||
|
B_OPTION_KEY | B_SHIFT_KEY)) {
|
||||||
|
message = new BMessage(kMsgNavigateArrow);
|
||||||
|
message->AddInt32("key", B_LEFT_ARROW);
|
||||||
|
message->AddInt32("modifiers", B_OPTION_KEY | B_SHIFT_KEY);
|
||||||
|
Window()->AddShortcut(B_LEFT_ARROW, B_OPTION_KEY | B_SHIFT_KEY,
|
||||||
|
message, this);
|
||||||
|
|
||||||
|
message = new BMessage(kMsgNavigateArrow);
|
||||||
|
message->AddInt32("key", B_RIGHT_ARROW);
|
||||||
|
message->AddInt32("modifiers", B_OPTION_KEY | B_SHIFT_KEY);
|
||||||
|
Window()->AddShortcut(B_RIGHT_ARROW, B_OPTION_KEY | B_SHIFT_KEY,
|
||||||
|
message, this);
|
||||||
|
|
||||||
|
fInstalledSelectOptionWordwiseShortcuts = true;
|
||||||
|
}
|
||||||
|
if (!Window()->HasShortcut(B_DELETE, B_OPTION_KEY)
|
||||||
|
&& !Window()->HasShortcut(B_BACKSPACE, B_OPTION_KEY)) {
|
||||||
|
message = new BMessage(kMsgRemoveWord);
|
||||||
|
message->AddInt32("key", B_DELETE);
|
||||||
|
message->AddInt32("modifiers", B_OPTION_KEY);
|
||||||
|
Window()->AddShortcut(B_DELETE, B_OPTION_KEY, message, this);
|
||||||
|
|
||||||
|
message = new BMessage(kMsgRemoveWord);
|
||||||
|
message->AddInt32("key", B_BACKSPACE);
|
||||||
|
message->AddInt32("modifiers", B_OPTION_KEY);
|
||||||
|
Window()->AddShortcut(B_BACKSPACE, B_OPTION_KEY, message, this);
|
||||||
|
|
||||||
|
fInstalledRemoveOptionWordwiseShortcuts = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!Window()->HasShortcut(B_UP_ARROW, B_OPTION_KEY)
|
||||||
|
&& !Window()->HasShortcut(B_DOWN_ARROW, B_OPTION_KEY)) {
|
||||||
message = new BMessage(kMsgNavigateArrow);
|
message = new BMessage(kMsgNavigateArrow);
|
||||||
message->AddInt32("key", B_UP_ARROW);
|
message->AddInt32("key", B_UP_ARROW);
|
||||||
message->AddInt32("modifiers", B_COMMAND_KEY | B_SHIFT_KEY);
|
message->AddInt32("modifiers", B_OPTION_KEY);
|
||||||
Window()->AddShortcut(B_UP_ARROW, B_COMMAND_KEY | B_SHIFT_KEY, message, this);
|
Window()->AddShortcut(B_UP_ARROW, B_OPTION_KEY, message, this);
|
||||||
|
|
||||||
message = new BMessage(kMsgNavigateArrow);
|
message = new BMessage(kMsgNavigateArrow);
|
||||||
message->AddInt32("key", B_DOWN_ARROW);
|
message->AddInt32("key", B_DOWN_ARROW);
|
||||||
message->AddInt32("modifiers", B_COMMAND_KEY | B_SHIFT_KEY);
|
message->AddInt32("modifiers", B_OPTION_KEY);
|
||||||
Window()->AddShortcut(B_DOWN_ARROW, B_COMMAND_KEY | B_SHIFT_KEY, message, this);
|
Window()->AddShortcut(B_DOWN_ARROW, B_OPTION_KEY, message, this);
|
||||||
|
|
||||||
fInstalledSelectCommandVerticalLinewiseShortcuts = true;
|
fInstalledNavigateOptionLinewiseShortcuts = true;
|
||||||
}
|
}
|
||||||
// set Shift+Control+Up/Down alternate for Win/Linux mode
|
if (!Window()->HasShortcut(B_UP_ARROW, B_OPTION_KEY | B_SHIFT_KEY)
|
||||||
if (!Window()->HasShortcut(B_UP_ARROW, B_NO_COMMAND_KEY | B_CONTROL_KEY | B_SHIFT_KEY)
|
&& !Window()->HasShortcut(B_DOWN_ARROW,
|
||||||
&& !Window()->HasShortcut(B_DOWN_ARROW, B_NO_COMMAND_KEY | B_CONTROL_KEY | B_SHIFT_KEY)) {
|
B_OPTION_KEY | B_SHIFT_KEY)) {
|
||||||
message = new BMessage(kMsgNavigateArrow);
|
message = new BMessage(kMsgNavigateArrow);
|
||||||
message->AddInt32("key", B_UP_ARROW);
|
message->AddInt32("key", B_UP_ARROW);
|
||||||
message->AddInt32("modifiers", B_NO_COMMAND_KEY | B_CONTROL_KEY | B_SHIFT_KEY);
|
message->AddInt32("modifiers", B_OPTION_KEY | B_SHIFT_KEY);
|
||||||
Window()->AddShortcut(B_UP_ARROW, B_NO_COMMAND_KEY | B_CONTROL_KEY | B_SHIFT_KEY, message,
|
Window()->AddShortcut(B_UP_ARROW, B_OPTION_KEY | B_SHIFT_KEY,
|
||||||
this);
|
message, this);
|
||||||
|
|
||||||
message = new BMessage(kMsgNavigateArrow);
|
message = new BMessage(kMsgNavigateArrow);
|
||||||
message->AddInt32("key", B_DOWN_ARROW);
|
message->AddInt32("key", B_DOWN_ARROW);
|
||||||
message->AddInt32("modifiers", B_CONTROL_KEY | B_SHIFT_KEY);
|
message->AddInt32("modifiers", B_OPTION_KEY | B_SHIFT_KEY);
|
||||||
Window()->AddShortcut(B_DOWN_ARROW, B_CONTROL_KEY | B_SHIFT_KEY, message, this);
|
Window()->AddShortcut(B_DOWN_ARROW, B_OPTION_KEY | B_SHIFT_KEY,
|
||||||
|
message, this);
|
||||||
|
|
||||||
fInstalledSelectControlVerticalLinewiseShortcuts = true;
|
fInstalledSelectOptionLinewiseShortcuts = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
// set Command+Home/End for doc-wise navigation
|
|
||||||
if (!Window()->HasShortcut(B_HOME, B_COMMAND_KEY)
|
if (!Window()->HasShortcut(B_HOME, B_COMMAND_KEY)
|
||||||
&& !Window()->HasShortcut(B_END, B_COMMAND_KEY)) {
|
&& !Window()->HasShortcut(B_END, B_COMMAND_KEY)) {
|
||||||
message = new BMessage(kMsgNavigatePage);
|
message = new BMessage(kMsgNavigatePage);
|
||||||
@@ -5454,22 +5361,23 @@ BTextView::_Activate()
|
|||||||
|
|
||||||
fInstalledNavigateHomeEndDocwiseShortcuts = true;
|
fInstalledNavigateHomeEndDocwiseShortcuts = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
// set Shift+Commmand Home/End for doc-wise selection
|
|
||||||
if (!Window()->HasShortcut(B_HOME, B_COMMAND_KEY | B_SHIFT_KEY)
|
if (!Window()->HasShortcut(B_HOME, B_COMMAND_KEY | B_SHIFT_KEY)
|
||||||
&& !Window()->HasShortcut(B_END, B_COMMAND_KEY | B_SHIFT_KEY)) {
|
&& !Window()->HasShortcut(B_END, B_COMMAND_KEY | B_SHIFT_KEY)) {
|
||||||
message = new BMessage(kMsgNavigatePage);
|
message = new BMessage(kMsgNavigatePage);
|
||||||
message->AddInt32("key", B_HOME);
|
message->AddInt32("key", B_HOME);
|
||||||
message->AddInt32("modifiers", B_COMMAND_KEY | B_SHIFT_KEY);
|
message->AddInt32("modifiers", B_COMMAND_KEY | B_SHIFT_KEY);
|
||||||
Window()->AddShortcut(B_HOME, B_COMMAND_KEY | B_SHIFT_KEY, message, this);
|
Window()->AddShortcut(B_HOME, B_COMMAND_KEY | B_SHIFT_KEY,
|
||||||
|
message, this);
|
||||||
|
|
||||||
message = new BMessage(kMsgNavigatePage);
|
message = new BMessage(kMsgNavigatePage);
|
||||||
message->AddInt32("key", B_END);
|
message->AddInt32("key", B_END);
|
||||||
message->AddInt32("modifiers", B_COMMAND_KEY | B_SHIFT_KEY);
|
message->AddInt32("modifiers", B_COMMAND_KEY | B_SHIFT_KEY);
|
||||||
Window()->AddShortcut(B_END, B_COMMAND_KEY | B_SHIFT_KEY, message, this);
|
Window()->AddShortcut(B_END, B_COMMAND_KEY | B_SHIFT_KEY,
|
||||||
|
message, this);
|
||||||
|
|
||||||
fInstalledSelectHomeEndDocwiseShortcuts = true;
|
fInstalledSelectHomeEndDocwiseShortcuts = true;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -5488,75 +5396,51 @@ BTextView::_Deactivate()
|
|||||||
} else
|
} else
|
||||||
_HideCaret();
|
_HideCaret();
|
||||||
|
|
||||||
// bail out if not connected to app server
|
if (Window() != NULL) {
|
||||||
if (Window() == NULL)
|
if (fInstalledNavigateCommandWordwiseShortcuts) {
|
||||||
return;
|
Window()->RemoveShortcut(B_LEFT_ARROW, B_COMMAND_KEY);
|
||||||
|
Window()->RemoveShortcut(B_RIGHT_ARROW, B_COMMAND_KEY);
|
||||||
|
fInstalledNavigateCommandWordwiseShortcuts = false;
|
||||||
|
}
|
||||||
|
if (fInstalledSelectCommandWordwiseShortcuts) {
|
||||||
|
Window()->RemoveShortcut(B_LEFT_ARROW, B_COMMAND_KEY | B_SHIFT_KEY);
|
||||||
|
Window()->RemoveShortcut(B_RIGHT_ARROW,
|
||||||
|
B_COMMAND_KEY | B_SHIFT_KEY);
|
||||||
|
fInstalledSelectCommandWordwiseShortcuts = false;
|
||||||
|
}
|
||||||
|
if (fInstalledRemoveCommandWordwiseShortcuts) {
|
||||||
|
Window()->RemoveShortcut(B_DELETE, B_COMMAND_KEY);
|
||||||
|
Window()->RemoveShortcut(B_BACKSPACE, B_COMMAND_KEY);
|
||||||
|
fInstalledRemoveCommandWordwiseShortcuts = false;
|
||||||
|
}
|
||||||
|
|
||||||
// word-wise shortcuts use option or command+control
|
|
||||||
if (fInstalledNavigateOptionWordwiseShortcuts) {
|
if (fInstalledNavigateOptionWordwiseShortcuts) {
|
||||||
Window()->RemoveShortcut(B_LEFT_ARROW, B_NO_COMMAND_KEY | B_OPTION_KEY);
|
Window()->RemoveShortcut(B_LEFT_ARROW, B_OPTION_KEY);
|
||||||
Window()->RemoveShortcut(B_RIGHT_ARROW, B_NO_COMMAND_KEY | B_OPTION_KEY);
|
Window()->RemoveShortcut(B_RIGHT_ARROW, B_OPTION_KEY);
|
||||||
fInstalledNavigateOptionWordwiseShortcuts = false;
|
fInstalledNavigateOptionWordwiseShortcuts = false;
|
||||||
}
|
}
|
||||||
if (fInstalledSelectOptionWordwiseShortcuts) {
|
if (fInstalledSelectOptionWordwiseShortcuts) {
|
||||||
Window()->RemoveShortcut(B_LEFT_ARROW, B_NO_COMMAND_KEY | B_OPTION_KEY | B_SHIFT_KEY);
|
Window()->RemoveShortcut(B_LEFT_ARROW, B_OPTION_KEY | B_SHIFT_KEY);
|
||||||
Window()->RemoveShortcut(B_RIGHT_ARROW, B_NO_COMMAND_KEY | B_OPTION_KEY | B_SHIFT_KEY);
|
Window()->RemoveShortcut(B_RIGHT_ARROW, B_OPTION_KEY | B_SHIFT_KEY);
|
||||||
fInstalledSelectOptionWordwiseShortcuts = false;
|
fInstalledSelectOptionWordwiseShortcuts = false;
|
||||||
}
|
}
|
||||||
if (fInstalledRemoveCommandLinewiseShortcuts) {
|
|
||||||
Window()->RemoveShortcut(B_DELETE, B_COMMAND_KEY);
|
|
||||||
Window()->RemoveShortcut(B_BACKSPACE, B_COMMAND_KEY);
|
|
||||||
fInstalledRemoveCommandLinewiseShortcuts = false;
|
|
||||||
}
|
|
||||||
if (fInstalledRemoveOptionWordwiseShortcuts) {
|
if (fInstalledRemoveOptionWordwiseShortcuts) {
|
||||||
Window()->RemoveShortcut(B_DELETE, B_NO_COMMAND_KEY | B_OPTION_KEY);
|
Window()->RemoveShortcut(B_DELETE, B_OPTION_KEY);
|
||||||
Window()->RemoveShortcut(B_BACKSPACE, B_NO_COMMAND_KEY | B_OPTION_KEY);
|
Window()->RemoveShortcut(B_BACKSPACE, B_OPTION_KEY);
|
||||||
fInstalledRemoveOptionWordwiseShortcuts = false;
|
fInstalledRemoveOptionWordwiseShortcuts = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
// line-wise shortcuts use command or control
|
if (fInstalledNavigateOptionLinewiseShortcuts) {
|
||||||
if (fInstalledNavigateCommandHorizontalLinewiseShortcuts) {
|
Window()->RemoveShortcut(B_UP_ARROW, B_OPTION_KEY);
|
||||||
Window()->RemoveShortcut(B_LEFT_ARROW, B_COMMAND_KEY);
|
Window()->RemoveShortcut(B_DOWN_ARROW, B_OPTION_KEY);
|
||||||
Window()->RemoveShortcut(B_RIGHT_ARROW, B_COMMAND_KEY);
|
fInstalledNavigateOptionLinewiseShortcuts = false;
|
||||||
fInstalledNavigateCommandHorizontalLinewiseShortcuts = false;
|
|
||||||
}
|
}
|
||||||
if (fInstalledNavigateCommandVerticalLinewiseShortcuts) {
|
if (fInstalledSelectOptionLinewiseShortcuts) {
|
||||||
Window()->RemoveShortcut(B_UP_ARROW, B_COMMAND_KEY);
|
Window()->RemoveShortcut(B_UP_ARROW, B_OPTION_KEY | B_SHIFT_KEY);
|
||||||
Window()->RemoveShortcut(B_DOWN_ARROW, B_COMMAND_KEY);
|
Window()->RemoveShortcut(B_DOWN_ARROW, B_OPTION_KEY | B_SHIFT_KEY);
|
||||||
fInstalledNavigateCommandVerticalLinewiseShortcuts = false;
|
fInstalledSelectOptionLinewiseShortcuts = false;
|
||||||
}
|
|
||||||
if (fInstalledNavigateControlHorizontalLinewiseShortcuts) {
|
|
||||||
Window()->RemoveShortcut(B_LEFT_ARROW, B_NO_COMMAND_KEY | B_CONTROL_KEY);
|
|
||||||
Window()->RemoveShortcut(B_RIGHT_ARROW, B_NO_COMMAND_KEY | B_CONTROL_KEY);
|
|
||||||
fInstalledNavigateControlHorizontalLinewiseShortcuts = false;
|
|
||||||
}
|
|
||||||
if (fInstalledNavigateControlVerticalLinewiseShortcuts) {
|
|
||||||
Window()->RemoveShortcut(B_UP_ARROW, B_NO_COMMAND_KEY | B_CONTROL_KEY);
|
|
||||||
Window()->RemoveShortcut(B_DOWN_ARROW, B_NO_COMMAND_KEY | B_CONTROL_KEY);
|
|
||||||
fInstalledNavigateControlVerticalLinewiseShortcuts = false;
|
|
||||||
}
|
|
||||||
if (fInstalledSelectCommandHorizontalLinewiseShortcuts) {
|
|
||||||
Window()->RemoveShortcut(B_LEFT_ARROW, B_COMMAND_KEY | B_SHIFT_KEY);
|
|
||||||
Window()->RemoveShortcut(B_RIGHT_ARROW, B_COMMAND_KEY | B_SHIFT_KEY);
|
|
||||||
fInstalledSelectCommandHorizontalLinewiseShortcuts = false;
|
|
||||||
}
|
|
||||||
if (fInstalledSelectCommandVerticalLinewiseShortcuts) {
|
|
||||||
Window()->RemoveShortcut(B_UP_ARROW, B_COMMAND_KEY | B_SHIFT_KEY);
|
|
||||||
Window()->RemoveShortcut(B_DOWN_ARROW, B_COMMAND_KEY | B_SHIFT_KEY);
|
|
||||||
fInstalledSelectCommandVerticalLinewiseShortcuts = false;
|
|
||||||
}
|
|
||||||
if (fInstalledSelectControlHorizontalLinewiseShortcuts) {
|
|
||||||
Window()->RemoveShortcut(B_LEFT_ARROW, B_NO_COMMAND_KEY | B_CONTROL_KEY | B_SHIFT_KEY);
|
|
||||||
Window()->RemoveShortcut(B_RIGHT_ARROW, B_NO_COMMAND_KEY | B_CONTROL_KEY | B_SHIFT_KEY);
|
|
||||||
fInstalledSelectControlHorizontalLinewiseShortcuts = false;
|
|
||||||
}
|
|
||||||
if (fInstalledSelectControlVerticalLinewiseShortcuts) {
|
|
||||||
Window()->RemoveShortcut(B_UP_ARROW, B_NO_COMMAND_KEY | B_CONTROL_KEY | B_SHIFT_KEY);
|
|
||||||
Window()->RemoveShortcut(B_DOWN_ARROW, B_NO_COMMAND_KEY | B_CONTROL_KEY | B_SHIFT_KEY);
|
|
||||||
fInstalledSelectControlVerticalLinewiseShortcuts = false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// doc-wise shortcuts use command
|
|
||||||
if (fInstalledNavigateHomeEndDocwiseShortcuts) {
|
if (fInstalledNavigateHomeEndDocwiseShortcuts) {
|
||||||
Window()->RemoveShortcut(B_HOME, B_COMMAND_KEY);
|
Window()->RemoveShortcut(B_HOME, B_COMMAND_KEY);
|
||||||
Window()->RemoveShortcut(B_END, B_COMMAND_KEY);
|
Window()->RemoveShortcut(B_END, B_COMMAND_KEY);
|
||||||
@@ -5567,6 +5451,7 @@ BTextView::_Deactivate()
|
|||||||
Window()->RemoveShortcut(B_END, B_COMMAND_KEY | B_SHIFT_KEY);
|
Window()->RemoveShortcut(B_END, B_COMMAND_KEY | B_SHIFT_KEY);
|
||||||
fInstalledSelectHomeEndDocwiseShortcuts = false;
|
fInstalledSelectHomeEndDocwiseShortcuts = false;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user