Commit Graph
105 Commits
Author SHA1 Message Date
Stefano Ceccherini b03deb09db Menu settings are now handled by the app_server. As a result, changing them does something, although they aren't saved to disk yet. 'click_to_open' is not checked anymore, because it was useless anyway, I'll remove it from the Menu preflet too.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17174 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-19 20:04:19 +00:00
Stefano Ceccherini 1b5b2e4c35 MenuItems don't flicker anymore when a submenu opens (fixes bug 484). Implemented popupmenu's 'clickToOpenRect' feature, used by tracker's dirmenus, for example (fixes bug 523
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17168 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-18 20:32:10 +00:00
Stefano Ceccherini 4697016070 Lowered the delay in menus after which they don't switch to sticky mode, should fix bug 491, although its not really a bug
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17153 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-17 14:13:08 +00:00
Stefano Ceccherini 415c63bee2 PopUpMenus didn't respect the openanyway setting (sticky mode), they always set it. And even in that case, they weren't working correctly. This should fix bugs 463 and 476. This might not work if click to open isn't selected in the menu prefs, though.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17136 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-15 16:57:51 +00:00
Stefano Ceccherini 36aa2198b7 Some more changes, fixed bug 487, added a small hysteresis so menus could be more nice to navigate, some corrections in popupmenu
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17134 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-15 12:42:34 +00:00
Stefano Ceccherini 0e0b8fd554 more fixes
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17104 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-12 11:25:59 +00:00
Stefano Ceccherini 7d550b53a0 and there, the usual forgotten stuff
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17096 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-11 20:53:11 +00:00
Stefano Ceccherini 2191a09a93 big improvements for menus. The tracking is in many ways on par with r5, except for a few things, like diagonal movement and that grandparent bug
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17095 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-11 20:20:41 +00:00
Stefano Ceccherini 9c5c552dd6 more fixes
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17043 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-07 17:44:02 +00:00
Stefano Ceccherini bf5d7973b9 Obviously I put in the usual 'untested last minute change' which broke everything. Should be fixed now.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17042 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-07 17:24:14 +00:00
Stefano Ceccherini c51421cc0b implemented sticky mode. Let's see how many complaints because it's not perfect at all. Under qemu it's super crappy btw
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17041 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-07 16:52:37 +00:00
Stefano Ceccherini 29c407a371 Fixed menus in case the window was hidden (VLC, StyledEdit). This is just a quick fix and will be changed later. Thanks to John Drinkwater for testing
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17008 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-04 14:31:46 +00:00
Axel Dörfler 6d9adcf120 Removed a superfluous const_cast and a variable from ChooseTrigger().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17007 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-04 13:51:28 +00:00
Axel Dörfler cb2998af29 BMenuItem::SetTrigger() and SetAutomaticTrigger() now also update fTriggerIndex.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17006 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-04 13:13:18 +00:00
Axel Dörfler 0f11085c6c * Rewrote MenuItem.h (we're no longer using Be's header).
* Renamed private SetSysTrigger() to SetAutomaticTrigger().
* Added the '_' prefix to private methods that aren't called by anything outside
  BMenuItem (ie. no friend classes either).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17005 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-04 13:02:52 +00:00
Stefano Ceccherini 195f58ddbb BMenu::_AddItem() keeps the looper locked for the whole time, other changes: let's see if this fixes that bug
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16990 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-03 19:50:16 +00:00
Stefano Ceccherini e90bed06b1 Fixed vlc menubars
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16975 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-02 22:31:04 +00:00
Stefano Ceccherini 262a2483e2 I woulnd't say the classical last words... but I seem to have fixed latest crashes...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16943 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-03-31 20:13:41 +00:00
Stefano Ceccherini f2e9b063a0 This small change could even fix some big problems with menus... unfortunately I can only reproduce them in vmware, and not in qemu
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16940 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-03-31 09:37:59 +00:00
Stefano Ceccherini 793fde40eb This should fix some problems I experienced later. At least, I can't reproduce them anymore
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16920 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-03-29 10:42:54 +00:00
Stefano Ceccherini 35beeaa99f Minor improvements
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16916 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-03-28 20:22:15 +00:00
Stefano Ceccherini 4185bd8b34 Hopefully simplified BMenu/BMenuWindow relationship and made it more robust.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16910 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-03-28 13:06:47 +00:00
Stefano Ceccherini 9913366fe7 Reset fAttachAborted otherwise menus never get filled after they have been interrupted once.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16908 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-03-28 06:44:39 +00:00
Stefano Ceccherini 6aa12747cd Stupid me. ConvertToScreen() isn't needed, and I should read more carefully my own code
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16901 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-03-27 21:50:35 +00:00
Stefano Ceccherini ed49f4afcd Improved OkToProceed(), removed unused file
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16900 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-03-27 21:46:19 +00:00
Stefano Ceccherini f356aedc02 Implemented BMenu::OkToProceed() and used it correctly in BMenu::AttachedToWindow(). For some reason, though, I had to comment it out partially as something is wrong. I haven't debugged, though
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16899 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-03-27 19:43:05 +00:00
Stefano Ceccherini 7abe70f1b4 Hopefully cleaned up a bit the locking in BMenu::_show()/_hide()
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16867 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-03-23 15:33:28 +00:00
Stefano Ceccherini 37cf3d970d Avoid attaching a menu to the BMenuWindow when not needed
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16863 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-03-22 21:07:35 +00:00
Stefano Ceccherini b80eb9d443 Partially reverted axel's change, because it brings more troubles than benefits (menus lock when they reuse the supermenu's menuwindow). I'll try to resolve the various problems in another way. Some cleanups
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16861 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-03-22 20:47:52 +00:00
Axel Dörfler e87965deed * Fixed a possible crash when removing and adding items from a window.
* This does not yet close bug #233, but could also be a reason for this crash.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16851 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-03-21 17:49:42 +00:00
Stefano Ceccherini 7a2c9b35cd Reverted to r16487 due to various problems. I'll recommit the code once it's fully working.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16850 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-03-21 16:06:46 +00:00
Stefano Ceccherini ebaeaa1224 BMenu::InvalidateLayout() now just marks the cached layout as invalid, instead of recalculating it. This results in less computations. Reorganized the layout calculation due to that. Now it's done once in AttachedToWindow(), and in Draw(), only if needed
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16848 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-03-20 21:49:11 +00:00
Stefano Ceccherini 65b4fb8ab1 Check if alt is the command key on BMenu::AttachedToWindow instead of doing it for every BMenuItem::Draw()
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16847 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-03-20 20:20:29 +00:00
Stefano Ceccherini 21f9f047fa Don't resize items if not needed, small change
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16810 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-03-15 20:44:23 +00:00
Stefano Ceccherini 446d93a0cc sorry, this was meant to be removed
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16669 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-03-08 23:19:12 +00:00
Stefano Ceccherini 49b154d166 Fixed wrong calculation of the menu frame if layout is B_ITEMS_IN_ROW. Fixes bug 209
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16667 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-03-08 23:15:47 +00:00
Stefano Ceccherini 66188b6676 pulled check out of the loop
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16604 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-03-06 13:29:29 +00:00
Stefano Ceccherini 6d87a14258 Take the max content width into account in BMenu::ComputeLayout(). This fixes bug 188. IOW the deskbar expander arrow is now shown
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16603 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-03-06 13:19:01 +00:00
Stefano Ceccherini 2c11ec31c8 BMenuItem also draws ctrl bitmap if needed, BTextView::AutoResize implemented more correctly
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16577 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-03-03 19:31:09 +00:00
Axel Dörfler a41bc2d828 Removed trailing newline from window name.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16529 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-02-27 14:00:18 +00:00
Stefano Ceccherini de71e4da6d _BMCItem_ isn't used anymore
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16457 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-02-18 09:13:22 +00:00
Stefano Ceccherini 15b4cc6ea6 reduced the histeresis, now it's a fixed value
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16319 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-02-09 22:07:48 +00:00
Stefano Ceccherini 2a5bad1541 Avoid menus in menufields going out of the screen in the upper part
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16316 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-02-09 20:58:15 +00:00
Axel Dörfler fd1528f275 Accidently broke selecting sub menus with the last commit.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16167 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-31 03:31:23 +00:00
Axel Dörfler ec549309c9 The menus work a bit less good now I think, but they no longer have 100% CPU usage
when the menu item under the mouse cursor has a sub-menu.
Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16160 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-30 23:40:05 +00:00
Stefano Ceccherini 61ba5a32c1 Added some code to draw "empty" in empty menus. Not working for the
moment, but committing since it's too late to continue working, and at 
least the window is resized correctly...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16142 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-29 22:27:46 +00:00
Stefano Ceccherini 365a41fd5c Reduced the time hysteresis. Need more testing, though
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16030 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-21 20:08:58 +00:00
Stefano Ceccherini 0219459ba0 Added a small time hysteresis: submenus are only opened if the user keeps the mouse there for a while. I'd like feedback on this
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16015 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-21 09:23:59 +00:00
Stefano Ceccherini c592b98fd2 Reworked BMenu::Set/IsEnabled(). I tested what happens under beos and our code seems to be finally correct
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15999 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-17 20:11:07 +00:00
Stefano Ceccherini 0c7450238f followed stippi's suggestion and implemented SetEnabled more cleanly
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15989 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-16 22:49:05 +00:00