check if mouse is over a submenu and then if it's over the current menu.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24479 a95241bf-73f2-0310-859d-f6bbb57e9c96
still. This way keyboard menu navigation works much better.
Unfortunately I can't apply the same trick for BMenu since it opens the
submenu with a delay, and that won't work anymore.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24296 a95241bf-73f2-0310-859d-f6bbb57e9c96
would have returned the second item in place of the first. Also return
NULL, not false, when there are no "next items".
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24294 a95241bf-73f2-0310-859d-f6bbb57e9c96
just like Vera, but it has some more glyphs. Actually we could get rid
of Vera completely.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24143 a95241bf-73f2-0310-859d-f6bbb57e9c96
weird text selection in BTextView() (for example, when an empty line was
part of the selection).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24142 a95241bf-73f2-0310-859d-f6bbb57e9c96
correctly in some cases inside HashEscapements(). Also, when looking for
a value in the hash, we checked the same position twice in some
cases (did not cause any problem, was just a bit slower).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24079 a95241bf-73f2-0310-859d-f6bbb57e9c96
Looks like the class has some problems (hangs while calculating width of
lines inside termcap, cf bug #1690
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24070 a95241bf-73f2-0310-859d-f6bbb57e9c96
inside menus: first sub, then current, then super. It's more logical,
and handles every case (hopefully I've tested every possible
combination) of overlapping menus correctly.
Fixes bug #1821.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24044 a95241bf-73f2-0310-859d-f6bbb57e9c96
enabling/disabling of the revert button too.
Initialize Settings::fAuto to a default value on construction.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24032 a95241bf-73f2-0310-859d-f6bbb57e9c96
clicked (with the menu opened) on a view which uses GetMouse() in a loop
(PE, tracker), since it stealed the mousedown message.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24005 a95241bf-73f2-0310-859d-f6bbb57e9c96
position/size issues. Use B_PANEL_BACKGROUND_COLOR instead of the raw
numbers. Fixes bug #1800.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23996 a95241bf-73f2-0310-859d-f6bbb57e9c96
another thread (for example, when quitting the app/window), and that
would cause a deadlock. Fixes bug #1645.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23995 a95241bf-73f2-0310-859d-f6bbb57e9c96
makes more sense (and also completes the fix for bug #1759). Retrieve
the command from the message archive.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23931 a95241bf-73f2-0310-859d-f6bbb57e9c96
Moved SetFlags() from _InitObject() to unarchiving constructor as other
constructors already set the flags.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23914 a95241bf-73f2-0310-859d-f6bbb57e9c96
Also set the flag B_PULSE_NEEDED (for the blinking cursor) in TermView.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23911 a95241bf-73f2-0310-859d-f6bbb57e9c96
another apps works correctly (minus the blinking cursor, we'll see why
it doesn't)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23908 a95241bf-73f2-0310-859d-f6bbb57e9c96
window every time, without reason, since _Revert() was called even if no
changes were made.
Build the list of window sizes dynamically, this way we get rid of some
code duplication.
Removed implementation of TermWindow::QuitRequested(). The
B_QUIT_ON_WINDOW close takes care of quitting the application.
Some cleanups.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23860 a95241bf-73f2-0310-859d-f6bbb57e9c96
these key combinations (ALT + +/-) can't be used on many keymaps, we
might want to change. Moved view resizing to a private window method.
Seems to work, more or less (ticket #1334)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23791 a95241bf-73f2-0310-859d-f6bbb57e9c96
selection (for example, moving around text with the mouse).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23789 a95241bf-73f2-0310-859d-f6bbb57e9c96
work on haiku... let's start reverting some headers changes I did,
although these don't look harmful.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23729 a95241bf-73f2-0310-859d-f6bbb57e9c96
DirectConnected() could be called twice with B_DIRECT_STOP when closing
the BDirectWindow.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23718 a95241bf-73f2-0310-859d-f6bbb57e9c96
move it to its own file, but it's not implemented yet... we'll see.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23717 a95241bf-73f2-0310-859d-f6bbb57e9c96
are not that useful, and the terminal doesn't like it anyway.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23700 a95241bf-73f2-0310-859d-f6bbb57e9c96
Implemented palette mode and fixed bugs listed at ticket #1701. Thanks
for your work!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23671 a95241bf-73f2-0310-859d-f6bbb57e9c96
keydown. Fixed SetMaxBytes() so that it respect multibyte characters
(it removes the whole character in case it doesn't fit).
This can be seen in BColorControls, where you can't write numbers with
more than 3 characters anymore.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23605 a95241bf-73f2-0310-859d-f6bbb57e9c96
our Terminal only works correctly with fixed width fonts, now the font
menu filters out variable width ones. For some reason, though, Konatu
Tohaba isn't recognized as fixed. Various other changes.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23591 a95241bf-73f2-0310-859d-f6bbb57e9c96
cleanup thread, since, not being attached to the window, Window()
returned NULL. Now CustomTermView::NotifyQuit() accounts for this, and
sends the message to the first window in the BApplication. Moreover,
RemoveTab() would always remove the currently selected tab, and not the
requested one.
Changed a printf() to fprintf().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23558 a95241bf-73f2-0310-859d-f6bbb57e9c96
worked). Fixed. Also moved handling of default shell command from
TermView to Shell, where it belongs.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23557 a95241bf-73f2-0310-859d-f6bbb57e9c96
(suggested by stippi). The movement threshold will be subject to
changes, as I only tested on vmware and it's probably too high.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23528 a95241bf-73f2-0310-859d-f6bbb57e9c96
That way menubars are navigable via keyboard. There are still glitches,
but menu keyboard navigation works now.
Minor optimization: cache the value of CountItems() instead of calling
it multiple times.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23387 a95241bf-73f2-0310-859d-f6bbb57e9c96
review.
Added a compile time option to switch off the use of the cached menu
windows. Looks like there is a problem with the focus system, if I keep
the cached menu window around, it "steals" keyboard events from the main
app window after the menu has been opened and closed once.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23343 a95241bf-73f2-0310-859d-f6bbb57e9c96
Christof Lutteroth, which improve menu keyboard navigation. Sorry for
the delay, I had these patches sitting on my hard drive for a while. At
least now you can open a menu with ALT + ESC, navigate it with the arrow keys,
and invoke an item.
Various issues still exist, including: menubars don't get the keydown
messages, and if you keep the mouse over the menu while navigating
with the keyboard, nothing will happen.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23339 a95241bf-73f2-0310-859d-f6bbb57e9c96
- in the code path, now it's clear if the looper is locked or not
- if menus are quitting, now we don't call snooze() anymore, and avoid
the extra GetMouse() call.
- some other cleanups
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23279 a95241bf-73f2-0310-859d-f6bbb57e9c96
Moved GetMouse() calls near the check for exit conditions.
Reorganized a bit the code, and hopefully simplified it in some places.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23229 a95241bf-73f2-0310-859d-f6bbb57e9c96
_LoadDefaultSettings() if no settings were loaded already, in order to
return valid values. Renamed private methods to fit our guidelines.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23204 a95241bf-73f2-0310-859d-f6bbb57e9c96
BShelf::_AddReplicant(). Now it's called near the end of the function.
This way we don't have to call RemoveSelf() in case
BShelf::CanAcceptReplicantView() return false. This also fixes a glitch
in BSnow, which calls MoveTo() in AttachedToWindow(). Simplified the
code.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23185 a95241bf-73f2-0310-859d-f6bbb57e9c96