#
f9693a13 |
|
21-Nov-2023 |
John Scipione <jscipione@gmail.com> |
Deskbar: Set tooltip on truncated window items Fixes #18678 Change-Id: I91eeb19a77e400cf798fe23cc6d50565926063d9 Reviewed-on: https://review.haiku-os.org/c/haiku/+/7121 Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org> Reviewed-by: waddlesplash <waddlesplash@gmail.com>
|
#
396f398d |
|
04-May-2023 |
John Scipione <jscipione@gmail.com> |
Deskbar: Fix horizontal mode window size limits When your font size and team icon size is large enough horizontal mode Deskbar gets cut off. Compare composed to composed, this restores the icon size scaling behavior as indended before compose changes in Deskbar: label is positioned to the right of the team icon until after the third icon size notch regardless of your font size. Change-Id: Ia1d1418cc3b04536a55860d3889d2437c40986cc Reviewed-on: https://review.haiku-os.org/c/haiku/+/6415 Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org> Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
|
#
9da3977c |
|
05-May-2023 |
John Scipione <jscipione@gmail.com> |
Deskbar: Rename IconSize() to TeamIconSize() Change-Id: Id536bacd60334cd167051a785e7fff819359aacf Reviewed-on: https://review.haiku-os.org/c/haiku/+/6412 Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org> Reviewed-by: John Scipione <jscipione@gmail.com> Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
|
#
4f97a431 |
|
07-Apr-2023 |
John Scipione <jscipione@gmail.com> |
Deskbar: Make Vulcan Death Grip work in mini-mode Refactor so that ExpandoMenuBar and TeamMenu both call the menu item TeamMenuItem::HandleMouseDown() method to do the actual work and then send a message to cleanup. Fixes #17761 Change-Id: I0e13e5fc6c90236936120ff0dda1246123576d37 Reviewed-on: https://review.haiku-os.org/c/haiku/+/6311 Reviewed-by: waddlesplash <waddlesplash@gmail.com> Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
|
#
7ee7b33b |
|
18-Mar-2023 |
John Scipione <jscipione@gmail.com> |
Deskbar: Limit app bar width by BarMenuBar width ... in horizontal mode instead of (mis)calculating it. Fixes #18299 Change-Id: I33bddd5f985677f7730f0025291fdfae90f4cb76 Reviewed-on: https://review.haiku-os.org/c/haiku/+/6214 Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org> Tested-by: Automation <automation@haiku-os.org> Reviewed-by: waddlesplash <waddlesplash@gmail.com>
|
#
1be85605 |
|
25-Aug-2022 |
Augustin Cavalier <waddlesplash@gmail.com> |
Add casts to appease GCC2 following recent changes.
|
#
1e0308a8 |
|
25-Aug-2022 |
Augustin Cavalier <waddlesplash@gmail.com> |
Deskbar: Use BControlLook::ComposeIconSize() and other metrics routines. This gets Deskbar looking somewhat more like its usual self in HiDPI environments. There are still some hardcoded sizes which need to be refactored, however.
|
#
26d0a387 |
|
08-Aug-2020 |
Adrien Destugues <pulkomandy@pulkomandy.tk> |
DeskBar raise-to-front: reintroduce fLastClickTime This was removed in hrev33708 when enabling the "double click to raise" feature. It results in all clicks after the first one just raising the team again. Fixes #8471
|
#
eb4b3f72 |
|
15-May-2020 |
Adrien Destugues <pulkomandy@pulkomandy.tk> |
Check that expander is enabled before expanding items. Fixes #16025 Change-Id: Ia69fa23ba8044c0ea14f9b669c13636e087a203d Reviewed-on: https://review.haiku-os.org/c/haiku/+/2702 Reviewed-by: waddlesplash <waddlesplash@gmail.com>
|
#
2edfb7b1 |
|
09-May-2020 |
Adrien Destugues <pulkomandy@pulkomandy.tk> |
DeskBar: misplaced NULL check - Main problem was that lastItem was accidentally used outside of a NULL check - Also cleanup initialization and reset of fLastClickedItem (it is now valid from mousedown on an item to either mouseup, or when the team dies) Fixes #15991 Change-Id: I82e30303c50a61b9d44c092347f067dcb1105006 Reviewed-on: https://review.haiku-os.org/c/haiku/+/2619 Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
|
#
20f2ebae |
|
07-May-2020 |
Adrien Destugues <adrien.destugues@opensource.viveris.fr> |
Remove MouseDownThread and its usages This code comes from an old Be Newsletter and since then the API received the addition of SetMouseEventMask. In several places the MouseDownThread was misused: it would spawn a new thread on every mouse click and not clear the previous one. This could for example lead to BSpinner skipping values if you clicked it at the right speed. There are functional changes in BSpinner, before it updated for the first time 100ms after mouse down, and then as you moved the mouse around the button, now it activates immediately on first click and then every 200ms (which may be a bit short). In other places, no functional changes intended. Change-Id: Ie600dc68cbb87d1e237633953e5189918bf36575 Reviewed-on: https://review.haiku-os.org/c/haiku/+/2599 Reviewed-by: waddlesplash <waddlesplash@gmail.com>
|
#
910651da |
|
10-Mar-2020 |
X512 <danger_mail@list.ru> |
Deskbar: add middle click shortcut * Middle click on team item launch new instance of team. * Shift+middle click on window item closes window. Change-Id: Iaf201b8fe87dcc4430afd451a7ad3654178389a0 Reviewed-on: https://review.haiku-os.org/c/haiku/+/2337 Reviewed-by: waddlesplash <waddlesplash@gmail.com> Reviewed-by: Adrien Destugues <pulkomandy@gmail.com> Reviewed-by: John Scipione <jscipione@gmail.com> Reviewed-by: Sergei Reznikov <diver@gelios.net>
|
#
0d2645e4 |
|
19-Nov-2019 |
John Scipione <jscipione@gmail.com> |
Deskbar: New single line mini-mode Mini-mode is when Deskbar is in the 4 corners with the application menu tucked away into the leaf menu bar. This commit changes mini- mode from putting the clock and replicants below the leaf menu to attaching them to the side forming a single line. The main advantage of this is that if Deskbar is in the top right corner you can maximize a window without losing any access to Deskbar or any screen real-estate. The other three corners lose screen real-estate similar to horizontal mode. Replace team icon with HVIF version kindly donated by meanwhile. Scale icon size according to font size. Grow the vector rendered icon size by 1px to match bitmap size. Add Team_Registrar icon to data/artwork/icons. Tweak Team_Registrar icon to match the area of the bitmap taken up by the bitmap icon so they will render at the same size. The bitmap can be now NULL if an invalid icon is passed, handle this case with an fInitStatus member in BarMenuTitle. Switch order of leaf and team menus on the left side so that the team menu is always on the screen edge. The team menu is more in need of quick corner access than the leaf menu in this mode. Adjust leaf menu position so that it continues to be cut-off while allowing the team menu icon to display normally. Center vertically in horizontal mode but it's still cut-off at 16x16. In vertical mode the leaf continues to be cut-off at all font sizes. Constrain leaf bitmap to its menu item frame as it can bleed out into the adjacent team menu item at larger font sizes. Grow team menu items to fit the widest label up to the max vertical expando window width (currently 2x min) before truncating. LegacyPackageInstaller now fits in the team menu. More on LegacyPackageInstaller in horizontal mode below. Update SetSizeLimits for mini-mode - no upper limit on height or width. Switch to mini-mode using 1/4 screen left and right of screen instead of using 1/6. Mini mode is now wider and this change makes switching between mini mode and horizontal mode more reliable. * Rename frame to screenFrame here for clarity. Set menu bar height to window tab height in vertical mode. This is so that when you maximize a window the tab size will match. The menu bar height is also a few pixels taller (25px vs 21px) than it was in vertical expando mode at the default 12px font size. The change was made to match the tab height. 21px was the height of a window tab on BeOS R5's default decorator. Adjust the width of the team menu for larger icon sizes. If app names are hidden limit to half of min width so the menu doesn't appear too short. SetMaxContentSize to width, this fixes a bug where the menu item wasn't quite the right size for the menu. No longer truncate time in vertical mini mode because the time can now expand itself horizontally without limit (within reason.) Center replicants vertically in mini-mode based on tab height and max replicant height. Simplify mini-mode menu width and position calculation. Fix a bar menu bar placement bug when Deskbar starts hidden in mini-mode. Fix numerous layout issues. Put replicant tray where it should be in all modes and then start adjusting things. The Replicant tray is now where it should be in all modes, any fiddling with replicant icon locations now can be relegated solely to LocationForReplicant(). Implements bug #5876 step 1. *** Other related Deskbar improvements also made in this commit *** Implemented underflow in horizontal mode ExpandoMenuBar to make items wider when you close a team to take up more of available space. Max item width is currently set to 1.25x min width so that LegacyPackageInstaller fits in horizontal mode as well. In team menu it make sense to calculate the widest label but in horizontal mode it would not be very nice if ARogueAppWithAVeryVeryLongAndAnnoyingName were to grow all of your team menu items. 1.25x is a fair compromise that gets us some extra width but not too much. ExpandoMenuBar will truncate items to minimum width to buy some space before it turns on the scroll arrows. Eliminate kMinMenuItemWidth, create convinience methods to calculate limits. Add BarView pointer to TimeView. Ditch fVertical and SetOrientation in TTimeView and get the information from BarView instead. This way we don't have to keep the state in sync. Also pass BarView pointer to TTeamMenu constructor and use it instead of getting the pointer in a roundabout way from be_app. Eliminate kMiniHeight constant, the mini-mode height is now based on the height of a window tab which changes with be_bold_font size. Limit maximum height of replicants by be_bold_font size as well. Also limit team menu and leaf menu icon heights by be_bold_font size. Eliminate TExpandoMenuBar::fVertical, use fBarView instead. Switch the order of layout and barView in ctor so that barView can be optional. Change the ctor vertical param to layout and use the passed-in menu_layout to pass to BMenuBar only. Once TExpandoMenuBar has been constructed, use fBarView from then on. In Deskbar the menu_layout can change via BMenuPrivate::SetLayout, if we needed to know TExpandoMenuBar's menu_layout for some reason, we can call Layout(). Maintain 2px border around replicants in vertical expando mode on all sides. Maintain 2px border around replicants in horizontal mode, except for at 16x16 reduce the border to 1px because we're really short on height. Improve clock centering in vertical expando mode. Also improve clock centering in mini-mode across all font sizes. Reduce clock height by 2px so that it won't draw over the top and bottom borders in horizontal mode. Refactor TBarView::PlaceTray(). The code is basically the same but the method is now better layed out. Calculate resize dragger location based on width setting. This is valid since it is only ever used in vertical expando mode. Hide the resize control better by moving it off-screen when not in use. Hide() alone was not enough. Fix size and position of the drag region to prevent minor drawing glitches that were occuring in horizontal and left vertical mode because the drag region was not in quite the right size and place. Call DrawDragger() from DrawAfterChildren() instead of Draw() (and set B_DRAW_ON_CHILDREN flag) so that the dragger will always be drawn even if there are other items on top. In theory this should not be needed but in practice this fixes a few drawing glitches. Rename DrawDragRegion() to private DrawDragger() method - the name was confusing and other classes shouldn't be allowed to draw the dragger directly. TDragRegion should be renamed to TStatusView since that's what it really is. Then we should create a new TDragControl class based on TResizeControl that is a child of TStatusView like everybody else. TDragControl would be responsible for drawing itself and knowing where its bounds are. For now DrawAfterChildren() will have to do. Rework status tray border drawing. It is identical in vertical exando mode and in the same spirit in horizontal mode just a little bit nicer looking. Draw hilight on top, left, and bottom edges in horizontal mode. Draw hilight on top, and left edges in mini-mode this creates the appearance of a shadow. Best appreciated using Magnify. May the following (Open Tracker License) code forever be memorialized in this commit message: void TDragRegion::Draw(BRect updateRect) { rgb_color menuColor = ViewColor(); rgb_color hilite = tint_color(menuColor, B_DARKEN_1_TINT); rgb_color ldark = tint_color(menuColor, 1.02); rgb_color dark = tint_color(menuColor, B_DARKEN_2_TINT); rgb_color vvdark = tint_color(menuColor, B_DARKEN_4_TINT); rgb_color light = tint_color(menuColor, B_LIGHTEN_2_TINT); BRect frame(Bounds()); BeginLineArray(4); if (be_control_look != NULL) { if (fBarView->Vertical()) { AddLine(frame.LeftTop(), frame.RightTop(), dark); AddLine(BPoint(frame.left, frame.top + 1), BPoint(frame.right, frame.top + 1), ldark); AddLine(frame.LeftBottom(), frame.RightBottom(), hilite); } else if (fBarView->AcrossTop() || fBarView->AcrossBottom()) { AddLine(frame.LeftTop(), BPoint(frame.left, frame.bottom), dark); AddLine(BPoint(frame.left + 1, frame.top + 1), BPoint(frame.right - 1, frame.top + 1), light); AddLine(BPoint(frame.right, frame.top + 2), BPoint(frame.right, frame.bottom), hilite); AddLine(BPoint(frame.left + 1, frame.bottom), BPoint(frame.right - 1, frame.bottom), hilite); } } else { if (fBarView->Vertical()) { AddLine(frame.LeftTop(), frame.RightTop(), light); AddLine(frame.LeftTop(), frame.LeftBottom(), light); AddLine(frame.RightBottom(), frame.RightTop(), hilite); } else if (fBarView->AcrossTop()) { AddLine(BPoint(frame.left, frame.top + 1), BPoint(frame.right - 1, frame.top + 1), light); AddLine(frame.RightTop(), frame.RightBottom(), vvdark); AddLine(BPoint(frame.right - 1, frame.top + 2), BPoint(frame.right - 1, frame.bottom - 1), hilite); AddLine(frame.LeftBottom(), BPoint(frame.right - 1, frame.bottom), hilite); } else if (fBarView->AcrossBottom()) { AddLine(BPoint(frame.left, frame.top + 1), BPoint(frame.right - 1, frame.top + 1), light); AddLine(frame.LeftBottom(), frame.RightBottom(), hilite); AddLine(frame.RightTop(), frame.RightBottom(), vvdark); AddLine(BPoint(frame.right - 1, frame.top + 1), BPoint(frame.right - 1, frame.bottom - 1), hilite); } } EndLineArray(); } Refactor mode switching. Change TDragRegion::SwitchModeForRect() to SwitchModeForRegion() and pass in BRegion's instead of BRect's. Create a new CalculateRegions() method which is called once at startup and again on ScreenChanged() instead of calculating the rect's over and over again inside MouseMoved(). Simplify calculations using BRegion's. Get the screen_where parameter from the Window()'s CurrentMessage() instead of converting the passed in where parameter to screen coordinates. This makes mode switching work 100% better. Restore full state, fix all issues, and disable it again. Fix issue with the window not resizing itself correctly when hiding the scroller arrows in vertical expando mode because Deskbar was using the bottom value of a scrolled view rather than its height. We only need to call CheckForScrolling() once before we resize the window. Consolidate all the window resizing code into ExpandoMenuBar::SizeWindow(), call CheckForScrolling() there one time, then resize the window and lay everything out again. Simplify expando menu bar background drawing. The only part of this drawing code that was actually being shown was the part where it stroked a vertical line like this: rgb_color menuColor = ui_color(B_MENU_BACKGROUND_COLOR); SetHighColor(tint_color(menuColor, 1.22)); StrokeLine(bounds.LeftTop(), bounds.LeftBottom()); The rest of the code was never seen. May the following code also be forever memorialized in this commit message: void TExpandoMenuBar::DrawBackground(BRect updateRect) { if (Vertical()) return; BRect bounds(Bounds()); rgb_color menuColor = ui_color(B_MENU_BACKGROUND_COLOR); rgb_color hilite = tint_color(menuColor, B_DARKEN_1_TINT); rgb_color vlight = tint_color(menuColor, B_LIGHTEN_2_TINT); int32 count = CountItems() - 1; if (count >= 0) bounds.left = ItemAt(count)->Frame().right + 1; else bounds.left = 0; if (be_control_look != NULL) { SetHighColor(tint_color(menuColor, 1.22)); StrokeLine(bounds.LeftTop(), bounds.LeftBottom()); bounds.left++; uint32 borders = BControlLook::B_TOP_BORDER | BControlLook::B_BOTTOM_BORDER | BControlLook::B_RIGHT_BORDER; be_control_look->DrawButtonBackground(this, bounds, bounds, menuColor, 0, borders); } else { SetHighColor(vlight); StrokeLine(bounds.LeftTop(), bounds.RightTop()); StrokeLine(BPoint(bounds.left, bounds.top + 1), bounds.LeftBottom()); SetHighColor(hilite); StrokeLine(BPoint(bounds.left + 1, bounds.bottom), bounds.RightBottom()); } } Change-Id: Id9ddd60c997a785184208ba02938bee1416aeae9 Reviewed-on: https://review.haiku-os.org/c/haiku/+/2253 Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
|
#
15eb397e |
|
19-Jul-2018 |
John Scipione <jscipione@gmail.com> |
Deskbar: Adjust team menu items with font size. The Deskbar team menu should look the same at 12pt but much better at larger (and smaller) font sizes. Determine team menu item height in TBarView instead of TTeamMenuItem::GetContentSize() because it is needed earlier in the process, and also call method in GetContentSize(). The clock is centered horizontally in the first replicant row and the width can grow to push the replicant icons better at larger font sizes. The replicant tray and clock go to the bottom in horizontal bottom mode and go to the top in horizontal top mode for Fitt's Law convinience and go in the center of the first row in vertical mode. Grow horizontal team item widths with font size, and shrink them down to 1/2 of full width to fit more, or 1/2 padding for icon-only. In horizontal mode the menu item size increases so that you can fit approximate the same amount of label text based on icon and font size. hit the width limit the items shrink and the label gets truncated (like before.) Scale team menu with font size. Reduce to half width for hide labels. Change-Id: I93ecc8acded274b994728e7247768455862e31c5 Reviewed-on: https://review.haiku-os.org/c/haiku/+/345 Reviewed-by: waddlesplash <waddlesplash@gmail.com>
|
#
5529e8d2 |
|
26-Jan-2020 |
Murai Takashi <tmurai01@gmail.com> |
deskbar: Fix PVS V757 Use dynamic_cast to menuItem after NULL checking to it. Change-Id: I3fdabf5a091922587f498cf5fa116f8824bbfc6b Reviewed-on: https://review.haiku-os.org/c/haiku/+/2160 Reviewed-by: Adrien Destugues <pulkomandy@gmail.com> Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
|
#
419bc0a2 |
|
03-Nov-2018 |
Axel Dörfler <axeld@pinc-software.de> |
Deskbar: Made the leaf scale with the font size * It's now a vector icon as well. * Vertical mode doesn't look that good anymore with higher font sizes, but I didn't understand how to do it properly. Change-Id: I0eed0e2873b270c349dfd3af117cfcb751e590a1 Reviewed-on: https://review.haiku-os.org/671 Reviewed-by: Stephan Aßmus <superstippi@gmx.de>
|
#
2d27c2d0 |
|
05-Nov-2017 |
John Scipione <jscipione@gmail.com> |
Deskbar: Fix bug where items are sometimes wrong size in vertical mode because the menu's MaxContentWidth is too small. Fixes #13715
|
#
037df929 |
|
13-Sep-2017 |
John Scipione <jscipione@gmail.com> |
Revert "Revert "Deskbar: eliminate infinite loop bug"" This reverts commit 032a3f45f76d811cb25e76a96a2c817ce3840b99.
|
#
032a3f45 |
|
13-Sep-2017 |
John Scipione <jscipione@gmail.com> |
Revert "Deskbar: eliminate infinite loop bug" This reverts commit 6d7890478b78265f4670978a58384fb438de0007. Fixed the bug, but, causes another bug, will revisit.
|
#
6d789047 |
|
13-Sep-2017 |
John Scipione <jscipione@gmail.com> |
Deskbar: eliminate infinite loop bug TBarWindow::FrameResized() calls TBarView::UpdatePlacement() to resize the ExpandoMenuBar, however, UpdatePlacement() as part of its work also resizes the window, which calls TBarWindow::FrameResized() which in turn calls TBarView::UpdatePlacement() and so on. To get out of this mess remove TBarView::UpdatePlacement() from TBarWindow::FrameResized() but that leaves ExpandoMenuBar the wrong size initially. To fix this call SizeWindow() on AllAttached() which resizes ExpandoMenuBar along with the rest of the window, but, just once not in an infinite loop. Use AllAttached() rather than AttachedToWindow() so that we are assured that ExpandoMenuBar and all of its children have been attached thus avoiding the potential for an embarrasing Deskbar crash. Fixes #13706
|
#
ff8f17e7 |
|
12-Sep-2017 |
John Scipione <jscipione@gmail.com> |
Deskbar: minor style fix minor whitespace fix in ExpandoMenuBar
|
#
1bb2e623 |
|
01-Mar-2013 |
John Scipione <jscipione@gmail.com> |
Deskbar: variable width Deskbar in vertical mode Feature to make Deskbar width variable via a dragger. Resize Deskbar by clicking and dragging the mouse on the horizontal side of Deskbar opposite the screen's edge. (left side for default top right). The resize dragger is hidden in horizontal mode. Details below: * ExpandoMenuBar is resized with rest of window. * Rename where to whereScreen to make it clear that the variable is in screen coordinates. * Lock focus on window while resizing * Resize via TResizeControl class which is based on TDragRegion * Set default width to minimum so everything stays the same. - don't set the width setting to 0 on quit, use the new setting. * Set max tray width based on setting * Make clock area a bit wider preventing replicant icons from overrunning the clock area. * Leave more room left of clock makes replicants wrap earlier, leaving icon gap width between replicants and clock. Before it would butt flush against the clock before moving down a row. * Remove FrameMoved from TDragRegion, we are already doing this in BarView -- no reason to do it twice. * Need to redraw the drag region after moving or it will be half drawn. * Hide resize control in horizontal mode * Add room for resize dragger when placing replicants * Update width setting unless window is hidden - This prevents Deskbar from being set to minimum width after it is hidden. Also, constrain width setting within limits but not width of the BarView which we want to track the window width. In practice they should be the same but it is possible for them to get out of sync and that's okay. Obvious example of the setting and actual width of the window being out of sync is in the hidden case. unify dragger width and kDragWidth vars Make drag regions pixel perfect: * Vertical mode status tray reduced in height by 1px to match height in horizontal mode exactly. * move icons over by 2px in horizontal mode so that there is a bit more space on the left and so that it matches pixel perfect with vertical mode. - to see this quickly switch between bottom right vertical at the minimum width and horizontal mode then notice how the icons don't move Draw drag background then menu color when not active to get rid of drawing glitches in horizontal mode on the top pixel. Add some more room between last icon and clock in horizontal mode.
|
#
b32b2f90 |
|
15-Aug-2017 |
Adrien Destugues <pulkomandy@pulkomandy.tk> |
DeskBar: remove app name from expanded window items Expanded window items are listed right under the team item. So, it is not needed (and a waste of space) to repeat the team name there. Detect two common patterns for adding the application name to windows: AppName: Window and Window - AppName Remove both from the item labels, leaving a little more space for useful information in DeskBar.
|
#
b1967b10 |
|
09-Jan-2017 |
John Scipione <jscipione@gmail.com> |
Revert "Deskbar: Scale cut-off leaf icon in horizontal mode" This reverts commit 066137eb05fc965261d6e50f24e41b9dcf79a5a7. Reverting while I figure out what is causing Deskbar to crash.
|
#
066137eb |
|
07-Jan-2017 |
John Scipione <jscipione@gmail.com> |
Deskbar: Scale cut-off leaf icon in horizontal mode Fixes #8505 restoring the aesthetic integrity of the cut-off leaf. Add vertically & horizontally centered, whole vector icon to rdef. Reformat BarMenuTitle.h rename header guard from BARMENUTITLEH to BAR_MENU_TITLE_H. Created TDeskbarMenuTitle subclass which deals with Deskbar menu item stuff like getting the icon from vector data and pushing the leaf down a few pixels to cut off the leaf (maintaining its aesthetic integrity). Made TBarMenuTitle methods virtual. Remove unused expando constructor parameter and private variable. Add a TODO to scale the bitmap if we can't find any vector icon data. With non-vector bitmap it behaves same as before this commit in horizontal mode. Adjust kMinimumTrayWidth to restore Deskbar's minimum width to its classic value since days of yore, 143px. This, perhaps not coincidently, is exactly the amount fit 7 replicant icons. Update constants in the code to reflect this reality. Adjustable width coming soon. replace dynamic_cast<TBarApp*>(be_app) with a static_cast in 1 place.
|
#
c2507fb8 |
|
22-Aug-2016 |
John Scipione <jscipione@gmail.com> |
Deskbar: get default collator from BLocale ...using BLocale::Default()->GetCollator(&collator) Thanks waddlesplash
|
#
dd6fccb0 |
|
22-Aug-2016 |
John Scipione <jscipione@gmail.com> |
Deskbar: Add new apps using locale collator ... sorry I overlooked this case in my last commit. Need to add apps using the locale collator Compare() method instead of strcasecmp() as well. Fixes #7712 better.
|
#
bd6dcb36 |
|
22-Aug-2016 |
0xffea <0xffea@gmail.com> |
Deskbar: item sorting is not locale-sensitive Fix using a global BCollator defined in BarApp. Called static CompareByName() method in TTeamMenu instead of duplicating code, made method public. This comes from a patch by 0xffea for GSoC 2014. A locale aware version of NaturalCompare in WindowMenuItem.cpp is still needed. Fixes #7712 Signed-off-by: John Scipione <jscipione@gmail.com>
|
#
2e95f9e6 |
|
12-Jul-2016 |
looncraz <looncraz@looncraz.net> |
Deskbar: Expand already running applications on startup. Fixes #12480. Another way to solve this would be to ensure that TExpandoMenuBar was subscribed to TBarApp's notifications before TExpandoMenuBar::AttachedToWindow() returns, but creates other problems that this solution does not have. Signed-off-by: Augustin Cavalier <waddlesplash@gmail.com>
|
#
16c10517 |
|
09-Dec-2015 |
looncraz <looncraz@looncraz.net> |
Deskbar: Convert to using Set*UIColor. Signed-off-by: Augustin Cavalier <waddlesplash@gmail.com> Patches 0076 from looncraz, unmodified.
|
#
bd97c88a |
|
03-Jul-2015 |
Philippe Saint-Pierre <stpere@gmail.com> |
Deskbar: check dynamic_cast results CID 1108236 and CID 1108237
|
#
b49e806d |
|
30-Mar-2015 |
Axel Dörfler <axeld@pinc-software.de> |
Deskbar: minor style cleanup.
|
#
dd251369 |
|
26-Feb-2015 |
John Scipione <jscipione@gmail.com> |
Deskbar: Fix an edge case sizing bug If you have no apps open because Tracker crashed and you opened a new team it would size the expando menu bar incorrectly in vertical mode. This fixes the problem.
|
#
548661da |
|
23-Feb-2015 |
John Scipione <jscipione@gmail.com> |
Deskbar: Fix window updating bug #11865 We must toggle the expanded state of new windows if we are in VERTICAL expando mode with Expand New Teams on. The vertical part of the check got dropped accidentally in hrev48817 Thanks jstressman for reporting. Fixes #11865
|
#
ae30ad6e |
|
23-Feb-2015 |
John Scipione <jscipione@gmail.com> |
Deskbar: Remove settings member vars ... from expando menu bar. Get them from the BarApp settings instead. This is so that we don't have to keep the settings and the member vars in sync.
|
#
4f4cab95 |
|
23-Feb-2015 |
John Scipione <jscipione@gmail.com> |
Deskbar: Move ExpandoMenuBar name to constructor ... instead of passing it in from BarView.
|
#
2bb18298 |
|
23-Feb-2015 |
John Scipione <jscipione@gmail.com> |
Deskbar: Tiny indent style fix
|
#
64182ccb |
|
20-Feb-2015 |
John Scipione <jscipione@gmail.com> |
Menu and Deskbar: Remove _SetMenuLayout() method and remove TExpandoMenuBar as a friend class to BMenu hack. In Deskbar, call the newly added MenuPrivate::SetLayout() method instead. This is a much cleaner way to implement this, thanks Stefano Ceccherini for the tip!
|
#
c38afcd6 |
|
19-Feb-2015 |
John Scipione <jscipione@gmail.com> |
Deskbar: Remove Name() and fName, replace with Label() ... from TeamMenuItem and WindowMenuItem. It was confusing having Name(), Label(), and TruncatedLabel(). Name() == Label() because Label() never changes, the displayed Label stored in TruncatedLabel() in both TeamWindowItem and WindowMenuItem (remember they both inherit from TruncatableMenuItem so they get that for free). So Name() was redundant, by getting rid of it there is just Label() and TruncatedLabel() which is all we need!
|
#
6b65d934 |
|
19-Feb-2015 |
John Scipione <jscipione@gmail.com> |
Deskbar: some more style fixes, reorg methods
|
#
1501d1d6 |
|
19-Feb-2015 |
John Scipione <jscipione@gmail.com> |
Deskbar: Remove redundant include statements
|
#
c9363f78 |
|
19-Feb-2015 |
John Scipione <jscipione@gmail.com> |
Deskbar: Truncate menu item labels refactor * Create a new TTruncatableMenuItem class to store the truncated string and share the label truncation code between TTeamMenuItem and TWindowMenuItem. In the future more shared code may be added to this class, if so, the class name may change. * The TTeamMenuItem and TWindowMenuItem classes inherit from TTruncatableMenuItem, which inherits from BMenuItem. * Make sure to truncate the label before drawing it in all cases. * Some other related refactoring. Fixes #9507
|
#
25295e68 |
|
13-Feb-2015 |
John Scipione <jscipione@gmail.com> |
Deskbar: Set the tool tip for truncated label
|
#
5e625ead |
|
12-Feb-2015 |
John Scipione <jscipione@gmail.com> |
Deskbar: Label truncation code refactor & cleanup * Increase kVPad to 2.0f in ExpandoMenuBar matching the constant in WindowMenuItem * Also replace a hardcoded instance of 4.0f with kVPad * 2 * Remove TTeamMenuItem::DrawContentLabel(), move code to DrawContent() * Cleanup label truncation code in TTeamMenuItem, still needs work. * Rename WindowMenuItem::FullTitle() to Name() matching TeamMenuItem * Move the code to set all label related variables in SetLabel() in TeamMenuItem * Change WindowMenuItem::SetRequireUpdate() to take a bool parameter * Make WindowMenuItem::Initialize() private and rename it to _Init() * Rename WindowMenuItem::ExpandedItem() to SetExpanded() * Truncate WindowMenuItem label like we are doing TeamMenuItem * Rename all WindowMenuItem::Title* methods and variables to Label*
|
#
deaae5fc |
|
07-Jan-2014 |
John Scipione <jscipione@gmail.com> |
Deskbar: Persist ExpandoMenuBar Add private BMenu::_SetMenuLayout() method. Set TExpandoMenuBar as a friend class in BMenu to call this method. A little hacky, but, this keeps SetMenuLayout() from being exposed as part of the public API. Don't destroy and rebuild the ExpandoMenuBar when switching from horizontal to vertical mode. Instead build the TExpandoMenuBar when the application starts and then switch it from B_ITEMS_IN_ROW to B_ITEMS_IN_COLUMNS by using the newly added _SetMenuLayout() method. When we resize from vertical to horizontal, recalc the max menu item widths, this resizes the application menu items so that they take up the right amount of space. Since we no longer destroy the menu bar we no longer have to save whether menu items are expanded or not in a separate list. Instead we can store that information in directly in TExpandoMenuBar. This removes a lot of code. Fixes #9350
|
#
18bcf77a |
|
06-Jan-2014 |
John Scipione <jscipione@gmail.com> |
Deskbar: Don’t save fHasLabel and fVertical in the TTeamMenuItem, get it from the parent or settings instead.
|
#
8afcac1b |
|
06-Jan-2014 |
John Scipione <jscipione@gmail.com> |
Deskbar: Compare signature case-insensitive
|
#
9f339a00 |
|
06-Jan-2014 |
John Scipione <jscipione@gmail.com> |
Deskbar: Style fixes only
|
#
3aeed660 |
|
07-Aug-2014 |
Jérôme Duval <jerome.duval@gmail.com> |
include strings.h where appriopriate... instead or additionally to string.h, in preparation for functions move. * moves str[n]casecmp() functions and others to strings.h. * strings.h doesn't include string.h anymore. * this solves #10949
|
#
54c74664 |
|
08-Oct-2013 |
John Scipione <jscipione@gmail.com> |
Deskbar: Re-add tooltip code for truncated items I accidentally removed it last commit, sorry about that.
|
#
4875d5a0 |
|
08-Oct-2013 |
John Scipione <jscipione@gmail.com> |
DeskBar: refactor expander code. With the Tracker thread code in shared now it is possible to use the same trick for the expanders in Deskbar to open and close in a separate thread that we use in Tracker. See Find Panel and Info window for examples of the code being used in Tracker. Also eliminates the fClickedExpander variable and allow you to expand with any mouse button. Hopefully fixes #9676
|
#
f47bef09 |
|
15-Jul-2013 |
John Scipione <jscipione@gmail.com> |
Deskbar: Check if window is NULL. Fixes #9860 It is possible, through the right combination of steps, for this method to be run on startup before the view is attached to the window causing a crash because Window() returns NULL. This fix returns false in this case instead. Later, when an application such as Tracker is started and added to Deskbar this method will be run again with the view attached to the window.
|
#
128c5556 |
|
28-May-2013 |
John Scipione <jscipione@gmail.com> |
Set fLastMousedOverItem NULL in ctor This has a good chance to fix #9676
|
#
9ffe3504 |
|
28-May-2013 |
John Scipione <jscipione@gmail.com> |
Don't set this pointer NULL, is set on next line.
|
#
c0d45b53 |
|
28-May-2013 |
John Scipione <jscipione@gmail.com> |
Remove DOUBLECLICKBRINGSTOFRONT macro The code that used it has already been removed and if it were enabled it would do bad things.
|
#
d0f798c8 |
|
28-May-2013 |
John Scipione <jscipione@gmail.com> |
Style fixes to ExpandoMenuBar
|
#
25ca105e |
|
22-Apr-2013 |
John Scipione <jscipione@gmail.com> |
Tiny style fix
|
#
30e6af93 |
|
17-Apr-2013 |
John Scipione <jscipione@gmail.com> |
Eliminate background app and Deskbar app checks This is a follow up on the fix for #9632. Now that the group list in Deskbar never deals with background apps or the Deskbar app itself we can simplify the code by eliminating the checks, especially in Switcher.cpp (Twitcher). Checking for background apps and Deskbar has also been eliminated from TExpandoMenuBar and TTeamMenu. The single point of entry for these checks is in TBarApp::AddTeam(). In Switcher.cpp remove OKToUse() since the list is assumed to contain only valid entries. TSwitchManager::CountVisibleGroups() also got removed because all groups are visible. TSwitchManager::_FindNextValidApp(), TSwitchManager::QuitApp(), TIconView::ItemAtPoint(), TIconView::ScrollTo(), and TIconView::FrameOf() all got simplified significantly.
|
#
f2e15d07 |
|
14-Apr-2013 |
John Scipione <jscipione@gmail.com> |
Need to remove items after Subscribe()
|
#
0969e20e |
|
14-Apr-2013 |
John Scipione <jscipione@gmail.com> |
Refactor ExpandoMenuBar::BuildItems a bit
|
#
a5172b44 |
|
14-Apr-2013 |
John Scipione <jscipione@gmail.com> |
Fix bug where application menu items were wrong size ...in horizontal mode, also make CheckItemSizes more efficient
|
#
e83b2f0b |
|
14-Apr-2013 |
John Scipione <jscipione@gmail.com> |
Create a SetMaxItemWidth() method and set it in horizontal mode on update
|
#
b76cec7d |
|
10-Apr-2013 |
John Scipione <jscipione@gmail.com> |
Pass a pointer to the TBarView object into the ExpandoMenuBar constructor I fear that perhaps the fBarView variable may be accessed before it has a chance to be set in AttachedToWindow(). By setting it in the constructor there is no chance of this. Might fix #9656
|
#
86c4eae3 |
|
07-Apr-2013 |
John Scipione <jscipione@gmail.com> |
Also nullify other saved items on delete
|
#
1dccb7aa |
|
07-Apr-2013 |
John Scipione <jscipione@gmail.com> |
Don't call DrawExpanderArrow() directly, set a variable and Invalidate()
|
#
9f2cce2f |
|
06-Apr-2013 |
John Scipione <jscipione@gmail.com> |
Eliminate repeating CountItems() loop premature micro-optimization Loop backwards if possible, if not, set a variable and use that instead. There were a couple of instances where the loop style got changed from for (int32 i = CountItems(); --i >= 0;) to for (int32 i = CountItems() - 1; i >= 0; i--) { but should be functionally equivalent.
|
#
e6b6af80 |
|
07-Apr-2013 |
John Scipione <jscipione@gmail.com> |
Fix a crash bug I introduced to Deskbar last commit Need to set fLastClickedItem to NULL so it doesn't point to a deleted item. Sorry about that.
|
#
5b0fd10d |
|
07-Apr-2013 |
John Scipione <jscipione@gmail.com> |
Animate the expander arrow On MouseDown draw a diagonal arrow, on MouseUp complete the animation and expand. If you hold down the button it will stay diagonal until you MouseUp and either return to normal or animate and expand if over the arrow. Reformatted ExpandoMenuBar.h and TeamMenuItem.h Renamed fLastClickItem to fLastClickedItem Added a DrawExpanderArrow() method Renamed private InitData() method to _InitData() and moved it to the bottom
|
#
9bc3b671 |
|
06-Apr-2013 |
John Scipione <jscipione@gmail.com> |
Fix a bug involving the Vulcan Death Grip closing the wrong app If you have expander turned on with expanded apps and you quickly remove teams with the VDG you can remove a team not under your mouse pointer, instead you remote the team above. This is because the window watcher thread hasn't updated yet so the TeamItemAtPoint() method reads a window menu item instead of the team item. The solution is to lock the window watcher thread and explicitly remove the window menu items in RemoveTeam(). This bug can be really bad if you accidentially VDG Tracker as your system gets hosed until you restart Tracker or reboot.
|
#
e13f5676 |
|
27-Mar-2013 |
John Scipione <jscipione@gmail.com> |
Cache app icons in BarInfo to make them load faster. This turns an IO bound problem into a CPU bound problem. In my testing this speeds up icon resizing dramatically although the CPU is quickly pegged at 100% trying to redraw the Deskbar if you whip the icon size slider back and forth with a dozen or so apps open and soon the CPU can't keep up and Deskbar lags behind.
|
#
53ec5d1f |
|
11-Mar-2013 |
John Scipione <jscipione@gmail.com> |
Rebuild application menu bar less. Fixes #8539 (I hope) Instead of destroying and rebuilding the application menu bar each time we change state, create it at startup and then only update it from there on. This means that bugs that rely on the app bar being constantly destroyed and rebuilt will be much less likely to occur. Unfortunatly, there is still one case where the application menu bar is being destroyed and recreated and that is when you are switching between horizontal and vertical mode, and that is because a menu bar cannot be altered from B_ITEMS_IN_ROWS to B_ITEMS_IN_COLUMNS anywhere but in the constructor. * Renamed fExpando to fExpandoMenuBar * Updated TExpandoMenuBar to be more flexible after construction, the menu items are built in the new BuildItems() method. Also, don't pass the BarView object in at contruction, that can happen in AttachedToWindow(). Also, set fDeskbarMenuWidth just once at constructor, no reason to keep setting it over and over again.
|
#
f3ac8bc0 |
|
03-Mar-2013 |
John Scipione <jscipione@gmail.com> |
Show the full window title in Deskbar in a tooltip ... if it gets truncated in vertical expando mode.
|
#
d06f5808 |
|
25-Feb-2013 |
John Scipione <jscipione@gmail.com> |
Revert "Prevent a deadlock condition in Deskbar. Fixes #8539" This reverts commit 733be65954f85c0c0cd57d0bec95d8a47f9d1f4a. It didn't fix the bug, will try again.
|
#
733be659 |
|
24-Feb-2013 |
John Scipione <jscipione@gmail.com> |
Prevent a deadlock condition in Deskbar. Fixes #8539 If the window is locked by the menu_tracking thread Deskbar will wait on the sMonThread thread to exit forever so we have to kill it to prevent a deadlock. This is a workaround of a bigger problem, which is that fExpando gets created and destroyed on each change which is slow allowing these kinds of bugs to exist. The real solution is to live update fExpando but that is a fair amount of work.
|
#
88571c92 |
|
24-Feb-2013 |
John Scipione <jscipione@gmail.com> |
Refactor TExpandoMenuBar::MouseDown() style. No functional change intended. * Check for NULL fields in the beginning and return decreasing the indent level of the rest of the method. * Move some comments to next line indented
|
#
a05a00c8 |
|
12-Nov-2012 |
John Scipione <jscipione@gmail.com> |
Tiny style fix
|
#
3135d0e0 |
|
27-Oct-2012 |
John Scipione <jscipione@gmail.com> |
Shrink icon only width a bit to make room for more icons ...before turning scrolling on.
|
#
e4f9bfce |
|
27-Oct-2012 |
John Scipione <jscipione@gmail.com> |
Need to position window before checking for scrolling. Otherwise when you switch from bottom mini mode to vertical expando mode you'll get scroll arrows when you shouldn't because the bottom of the window frame will be below the screen.
|
#
d6f6b835 |
|
26-Oct-2012 |
John Scipione <jscipione@gmail.com> |
Draw a nice menu background on the inline scroll view and when scroll faster when you push control/option/command and click the little arrow button.
|
#
ed75ca72 |
|
26-Oct-2012 |
John Scipione <jscipione@gmail.com> |
Set the scroll arrow limit based on the min menu item widths ... rather than the current menu item widths. This means that Deskbar will shrink the menu items until they are at their minimum size before it activates the scroll arrows. Previous to this change the scroll arrows were being turned on prematurely. Also lower the minimum menu item width to the icon width + 50pixels which is arbitrary but looks good to my eye.
|
#
c07e6ff2 |
|
26-Oct-2012 |
John Scipione <jscipione@gmail.com> |
Make horizontal scrolling work in Deskbar * Split the Leaf menu and seperator into their own menubar. * I got rid of a lot of special cases for horizontal in the ExpandoMenuBar class because now the menubar contains the same items as in vertical mode. However, it also means that the dreaded <none> bug also affects horizontal mode. * Make the application menubar resize itself even in horizontal mode. This means that the view background shows through so I'm going to have to fix this up. * Calculate when to add the scroll arrows and how much to allow the user to scroll by for horizontal. CheckItemSizes() got a big refactoring. * Rework the InlineScrollView class a bit. It no longer requires you to specify the begin and end limits on construction because it can calculate them instead. It also no longer depends on the screen at all, this means this class can be extened to be used more generally and in more places.
|
#
e6d8c22a |
|
26-Jul-2012 |
John Scipione <jscipione@gmail.com> |
WIP: Add support for horizontal scrolling.
|
#
32f840b7 |
|
25-Jul-2012 |
John Scipione <jscipione@gmail.com> |
Rename ScrollArrowView to InlineScrollView InlineScrollView takes a BView instead of a BMenu as well, and it no longer has flags to do drawing respond to frame changes since this view does neither of those things.
|
#
fcfe60b0 |
|
24-Jul-2012 |
John Scipione <jscipione@gmail.com> |
Renamed BMenuScrollView to TScrollArrowView and moved it into Deskbar Also gave the Up Arrow and Down Arrow a scroll arrow. The up arrow works but the down arrow doesn't because the sibling menu is stealing the MouseDown event."
|
#
afa1c291 |
|
21-Jul-2012 |
John Scipione <jscipione@gmail.com> |
Tweaks, remove dead code. Menu and Menubar are stock again.
|
#
7ee3b479 |
|
21-Jul-2012 |
John Scipione <jscipione@gmail.com> |
Make the MenuScrollView a fixed size... instead of trying to make it follow fExpando just make it a fixed size on creation. It is invisible and extends to the bottom of the screen. fExpando grows inside it, and the window follows fExpando. When the window grows taller than the screenframe the arrows are added. You can scroll with the mouse wheel, but I haven't yet gotten scrolling to work from clicking. Deskbar still crashes when going from Mini mode to vertical expando mode. I have no idea why.
|
#
49ff476d |
|
19-Jul-2012 |
John Scipione <jscipione@gmail.com> |
Make ScrollMenu not rely on Menu.cpp Rename ScrollMenu.cpp to MenuScrollView.cpp Half step towards making this class work as part of Deskbar without extending any other classes. Scrolling works both with mouse and scroll wheel. Redraws on scroll, need to make that work better. Also need to move classes out of the Interface Kit and into Deskbar.
|
#
cb55ef9f |
|
27-Jun-2011 |
John Scipione <jscipione@gmail.com> |
WIP: Created a BScrollMenu class that works like BMenuWindow but works on a view instead of a window. Use this to implement a scrollable BarMenuBar in Deskbar. The basics work but there are issues still with sizing and other issues. Modify the ScrollMenu class to use the layout kit by adding a constructor that doesn't take a view. Get the BScrollMenu class to follow the size of the BMenu it is a parent of. Adjust the scrollers to appear in the right places. This is a WIP but it works in Deskbar, next step is to integrate this directly into BMenu with the scrollers as children of the menu instead of as children of the BScroller class. Rebase changes on top of master Deskbar scrolling works for the most part, just need to fix the bottom arrow and clean up a bit.
|
#
1a59d9db |
|
12-Aug-2012 |
Ryan Leavengood <leavengood@gmail.com> |
Improve Deskbar's WindowShouldBeListed utility function. It now has all the knowledge about whether a window should be shown or not. Since I fixed #4127, ORing with is_mini is no longer needed.
|
#
e9632898 |
|
09-Aug-2012 |
Alex Smith <alex@alex-smith.me.uk> |
Added Tracker and Deskbar to x86_64 build.
|
#
ab4e79c3 |
|
02-Aug-2012 |
Ryan Leavengood <leavengood@gmail.com> |
Fix Deskbar based on my recent menu change. Thanks augiedoggie for pointing it out.
|
#
615d572d |
|
03-May-2012 |
John Scipione <jscipione@gmail.com> |
Fix #8505 cut-off Deskbar leaf bug. Replace the leaf bitmap with a non-cutoff version derived from the 'data/artwork/Haiku Leaf' file. So, when icon size is > 16 the full deskbar leaf is shown without the bottom cut-off. It should look pretty much identical at 16x16 and in vertical mode at any icon size. Also add a deskbar_leaf.png file to the data/artwork directory although I didn't use that file in Deskbar, instead I embed an archive bitmap into icons.h. I got rid of icon-freelogo.rdef and icons_logo.h.
|
#
5ccf455f |
|
03-May-2012 |
John Scipione <jscipione@gmail.com> |
Fix another tooltip related bug that appears in Deskbar. The bug is that in horizontal mode the tooltip will remain set to the last moused over team menu item even if the mouse is no longer over a menu item. The bug can be seen in the following screenshot: http://26.media.tumblr.com/tumblr_m3gze8s1xi1r0f0hfo1_400.png To fix this bug, allow you to set the tooltip text to blank or NULL in SetToolTip(const char* text). In ShowToolTip() check to see if the tooltip text is blank or NULL and if so, don't show the tip. Setting the tooltip to blank or NULL effectively unsets the tooltip on a view.
|
#
06736193 |
|
02-May-2012 |
John Scipione <jscipione@gmail.com> |
Remove uneeded include and tiny whitespace fix I missed earlier.
|
#
dc05c262 |
|
02-May-2012 |
John Scipione <jscipione@gmail.com> |
Refactor Tooltip's in Deskbar. Only update the tooltip if the mouse goes over a new menu item making sure to exit if the item is NULL, there is a visible label, or it is the same item. If the mouse moves outside the view reset the last item to NULL. * Rename DrawLabel() and SetDrawLabel() to HasLabel() and SetHasLabel() to make it clear what these methods are setting a getting and setting a bool and not doing the actual work for drawing the label.
|
#
1cd61330 |
|
02-May-2012 |
John Scipione <jscipione@gmail.com> |
Style fixes including reordering #include's in Deskbar * Reorder includes according to the Style Guide. * Whitespace changes, mostly making sure there are 2 newlines between things and making sure there is 1 newline at the end of each file. * Make end of header files all in the style of #endif\t/* _HEADER_GAURD_H_ */ * The one change that is not purely style is to #include <Path.h> in DeskbarUtils.h instead of DeskbarUtils.cpp because it is used to define entry_ref for the AddRefsToDeskbarMenu() prototype.
|
#
f73d1f4f |
|
24-Apr-2012 |
John Scipione <jscipione@gmail.com> |
Cache the lastMousedOverItem before showing tooltip. Optimization, only update the tooltip if not the same as the cached last moused over item. That way the same application name won't keep getting set over and over again.
|
#
1f0c9f18 |
|
23-Apr-2012 |
John Scipione <jscipione@gmail.com> |
Set a tooltip with the application name if hidden. If Deskbar is set to hide application names show the application name as a tooltip when you hover your mouse over the item. * Style fixes. * Save CountItems() into a variable outside the loop so that it only gets called once (micro-optimization/best-practice). * Convert a for loop to a while loop that wasn't really being used used as a for loop anyway, the variables are declared and used outside the loop.
|
#
3cf2d117 |
|
14-Apr-2012 |
John Scipione <jscipione@gmail.com> |
Change Time Format Options in Deskbar preferences. Added two new methods to the Locale Kit in order to create a custom time formats from a format string. One method is outputs into a char* array, the other into a BString() and you can set the timezone. These methods should be cleaned up, we only need 2, one to get the time in a predefined style, the other to get a custom time format. Also should probably do the same for dates and datetimes. But I'll let this go for now. I added myself to the Locale.cpp file. I retained the copyright instead of assigning it to Haiku, Inc. because the file is under the OpenBeOS license and I don't know what the concequences of copyright sharing are for that license, unlike MIT. These new methods are used to generate custom time formats in Deskbar. Instead of using a set of Radio Buttons to choose between the predefined time options I build my own by creating a format string and passing it to the Locale Kit. The format string is generated from 3 checkboxes, show seconds, show day of week, and show time zone. You can mix and match between them choose any that you like. By default they are all off. There are 3 new deskbar settings associated with these new options: showSeconds, showDayOfWeek, and showTimeZone. timeFormat has gone away. The time format string gets cached and updated only when Update() gets called on the TimeView class. In order to fit all the options in (there is 1 more than before) I had to reduce the font size of the clock to 11pt when all options are turned on in 12 hour mode. For those with no imagination it looks like this: http://imagebin.org/208162 Renamed "Open time preferences..." menuitem to "Time preferences...". Renamed "Show Time" and "Hide Time" to "Show time" and "Hide time". Other changes include refactoring the header files a bit. There were a lot of headers included by header files uneccessarily. For instance BarWindow.h now only includes <Window.h> and <Deskbar.h>. This change is mainly to to speed up the compile time since it takes a while right now. I copy the fBarView pointer from BarWindow in the BarApp constructor and then use that throughout the file rather than getting the pointer from the window each time by calling BarView(). BarView() is still available in the header for other classes though. I moved some message constants around since it was getting a bit jumbled. Most of the messages related to settings are in PreferenceWindow.h. fChangeState is moved to BarView.h since that is where the ChangeState() function is and BarView.cpp uses that constant. The time interval and format constants are in TimeView.h. Make some methods public in their respective classes where it made sense. The preference window methods to update dependent items are public, that might get called from BarWindow when a message gets received at some point. Also made ShowHideTime() and Time() public in StatusView.h. These methods activate showing and hiding the clock and return the fTime clock object. No reason they should be private. I reindented the StatusView.h and PreferenceWindow.h headers to the standard style. Question here, are the public: protected: and private: lines inside of classes suppose to get indented 1 tab or not? I've seen both, the style guide says no indent but 1 indent seems reasonable and looks pretty good. Style fixes here and there. That's enough for one commit I think.
|
#
3ea5972e |
|
06-Apr-2012 |
John Scipione <jscipione@gmail.com> |
Style fix. Take out 3 sets of unneeded curly braces.
|
#
2ce9bab8 |
|
27-Jun-2011 |
John Scipione <jscipione@gmail.com> |
Fisher Price Deskbar icon support Implements the feature described in #7132 Also fixes #2387 (menu items too big in horizontal mode when font size > 12) Adds a slider to Deskbar preferences which allows you to resize your Deskbar team icons from 16x16 to 96x96. The default is 16x16. This works both in vertical and horizontal mode. In vertical mode when icon sizes are greater than 32x32 the label moves underneath the icon where there is more room. In horizontal mode the width of the menu item increases to make room for the icon while keeping room for the label the same. As many applications are added the labels are truncated as usual. This patch also adds a checkbox to the Deskbar preferences to hide application names to make more room for icons if you wish. It doesn't make a lot of sense at 16x16 but does >32x32. If the kResizeTeamIcons message gets dropped, don't resize to current value, just do nothing. This fixes a bug where sometimes the slider wouldn't trigger a resize. Fix a spelling error in a comment. Take out a redundant paren pair.
|
#
2d80a547 |
|
03-Mar-2012 |
Adrien Destugues - PulkoMandy <pulkomandy@pulkomandy.tk> |
Window title in Expanded Deskbar update properly * Regression introduced by r43195 * Fixes #8126
|
#
5e8f4256 |
|
03-Mar-2012 |
Adrien Destugues - PulkoMandy <pulkomandy@pulkomandy.tk> |
Revert part of r43092. * Caching of CountItems() to avoid calling it at each loop iteration * Use of strcasecmp when comparing strings for exact equality
|
#
4bbb27e3 |
|
12-Feb-2012 |
Jerome Duval <jerome.duval@gmail.com> |
More 'GCC4.6 variable set but not used' fixes.
|
#
323b6546 |
|
21-Nov-2011 |
Oliver Tappe <zooey@hirschkaefer.de> |
Filtered flat import of Oliver's svn package management branch Bring the changes that aren't package management related and the ones that are but don't take effect as long as they are ignored by the build system into the master. Summary of changes: * Introduce private header <directories.h> with constants for a good deal of paths that should usually be retrieved via find_directory(). * Replace hard-coded paths by using find_directory() or the <directories.h> constants (e.g. in drivers and the kernel). * Add find_directory() constants needed for package management. * Add __HAIKU_ABI_NAME and B_HAIKU_ABI_NAME macros. * src/apps/deskbar: BeMenu.* -> DeskbarMenu.*, DeskBarUtils.* -> DeskbarUtils.* * Change deskbar menu settings directory from ~/config/be to ~/config/settings/deskbar. * Other smaller cleanups, changes, and fixes.
|
#
7eb3210e |
|
05-Nov-2011 |
John Scipione <jscipione@gmail.com> |
Sort application windows in Deskbar in 'natural' order yielding this: window 1 window 2 window 3 window 4 window 5 window 6 window 7 window 8 window 9 window 10 window 11 Instead of this: window 1 window 10 window 11 window 2 window 3 window 4 window 5 window 6 window 7 window 8 window 9 The natural order comparison method used in Deskbar is the same method used to sort file names in natural order in Tracker. Also when comparing window titles to their corresponding window menu item labels use the FullTitle() method instead of the Label() method because the label might get truncated. Fixes #7774 git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43195 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
3dfd9cb9 |
|
16-Jun-2011 |
Oliver Tappe <zooey@hirschkaefer.de> |
Flat commit of all changes from package-management branch in svn
|
#
9e8a970b |
|
24-Mar-2011 |
Jonas Sundström <jonas@kirilla.com> |
A better for the leaf logo bitmap. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41098 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
57a09638 |
|
28-Feb-2011 |
Fredrik Holmqvist <fredrik.holmqvist@gmail.com> |
Starting to apply style cleanup patches by John Scipione from bug 7052. This will force me to practice our code style. (As a sidenote, we are aware of the no of patches in the bug). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40744 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
e62cadc3 |
|
02-Jan-2011 |
Ryan Leavengood <leavengood@gmail.com> |
Apply the patch from #6069 which makes the Vulcan Death Grip Ctrl+Shift+Cmd. I assume if this wasn't wanted the ticket would have been closed, and I think this is fine. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40085 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
33da1e65 |
|
21-Apr-2010 |
Axel Dörfler <axeld@pinc-software.de> |
* Cleaned up MouseDown(), and fixed crash #5121 based on a patch by DarkWyrm, thanks! git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36389 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
0913b742 |
|
26-Nov-2009 |
Axel Dörfler <axeld@pinc-software.de> |
* Moved the double click check after the expander bounds check, fixing bug #5037. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34274 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
143e4fbc |
|
18-Nov-2009 |
Axel Dörfler <axeld@pinc-software.de> |
* Only activate the app on double click; don't bring all windows to front. * This closes ticket #4969. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34117 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
1192454d |
|
21-Oct-2009 |
Axel Dörfler <axeld@pinc-software.de> |
* Enabled and simplified the "double click team to front" feature, as it actually works under Haiku (with a caveat, as there is apparently an app_server bug that prevents that most of the time). * Simplified ExpandoMenuBar::MouseDown(). * Minor cleanup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33708 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
1c7348a7 |
|
21-Oct-2009 |
Axel Dörfler <axeld@pinc-software.de> |
* Moved the window item sort logic as static method into the TWindowMenuItem class. * Changed ExpandoMenuBar to use that logic as well, so that your entries will always keep the same sort order. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33704 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
71bd3ba5 |
|
30-Sep-2009 |
Jonas Sundström <jonas@kirilla.com> |
Removing ifdefs and code for non-Haiku build targets. Partial clean-up. Enforcing the 80-char limit, renaming constants, newline at end of file. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33377 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
7cb2cbf1 |
|
30-Sep-2009 |
Jonas Sundström <jonas@kirilla.com> |
Clean-up. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33372 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
290c9039 |
|
29-Sep-2009 |
Jonas Sundström <jonas@kirilla.com> |
Partial clean-up. Asterisks and k-prefix constants. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33366 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
cb6afcb1 |
|
21-Mar-2009 |
Stephan Aßmus <superstippi@gmx.de> |
* Give Deskbar a refreshed and cleaner look. * Fixed a bunch of problems in layouting the various views. (For example, the last app menu entry is no longer one pixel too short, but there was more...) * Fixed Deskbar being not wide enough for the Haiku logo in certain modes. * Enabled the mount menu. I think it's a good idea to have at a more prominent location where new Haiku users may look for it (Gnome also has this in the main panel). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29631 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
249a4a18 |
|
13-Oct-2008 |
Stephan Aßmus <superstippi@gmx.de> |
zooey + stippi: Reimplemented the drag message over the team entries dragging. The previous implementation used the menu bar tracking by faking a B_MOUSE_DOWN event. The problem was that in Haiku menus are always sticky and therefor the tracking thread was not exited when the user released the mouse (which was supposed to trigger the drop event in the Deskbar). The new implementation follows the drag in the asynchronous mouse hooks and uses it's own selection state in TTeamMenuItem to highlight the eventual drop targets. Fixes #2771. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28063 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
eaa9af99 |
|
12-Oct-2008 |
Stephan Aßmus <superstippi@gmx.de> |
Never use the current menu UI color, but always the view color of any given menu. Fixes #974. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28030 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
b8beeb35 |
|
12-Aug-2008 |
Axel Dörfler <axeld@pinc-software.de> |
* The Switcher now uses the new application/window order functions to sort the application/window lists before using them. * This means that you can now switch just between the two topmost apps when pressing Control-Tab. If you press it fast enough, it will fall back to the old method of iterating through all apps. * Only define the private BeOS window management API for BeOS itself, for Haiku, better use the private WindowInfo.h header. * Changed BeOS's window_info structure to match how Haiku does it (improved naming, separation between client_window_info and window_info). * Whitespace cleanup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26952 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
bd8185ab |
|
06-Jun-2008 |
Alexandre Deckner <alex@zappotek.com> |
- In vertical mode, TExpandoMenuBar used its own width to set the width of a newly added item. Removing the last item made the MenuBar resizes itself to (0,0), and broke further item width computation. We now use the parent view width (BarView) instead. This fixes #471 git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25826 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
4446e07a |
|
23-Jan-2007 |
Stefano Ceccherini <stefano.ceccherini@gmail.com> |
Use BMenu::RemoveItems() instead of looping... I hope I caught all occurrences. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19910 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
a5210ab1 |
|
11-Aug-2006 |
Axel Dörfler <axeld@pinc-software.de> |
Imported files from OT-current: * ExpandoMenuBar.cpp 1.18 * CalendarMenuItem.cpp 1.6 * WindowMenu.cpp 1.3 * TimeView.cpp 1.14 * StatusView.cpp 1.18 * BarWindow.cpp 1.8 git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18482 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
b0cdd648 |
|
17-May-2006 |
Stephan Aßmus <superstippi@gmx.de> |
synced to 1.17 from OpenTracker CVS (fixed a deadlock when dragging something over Deskbar) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17497 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
243fcbe2 |
|
02-Apr-2006 |
Axel Dörfler <axeld@pinc-software.de> |
Since SF cannot be reached currently, this fix gets into the Haiku tree first: ExpandoMenuBar::ItemAtPoint() was broken, which could cause a crash when doing the "vulcan death grip" over a window item. This fixes bug #379. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16964 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
915af8b1 |
|
20-Jan-2006 |
Axel Dörfler <axeld@pinc-software.de> |
Imported ExpandoMenuBar 1.16 and TeamMenu.cpp 1.5 from the OpenTracker repository: * fixes for the Deskbar running without any other apps. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16009 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
da4580a2 |
|
11-Dec-2005 |
Axel Dörfler <axeld@pinc-software.de> |
Fixed a crashing bug that occured when both, "sort running applications", and "tracker always first" was selected, and the first app that was launched was not Tracker. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15507 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
41281cf3 |
|
22-May-2005 |
Axel Dörfler <axeld@pinc-software.de> |
Added Tracker and Deskbar from OpenTracker-current to the repository. They both build fine. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12773 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
bd97c88ac35fee3e5758f70366b2b0f28703287f |
|
03-Jul-2015 |
Philippe Saint-Pierre <stpere@gmail.com> |
Deskbar: check dynamic_cast results CID 1108236 and CID 1108237
|
#
b49e806d3d560677f968daf1758d01cd791a1ba8 |
|
30-Mar-2015 |
Axel Dörfler <axeld@pinc-software.de> |
Deskbar: minor style cleanup.
|
#
dd251369362ef4c63e8acba1ceb9b50a28499858 |
|
26-Feb-2015 |
John Scipione <jscipione@gmail.com> |
Deskbar: Fix an edge case sizing bug If you have no apps open because Tracker crashed and you opened a new team it would size the expando menu bar incorrectly in vertical mode. This fixes the problem.
|
#
548661da7af2b8c36402a537813b8e09221f69c8 |
|
23-Feb-2015 |
John Scipione <jscipione@gmail.com> |
Deskbar: Fix window updating bug #11865 We must toggle the expanded state of new windows if we are in VERTICAL expando mode with Expand New Teams on. The vertical part of the check got dropped accidentally in hrev48817 Thanks jstressman for reporting. Fixes #11865
|
#
ae30ad6e234d04584b3fe7149e11fee63d9cf509 |
|
23-Feb-2015 |
John Scipione <jscipione@gmail.com> |
Deskbar: Remove settings member vars ... from expando menu bar. Get them from the BarApp settings instead. This is so that we don't have to keep the settings and the member vars in sync.
|
#
4f4cab958e7d4dac805d3f715889ec8854606264 |
|
23-Feb-2015 |
John Scipione <jscipione@gmail.com> |
Deskbar: Move ExpandoMenuBar name to constructor ... instead of passing it in from BarView.
|
#
2bb18298538512f51f1d54f0ff855b3a6cf79e95 |
|
23-Feb-2015 |
John Scipione <jscipione@gmail.com> |
Deskbar: Tiny indent style fix
|
#
64182ccb20f1586f102445dece20cae2af79dc97 |
|
20-Feb-2015 |
John Scipione <jscipione@gmail.com> |
Menu and Deskbar: Remove _SetMenuLayout() method and remove TExpandoMenuBar as a friend class to BMenu hack. In Deskbar, call the newly added MenuPrivate::SetLayout() method instead. This is a much cleaner way to implement this, thanks Stefano Ceccherini for the tip!
|
#
c38afcd62ca869cd169ed52fa171db35352bbd00 |
|
19-Feb-2015 |
John Scipione <jscipione@gmail.com> |
Deskbar: Remove Name() and fName, replace with Label() ... from TeamMenuItem and WindowMenuItem. It was confusing having Name(), Label(), and TruncatedLabel(). Name() == Label() because Label() never changes, the displayed Label stored in TruncatedLabel() in both TeamWindowItem and WindowMenuItem (remember they both inherit from TruncatableMenuItem so they get that for free). So Name() was redundant, by getting rid of it there is just Label() and TruncatedLabel() which is all we need!
|
#
6b65d934dfcf372c2c527a6cc4c2d3536754834f |
|
19-Feb-2015 |
John Scipione <jscipione@gmail.com> |
Deskbar: some more style fixes, reorg methods
|
#
1501d1d619d9a4afe90516d1949a12614de91a44 |
|
19-Feb-2015 |
John Scipione <jscipione@gmail.com> |
Deskbar: Remove redundant include statements
|
#
c9363f78d67001545182ce032918648ccb3d6e16 |
|
19-Feb-2015 |
John Scipione <jscipione@gmail.com> |
Deskbar: Truncate menu item labels refactor * Create a new TTruncatableMenuItem class to store the truncated string and share the label truncation code between TTeamMenuItem and TWindowMenuItem. In the future more shared code may be added to this class, if so, the class name may change. * The TTeamMenuItem and TWindowMenuItem classes inherit from TTruncatableMenuItem, which inherits from BMenuItem. * Make sure to truncate the label before drawing it in all cases. * Some other related refactoring. Fixes #9507
|
#
25295e68997bd8bd5717520317cb212942faab40 |
|
13-Feb-2015 |
John Scipione <jscipione@gmail.com> |
Deskbar: Set the tool tip for truncated label
|
#
5e625ead65c3e04f9246a0b47ba24cea15e75428 |
|
12-Feb-2015 |
John Scipione <jscipione@gmail.com> |
Deskbar: Label truncation code refactor & cleanup * Increase kVPad to 2.0f in ExpandoMenuBar matching the constant in WindowMenuItem * Also replace a hardcoded instance of 4.0f with kVPad * 2 * Remove TTeamMenuItem::DrawContentLabel(), move code to DrawContent() * Cleanup label truncation code in TTeamMenuItem, still needs work. * Rename WindowMenuItem::FullTitle() to Name() matching TeamMenuItem * Move the code to set all label related variables in SetLabel() in TeamMenuItem * Change WindowMenuItem::SetRequireUpdate() to take a bool parameter * Make WindowMenuItem::Initialize() private and rename it to _Init() * Rename WindowMenuItem::ExpandedItem() to SetExpanded() * Truncate WindowMenuItem label like we are doing TeamMenuItem * Rename all WindowMenuItem::Title* methods and variables to Label*
|
#
deaae5fc20b5cf44115441d34a1e33436df885b2 |
|
07-Jan-2014 |
John Scipione <jscipione@gmail.com> |
Deskbar: Persist ExpandoMenuBar Add private BMenu::_SetMenuLayout() method. Set TExpandoMenuBar as a friend class in BMenu to call this method. A little hacky, but, this keeps SetMenuLayout() from being exposed as part of the public API. Don't destroy and rebuild the ExpandoMenuBar when switching from horizontal to vertical mode. Instead build the TExpandoMenuBar when the application starts and then switch it from B_ITEMS_IN_ROW to B_ITEMS_IN_COLUMNS by using the newly added _SetMenuLayout() method. When we resize from vertical to horizontal, recalc the max menu item widths, this resizes the application menu items so that they take up the right amount of space. Since we no longer destroy the menu bar we no longer have to save whether menu items are expanded or not in a separate list. Instead we can store that information in directly in TExpandoMenuBar. This removes a lot of code. Fixes #9350
|
#
18bcf77ab08a66f3820fa608a124b199742a0070 |
|
06-Jan-2014 |
John Scipione <jscipione@gmail.com> |
Deskbar: Don’t save fHasLabel and fVertical in the TTeamMenuItem, get it from the parent or settings instead.
|
#
8afcac1bb3241ecfd5b5abc0a8b14c86fd0c7fa0 |
|
06-Jan-2014 |
John Scipione <jscipione@gmail.com> |
Deskbar: Compare signature case-insensitive
|
#
9f339a005bd0f5ffd8d6f49ae26cc498417e36fa |
|
06-Jan-2014 |
John Scipione <jscipione@gmail.com> |
Deskbar: Style fixes only
|
#
3aeed6607cd07762c0e709633c012b3a632dbad9 |
|
07-Aug-2014 |
Jérôme Duval <jerome.duval@gmail.com> |
include strings.h where appriopriate... instead or additionally to string.h, in preparation for functions move. * moves str[n]casecmp() functions and others to strings.h. * strings.h doesn't include string.h anymore. * this solves #10949
|
#
54c746641ae240867f0730d9d1f810666f079706 |
|
08-Oct-2013 |
John Scipione <jscipione@gmail.com> |
Deskbar: Re-add tooltip code for truncated items I accidentally removed it last commit, sorry about that.
|
#
4875d5a09172e873caa55fe60039e0db80e64fde |
|
08-Oct-2013 |
John Scipione <jscipione@gmail.com> |
DeskBar: refactor expander code. With the Tracker thread code in shared now it is possible to use the same trick for the expanders in Deskbar to open and close in a separate thread that we use in Tracker. See Find Panel and Info window for examples of the code being used in Tracker. Also eliminates the fClickedExpander variable and allow you to expand with any mouse button. Hopefully fixes #9676
|
#
f47bef09a25117f0517eb940d05d0cd1dc3f48c2 |
|
15-Jul-2013 |
John Scipione <jscipione@gmail.com> |
Deskbar: Check if window is NULL. Fixes #9860 It is possible, through the right combination of steps, for this method to be run on startup before the view is attached to the window causing a crash because Window() returns NULL. This fix returns false in this case instead. Later, when an application such as Tracker is started and added to Deskbar this method will be run again with the view attached to the window.
|
#
128c5556b98227d015a73ea3bc9268504990ce65 |
|
28-May-2013 |
John Scipione <jscipione@gmail.com> |
Set fLastMousedOverItem NULL in ctor This has a good chance to fix #9676
|
#
9ffe350441b45e09744058579dd31f9c3b3f77bb |
|
28-May-2013 |
John Scipione <jscipione@gmail.com> |
Don't set this pointer NULL, is set on next line.
|
#
c0d45b53edad9a1e4f37e53c6bf547f0168fbd2d |
|
28-May-2013 |
John Scipione <jscipione@gmail.com> |
Remove DOUBLECLICKBRINGSTOFRONT macro The code that used it has already been removed and if it were enabled it would do bad things.
|
#
d0f798c8d2d9fc5851029a328eba9b6f7d7d9a25 |
|
28-May-2013 |
John Scipione <jscipione@gmail.com> |
Style fixes to ExpandoMenuBar
|
#
25ca105ebf30ade681772c69b1568f8898070f1f |
|
22-Apr-2013 |
John Scipione <jscipione@gmail.com> |
Tiny style fix
|
#
30e6af93e4ae245281e73a10e5ffcbd94ce38dc8 |
|
17-Apr-2013 |
John Scipione <jscipione@gmail.com> |
Eliminate background app and Deskbar app checks This is a follow up on the fix for #9632. Now that the group list in Deskbar never deals with background apps or the Deskbar app itself we can simplify the code by eliminating the checks, especially in Switcher.cpp (Twitcher). Checking for background apps and Deskbar has also been eliminated from TExpandoMenuBar and TTeamMenu. The single point of entry for these checks is in TBarApp::AddTeam(). In Switcher.cpp remove OKToUse() since the list is assumed to contain only valid entries. TSwitchManager::CountVisibleGroups() also got removed because all groups are visible. TSwitchManager::_FindNextValidApp(), TSwitchManager::QuitApp(), TIconView::ItemAtPoint(), TIconView::ScrollTo(), and TIconView::FrameOf() all got simplified significantly.
|
#
f2e15d076c9986adfec1c538d582391613781364 |
|
14-Apr-2013 |
John Scipione <jscipione@gmail.com> |
Need to remove items after Subscribe()
|
#
0969e20ee15713eb14d86f7a02d301d68e38f724 |
|
14-Apr-2013 |
John Scipione <jscipione@gmail.com> |
Refactor ExpandoMenuBar::BuildItems a bit
|
#
a5172b441536faa918de50b2d248ce900cf047f9 |
|
14-Apr-2013 |
John Scipione <jscipione@gmail.com> |
Fix bug where application menu items were wrong size ...in horizontal mode, also make CheckItemSizes more efficient
|
#
e83b2f0b9cf71e3830bce4041401d48e033f8696 |
|
14-Apr-2013 |
John Scipione <jscipione@gmail.com> |
Create a SetMaxItemWidth() method and set it in horizontal mode on update
|
#
b76cec7d9c445a3f058ec4100fdde780b5c8cc78 |
|
10-Apr-2013 |
John Scipione <jscipione@gmail.com> |
Pass a pointer to the TBarView object into the ExpandoMenuBar constructor I fear that perhaps the fBarView variable may be accessed before it has a chance to be set in AttachedToWindow(). By setting it in the constructor there is no chance of this. Might fix #9656
|
#
86c4eae3ce225363b52a02ddc755b0e76f4ac1ca |
|
07-Apr-2013 |
John Scipione <jscipione@gmail.com> |
Also nullify other saved items on delete
|
#
1dccb7aaaf95547c40b23225da0d9bde9e8d9a49 |
|
07-Apr-2013 |
John Scipione <jscipione@gmail.com> |
Don't call DrawExpanderArrow() directly, set a variable and Invalidate()
|
#
9f2cce2faaddd7b08af1458bf56aadaed8179a3f |
|
06-Apr-2013 |
John Scipione <jscipione@gmail.com> |
Eliminate repeating CountItems() loop premature micro-optimization Loop backwards if possible, if not, set a variable and use that instead. There were a couple of instances where the loop style got changed from for (int32 i = CountItems(); --i >= 0;) to for (int32 i = CountItems() - 1; i >= 0; i--) { but should be functionally equivalent.
|
#
e6b6af80bd5399592c782b31c2ebfcd50e58e0c2 |
|
07-Apr-2013 |
John Scipione <jscipione@gmail.com> |
Fix a crash bug I introduced to Deskbar last commit Need to set fLastClickedItem to NULL so it doesn't point to a deleted item. Sorry about that.
|
#
5b0fd10d23d2c57ab32c256784daafa2b97860fa |
|
07-Apr-2013 |
John Scipione <jscipione@gmail.com> |
Animate the expander arrow On MouseDown draw a diagonal arrow, on MouseUp complete the animation and expand. If you hold down the button it will stay diagonal until you MouseUp and either return to normal or animate and expand if over the arrow. Reformatted ExpandoMenuBar.h and TeamMenuItem.h Renamed fLastClickItem to fLastClickedItem Added a DrawExpanderArrow() method Renamed private InitData() method to _InitData() and moved it to the bottom
|
#
9bc3b671fb63b89ea766bc7a5330f71cea8378c3 |
|
06-Apr-2013 |
John Scipione <jscipione@gmail.com> |
Fix a bug involving the Vulcan Death Grip closing the wrong app If you have expander turned on with expanded apps and you quickly remove teams with the VDG you can remove a team not under your mouse pointer, instead you remote the team above. This is because the window watcher thread hasn't updated yet so the TeamItemAtPoint() method reads a window menu item instead of the team item. The solution is to lock the window watcher thread and explicitly remove the window menu items in RemoveTeam(). This bug can be really bad if you accidentially VDG Tracker as your system gets hosed until you restart Tracker or reboot.
|
#
e13f5676a08f505497aafbd491f398760b237e87 |
|
27-Mar-2013 |
John Scipione <jscipione@gmail.com> |
Cache app icons in BarInfo to make them load faster. This turns an IO bound problem into a CPU bound problem. In my testing this speeds up icon resizing dramatically although the CPU is quickly pegged at 100% trying to redraw the Deskbar if you whip the icon size slider back and forth with a dozen or so apps open and soon the CPU can't keep up and Deskbar lags behind.
|
#
53ec5d1f33912441da3ad5786dfd300282cdfcf0 |
|
11-Mar-2013 |
John Scipione <jscipione@gmail.com> |
Rebuild application menu bar less. Fixes #8539 (I hope) Instead of destroying and rebuilding the application menu bar each time we change state, create it at startup and then only update it from there on. This means that bugs that rely on the app bar being constantly destroyed and rebuilt will be much less likely to occur. Unfortunatly, there is still one case where the application menu bar is being destroyed and recreated and that is when you are switching between horizontal and vertical mode, and that is because a menu bar cannot be altered from B_ITEMS_IN_ROWS to B_ITEMS_IN_COLUMNS anywhere but in the constructor. * Renamed fExpando to fExpandoMenuBar * Updated TExpandoMenuBar to be more flexible after construction, the menu items are built in the new BuildItems() method. Also, don't pass the BarView object in at contruction, that can happen in AttachedToWindow(). Also, set fDeskbarMenuWidth just once at constructor, no reason to keep setting it over and over again.
|
#
f3ac8bc08985fe1ca60569001f7e914eaa3e62e3 |
|
03-Mar-2013 |
John Scipione <jscipione@gmail.com> |
Show the full window title in Deskbar in a tooltip ... if it gets truncated in vertical expando mode.
|
#
d06f58081ace6aa75f70167c850ddff722574b1f |
|
25-Feb-2013 |
John Scipione <jscipione@gmail.com> |
Revert "Prevent a deadlock condition in Deskbar. Fixes #8539" This reverts commit 733be65954f85c0c0cd57d0bec95d8a47f9d1f4a. It didn't fix the bug, will try again.
|
#
733be65954f85c0c0cd57d0bec95d8a47f9d1f4a |
|
24-Feb-2013 |
John Scipione <jscipione@gmail.com> |
Prevent a deadlock condition in Deskbar. Fixes #8539 If the window is locked by the menu_tracking thread Deskbar will wait on the sMonThread thread to exit forever so we have to kill it to prevent a deadlock. This is a workaround of a bigger problem, which is that fExpando gets created and destroyed on each change which is slow allowing these kinds of bugs to exist. The real solution is to live update fExpando but that is a fair amount of work.
|
#
88571c92411f8980452f719c6456bd475d7db5a4 |
|
24-Feb-2013 |
John Scipione <jscipione@gmail.com> |
Refactor TExpandoMenuBar::MouseDown() style. No functional change intended. * Check for NULL fields in the beginning and return decreasing the indent level of the rest of the method. * Move some comments to next line indented
|
#
a05a00c8496ff16cb0101f6a1eaf716699c6d62f |
|
12-Nov-2012 |
John Scipione <jscipione@gmail.com> |
Tiny style fix
|
#
3135d0e0de20e432df89b42d02fde4993c1d9bbf |
|
27-Oct-2012 |
John Scipione <jscipione@gmail.com> |
Shrink icon only width a bit to make room for more icons ...before turning scrolling on.
|
#
e4f9bfce33a0baeb0b45297eb8c021934928d49a |
|
27-Oct-2012 |
John Scipione <jscipione@gmail.com> |
Need to position window before checking for scrolling. Otherwise when you switch from bottom mini mode to vertical expando mode you'll get scroll arrows when you shouldn't because the bottom of the window frame will be below the screen.
|
#
d6f6b835adcb34abfca03207f272614373f38bb1 |
|
26-Oct-2012 |
John Scipione <jscipione@gmail.com> |
Draw a nice menu background on the inline scroll view and when scroll faster when you push control/option/command and click the little arrow button.
|
#
ed75ca72012fb47fc551edcbb4274b4daadc042f |
|
26-Oct-2012 |
John Scipione <jscipione@gmail.com> |
Set the scroll arrow limit based on the min menu item widths ... rather than the current menu item widths. This means that Deskbar will shrink the menu items until they are at their minimum size before it activates the scroll arrows. Previous to this change the scroll arrows were being turned on prematurely. Also lower the minimum menu item width to the icon width + 50pixels which is arbitrary but looks good to my eye.
|
#
c07e6ff292cbe19ab758ce8bcb6c5cde38a3e662 |
|
26-Oct-2012 |
John Scipione <jscipione@gmail.com> |
Make horizontal scrolling work in Deskbar * Split the Leaf menu and seperator into their own menubar. * I got rid of a lot of special cases for horizontal in the ExpandoMenuBar class because now the menubar contains the same items as in vertical mode. However, it also means that the dreaded <none> bug also affects horizontal mode. * Make the application menubar resize itself even in horizontal mode. This means that the view background shows through so I'm going to have to fix this up. * Calculate when to add the scroll arrows and how much to allow the user to scroll by for horizontal. CheckItemSizes() got a big refactoring. * Rework the InlineScrollView class a bit. It no longer requires you to specify the begin and end limits on construction because it can calculate them instead. It also no longer depends on the screen at all, this means this class can be extened to be used more generally and in more places.
|
#
e6d8c22a7d78f0e47be55db2338083ada4766b2a |
|
26-Jul-2012 |
John Scipione <jscipione@gmail.com> |
WIP: Add support for horizontal scrolling.
|
#
32f840b7684012009c47338da6e00a202388126b |
|
25-Jul-2012 |
John Scipione <jscipione@gmail.com> |
Rename ScrollArrowView to InlineScrollView InlineScrollView takes a BView instead of a BMenu as well, and it no longer has flags to do drawing respond to frame changes since this view does neither of those things.
|
#
fcfe60b02ec06525dbe76eedc110d20b7eb808f7 |
|
24-Jul-2012 |
John Scipione <jscipione@gmail.com> |
Renamed BMenuScrollView to TScrollArrowView and moved it into Deskbar Also gave the Up Arrow and Down Arrow a scroll arrow. The up arrow works but the down arrow doesn't because the sibling menu is stealing the MouseDown event."
|
#
afa1c29104c7f6b7a904008fbfc6a4835de4b3d3 |
|
21-Jul-2012 |
John Scipione <jscipione@gmail.com> |
Tweaks, remove dead code. Menu and Menubar are stock again.
|
#
7ee3b479d14579e4a9db2709499c4706850e53c9 |
|
21-Jul-2012 |
John Scipione <jscipione@gmail.com> |
Make the MenuScrollView a fixed size... instead of trying to make it follow fExpando just make it a fixed size on creation. It is invisible and extends to the bottom of the screen. fExpando grows inside it, and the window follows fExpando. When the window grows taller than the screenframe the arrows are added. You can scroll with the mouse wheel, but I haven't yet gotten scrolling to work from clicking. Deskbar still crashes when going from Mini mode to vertical expando mode. I have no idea why.
|
#
49ff476d139dc28ebaa95d65b7820423b6061d60 |
|
19-Jul-2012 |
John Scipione <jscipione@gmail.com> |
Make ScrollMenu not rely on Menu.cpp Rename ScrollMenu.cpp to MenuScrollView.cpp Half step towards making this class work as part of Deskbar without extending any other classes. Scrolling works both with mouse and scroll wheel. Redraws on scroll, need to make that work better. Also need to move classes out of the Interface Kit and into Deskbar.
|
#
cb55ef9fb597a3f3bc91e53017360b18b20dd27b |
|
27-Jun-2011 |
John Scipione <jscipione@gmail.com> |
WIP: Created a BScrollMenu class that works like BMenuWindow but works on a view instead of a window. Use this to implement a scrollable BarMenuBar in Deskbar. The basics work but there are issues still with sizing and other issues. Modify the ScrollMenu class to use the layout kit by adding a constructor that doesn't take a view. Get the BScrollMenu class to follow the size of the BMenu it is a parent of. Adjust the scrollers to appear in the right places. This is a WIP but it works in Deskbar, next step is to integrate this directly into BMenu with the scrollers as children of the menu instead of as children of the BScroller class. Rebase changes on top of master Deskbar scrolling works for the most part, just need to fix the bottom arrow and clean up a bit.
|
#
1a59d9dbeb966f507fa9f5899d2728821df4b010 |
|
12-Aug-2012 |
Ryan Leavengood <leavengood@gmail.com> |
Improve Deskbar's WindowShouldBeListed utility function. It now has all the knowledge about whether a window should be shown or not. Since I fixed #4127, ORing with is_mini is no longer needed.
|
#
e963289800007e623f4a120b27e7bd476230f57f |
|
09-Aug-2012 |
Alex Smith <alex@alex-smith.me.uk> |
Added Tracker and Deskbar to x86_64 build.
|
#
ab4e79c3510f97e58a988622041c5c7ecceb82e5 |
|
02-Aug-2012 |
Ryan Leavengood <leavengood@gmail.com> |
Fix Deskbar based on my recent menu change. Thanks augiedoggie for pointing it out.
|
#
615d572db00c03d9de04a6d3ed0f3c50929e0635 |
|
03-May-2012 |
John Scipione <jscipione@gmail.com> |
Fix #8505 cut-off Deskbar leaf bug. Replace the leaf bitmap with a non-cutoff version derived from the 'data/artwork/Haiku Leaf' file. So, when icon size is > 16 the full deskbar leaf is shown without the bottom cut-off. It should look pretty much identical at 16x16 and in vertical mode at any icon size. Also add a deskbar_leaf.png file to the data/artwork directory although I didn't use that file in Deskbar, instead I embed an archive bitmap into icons.h. I got rid of icon-freelogo.rdef and icons_logo.h.
|
#
5ccf455f7ee43be8060cd4b45c563e0a30ffaf50 |
|
03-May-2012 |
John Scipione <jscipione@gmail.com> |
Fix another tooltip related bug that appears in Deskbar. The bug is that in horizontal mode the tooltip will remain set to the last moused over team menu item even if the mouse is no longer over a menu item. The bug can be seen in the following screenshot: http://26.media.tumblr.com/tumblr_m3gze8s1xi1r0f0hfo1_400.png To fix this bug, allow you to set the tooltip text to blank or NULL in SetToolTip(const char* text). In ShowToolTip() check to see if the tooltip text is blank or NULL and if so, don't show the tip. Setting the tooltip to blank or NULL effectively unsets the tooltip on a view.
|
#
06736193497068c34e326be28ae67bbc5d1a154c |
|
02-May-2012 |
John Scipione <jscipione@gmail.com> |
Remove uneeded include and tiny whitespace fix I missed earlier.
|
#
dc05c262acae19bcefcad3f17479c5054cf0a938 |
|
02-May-2012 |
John Scipione <jscipione@gmail.com> |
Refactor Tooltip's in Deskbar. Only update the tooltip if the mouse goes over a new menu item making sure to exit if the item is NULL, there is a visible label, or it is the same item. If the mouse moves outside the view reset the last item to NULL. * Rename DrawLabel() and SetDrawLabel() to HasLabel() and SetHasLabel() to make it clear what these methods are setting a getting and setting a bool and not doing the actual work for drawing the label.
|
#
1cd61330ecd8257551d58f204332d00145c855ec |
|
02-May-2012 |
John Scipione <jscipione@gmail.com> |
Style fixes including reordering #include's in Deskbar * Reorder includes according to the Style Guide. * Whitespace changes, mostly making sure there are 2 newlines between things and making sure there is 1 newline at the end of each file. * Make end of header files all in the style of #endif\t/* _HEADER_GAURD_H_ */ * The one change that is not purely style is to #include <Path.h> in DeskbarUtils.h instead of DeskbarUtils.cpp because it is used to define entry_ref for the AddRefsToDeskbarMenu() prototype.
|
#
f73d1f4f28fd80835f299830063a61a3ee3e3efd |
|
24-Apr-2012 |
John Scipione <jscipione@gmail.com> |
Cache the lastMousedOverItem before showing tooltip. Optimization, only update the tooltip if not the same as the cached last moused over item. That way the same application name won't keep getting set over and over again.
|
#
1f0c9f183e3bd12f6056ca2251438ffada696d58 |
|
23-Apr-2012 |
John Scipione <jscipione@gmail.com> |
Set a tooltip with the application name if hidden. If Deskbar is set to hide application names show the application name as a tooltip when you hover your mouse over the item. * Style fixes. * Save CountItems() into a variable outside the loop so that it only gets called once (micro-optimization/best-practice). * Convert a for loop to a while loop that wasn't really being used used as a for loop anyway, the variables are declared and used outside the loop.
|
#
3cf2d117e570356c8487e67a0e38b09b1639ab6c |
|
14-Apr-2012 |
John Scipione <jscipione@gmail.com> |
Change Time Format Options in Deskbar preferences. Added two new methods to the Locale Kit in order to create a custom time formats from a format string. One method is outputs into a char* array, the other into a BString() and you can set the timezone. These methods should be cleaned up, we only need 2, one to get the time in a predefined style, the other to get a custom time format. Also should probably do the same for dates and datetimes. But I'll let this go for now. I added myself to the Locale.cpp file. I retained the copyright instead of assigning it to Haiku, Inc. because the file is under the OpenBeOS license and I don't know what the concequences of copyright sharing are for that license, unlike MIT. These new methods are used to generate custom time formats in Deskbar. Instead of using a set of Radio Buttons to choose between the predefined time options I build my own by creating a format string and passing it to the Locale Kit. The format string is generated from 3 checkboxes, show seconds, show day of week, and show time zone. You can mix and match between them choose any that you like. By default they are all off. There are 3 new deskbar settings associated with these new options: showSeconds, showDayOfWeek, and showTimeZone. timeFormat has gone away. The time format string gets cached and updated only when Update() gets called on the TimeView class. In order to fit all the options in (there is 1 more than before) I had to reduce the font size of the clock to 11pt when all options are turned on in 12 hour mode. For those with no imagination it looks like this: http://imagebin.org/208162 Renamed "Open time preferences..." menuitem to "Time preferences...". Renamed "Show Time" and "Hide Time" to "Show time" and "Hide time". Other changes include refactoring the header files a bit. There were a lot of headers included by header files uneccessarily. For instance BarWindow.h now only includes <Window.h> and <Deskbar.h>. This change is mainly to to speed up the compile time since it takes a while right now. I copy the fBarView pointer from BarWindow in the BarApp constructor and then use that throughout the file rather than getting the pointer from the window each time by calling BarView(). BarView() is still available in the header for other classes though. I moved some message constants around since it was getting a bit jumbled. Most of the messages related to settings are in PreferenceWindow.h. fChangeState is moved to BarView.h since that is where the ChangeState() function is and BarView.cpp uses that constant. The time interval and format constants are in TimeView.h. Make some methods public in their respective classes where it made sense. The preference window methods to update dependent items are public, that might get called from BarWindow when a message gets received at some point. Also made ShowHideTime() and Time() public in StatusView.h. These methods activate showing and hiding the clock and return the fTime clock object. No reason they should be private. I reindented the StatusView.h and PreferenceWindow.h headers to the standard style. Question here, are the public: protected: and private: lines inside of classes suppose to get indented 1 tab or not? I've seen both, the style guide says no indent but 1 indent seems reasonable and looks pretty good. Style fixes here and there. That's enough for one commit I think.
|
#
3ea5972eb53695826f2901be1d9027d5b979f2f9 |
|
06-Apr-2012 |
John Scipione <jscipione@gmail.com> |
Style fix. Take out 3 sets of unneeded curly braces.
|
#
2ce9bab873e024bb515a95faf384df62b88bbb8c |
|
27-Jun-2011 |
John Scipione <jscipione@gmail.com> |
Fisher Price Deskbar icon support Implements the feature described in #7132 Also fixes #2387 (menu items too big in horizontal mode when font size > 12) Adds a slider to Deskbar preferences which allows you to resize your Deskbar team icons from 16x16 to 96x96. The default is 16x16. This works both in vertical and horizontal mode. In vertical mode when icon sizes are greater than 32x32 the label moves underneath the icon where there is more room. In horizontal mode the width of the menu item increases to make room for the icon while keeping room for the label the same. As many applications are added the labels are truncated as usual. This patch also adds a checkbox to the Deskbar preferences to hide application names to make more room for icons if you wish. It doesn't make a lot of sense at 16x16 but does >32x32. If the kResizeTeamIcons message gets dropped, don't resize to current value, just do nothing. This fixes a bug where sometimes the slider wouldn't trigger a resize. Fix a spelling error in a comment. Take out a redundant paren pair.
|
#
2d80a5472494f892bce9301a3394f96a3242b266 |
|
03-Mar-2012 |
Adrien Destugues - PulkoMandy <pulkomandy@pulkomandy.tk> |
Window title in Expanded Deskbar update properly * Regression introduced by r43195 * Fixes #8126
|
#
5e8f4256fedbb33eaed7766843a5074a8b518470 |
|
03-Mar-2012 |
Adrien Destugues - PulkoMandy <pulkomandy@pulkomandy.tk> |
Revert part of r43092. * Caching of CountItems() to avoid calling it at each loop iteration * Use of strcasecmp when comparing strings for exact equality
|
#
4bbb27e3ccf0b1e38ee4a63ca9ec765e167a72bd |
|
12-Feb-2012 |
Jerome Duval <jerome.duval@gmail.com> |
More 'GCC4.6 variable set but not used' fixes.
|
#
323b65468e5836bb27a5e373b14027d902349437 |
|
21-Nov-2011 |
Oliver Tappe <zooey@hirschkaefer.de> |
Filtered flat import of Oliver's svn package management branch Bring the changes that aren't package management related and the ones that are but don't take effect as long as they are ignored by the build system into the master. Summary of changes: * Introduce private header <directories.h> with constants for a good deal of paths that should usually be retrieved via find_directory(). * Replace hard-coded paths by using find_directory() or the <directories.h> constants (e.g. in drivers and the kernel). * Add find_directory() constants needed for package management. * Add __HAIKU_ABI_NAME and B_HAIKU_ABI_NAME macros. * src/apps/deskbar: BeMenu.* -> DeskbarMenu.*, DeskBarUtils.* -> DeskbarUtils.* * Change deskbar menu settings directory from ~/config/be to ~/config/settings/deskbar. * Other smaller cleanups, changes, and fixes.
|
#
7eb3210e8f56c924148b23f129dbdc3f2670d828 |
|
05-Nov-2011 |
John Scipione <jscipione@gmail.com> |
Sort application windows in Deskbar in 'natural' order yielding this: window 1 window 2 window 3 window 4 window 5 window 6 window 7 window 8 window 9 window 10 window 11 Instead of this: window 1 window 10 window 11 window 2 window 3 window 4 window 5 window 6 window 7 window 8 window 9 The natural order comparison method used in Deskbar is the same method used to sort file names in natural order in Tracker. Also when comparing window titles to their corresponding window menu item labels use the FullTitle() method instead of the Label() method because the label might get truncated. Fixes #7774 git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43195 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
3dfd9cb95ce45f59160d50975210bc55e3fc0709 |
|
16-Jun-2011 |
Oliver Tappe <zooey@hirschkaefer.de> |
Flat commit of all changes from package-management branch in svn
|
#
9e8a970bd56e3888b93167d1ab60deef85b7a899 |
|
24-Mar-2011 |
Jonas Sundström <jonas@kirilla.com> |
A better for the leaf logo bitmap. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41098 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
57a096382ac42f4002b14c6e39540814110833c9 |
|
28-Feb-2011 |
Fredrik Holmqvist <fredrik.holmqvist@gmail.com> |
Starting to apply style cleanup patches by John Scipione from bug 7052. This will force me to practice our code style. (As a sidenote, we are aware of the no of patches in the bug). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40744 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
e62cadc3745b13bf309b149df766f1df63e393e4 |
|
02-Jan-2011 |
Ryan Leavengood <leavengood@gmail.com> |
Apply the patch from #6069 which makes the Vulcan Death Grip Ctrl+Shift+Cmd. I assume if this wasn't wanted the ticket would have been closed, and I think this is fine. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40085 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
33da1e65164819b81d2a0fb58c53a5a9411bfedf |
|
21-Apr-2010 |
Axel Dörfler <axeld@pinc-software.de> |
* Cleaned up MouseDown(), and fixed crash #5121 based on a patch by DarkWyrm, thanks! git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36389 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
0913b742cabbc59a52974cdc08b2b9551d85414f |
|
26-Nov-2009 |
Axel Dörfler <axeld@pinc-software.de> |
* Moved the double click check after the expander bounds check, fixing bug #5037. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34274 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
143e4fbc3ec045c2fa9d80d5304e27abec3e0f3b |
|
18-Nov-2009 |
Axel Dörfler <axeld@pinc-software.de> |
* Only activate the app on double click; don't bring all windows to front. * This closes ticket #4969. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34117 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
1192454dfc58e4f9a92f4ff4494a4cf1e1ea4a69 |
|
21-Oct-2009 |
Axel Dörfler <axeld@pinc-software.de> |
* Enabled and simplified the "double click team to front" feature, as it actually works under Haiku (with a caveat, as there is apparently an app_server bug that prevents that most of the time). * Simplified ExpandoMenuBar::MouseDown(). * Minor cleanup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33708 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
1c7348a787c023de6350e33a151017b2977f9d05 |
|
21-Oct-2009 |
Axel Dörfler <axeld@pinc-software.de> |
* Moved the window item sort logic as static method into the TWindowMenuItem class. * Changed ExpandoMenuBar to use that logic as well, so that your entries will always keep the same sort order. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33704 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
71bd3ba59c06b130115c3ddd44457d8f9dd78997 |
|
30-Sep-2009 |
Jonas Sundström <jonas@kirilla.com> |
Removing ifdefs and code for non-Haiku build targets. Partial clean-up. Enforcing the 80-char limit, renaming constants, newline at end of file. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33377 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
7cb2cbf17b7bfc8036d5d93af0451d8668b889a9 |
|
30-Sep-2009 |
Jonas Sundström <jonas@kirilla.com> |
Clean-up. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33372 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
290c903985a449fa86c501366b6fcddf7f55b46a |
|
29-Sep-2009 |
Jonas Sundström <jonas@kirilla.com> |
Partial clean-up. Asterisks and k-prefix constants. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33366 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
cb6afcb1464e92f0134232e6179215295e17bc79 |
|
21-Mar-2009 |
Stephan Aßmus <superstippi@gmx.de> |
* Give Deskbar a refreshed and cleaner look. * Fixed a bunch of problems in layouting the various views. (For example, the last app menu entry is no longer one pixel too short, but there was more...) * Fixed Deskbar being not wide enough for the Haiku logo in certain modes. * Enabled the mount menu. I think it's a good idea to have at a more prominent location where new Haiku users may look for it (Gnome also has this in the main panel). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29631 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
249a4a187ee9e9e24aa41146e071ad1c01e27283 |
|
13-Oct-2008 |
Stephan Aßmus <superstippi@gmx.de> |
zooey + stippi: Reimplemented the drag message over the team entries dragging. The previous implementation used the menu bar tracking by faking a B_MOUSE_DOWN event. The problem was that in Haiku menus are always sticky and therefor the tracking thread was not exited when the user released the mouse (which was supposed to trigger the drop event in the Deskbar). The new implementation follows the drag in the asynchronous mouse hooks and uses it's own selection state in TTeamMenuItem to highlight the eventual drop targets. Fixes #2771. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28063 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
eaa9af9937ed538a6e175852bee9f22a2c20a814 |
|
12-Oct-2008 |
Stephan Aßmus <superstippi@gmx.de> |
Never use the current menu UI color, but always the view color of any given menu. Fixes #974. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28030 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
b8beeb35eab7170de9f204f6e8c8fd60ea821d4f |
|
12-Aug-2008 |
Axel Dörfler <axeld@pinc-software.de> |
* The Switcher now uses the new application/window order functions to sort the application/window lists before using them. * This means that you can now switch just between the two topmost apps when pressing Control-Tab. If you press it fast enough, it will fall back to the old method of iterating through all apps. * Only define the private BeOS window management API for BeOS itself, for Haiku, better use the private WindowInfo.h header. * Changed BeOS's window_info structure to match how Haiku does it (improved naming, separation between client_window_info and window_info). * Whitespace cleanup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26952 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
bd8185aba22e85d8a5e67cbbd6846908ea4110d2 |
|
06-Jun-2008 |
Alexandre Deckner <alex@zappotek.com> |
- In vertical mode, TExpandoMenuBar used its own width to set the width of a newly added item. Removing the last item made the MenuBar resizes itself to (0,0), and broke further item width computation. We now use the parent view width (BarView) instead. This fixes #471 git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25826 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
4446e07ae9dd2e256bb46cde35f05890515a1f70 |
|
23-Jan-2007 |
Stefano Ceccherini <stefano.ceccherini@gmail.com> |
Use BMenu::RemoveItems() instead of looping... I hope I caught all occurrences. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19910 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
a5210ab17da5a6784a814bb69c59ba6bf5401432 |
|
11-Aug-2006 |
Axel Dörfler <axeld@pinc-software.de> |
Imported files from OT-current: * ExpandoMenuBar.cpp 1.18 * CalendarMenuItem.cpp 1.6 * WindowMenu.cpp 1.3 * TimeView.cpp 1.14 * StatusView.cpp 1.18 * BarWindow.cpp 1.8 git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18482 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
b0cdd6481de61686ba5176bc43f443bea0bb9ed7 |
|
17-May-2006 |
Stephan Aßmus <superstippi@gmx.de> |
synced to 1.17 from OpenTracker CVS (fixed a deadlock when dragging something over Deskbar) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17497 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
243fcbe279044852cf007df093a2e5a62d1b7e16 |
|
02-Apr-2006 |
Axel Dörfler <axeld@pinc-software.de> |
Since SF cannot be reached currently, this fix gets into the Haiku tree first: ExpandoMenuBar::ItemAtPoint() was broken, which could cause a crash when doing the "vulcan death grip" over a window item. This fixes bug #379. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16964 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
915af8b17a1a7a0edc1b12c5984f21a3da9b8b65 |
|
20-Jan-2006 |
Axel Dörfler <axeld@pinc-software.de> |
Imported ExpandoMenuBar 1.16 and TeamMenu.cpp 1.5 from the OpenTracker repository: * fixes for the Deskbar running without any other apps. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16009 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
da4580a278401bed5f3f9f0ba18287c7732bc358 |
|
11-Dec-2005 |
Axel Dörfler <axeld@pinc-software.de> |
Fixed a crashing bug that occured when both, "sort running applications", and "tracker always first" was selected, and the first app that was launched was not Tracker. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15507 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
41281cf362916855e6eb9ad1d728d919863a1e81 |
|
22-May-2005 |
Axel Dörfler <axeld@pinc-software.de> |
Added Tracker and Deskbar from OpenTracker-current to the repository. They both build fine. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12773 a95241bf-73f2-0310-859d-f6bbb57e9c96
|