X-Git-Url: http://git.nikiroo.be/?a=blobdiff_plain;f=src%2Fjexer%2FTEditorWindow.java;h=85bb91a273169da8f4fdd0e4749c521c4f6b5968;hb=fc2af49443133106c95da9aaf8b7126be8c7dedd;hp=b64f0c71332b520002710c6477078b00e9332e3a;hpb=c88c4ced6e9392a53030a1c680fe114931a1a928;p=nikiroo-utils.git diff --git a/src/jexer/TEditorWindow.java b/src/jexer/TEditorWindow.java index b64f0c7..85bb91a 100644 --- a/src/jexer/TEditorWindow.java +++ b/src/jexer/TEditorWindow.java @@ -73,6 +73,17 @@ public class TEditorWindow extends TScrollableWindow { */ private String filename = ""; + /** + * If true, hide the mouse after typing a keystroke. + */ + private boolean hideMouseWhenTyping = true; + + /** + * If true, the mouse should not be displayed because a keystroke was + * typed. + */ + private boolean typingHidMouse = false; + // ------------------------------------------------------------------------ // Constructors ----------------------------------------------------------- // ------------------------------------------------------------------------ @@ -173,6 +184,10 @@ public class TEditorWindow extends TScrollableWindow { // Use TWidget's code to pass the event to the children. super.onMouseDown(mouse); + if (hideMouseWhenTyping) { + typingHidMouse = false; + } + if (mouseOnEditor(mouse)) { // The editor might have changed, update the scollbars. setBottomValue(editField.getMaximumRowNumber()); @@ -197,6 +212,10 @@ public class TEditorWindow extends TScrollableWindow { // Use TWidget's code to pass the event to the children. super.onMouseUp(mouse); + if (hideMouseWhenTyping) { + typingHidMouse = false; + } + if (mouse.isMouse1() && mouseOnVerticalScroller(mouse)) { // Clicked on vertical scrollbar editField.setVisibleRowNumber(getVerticalValue()); @@ -215,6 +234,10 @@ public class TEditorWindow extends TScrollableWindow { // Use TWidget's code to pass the event to the children. super.onMouseMotion(mouse); + if (hideMouseWhenTyping) { + typingHidMouse = false; + } + if (mouseOnEditor(mouse) && mouse.isMouse1()) { // The editor might have changed, update the scollbars. setBottomValue(editField.getMaximumRowNumber()); @@ -239,6 +262,10 @@ public class TEditorWindow extends TScrollableWindow { */ @Override public void onKeypress(final TKeypressEvent keypress) { + if (hideMouseWhenTyping) { + typingHidMouse = true; + } + // Use TWidget's code to pass the event to the children. super.onKeypress(keypress); @@ -318,6 +345,18 @@ public class TEditorWindow extends TScrollableWindow { super.onCommand(command); } + /** + * Returns true if this window does not want the application-wide mouse + * cursor drawn over it. + * + * @return true if this window does not want the application-wide mouse + * cursor drawn over it + */ + @Override + public boolean hasHiddenMouse() { + return (super.hasHiddenMouse() || typingHidMouse); + } + // ------------------------------------------------------------------------ // TEditorWindow ---------------------------------------------------------- // ------------------------------------------------------------------------ @@ -344,6 +383,13 @@ public class TEditorWindow extends TScrollableWindow { i18n.getString("statusBarOpen")); statusBar.addShortcutKeypress(kbF10, cmMenu, i18n.getString("statusBarMenu")); + + // Hide mouse when typing option + if (System.getProperty("jexer.TEditor.hideMouseWhenTyping", + "true").equals("false")) { + + hideMouseWhenTyping = false; + } } /**