git://git.nikiroo.be
/
nikiroo-utils.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix mouse on menu line
[nikiroo-utils.git]
/
src
/
jexer
/
TApplication.java
diff --git
a/src/jexer/TApplication.java
b/src/jexer/TApplication.java
index 57d60955e33a1f1d4b21a2069e8b930c922d0124..abd69ca7cca11e537805dae99cf69ebe3fe47661 100644
(file)
--- a/
src/jexer/TApplication.java
+++ b/
src/jexer/TApplication.java
@@
-1043,6
+1043,10
@@
public class TApplication implements Runnable {
desktop.setDimensions(0, 0, resize.getWidth(),
resize.getHeight() - 1);
}
desktop.setDimensions(0, 0, resize.getWidth(),
resize.getHeight() - 1);
}
+
+ // Change menu edges if needed.
+ recomputeMenuX();
+
// We are dirty, redraw the screen.
doRepaint();
return;
// We are dirty, redraw the screen.
doRepaint();
return;
@@
-2005,8
+2009,8
@@
public class TApplication implements Runnable {
// They selected the menu, go activate it
for (TMenu menu: menus) {
// They selected the menu, go activate it
for (TMenu menu: menus) {
- if ((mouse.getAbsoluteX() >= menu.getX())
- && (mouse.getAbsoluteX() < menu.getX()
+ if ((mouse.getAbsoluteX() >= menu.get
Title
X())
+ && (mouse.getAbsoluteX() < menu.get
Title
X()
+ menu.getTitle().length() + 2)
) {
menu.setActive(true);
+ menu.getTitle().length() + 2)
) {
menu.setActive(true);
@@
-2033,8
+2037,8
@@
public class TApplication implements Runnable {
// See if we should switch menus
for (TMenu menu: menus) {
// See if we should switch menus
for (TMenu menu: menus) {
- if ((mouse.getAbsoluteX() >= menu.getX())
- && (mouse.getAbsoluteX() < menu.getX()
+ if ((mouse.getAbsoluteX() >= menu.get
Title
X())
+ && (mouse.getAbsoluteX() < menu.get
Title
X()
+ menu.getTitle().length() + 2)
) {
menu.setActive(true);
+ menu.getTitle().length() + 2)
) {
menu.setActive(true);
@@
-2295,7
+2299,14
@@
public class TApplication implements Runnable {
int x = 0;
for (TMenu menu: menus) {
menu.setX(x);
int x = 0;
for (TMenu menu: menus) {
menu.setX(x);
+ menu.setTitleX(x);
x += menu.getTitle().length() + 2;
x += menu.getTitle().length() + 2;
+
+ // Don't let the menu window exceed the screen width
+ int rightEdge = menu.getX() + menu.getWidth();
+ if (rightEdge > getScreen().getWidth()) {
+ menu.setX(getScreen().getWidth() - menu.getWidth());
+ }
}
}
}
}
@@
-2512,6
+2523,10
@@
public class TApplication implements Runnable {
showAboutDialog();
return true;
}
showAboutDialog();
return true;
}
+ if (menu.getId() == TMenu.MID_REPAINT) {
+ doRepaint();
+ return true;
+ }
return false;
}
return false;
}