#
9931e8ee |
|
09-Feb-2024 |
nep <nep-git@packageloss.eu> |
rgb_color: Add new APIs: Contrast(), IsLight(), IsDark() - Remove perceptual_brightness - Change implementation of rgb_color::Brightness() to the previous BPrivate::perceptual_brightness() - Introduce convenience methods Contrast(rgb_color), IsLight() and IsDark() Change-Id: Id677d4a32ce43d73bffecf9baf8cffaafb01a16d Reviewed-on: https://review.haiku-os.org/c/haiku/+/7399 Reviewed-by: waddlesplash <waddlesplash@gmail.com>
|
#
8446d3b9 |
|
13-Dec-2023 |
John Scipione <jscipione@gmail.com> |
Tracker: Miscellaneous cleanup Move DraggableContainerIcon out of ContainerWindow.cpp into new. Move CompareLabels to Utilities.cpp Rename fContainerWindowFlags to fOpenFlags. These are the flags set by OpenContainerWindow to save and restore state and should not be confused with the windowFlags that are passed to BWindow. There are two sets of flags, which I'm calling openFlags and windowFlags. Rename fUseLayouts to fUsesLayout and useLayouts to useLayout. Put all the constructor created flags at the top. "window" variable name is ok, we don't need to say "containerWindow". Rename Addons to AddOns everywhere with a capital O. Rename BuildAddOnMenu() to BuildAddOnsMenu() with an s. Rename AttributeMenu...() methods to AttributesMenu...() with an s. Rename SetUp...() methods to Setup...() with a lowercase u. Replace a few instances of fPoseView with PoseView() inline in BContainerWindow and BDeskWindow. A few more minor fixes in BDeskWindow. Replace BPoint(0, 0) with B_ORIGIN in Pose.h Change-Id: If30803753b63b19e35f14c0f0c4e08111d0d0980 Reviewed-on: https://review.haiku-os.org/c/haiku/+/7240 Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org> Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
|
#
90510b4a |
|
05-Dec-2023 |
John Scipione <jscipione@gmail.com> |
Tracker: Remove Trash settings remnants PoseView.cpp changes * Create DoDelete() and DoMoveToTrash() convenience methods in BPoseView. - Call DoMoveToTrash() in B_DELETE handler checking Shift. Tracker: Update Delete warning dialog This dialog pops up when you Move to Trash with Shift held down. The Skip Trash version has been deleted since we've decided to no longer using this settings. Push Cancel button over to right on the "Delete files" version. Handle default case in switches so that a weird value is returned it will Cancel. If BAlert receives B_QUIT_REQUESTED it returns -1 for example according to the Haiku Book so make sure to handle this case. Add B_CLOSE_ON_ESCAPE flag and handle that case. Change-Id: I16c532bfef585081207f1df3edc93f69dec6e529 Reviewed-on: https://review.haiku-os.org/c/haiku/+/7199 Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org> Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
|
#
9bc1ff61 |
|
30-Nov-2023 |
John Scipione <jscipione@gmail.com> |
Tracker: Allow Get info without selection in File menu If you don't have a selection, Get info on the window instead. Change-Id: I83db030798788a487ce3123bb8b2c25056d4fbf2 Reviewed-on: https://review.haiku-os.org/c/haiku/+/7170 Reviewed-by: waddlesplash <waddlesplash@gmail.com> Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org> Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
|
#
ac83e7f0 |
|
23-Nov-2023 |
John Scipione <jscipione@gmail.com> |
Tracker: Fix CanEditName() crash (from hrev57402) Although I can't reproduce this crash, from the looks of the crash report something in the CanEditName() method is throwing a segmentation fault. If selection count is not 1, don't even try to get the selection, Edit name is not allowed unless you have a single item selected. Double check that selected item is not NULL before using it. I refuse to believe that fSelectionList being NULL is the problem here, more likely fSelectionList->FirstItem() is NULL and is the cause of the crash. Bailing out after checking that selection count is 1 should ensure that FirstItem() is not NULL. Hopefully fixes #18684 Change-Id: Ib99192178fa6f6d31b389afb47e72c5513e6e1c6 Reviewed-on: https://review.haiku-os.org/c/haiku/+/7139 Reviewed-by: waddlesplash <waddlesplash@gmail.com>
|
#
32d1cd8e |
|
24-Nov-2023 |
John Scipione <jscipione@gmail.com> |
Tracker: Fix regression Copy To writable volumes Regression was introduced in hrev56978 (Tracker read-only patch) after R1B4. This check is bad on Copy To/Move To operations because destWindow is same as source window in these cases. This check only worked on right-click drag Copy here/Move here since there is a separate destWindow in this case. Checking destFolder's volume read-only fixes the regression because destFolder, unlike destWindow, should always be valid. Fixes #18657 Change-Id: I4721bae34840d916e47f2a395d553e7254acaec5 Reviewed-on: https://review.haiku-os.org/c/haiku/+/7137 Reviewed-by: waddlesplash <waddlesplash@gmail.com>
|
#
cf83394d |
|
22-Nov-2023 |
John Scipione <jscipione@gmail.com> |
Tracker: Put duplicate checks into convenience methods ... and a few minor feature updates. Create a CanEditName method on PoseView because we were using subtly different checks in different places to see if allowed to edit the name or not. Tint background color of the Edit name text box on read-only to indicate that the file name cannot be edited (only copied). Create ReadOnlyTint() method in Utilities and use it here and in PoseView to set the background color. Eliminate BackTint() method from PoseView which served a similar purpose. Add CanMoveToTrashOrDuplicate() convenience method. Move To Trash, Delete and Duplicate options use same check. Context menu of selection in file panel gets Duplicate option, window context menu never did so don't try to enable it there. Change-Id: I7a82d00ea10f22a7885c2e898a809e1abe9a6b30 Reviewed-on: https://review.haiku-os.org/c/haiku/+/7122 Reviewed-by: waddlesplash <waddlesplash@gmail.com>
|
#
501aa0f3 |
|
22-Nov-2023 |
John Scipione <jscipione@gmail.com> |
Tracker: Check selection parent is read-only on query If 0 items are selected, check the window's volume instead. If 1 item is selected, check if the parent's volume is read-only. If multiple items are selected, consider the entire selection to be read-only if any item's parent directory in the selection is on a read-only volume. You aren't allowed to for example Cut a selection that has an item on a read-only volume as the Cut operation would not be able to succeed. However, if all items in the selection are not on a read-only volume then you may Cut. For non-query windows assume all selected item's are on the same volume and only check the first item when multiple are selected. Fixes #18661 Change-Id: Ib898e54b62558c66aad65d33afd080480e312565 Reviewed-on: https://review.haiku-os.org/c/haiku/+/7120 Reviewed-by: waddlesplash <waddlesplash@gmail.com> Reviewed-by: John Scipione <jscipione@gmail.com>
|
#
711b36b4 |
|
31-Aug-2023 |
Augustin Cavalier <waddlesplash@gmail.com> |
Tracker: Merge SelectPosesListMode and SelectPosesIconMode. There was a TODO comment about this, which dated all the way back to the original OpenTracker import over 20 years ago. There's still more cleanup needed, so I left another TODO.
|
#
18ee9c83 |
|
30-Aug-2023 |
Augustin Cavalier <waddlesplash@gmail.com> |
Tracker: Add some missing includes. These were implicitly picked up thanks to SlowContextPopup, but that is about to change.
|
#
9c8f4ac5 |
|
07-Aug-2023 |
PulkoMandy <pulkomandy@pulkomandy.tk> |
Remove usage of some deprecated C++ features Change-Id: I8faff44ca5fbce9b56ce135ebd070be6bd4c1c78 Reviewed-on: https://review.haiku-os.org/c/haiku/+/6799 Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk> Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
|
#
14a0c87f |
|
06-Jul-2023 |
jiceland <jimmy_c@fastmail.fm> |
Tracker: Set and clear background image when switching directories. Fixes #15784 and #16436. Change-Id: Ia9baff083b3a8d4f4e8c5314f12fafeef6d01f7a Reviewed-on: https://review.haiku-os.org/c/haiku/+/6717 Reviewed-by: waddlesplash <waddlesplash@gmail.com> Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
|
#
2b6ccde0 |
|
25-Apr-2023 |
John Scipione <jscipione@gmail.com> |
Tracker: Disable edit menu items on ro volumes ... such as virtual directories or read-only media. Also applies to open/save panels. Menu items disabled on read-only volumes: * New > * Duplicate * Move to Trash * Move To > * Cut * Paste Other reasons a menu item is disabled: * Duplicate, Move To Trash, Cut, Copy, Move to >, Copy to >, Create link > and Identify require a selection. * Paste requires something in your clipboard. * Edit name requires a single item is selected. Edit name is permitted on a read-only volume so that you may copy the name. However the name is not editable, you may only select and copy. Pop system folder warning dialog on Edit name commit instead, this way you won't see the dialog if you just want to copy the name. Move "Create link here" option last in the right- click drag menu. Disable "Move here" if source or dest is read-only, rest if dest is read-only. Ignore Paste to virtual directory, (even more) but permit Edit name. Allow drag-and-drop to virtual directory but alert and disable all right-click drag menu items like other read-only directories. Tint window backgrounds on all read-only windows darker, not just on virtual and query folders. Automatically switch the background color as you navigate in and out of read-only folders. Fix highlight color on column resize when background color is not white. Fix "reverse video" effect so that the highlight color is the inverse of the background color. On Desktop however, highlight color is always black or white. Do not alter focus in save dialogs after initial focus on the file name because focus on the pose view is required for cut/copy/paste to work. Make Edit Name work in file open/save dialogs and make Cut/Copy/Paste work while editing file name. Make Select all work in Edit name. Duplicate code cleanup: NameAttributeText::CommitEditedTextFlavor() and HeaderView::FinishEditingTitle() call common EditModelName() function in FSUtils. RealNameAttributeText inherits from NameAttributeText and calls its inherited CommitEditedTextFlavor() method. The alert text is defined in just one place in FSUtils ShouldEditRefName() instead of three. Consequently file name changed in the info window can now be undone. Change-Id: I3a78960057b8fb42d1f71af2ec3c808754c9b314 Reviewed-on: https://review.haiku-os.org/c/haiku/+/6357 Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org> Reviewed-by: waddlesplash <waddlesplash@gmail.com>
|
#
d34f1c40 |
|
02-May-2023 |
John Scipione <jscipione@gmail.com> |
Tracker: Add BPoseView::CountSelected() method Replace count variable with either selectCount or poseCount depending on what is being counted. Change-Id: I5e5caffd71bb932d93a822b28e73cdcfebff7135 Reviewed-on: https://review.haiku-os.org/c/haiku/+/6399 Reviewed-by: waddlesplash <waddlesplash@gmail.com> Reviewed-by: Axel Dörfler <axeld@pinc-software.de> Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
|
#
b7dd18b2 |
|
02-May-2023 |
John Scipione <jscipione@gmail.com> |
Tracker: Style fixes only ... including whitespace, brackets, rename loc to where or location, add a pragma. Replace min_c with std::min. Replace BPoint(0, 0) with B_ORIGIN Use make_color() function to make static rgb_color objects. Change-Id: I47a4e5e5f0e7038643baca7539d211350bbb8f20 Reviewed-on: https://review.haiku-os.org/c/haiku/+/6404 Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org> Reviewed-by: Axel Dörfler <axeld@pinc-software.de>
|
#
a63a6739 |
|
23-Apr-2023 |
John Scipione <jscipione@gmail.com> |
Tracker: Whitespace, alphabetize style fixes No functional change intended. Change-Id: Ib47f6b04e372923a5d2a1774ce4e3f56d8b05792 Reviewed-on: https://review.haiku-os.org/c/haiku/+/6370 Reviewed-by: waddlesplash <waddlesplash@gmail.com> Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
|
#
147ca876 |
|
28-Jan-2023 |
Augustin Cavalier <waddlesplash@gmail.com> |
Tracker: Drop ShowHideSelection setting. Unused since the previous commit.
|
#
7255d288 |
|
28-Nov-2022 |
Augustin Cavalier <waddlesplash@gmail.com> |
Tracker: Do not try to change to an invalid or unset icon size. This can happen if we are already at the largest or smallest size. Fixes #18066. Change-Id: Icf68627ea51a054dac806ec0c9258bc80c869483 Reviewed-on: https://review.haiku-os.org/c/haiku/+/5840 Reviewed-by: waddlesplash <waddlesplash@gmail.com>
|
#
95ca8eef |
|
09-Sep-2022 |
Augustin Cavalier <waddlesplash@gmail.com> |
Tracker: Privatize most members of BPoseView. Greatly reduces what is available to inherited classes. No functional change intended.
|
#
f61067a0 |
|
09-Sep-2022 |
Augustin Cavalier <waddlesplash@gmail.com> |
Tracker: Reset title view state after making column list empty. Fixes #17899.
|
#
054c1b27 |
|
31-Aug-2022 |
Augustin Cavalier <waddlesplash@gmail.com> |
Tracker: Overhaul list column size initialization and storage. Mostly for HiDPI, but this also cleans up the code in general, too. * Apply a scale-factor when loading and serializing column size/offsets in ViewState. * Do not hard-code offset values for default columns but let BPoseView::AddColumn() compute them manually instead. * Change BPoseView::AddColumn() to support being called during early initialization and utilize it in SetUpDefaultColumns...(). * When adding deserialized columns to a BPoseView, always realign the offsets instead of just doing sanity checking. The rationale here is that the first time the TitleView is touched, it will do this anyway, and cause "snapping" or drawing glitches if the alignment is not as expected. If it was actually somehow an intended feature that non-adjacent columns can be displayed, changes are needed in TitleView and PoseView to properly support this without triggering redraw glitches. I still saw some very slight redraw glitches (e.g. column contents shifting by 1px) at higher font sizes; however, Tracker before this commit had far more of those glitches (this commit seems to resolve a number of them.) Tested with 12pt, 18pt, and 20pt font sizes; this seems to work pretty well. But if you see strange behavior or more redraw glitches than there were previously, please do file a ticket.
|
#
509c951d |
|
31-Aug-2022 |
Augustin Cavalier <waddlesplash@gmail.com> |
Tracker: Scale all icon sizes, not just the list icon size. ViewState now always holds the unscaled icon size and PoseView computes and caches the actual display icon size. Anyone who used Tracker on HiDPI before this commit will likely need to reduce the icon size on their desktops and any open windows.
|
#
0c973c94 |
|
26-Aug-2022 |
Augustin Cavalier <waddlesplash@gmail.com> |
Tracker: Refactor IconCache size handling and usages. * Instead of taking an icon_size, which we were having to cast random integers to anyway, just take a BSize and convert internally as needed. This simplifies a lot of usages of IconCache methods. * Compute what B_MINI_ICON size will be at startup. This way, we do not wind up caching "mini" icons in the fLarge*Icon variables under HiDPI. This does have a downside that if anything actually does try to fetch "true mini" (16x16) icons when the real ComposeIconSize(B_MINI_ICON) is larger than that, it will wind up (confusingly) in fLarge*Icon, but that should not cause problems and after this commit should not happen at all, anyway. * Make mini-icon-mode use ComposeSize instead of the hardcoded 16x16, and adjust metrics computations around it. * Fetch larger icons in MountMenu logic. Also use BString::SetToFormat. * Remove an unused, deprecated method from BPoseView. * Rename variables in thumbnail generation code to match new behavior.
|
#
50107f9f |
|
20-Jun-2021 |
John Scipione <jscipione@gmail.com> |
Tracker: fix last minute mini icon mode bugs Pose::CalcRect() assumed top is at icon top in mini-icon mode. This is not true for larger font sizes where the top of the text is above the top of the icon. Calculate top and bottom based on font and icon size matching the calculation in TextWidget::CalcRectCommon(). This fixes a highlight redraw bug in mini icon mode at larger font sizes. Push Edit name right 2px to match label position (in mini-icon mode.) Round to integer to help with 1px off bug. Edit name box is still off by 1px from the label for some font families and sizes. Change-Id: Ibba897d6f3c7a879631adedada5cd59d2071191a Reviewed-on: https://review.haiku-os.org/c/haiku/+/4204 Reviewed-by: John Scipione <jscipione@gmail.com> Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com> Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
|
#
7912dad9 |
|
17-Jan-2021 |
John Scipione <jscipione@gmail.com> |
BTextView: Fix Tracker edit name Don't resize text view in FrameResized() if resizable, this is done in _AutoResize() instead. Set text rect width to width of max line when word-wrap is off. Text rect width shrinks to the width of the text matching behavior of BeOS R5 and previous Haiku. This fixes Tracker Edit name. Limit max width to column width in list mode or 30em in icon mode. Filter paste messages limiting to max width in Tracker Edit name. General BTextView fixes: As a consequence of the text rect shrinking to fit the text, adjust highlighting to go at least to edge of the view even if text rect width is narrower. Extend the invalidation area beyond text rect when redrawing to include highlighted areas. Text views behave properly when overflow occurs i.e. when you type text off the end of the text view. The text is nudged over as you type/scroll so that the previous text is visible. This sorta worked before but now works better. Fix text rect centering by replacing switch with BLayoutUtils::AlignOnRect(). Coalesce consecutive draw calls when inserting and deleting text to prevent flashing for example when resizing the window. Redraw text when the text view scrolls fixing a bug I noticed in StyledEdit. Workaround negative height Beezer bug. Fixes #16642, #16476 Change-Id: I2d32d6039944d2dc3218ce4de71f2966cc98c866 Reviewed-on: https://review.haiku-os.org/c/haiku/+/3642 Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org> Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
|
#
61282f95 |
|
10-Jan-2021 |
Adrien Destugues <adrien.destugues@opensource.viveris.fr> |
Tracker: fix invisible selection text in disabled windows Regression introduced in hrev54742 which used DeskTextColor() on a non-desktop view. The view color isn't set anywhere in that case and does not match the background color, which led to drawing white text on a white background. Moreover, a second bug was stacked on that: the selection is drawn in "reverse video" (using the document color for the text and document text color for the background) only for active windows. For inactive ones, it is drawn normally, and then a middle-grey rectangle is alpha blended on top. Add a comment to clarify that and reintroduce the ckeck that had been removed. Also replace the hardcoded black for the selection background, so it will be more easily visible for people using dark mode. Fixes #16627.
|
#
8a72ba1b |
|
19-Dec-2020 |
Adrien Destugues <pulkomandy@pulkomandy.tk> |
Tracker: improve algorithm to decide desktop text color Fixes #16673
|
#
10bc5b6e |
|
05-Dec-2020 |
Augustin Cavalier <waddlesplash@gmail.com> |
Tracker: Increase the readability threshhold to 50%. nephele is working a more comprehensive fix to this code, but for now, this seems to be sufficient for the time being.
|
#
7377c398 |
|
21-Nov-2020 |
Pascal Abresch <nep@packageloss.eu> |
Tracker: make desktop color selection try user color first Change-Id: I47392bdafe8ecf1996886fd0a8324a114f4524fd Reviewed-on: https://review.haiku-os.org/c/haiku/+/3407 Reviewed-by: waddlesplash <waddlesplash@gmail.com>
|
#
0404495f |
|
26-Jan-2020 |
Murai Takashi <tmurai01@gmail.com> |
tracker: Fix PVS V595 Add NULL check for 'ContainerWindow()', since it might return NULL. Change-Id: I0a9e7243c6d23be7559331dcd72e0675eb44809e Reviewed-on: https://review.haiku-os.org/c/haiku/+/2161 Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
|
#
a6c8647e |
|
18-Nov-2020 |
Adrien Destugues <pulkomandy@pulkomandy.tk> |
Tracker: list item height must be an integer. The item height is rounded to the nearest integer when drawing, but it is also used to compute an item position: position in pixels = item number * height If the height is not an integer, this leads to a rounding error, and depending on how the items are drawn, some of them are shifted up by a pixel because of it. The fix is to round up the item height when it is first computed, and then make all computations keeping integer values. Fixes #16377.
|
#
77912444 |
|
05-Mar-2020 |
X512 <danger_mail@list.ru> |
Tracker: fix ScrollIntoView Same problem as in BListView::ScrollToSelection. Change-Id: I1cd26190566b1808f47475c1499298b66549f024 Reviewed-on: https://review.haiku-os.org/c/haiku/+/2312 Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
|
#
df2e6c7a |
|
06-Jul-2020 |
Augustin Cavalier <waddlesplash@gmail.com> |
Tracker: Force the horizontal scrollbar to always be the preferred size. See inline comment. Should fix second part of #16368.
|
#
f82f94ef |
|
06-Jul-2020 |
Augustin Cavalier <waddlesplash@gmail.com> |
Tracker: Remove partial support for custom fonts in PoseView. BFont is by default bitmap-spaced, so we do not need to make a new font just to add bitmap spacing. The rest of the code assumes in places that we have the same general characteristics as be_plain_font anyway, so having these bits of code does not make a lot of sense. Also correct the list element height computation to now just use be_plain_font directly, which will work even when this is the first PoseView created (i.e. before the font height has been read.)
|
#
749fbae0 |
|
05-Jul-2020 |
Augustin Cavalier <waddlesplash@gmail.com> |
Tracker: Fix PoseView list item height computation. This gets list item margins on HiDPI much closer to their standard- DPI counterparts. Fixes #16178.
|
#
17512090 |
|
10-Mar-2020 |
Niels Sascha Reedijk <niels.reedijk@gmail.com> |
Fix error in string. Reported by a translator. Thanks!
|
#
1ba93961 |
|
07-Mar-2020 |
Augustin Cavalier <waddlesplash@gmail.com> |
Tracker: Replace the deprecated std::hash_set with our HashSet. Change-Id: I7d29f0c905a3ab1a20f6eca252ff1f168218c23f Reviewed-on: https://review.haiku-os.org/c/haiku/+/2322 Reviewed-by: John Scipione <jscipione@gmail.com>
|
#
6bff9184 |
|
07-Jan-2020 |
X512 <danger_mail@list.ru> |
Tracker: fix window focus behaviour * Also fix LongAndDragTrackingFilter Fixes #15605 Change-Id: I98c5f3ca435e54c98515ebe2fccbbfd5d08c1a25 Reviewed-on: https://review.haiku-os.org/c/haiku/+/2081 Reviewed-by: Sergei Reznikov <diver@gelios.net> Reviewed-by: waddlesplash <waddlesplash@gmail.com>
|
#
d2a69b8b |
|
20-Aug-2019 |
Ryan Leavengood <leavengood@gmail.com> |
Tracker: Improve pose loading speed, add comments If a new pose is going to be placed below the current view bounds, we definitely do not need to do any drawing. If it is above or inside the view bounds we do this special drawing method. Overall this method of doing updates is complicated and hard to adjust without introducing drawing artifacts. As noted in the TODO, this should be rethought from scratch. But for now in one case of over 8000 files in a single directory this improved the loading speed from about 8 or 9 seconds to 1. Queries results also load much faster. I am testing in a VM with a single CPU on a host with an SSD, so others may see better performance with more CPUs, or less with a spinning hard drive. But at least now the drawing won't be the bottleneck. Should finally fully fix #3011, or at least good enough for close. Change-Id: I3806ffa7674e404c9db24edb33d6ab4eb2d825f7 Reviewed-on: https://review.haiku-os.org/c/haiku/+/1726 Reviewed-by: waddlesplash <waddlesplash@gmail.com>
|
#
ecba7b5c |
|
01-Aug-2019 |
Ryan Leavengood <leavengood@gmail.com> |
Tracker: Ensure loading the Node works before passing to a Filter Checking errors is important. This properly fixes #10365 and resolves a few TODOs. This DirectoryFilter is also used in Expander, though with a lower level implementation that did not trigger this bug. This feels like it could be in the the Tracker or shared kit. Change-Id: Icd2ddc241c1879a7c4235726bf089570ba00dc0a Reviewed-on: https://review.haiku-os.org/c/1672 Reviewed-by: waddlesplash <waddlesplash@gmail.com>
|
#
1705656e |
|
24-May-2019 |
Augustin Cavalier <waddlesplash@gmail.com> |
Add (void*) casts to memcpy/memset invocations to appease GCC 8. A lot of these classes are not *technically* "trivially copyable" for one reason or another, but in all of these cases it seems OK to me to use memcpy/memset on them. Adding a cast to void* tells GCC that "I know what I'm doing here" and shuts up the warning.
|
#
a55e9f52 |
|
05-Nov-2018 |
Axel Dörfler <axeld@pinc-software.de> |
Tracker: NavMenu icons scale with font size * Moved icon size computation into separate utility function.
|
#
fa584266 |
|
05-Nov-2018 |
Axel Dörfler <axeld@pinc-software.de> |
Tracker: Simplified test; fColumnList cannot be NULL
|
#
6ccc2b9f |
|
04-Nov-2018 |
Augustin Cavalier <waddlesplash@gmail.com> |
Tracker: Add some missing NULL checks. Fixes #14685.
|
#
0f03d737 |
|
04-Nov-2018 |
Axel Dörfler <axeld@pinc-software.de> |
Tracker: List view icons now grow with font size * This also removes the mini/large icon mode for list views; it's now simply always matching your font size. Change-Id: Ieedd86cc3a50dd0f950d97bbd9839384d44f8bd3 Reviewed-on: https://review.haiku-os.org/662 Reviewed-by: waddlesplash <waddlesplash@gmail.com>
|
#
497f099f |
|
16-Sep-2018 |
Augustin Cavalier <waddlesplash@gmail.com> |
Tracker: Clean up AddPoses threads properly. They may still be running at the point we detach from the window, and as we stop watching everything else at that point (and the threads themselves depend on the window looper as the global "lock"), we need to tear them down then. We especially cannot do this in the destructor, as there are some virtual methods that the threads need during their teardown which obviously will not work in ~BPoseView. Fixes #13371, and potentially other Tracker crashes that occured as a result of closing the window while the add-poses tasks were still operational. Change-Id: Ib7ec0d1d413096be899a05887399f5b087eb8f99 Reviewed-on: https://review.haiku-os.org/574 Reviewed-by: waddlesplash <waddlesplash@gmail.com>
|
#
2d8adbdd |
|
29-Apr-2017 |
Owen <owenca@users.noreply.github.com> |
Tracker: Fix Shift+click multi-selection not being disabled. Using BFilePanel with multi-selection turned off does not prevent multi-selection by SHIFT-click. Traced the bug to BPoseView::AddRemoveSelectionRange(), and the safest fix is to not touching the boolean extendSelection but to just add the test for fMultipleSelection to the if block that handles B_SHIFT_KEY. Fixes #13462. Signed-off-by: Augustin Cavalier <waddlesplash@gmail.com>
|
#
41b05954 |
|
28-Apr-2017 |
Owen <owenca@users.noreply.github.com> |
Tracker: Fixed shift extension after keyboard selection. fixes the bug that caused multi-selection by SHIFT-cliking to fail if an item in the file panel was selected by a key (ticket #13460). If the user tries to select a single item by pressing a key (Left/Right, Up/Down, etc.), the BPoseView::KeyDown() function will call the BPoseView::SelectPose() function, which must set fSelectionPivotPose to the selected item (or pose) because this item might be the starting (or pivot) pose of the next multi-selection by SHIFT-click. Signed-off-by: Axel Dörfler <axeld@pinc-software.de>
|
#
54a37ee4 |
|
22-Apr-2017 |
Humdinger <humdingerb@gmail.com> |
Tweak when to use black/white for icon labels on Desktop I've felt for a long time that the Desktop's background colour had to be much too dark for the icon labels to switch from black to white. I came to the new values by trial and hope nobody hates those now...
|
#
cfe0adf0 |
|
22-Oct-2016 |
Augustin Cavalier <waddlesplash@gmail.com> |
Tracker: Remove unused definition.
|
#
13cf3fec |
|
21-Oct-2016 |
Augustin Cavalier <waddlesplash@gmail.com> |
Tracker: Remove unused Cursors.h header.
|
#
45e5951b |
|
17-Oct-2016 |
Augustin Cavalier <waddlesplash@gmail.com> |
Tracker: Fix the TitleView appearing sometimes in icon-view folders. It appears this would only happen when opening a new window (not an existing one) for a folder that was set to icon-view. Regression from hrev48734 (Layout API commit). Fixes #13000.
|
#
8fdd2629 |
|
01-Sep-2016 |
John Scipione <jscipione@gmail.com> |
Tracker: 32x32 icon size option in list mode 16x16 is same old default 32x32 is new and fun Adjust start offset to depend on icon size Remove the kColumnStart variable and instead use StartOffset() method which calculates the column start offset based on the icon size. When you switch between icon sizes in list mode recalculate the first column width to make room for the icon or more text. Add some padding to list height in large icon mode.
|
#
b339ee18 |
|
02-Sep-2016 |
John Scipione <jscipione@gmail.com> |
Tracker: Make mini mode default for list mode but if you are in icon mode (like Desktop) use large icons instead. This change will be important going forwards.
|
#
ee20ff95 |
|
01-Sep-2016 |
John Scipione <jscipione@gmail.com> |
Tracker: Style fixes More style fixes
|
#
c1cd54a0 |
|
21-Jul-2016 |
Augustin Cavalier <waddlesplash@gmail.com> |
FSUtils: Add a "bool copyTimes" argument to FSCopyAttributesAndStats(). BPoseView::NewFileFromTemplate does not want to copy the times. Fixes #11702. We have to keep a 2-argument version of this function because it looks like some third-party applications might call it (e.g. Dockbert), and even though it's technically private API, it's easy enough to preserve binary compatibility.
|
#
e944daca |
|
21-Jul-2016 |
Augustin Cavalier <waddlesplash@gmail.com> |
Tracker: Remove special filtering case from NewFileFromTemplate. If the pose matches the current type-ahead filter, it will be added by the node watcher anyway, so this just created duplicate poses which messed up internal data structures. Fixes #11122.
|
#
9bd7e401 |
|
07-Mar-2016 |
Augustin Cavalier <waddlesplash@gmail.com> |
Tracker: Restore original PoseView/TitleView names except in BFilePanel. Should've fixed #12635, but it doesn't. No idea why; perhaps request.AddSpecifier("Window", "/boot/home/Desktop"); doesn't work anymore?
|
#
c5b4dc40 |
|
09-Dec-2015 |
looncraz <looncraz@looncraz.net> |
Tracker: Use Set*UIColor, improved font awareness. InfoWindow now uses the font size to determine the window size and placement of elements. Also uses system colors, including link colors. Permissions view not font sensitive yet. Signed-off-by: Augustin Cavalier <waddlesplash@gmail.com> Patch 0039 from looncraz, unmodified.
|
#
a89ac5a6 |
|
16-Dec-2015 |
Markus Himmel <markus@himmel-villmar.de> |
Tracker: Add dragged poses to the drag message in the correct order The function EachPoseAndModel iterates through poses in reverse order. This fixes #12333. Signed-off-by: Augustin Cavalier <waddlesplash@gmail.com>
|
#
d8b517b5 |
|
09-Sep-2015 |
Axel Dörfler <axeld@pinc-software.de> |
Tracker: made title view height depend on font size. * It now uses a font that's 3/4 the size of the plain font; ie. there shouldn't be any change with the default font size. * Also cleaned up some weird layout code on the way.
|
#
bf548029 |
|
09-Sep-2015 |
Axel Dörfler <axeld@pinc-software.de> |
Tracker: Made list element spacing relative to font size. * Instead of always adding two pixels, we now multiply the size with 1.1.
|
#
7cef8ca2 |
|
10-Aug-2015 |
Michael Lotz <mmlr@mlotz.ch> |
Tracker: Fix regression introduced in hrev49011. If the view fails to lock because it is actually gone, we obviously can't use it to return the container, so delete it directly in that case. Fixes #12072 and probably #11982 which would then be a duplicate.
|
#
b46999bc |
|
21-Jul-2015 |
Axel Dörfler <axeld@pinc-software.de> |
Tracker: page down/up now selects poses. * When pressing shift it will also extend the selection to the bottom or the top of the page. * It does not deselect anything yet, but Tracker's selection logic is pretty questionable, anyway, and it's way too complicated to implement this nicely as of now.
|
#
29355b23 |
|
17-Jun-2015 |
Janus <janus2@ymail.com> |
Tracker: reduce distance between rows with big fonts
|
#
38b2eae6 |
|
14-Jun-2015 |
Janus <janus2@ymail.com> |
Tracker: fix selection glitch with some fonts * This problem was present for the fonts with total height greater than 19 and smaller than 20. * Reduce distance between row with big fonts. * Fixes #11615.
|
#
37335989 |
|
26-Apr-2015 |
Augustin Cavalier <waddlesplash@gmail.com> |
Tracker: delete more non-Haiku code.
|
#
2bd0b27f |
|
08-Apr-2015 |
Michael Lotz <mmlr@mlotz.ch> |
Tracker: Fix use-after-free by ref filter of OpenWithPoseView. Commit ea8b1e14 changed OpenWithPoseView from using ShouldShowPose for filtering poses to a BRefFilter. The introduced ref filter used the iterator handed to the BPoseView::AddPosesTask which took ownership of that iterator and deleted it as soon as it was done. Since actually adding the poses as well as further filtering is asynchronous and happens after the AddPosesTask completes, the iterator was used after it was already deleted. Introduce BPoseView::ReturnDirentIterator() that is called after the AddPosesTask is complete. The default version deletes the iterator, the OpenWithPoseView overrides it and does nothing, it deletes the iterator in the destructor instead. Also fix leaking the ref filter. The BPoseView does not take ownership of the filter as it usually comes from a BFilePanel which is documented to not take ownership.
|
#
0a74a005 |
|
08-Apr-2015 |
Michael Lotz <mmlr@mlotz.ch> |
Tracker: Remove two outdated comments, whitespace cleanup.
|
#
d854f235 |
|
08-Apr-2015 |
Michael Lotz <mmlr@mlotz.ch> |
Tracker: Remove an old PPC STL workaround.
|
#
4e357263 |
|
29-Mar-2015 |
Augustin Cavalier <waddlesplash@gmail.com> |
Tracker: add "hide dotfiles" option to the GUI & enable it by default. Changing this many lines of code to add a single boolean preference is absolutely insane. We need a new preference-tracking system, and one that can be reused in other applications, too. Fixes #9200.
|
#
7ef62fb6 |
|
27-Feb-2015 |
John Scipione <jscipione@gmail.com> |
Tracker: Style fixes * Style fixes to QueryContainerWindow.h * Style fixes to ContainerWindow * Style fixes to Model * Style fixes to Tracker * Style fixes to PoseView - Most of the changes come from unindenting the code
|
#
8b03727a |
|
28-Feb-2015 |
Augustin Cavalier <waddlesplash@gmail.com> |
Revert "Tracker: Fix memory leak" This reverts commit de7aed2b5671d54c3557fad447ba60ffe17ef9bb. It turns out that this causes crashes when trying to navigate in directories with type-ahead filtering enabled. (possibly related to the root cause of
|
#
9e78efbb |
|
27-Feb-2015 |
Augustin Cavalier <waddlesplash@gmail.com> |
Tracker: delete un-needed #includes. All of these header files are already included by the .h file that corresponds to the .cpp file.
|
#
7d515bdb |
|
27-Feb-2015 |
John Scipione <jscipione@gmail.com> |
Tracker: handle copying files from virtual directories If virtual directory first resolve the symlink before copying/moving/linking the file. Fixes #11091 R1/B1 bug squashed!
|
#
27c57467 |
|
27-Feb-2015 |
John Scipione <jscipione@gmail.com> |
Tracker: Move static functions up Rename CopySelectionListToBListAsEntryRefs to CopySelectionListToEntryRefList to reflect that it no longer copies to a BList but instead to a BObjectList<entry_ref>
|
#
4c47562f |
|
27-Feb-2015 |
John Scipione <jscipione@gmail.com> |
Tracker: Minor style fixes to PoseView
|
#
f0647531 |
|
26-Feb-2015 |
John Scipione <jscipione@gmail.com> |
Tracker: link to TargetLibsupc++
|
#
370ee87a |
|
26-Feb-2015 |
John Scipione <jscipione@gmail.com> |
Tracker: replace max_c with std::max Remove using statements and put map include in its proper place
|
#
de7aed2b |
|
26-Feb-2015 |
John Scipione <jscipione@gmail.com> |
Tracker: Fix memory leak When items were removed from fFilteredPoseList as opposed to fPoseList, the items were not automatically deleted and thus leaked. By setting the BObjectList to automatically delete them on removal (by setting the deleteIfOwned paramete to true) we avoid this leak.
|
#
8c2813c1 |
|
25-Feb-2015 |
John Scipione <jscipione@gmail.com> |
Tracker: Style fixes
|
#
5f26850c |
|
25-Feb-2015 |
John Scipione <jscipione@gmail.com> |
Tracker: Small style fixes
|
#
2f5fe16a |
|
14-Feb-2015 |
Augustin Cavalier <waddlesplash@gmail.com> |
Tracker: delete #ifndef __HAIKU__ code. Since tracker_layout has been merged, this is pretty useless now. Should result in no change to generated assembly.
|
#
e7803cf1 |
|
26-Jan-2015 |
Augustin Cavalier <waddlesplash@gmail.com> |
Tracker: use the Layout API wherever possible. Sorry this commit is so big, but I couldn't figure out how to do this incrementally without breaking things. I wasn't able to just merge Aldeck's branch, as it was a partial refactor of Tracker and didn't just rewrite the UI creation code to use layouts, and the changes for PM (e.g. addon loading, virtual directories) made it very hard to merge (it doesn't even compile after an automerge) so rather than spending time on that, I decided it'd be better to recreate his work. Miscellaneous notes: - This partially cleans up BPoseView & subclasses and BContainerWindow & subclasses -- none of the subclasses and child views abuse the parent's state, child views, or layout now. - BFilePanel and BDeskWindow are not on layouts, because: * BFilePanel docs in the Be Book instructed developers that wanted to modify BFilePanel's layout to just use FindView() and then move the views around. Obviously making it use layouts will break all BeOS apps that do this, and there are a lot of them (Pe, WonderBrush are just two examples.) I've added a note to the TODO list for R2 to create a layout-compatible API for this. * Some replicants (Workspaces, for example) rely on manipulating BDeskWindow's drawing state. This is incompatible with layouts, as at least in the case of Workspaces, it breaks a layouted version of BDeskWindow entirely. - I noticed a lot of #ifdef BEOS_VERSION ... gunk in the code. Tracker probably didn't build on BeOS just before this commit, and now it won't for sure, so I intend to go through and clean that out in the near future. This commit also fixes: - enhancement #4996 (make Tracker's navigator use vector icons) - bug #3039 (resizing OpenWithWindow flashes the blue border) - bug #3889 (OpenWithWindow redraw errors) - a regression that was a side effect of "dynamic_cast<BDeskWindow*>(this)" always returning NULL when run in the constructor. I just added a "bool isDeskWindow" to BContainerWindow's constructor that is only set to true by BDeskWindow. - a copy&paste error in VirtualDirectoryPoseView that was passing "uint32 resizeMode" as "uint32 viewMode". Thanks to Alexandre for his original branch (it was a very useful reference), Axel (for some miscellaneous advice & encouragement), Adrien & Humdinger (for user interface review), and Diver (for user interface review & testing).
|
#
529cd177 |
|
04-Dec-2014 |
Adrien Destugues <pulkomandy@gmail.com> |
BFilePanel: allow to change the node flavors There doesn't seem to be anything ini the implementation that would cause a problem, as long as you don't try to change this while the window is already open.
|
#
2f60dea5 |
|
29-Jul-2014 |
John Scipione <jscipione@gmail.com> |
Tracker: Throw exception on assert failure ... in situations where a NULL pointer dereference was vital to the functioning of the method we use a stronger assert that throws an exception on failure. This is accomplished by a new method in Utilities.cpp, ThrowOnAssert(). None of these conditions should ever be true, if they are it means that the code is written improperly and would have resulted in a NULL dereference and undefined behavior (most likely a crash) before. Most instances of ThrowOnAssert() either replace an ASSERT followed by a dereference or an early return that covered the error. Also remove _ThrowOnErrorWithMessage() which wasn't being used.
|
#
9cc03189 |
|
28-Jul-2014 |
John Scipione <jscipione@gmail.com> |
Tracker: Add NULL checks and ASSERTs To prevent recoverable NULL pointer dereferences. Dereferencing a NULL pointer is undefined behavior and should be avoided. Unrecoverable NULL checks will be dealt with in the next commit.
|
#
54e2dd72 |
|
28-Jul-2014 |
John Scipione <jscipione@gmail.com> |
Tracker: style fixes No functional changes intended.
|
#
95ef5405 |
|
25-Jul-2014 |
John Scipione <jscipione@gmail.com> |
Tracker: Unchecked dynamic_cast, CID 611229
|
#
a35bd7b0 |
|
25-Jul-2014 |
John Scipione <jscipione@gmail.com> |
Tracker: Unchecked dynamic_cast, CID 600452
|
#
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
|
#
3188d3d0 |
|
23-Jul-2014 |
John Scipione <jscipione@gmail.com> |
Tracker: Remove logically dead code Replace with an ASSERT that srcWindow != NULL by the time we've gotten this far. CID 1228649 and CID 1228650
|
#
a892df23 |
|
18-Jul-2014 |
John Scipione <jscipione@gmail.com> |
Tracker: Fix several unchecked return values CID611191, CID611192, CID611193
|
#
5969c5d7 |
|
18-Jul-2014 |
John Scipione <jscipione@gmail.com> |
Tracker: Fix use after free CID510586
|
#
1933335b |
|
18-Jul-2014 |
John Scipione <jscipione@gmail.com> |
Tracker: fix 2 uninitialized scalers CID610119
|
#
ba24adb2 |
|
18-Jul-2014 |
John Scipione <jscipione@gmail.com> |
Tracker: fix 2 unbounded copies CID609045
|
#
d308d1fa |
|
18-Jul-2014 |
John Scipione <jscipione@gmail.com> |
Tracker: fix unchecked dynamic_casts CID603130, CID603131, CID603132
|
#
62de0e04 |
|
18-Jul-2014 |
John Scipione <jscipione@gmail.com> |
Tracker: fix unchecked return values Check that LockLooper() succeeds CID611190, CID611194, CID602477
|
#
dc3cfca4 |
|
18-Jul-2014 |
John Scipione <jscipione@gmail.com> |
Tracker: fix unused pointers CID610474, CID610475
|
#
20e3467e |
|
18-Jul-2014 |
John Scipione <jscipione@gmail.com> |
Tracker: fix dereference after NULL checks CID600503, CID600504, CID600505
|
#
0db0308b |
|
18-Jul-2014 |
John Scipione <jscipione@gmail.com> |
Tracker: style fixes to PoseView.cpp Compare with NULL explictly
|
#
d5868b59 |
|
26-Jun-2014 |
John Scipione <jscipione@gmail.com> |
Tracker: style fixes to PoseView Variable renaming for consistency and clarity
|
#
d7e68211 |
|
04-Jul-2014 |
John Scipione <jscipione@gmail.com> |
Tracker: miscellaneous style fixes
|
#
091db3a9 |
|
20-Jun-2014 |
John Scipione <jscipione@gmail.com> |
Tracker: Check if selectedPose is NULL ... before using it.
|
#
14bf930b |
|
20-Jun-2014 |
John Scipione <jscipione@gmail.com> |
Tracker: Check if selectedBounds is NULL ... before using it.
|
#
38181640 |
|
20-Jun-2014 |
John Scipione <jscipione@gmail.com> |
Tracker: style fixes to PoseView class
|
#
9437e677 |
|
09-Jun-2014 |
John Scipione <jscipione@gmail.com> |
Tracker: Style fixes
|
#
9bd08d10 |
|
01-Feb-2014 |
John Scipione <jscipione@gmail.com> |
Tracker: Don't change selection if right-click ... inside a selection. If you click outside a selection extend the selection to include the new items as Tracker normally would and then pop up the dialogs. Works with control-click as well, same utility function used. Fixes #10449
|
#
80f4300a |
|
01-Feb-2014 |
John Scipione <jscipione@gmail.com> |
Tracker: Make context menu work with control-click in additional to secondary mouse button click, uses same utility function.
|
#
898f1082 |
|
01-Feb-2014 |
John Scipione <jscipione@gmail.com> |
Tracker: Add SecondaryMouseButtonDown method Create this utility method in Utilities.cpp and use it elsewhere tell if the secondary mouse button is pressed or if it is emulated with a control-click.
|
#
6be6813f |
|
01-Feb-2014 |
John Scipione <jscipione@gmail.com> |
Tracker: swap using std::swap()
|
#
fcb24e82 |
|
31-Jan-2014 |
John Scipione <jscipione@gmail.com> |
Tracker: Only open items if doubleclick w/ primary MB Also rename fLastClickPt to fLastClickPoint
|
#
9d33fe68 |
|
31-Jan-2014 |
John Scipione <jscipione@gmail.com> |
Tracker: Style fixes to BPoseView
|
#
80c9ee9c |
|
24-Dec-2013 |
Freeman Lou <freemanlou2430@Yahoo.com> |
Tracker: exclude trash from selection. Signed-off-by: Rene Gollent <rene@gollent.com>
|
#
1c29b26e |
|
29-Jun-2013 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Add virtual directory feature to Tracker Similar to stored queries, files of the virtual directory type behave like directories -- i.e. they open in a list-mode Tracker window and show up as an item with submenu in navigation menus. The file itself is a plain text file in driver settings format. It can have an arbitrary number of "directory" entries, which specify the paths of (actual) directories for which the virtual directory provides a merged view. The view will not show duplicate entries. For non-directory entries the first one encountered (according to the order the directory paths are specified in the file) will be shown. A subdirectory entry will again behave like a virtual directory. The support in Tracker isn't perfect yet. I'm afraid major refactoring would be necessary to get it there. The virtual directory file type uses a differently colored version of the folder icon. Alternatives welcome.
|
#
de85051c |
|
29-Jun-2013 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
BPoseView::AttributeChanged(): additional check in icon case Model::AttrChanged() requires the model to be open and so does IconCache::IconChanged(), so add the check. Not sure if the block is ever executed now (or ever worked before). This does at least prevent asserts being triggered when compiled with debugging enabled.
|
#
ddd775f5 |
|
20-Jun-2013 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
BPoseView::FSNotification(): fix issue in debug build
|
#
535207ae |
|
19-Jun-2013 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
BPoseView::AddPosesTask(): fix count checks In case GetNextDirents() returned an error, the wrong blocks were executed.
|
#
a53db189 |
|
11-Apr-2013 |
Rene Gollent <anevilyak@gmail.com> |
Fix #9663. When clearing the filter state, don't disable filtering entirely if we have a ref filter present. Otherwise, it won't be invoked again until the next time a typeahead filter is engaged.
|
#
163a3948 |
|
09-Feb-2013 |
Humdinger <humdingerb@gmail.com> |
Revert "Renamed Tracker option "Don't move files to Trash" (#9352)" This reverts commit 45f77dcd7029914ccd99178dfb333eb68c7af9e5.
|
#
45f77dcd |
|
06-Jan-2013 |
Humdinger <humdingerb@gmail.com> |
Renamed Tracker option "Don't move files to Trash" (#9352) Renamed that option as it is the only negatively phrased to "Move deleted files to Trash first" and also the option below that to "Ask before deleting for good". Also renamed every function name etc. in that regard and also settings string of the Tracker settings file.
|
#
db416834 |
|
02-Jan-2013 |
Matt Madia <mattmadia@gmail.com> |
Automatic whitespace cleanup. No functional change.
|
#
205cf695 |
|
24-Dec-2012 |
Philippe Saint-Pierre <stpere@gmail.com> |
Tracker: Force Identify - don't require holding shift (#4857) Don't require to hold shift when clicking on force identify, can now be released after popup menu have appeared.
|
#
3fbf5d68 |
|
23-Dec-2012 |
Philippe Saint-Pierre <stpere@gmail.com> |
Tracker: Drawing artifact (#6513) After switching from outline only selection mode to transparent rectangle, a drawing artifact could occur because the last selection rectangle wasn't reset properly. On following update, Tracker thought a selection rectangle was still to be shown.
|
#
dbe30881 |
|
25-Nov-2012 |
Philippe Saint-Pierre <stpere@gmail.com> |
Tracker: Tracker crashes in KeyDown() if there are no models associated with the PoseView. Happens in special windows, such as OpenWith Window, that do have a PoseView not associated with a model. Fixes #8160.
|
#
151b6997 |
|
15-Sep-2012 |
Philippe Saint-Pierre <stpere@gmail.com> |
Tracker: Moving columns could make an horizontal scrollbar appear
|
#
ed63a5d2 |
|
18-Aug-2012 |
Philippe Saint-Pierre <stpere@gmail.com> |
Tracker: Double-Click simplification Double-click check was redoing what is essentially already done in input_server. The way we were doing it, right clicking (or pressing a different button for the second click, for that matter) wasn't clearing the fields remembered and thus not breaking the sequence. So a third click returning to the correct sequence (in a short time) would get recognized as a valid second click. So a quick left-right-left would be seen by that method as left-left. Also, clean up a previous fix I committed. Removed the introduced Origin() method as it is the LeftTop() method I was interested in and it is already existing. Fix #8714
|
#
c3837537 |
|
14-Aug-2012 |
Philippe Saint-Pierre <stpere@gmail.com> |
Tracker: TextWidget editing flaws TextWidget tried to detect if the editing box would span outside the PoseView, but it was using an hardcoded value of 1 for the minimum left value. But in Icon mode, negative values can occur. Change to use the view's origin (top left corner of the view).
|
#
8cbdf82a |
|
14-Aug-2012 |
Philippe Saint-Pierre <stpere@gmail.com> |
Tracker: Drawing glitch when created Pose is first in PoseView Due to clipping of a rect to match the view bounds, there was a confusion as to whether the rect was at the top of the view bounds, or above the view bounds as both met the condition. Fixes #8876.
|
#
7ad72ef6 |
|
12-Aug-2012 |
Philippe Saint-Pierre <stpere@gmail.com> |
PoseView: avoid duplication of poses When filtered, clear the FilteredPoseList before re-filling it. Fixes #8875.
|
#
39433058 |
|
11-Aug-2012 |
Rene Gollent <anevilyak@gmail.com> |
Fix ticket #8858. - When an Identify/Force Identify request is made in Tracker, if the target is a link, resolve it to its destination first. Fixes #8858. - Have mime_update.sh explicitly mimeset the welcome/user guide scripts.
|
#
c01e918c |
|
09-Aug-2012 |
Philippe Saint-Pierre <stpere@gmail.com> |
Cancel editing of Widget if sorting of poses occured. Since the position of the widget was registered at the first click, it likely changed and its causing drawing afterfacts (it's editing at its old location).
|
#
66c09a35 |
|
09-Aug-2012 |
Philippe Saint-Pierre <stpere@gmail.com> |
Delayed widget editing, crash avoidance Make the PoseView stop watching a TextWidget if it's being deleted. Could happen in race conditions for example, if you click to edit the name widget of a pose while the pose is being deleted soon after.
|
#
4cf0af06 |
|
09-Aug-2012 |
Philippe Saint-Pierre <stpere@gmail.com> |
Tracker: Additional cases to cancel double-click detection Don't wait for a potential second click (and then trigger Widget editing) when: 1. a click occurs on a different pose, on a 'pose-less' area or when right clicking 2. when you start dragging something.
|
#
741e5246 |
|
09-Aug-2012 |
Philippe Saint-Pierre <stpere@gmail.com> |
Tracker: Double-click management changes Make the "second click of a double-click" detection waiting time async. In other words (hopefully clearer), when the TextWidget gets a click, it register itself, recording the time, and it will get the editing order later as a callback from PoseView when the delay without any further click expires. Fixes #8818 and maybe others.
|
#
e0e641c0 |
|
09-Aug-2012 |
Philippe Saint-Pierre <stpere@gmail.com> |
Tracker: Style fixes, should have no functional change
|
#
11a36918 |
|
08-Aug-2012 |
Philippe Saint-Pierre <stpere@gmail.com> |
PoseView::AddPosesTask - no need to open the node at this point
|
#
aafb6faf |
|
08-Aug-2012 |
Philippe Saint-Pierre <stpere@gmail.com> |
PoseView: crash related to PoseView containing many files Due to a previous change in the incrementation of models in AddPosesTask, PoseView containing large number of poses were prone to crash in ClearPoses(). Gaps in PoseList or other invalid memory area were introduced. Thanks to x-ist for precious assistance in spotting those issues!
|
#
0bc1be32 |
|
08-Aug-2012 |
Philippe Saint-Pierre <stpere@gmail.com> |
PoseView: Fix crash in FilePanel Again, a regression fix. Under some circumstance, fFiltering was wrongly set. Also, the node wasn't open before checking the BRefFilter and some filters expected that to be.
|
#
5489384d |
|
08-Aug-2012 |
Philippe Saint-Pierre <stpere@gmail.com> |
Tracker: crash fix in FilePanel Regression of hrev44493, file panel crashed when changing dir and filtering being disabled (sorry!) Also fix the widget editing when filtering is activated. Now renaming a file/folder and causing it to 'fall off' the filter does work.
|
#
c2535dc4 |
|
07-Aug-2012 |
Philippe Saint-Pierre <stpere@gmail.com> |
Tracker: various issues regarding filtering 1. A BRefFilter-ed PoseView wouldn't keep monitoring files after its opening thus not picking up files that happen to fit the filter thereafter (mime attr updated, etc..) 2. A filtered PoseView wouldn't get updated when: a) a column was added or removed b) a file was renamed c) a file was moved 3. Harmonize the way BRefFiltering and Type-ahead filtering are working. Both can be used together. 4. The handler for AttributeChanged() wasn't working properly if link(s) of a changed model was/were its siblings. 5. Broken links weren't detected/updated (it nows monitor the lost target parent directory, and wait for the target creation to show the link fixed) This is a big change (even more considering the 'critical-ness' of the component) Testing is MUCH welcome! Should fix #4254, #5381, #1717 (and maybe others)
|
#
aed35104 |
|
05-Aug-2012 |
Humdinger <humdingerb@gmail.com> |
Close alerts with ESCAPE key. Added SetFlags(B_CLOSE_ON_ESCAPE) or SetShortcut(index, B_ESCAPE) to BAlerts depending if the result gets used later in the code, or if it's a one-button BAlert.
|
#
adf8818e |
|
05-Aug-2012 |
Alex Smith <alex@alex-smith.me.uk> |
Compilation fixes for Terminal, add to image. It runs, but has shown up various bugs: app_server crashes, kernel panics, rendering problems. Working on fixing these now.
|
#
688e8788 |
|
28-Jul-2012 |
Ryan Leavengood <leavengood@gmail.com> |
Don't check for double click if it was a right mouse click. Fixes #8714.
|
#
e51854a1 |
|
15-Jul-2012 |
John Scipione <jscipione@gmail.com> |
Add 96x96 and 128x128 icon sizes to tracker including scaling of BeOS icons using scale3x and scale4x algorithms.
|
#
a51764c5 |
|
27-Jul-2012 |
John Scipione <jscipione@gmail.com> |
WIP: Yet more style fixes, mostly 80 char violations.
|
#
b05aa8b5 |
|
27-Jul-2012 |
John Scipione <jscipione@gmail.com> |
Style changes in Tracker, no functional change. Manual whitespace cleanup Change instances of const char * to const char* Convert /* */ C style comments to // C++ style comments
|
#
b866f1fa |
|
24-Jul-2012 |
Philippe Saint-Pierre <stpere@gmail.com> |
Tracker: Files created from templates are now monitored fixes #2796.
|
#
4c45f003 |
|
23-Jul-2012 |
Philippe Saint-Pierre <stpere@gmail.com> |
Tracker: Right clicking on Pose triggered Rename prompts Right clicking on a Pose to get the contextual menu would quite often trigger a rename action of that pose. Don't allow to rename a pose by releasing the secondary mouse button.
|
#
fb678bc3 |
|
23-Jul-2012 |
Philippe Saint-Pierre <stpere@gmail.com> |
Tracker: Sorting in filtered view led to crash Fixes #6992.
|
#
c082e8f2 |
|
23-Jul-2012 |
Philippe Saint-Pierre <stpere@gmail.com> |
Tracker: Variation between Saved and Restored widths When restored, an overlap was wrongly detected in offsets for failure to take into account the width of the border line. This was causing the horizontal scrollbar to show unnecessarily.
|
#
5cdd07a8 |
|
23-Jul-2012 |
Philippe Saint-Pierre <stpere@gmail.com> |
Tracker: Optimisation of AddonMenu menu construction 1. Build the list of mimetypes of files in selection only once and reuse it for all further tests. 2. Fix a regression introduced in hrev44384 where the MimeType() wouldn't get recognized when just changed by tracker (by that same right click). It would be on subsequent clicks. 3. Rename the static map variable to better fit our coding style and be more understandable.
|
#
516cac78 |
|
23-Jul-2012 |
Philippe Saint-Pierre <stpere@gmail.com> |
Tracker: Coding style violations fixes and typos No functional changes, thanks Axel!
|
#
674ff0df |
|
22-Jul-2012 |
Philippe Saint-Pierre <stpere@gmail.com> |
Tracker: Various sorting issues in Tracker When sorting files by Modified dates, right clicking on a file was leading to a sorting issue where files were changing positions (without reason). 1. Any changes to stats (size, modification, creation, mode) was triggering the sorting. Now only stats fields currently used as a Sort criteria will trigger such event. 2. The Mimeset of file was set (in case of unknown file format) once per checked add-on when building AddOn Menu. Now it's checked once per file in selection. (so, once per file, rather then once per file, per add-on). 3. Now rely on registrar to force the mimeset (to trigger the sniffer in case the attribute already exist) rather than trying to duplicate the feature in Tracker. 4. When Sorting, if there is a old position known, check if it's working by looking if you should come after the previous item, and before the following item. Previously, the item would be pushed at the top if the group of item all fitting the criteria (same file size, same file kind, etc.. depending on the sorting criteria). Fixes #8478.
|
#
1236c746 |
|
21-Jul-2012 |
Philippe Saint-Pierre <stpere@gmail.com> |
Tracker: a file leaving Trash won't appear in QueryPoseView Fixing #1592. A feedback FSNotification()->EntryMoved->PendingNodeMonitorCache->FSNotification was seemingly introducing some race condition, as it was working 1 time on several tries.
|
#
4dad975d |
|
06-May-2012 |
Philippe Saint-Pierre <stpere@gmail.com> |
Tracker: Consider extra column margin in PoseView::Extent() In List Mode, consider the extra margin added to the right of the last column when computing the Extent of the PoseView. This was causing the ResizeToFit to resize a bit too small. Fixes #4318
|
#
546208a5 |
|
16-Apr-2012 |
Oliver Tappe <zooey@hirschkaefer.de> |
More catalog-related cleanup. * rename B_TRANSLATE_CONTEXT to B_TRANSLATION_CONTEXT and B_TRANSLATE_WITH_CONTEXT to B_TRANSLATE_CONTEXT, squashing a TODO * adjust all uses of both macros in Haiku's source tree * use correct header guard for collecting/Catalog.h The renamed macros require adjustments to all external applications using catalogs.
|
#
3da13b80 |
|
07-Apr-2012 |
Rene Gollent <anevilyak@gmail.com> |
Fix typeahead cancellation in file panels. - Add accessor to PoseView that reports whether the view is currently typeahead filtering. - Use said accessor in the file panel's filter in order to detect whether to tell the latter to cancel filtering vs closing the panel. Fixes #8140.
|
#
581a9661 |
|
05-Jan-2012 |
Philippe Saint-Pierre <stpere@gmail.com> |
Tracker: Fix inconsistent "Open parent" behaviour 1. When in /boot, you couldn't go to the parent (which is fine by itself), but the menu item wasn't disabled. 2. In Single Window Browsing, doing "Open parent" wasn't respecting that setting and was opening new windows. 3. In filepanel, when navigating to Desktop folder, the "Go to parent" was still proposed even though it would do nothing choosing it. 4. Opening a Pose in Single Window Browsing was repopulating the menus and putting the shortcuts again. That was an issue if Navigator bar was used since it conflicts with its shortcuts. Fixing ticket #6851.
|
#
d390c065 |
|
04-Jan-2012 |
Philippe Saint-Pierre <stpere@gmail.com> |
PoseView: Fix assertion in InitDirentIterator The dynamic_cast was called twice, and the assert was done on the first attempt. Now it just cast once, assert on this and pass it further as before. CID 3122.
|
#
9cf506a2 |
|
18-Jul-2011 |
Philippe Saint-Pierre <stpere@gmail.com> |
Tracker: * Add "Arrange By" submenu in Window menu. * You can arrange by the same fields you can sort by in list view. Changing your sorting order in list view will change the Arrange By choice when you enter icon view and vice-versa. * Support ReverseSort order. * Keep the clean-up feature, but it's now under the Arrange By menu. Fixing ticket #1349. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42448 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
def39abd |
|
17-Jul-2011 |
Alexandre Deckner <alex@zappotek.com> |
* Finally finish implementing proper selection rect autoscroll to work with the new asynchronous mouse tracking. Sorry for the delay. Up to now it was needing mouse moves to autoscroll, it now behaves as before. * Removed check that was disabling regular drag'n'drop auto-scrolling when inactive. I don't see an obvious reason why that was done, as it's just handy and is consistent with the other behaviors when inactive. Note, i gotta love those comments that do anything but help, good example of how not to comment :) i.e don't comment about what will happen when the adjacent code won't be executed (especially in a case that can't happen). My brain almost exploded a second time trying to explain that! // selection scrolling will also work if the window is inactive Should read: // disable drag'n'drop auto scrolling when window is inactive git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42447 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
c98a59c6 |
|
08-Jul-2011 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Don't show packagefs on desktop or in disks window More generally: Any volume that is mounted at a directory of a persistent volume is not shown on the desktop or the disks window any longer.
|
#
df1c9e98 |
|
17-Jul-2011 |
Alexandre Deckner <alex@zappotek.com> |
* Slight renamings, no functional changes. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42442 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
29769e04 |
|
17-Jul-2011 |
Alexandre Deckner <alex@zappotek.com> |
* Don't do anything in MouseIdle if we're not dragging a message. This especially avoid bringing tracker windows up to front when staying idle over a tracker window while holding down a button. This could happen when hovering while still holding a scroll thumb of another overlapping window. Fixes regression #7829 introduced in r41892 * Also properly reinitialise the cached dragMessage on B_EXITED_VIEW, otherwise it would still think it is dragging and thus still pass through my above fix. I'd like to cleanup the drag message caching mechanism as it's not pretty in my opinion. Possibly even adding it to BView. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42441 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
2e687c47 |
|
18-Jun-2011 |
Rene Gollent <anevilyak@gmail.com> |
No need to call DragStart() if we have no drag message yet. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42236 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
7560163d |
|
18-Jun-2011 |
Rene Gollent <anevilyak@gmail.com> |
* Revert r42223 since it breaks some cases. * Simplify handling a bit. Instead of more or less duplicating some of the move logic from PoseView, simply construct an appropriate target model and let PoseView's HandleDropCommon() take care of understanding what to do with the drag message. This has the side effect that things like dropping a text clipping message onto a target in an x-ray menu actually works as expected now. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42235 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
ab6b1737 |
|
17-Jun-2011 |
Rene Gollent <anevilyak@gmail.com> |
Slight relocation, no functional change. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42223 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
5e90adf5 |
|
17-Jun-2011 |
Rene Gollent <anevilyak@gmail.com> |
Fix regression introduced by r41892: DragStart() was called at the wrong time, leading the drag message to contain nothing more than an empty B_MOUSE_IDLE message. This broke several other cases of drag and drop which relied on it containing the dragged refs. Fixes #7705. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42221 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
6009abf2 |
|
05-Jun-2011 |
Alexandre Deckner <alex@zappotek.com> |
* One more fix needed for right click dragging. Ignore right mouse up if a drag or long click happened between the initial mouse down and the present mouse up. Tried to avoid this solution by other means but wasn't working in a corner case, at least it's clear what's the code is doing. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41934 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
f2068166 |
|
04-Jun-2011 |
Alexandre Deckner <alex@zappotek.com> |
* Fix regression spotted by Humdinger. Emulate right click dragging like it used to work before, i.e right mouse button dragging works and the context menu shows on mouse up if not dragged. I guess that at some point we'll rethink all the mouse gestures we support and maybe simplify a bit, like dropping long click support (as an emulated right button), and possibly separating some features via user settings if needed. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41929 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
596bb689 |
|
03-Jun-2011 |
Alexandre Deckner <alex@zappotek.com> |
* Finally rewrote the filthy, busy-looping, mouse tracking in Tracker. The new asynchronous tracking doesn't lock the view and makes desktop replicants happy while clicking and dragging around. Fixes #880, #7241 and certainly other tickets, that i will revisit, about refresh locks on the desktop or mouse related bugs. Based on a reusable MessageFilter and the recent B_MOUSE_IDLE message. Some parts are ported from the old code and could use further simplification. There should be no intentional user fonctional change, except: - slightly bigger threshold radius, shorter duration thresholds (= 1.0 x the system-wide doubleclick setting) - not reimplemented: quickening threshold when holding shift while dragging a pose over a destination pose. Some parts are ported from the old code and could use further simplification. There is one known minor regression with autoscrolling while rect-selecting but that will be better fixed with some changes to the autoscroll code. Will address that ASAP. As for the unknown regressions, please test :) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41892 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
ccb1117c |
|
06-May-2011 |
Axel Dörfler <axeld@pinc-software.de> |
* Fixed a bug in BPoseView::CreatePoses() that Ingo found, but was apparently too lazy to fix?! git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41353 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
5987b2a3 |
|
07-Apr-2011 |
Jonas Sundström <jonas@kirilla.com> |
Offer a 'Real name' column in Tracker list view mode, when set to show localized names. As discussed a while back. I honestly don't know if this is such a great idea after all. Name + real name is kind of silly. Ideally it would be labeled in a more logical way, or the feature should be dropped. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41197 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
0e952e21 |
|
23-Feb-2011 |
Philippe Saint-Pierre <stpere@gmail.com> |
If the template name was long enough, we would have exceeded the string size. CID 9046 git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40649 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
b2d0aaa9 |
|
31-Jan-2011 |
Rene Gollent <anevilyak@gmail.com> |
Don't attempt to move the selection to the target window if the latter does not contain a poseview (as is the case for an info window). Resolves #7179. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40338 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
915a7b8c |
|
19-Jan-2011 |
Oliver Tappe <zooey@hirschkaefer.de> |
Make BObjectList<> publically available: * cleaned up ObjectList.h * switched several uses of new() to new(std::nothrow) * moved ugly AsBList() hack into BObjectList<>::Private class and adjusted all callers accordingly git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40252 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
d277bc82 |
|
05-Dec-2010 |
Stephan Aßmus <superstippi@gmx.de> |
Since the function keys don't serve any purpose yet, make F2 enter renaming mode for the first selected item (i.e. just like Cmd-E). This makes Tracker behave as Windows Explorer and at least Nautilus in Ubuntu. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39744 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
1959f850 |
|
19-Oct-2010 |
Rene Gollent <anevilyak@gmail.com> |
When trying to auto-place a pose, we need to short circuit if we're the Desktop and the next available slot lies outside of the view bounds. Otherwise we loop forever. Resolves ticket #5218. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39012 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
b8616583 |
|
18-Oct-2010 |
Rene Gollent <anevilyak@gmail.com> |
Sort poses using std::stable_sort. Should resolve #6700. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38998 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
7b80b5d5 |
|
17-Sep-2010 |
Alexandre Deckner <alex@zappotek.com> |
* Use multiple translate contexts in Tracker for easier translation git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38691 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
108f794c |
|
16-Sep-2010 |
Stephan Aßmus <superstippi@gmx.de> |
Patch by mt: Translate various yet untranslated strings in libtracker, closes ticket #6374. Thanks a bunch! git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38675 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
606e627e |
|
15-Aug-2010 |
Rene Gollent <anevilyak@gmail.com> |
Remove unnecessary NULL check (the view in question is created in all cases in InitCommon(), and is already dereferenced several times prior to the check in the function anyways). Fixes CID 1078. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38129 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
4a7b2e04 |
|
07-Aug-2010 |
Adrien Destugues <pulkomandy@pulkomandy.ath.cx> |
* Add FormatDateTime function to BLocale * Use the function to localize the date/time in tracker. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37949 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
1f34e928 |
|
14-Jul-2010 |
Alexandre Deckner <alex@zappotek.com> |
* Removed last remains of the OPEN_TRACKER define. * Cleanup of unused include. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37516 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
a1110964 |
|
13-Jul-2010 |
Alexandre Deckner <alex@zappotek.com> |
* Minor style fixes, spaces vs tabs. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37495 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
148f33f2 |
|
13-Jul-2010 |
Alexandre Deckner <alex@zappotek.com> |
* More PoseView localization by T.Murai (a.k.a mt). Thanks a lot. (be careful with the 80 chars indenting though ;-) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37494 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
4ed28a57 |
|
12-Jul-2010 |
Alexandre Deckner <alex@zappotek.com> |
* Applied libtracker localization patch from T.Murai (a.k.a mt) with some modifications (see below). * Functional modifications: Reworked InfoWindow file size localization, the patch removed number formating (size in bytes) and was too complicated to my taste. Replaced the uses of sprintf with the safer snprintf. Changed signature to x-vnd.Haiku-libtracker instead of x-vnd.Haiku-libTracker (to be consistent with the binary name) * Style modifications: Reworked lots of 80 char indenting (probably due to the now shorter line lengths since your previous patch that wasn't using the macros) Lots of missing brackets when "if's" becomes multiline. Other minor fixes. Noticed a few uses of FindItem on translated names that might become problematic someday. Added some TODO's regarding localization of file sizes. Localization might still be optimized a bit regarding the produced en.catkeys Note to translators: .catkeys files should be placed in haikusource/data/catalogs/kits/tracker though beware as the base en.catkeys might change slightly in the next days. Note to users: As with any other app you need to restart Tracker (or any aother app using libtracker's filepanels) for it to pick the locale setting. E.g: use 'quit an application' and 'restart Tracker' from process controller. Thanks a lot T.Murai git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37492 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
1e9e9da3 |
|
11-May-2010 |
Axel Dörfler <axeld@pinc-software.de> |
* I'm not sure why it happens, but the drag bitmap offset was BPoint(2, 1) off (that should be good enough for the current Tracker). * Minor cleanup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36787 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
9c8f2367 |
|
11-May-2010 |
Axel Dörfler <axeld@pinc-software.de> |
* Never choose a target pose in UpdateDropTarget() that is part of the currently dragged selection. This fixes the context menu popping up when you try to move around an icon a few pixels only. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36786 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
ecdb5ec6 |
|
02-May-2010 |
Alexandre Deckner <alex@zappotek.com> |
* Filter out B_INSERT and B_FUNCTION_KEY as they would end up in type ahead "default" case. Fixes #5609. Looking at all the not already caught keycodes, this should cover every cases. +alphabranch git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36593 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
08b3ae9b |
|
02-May-2010 |
Alexandre Deckner <alex@zappotek.com> |
* RemoveFromVSList was failing to actually remove some poses due to a buggy optimisation. This was causing calls on invalid poses in many places in the PoseView code (icon mode). This fixes #4322 (and duplicate #5780). This should also fix #3828. Please test. I took the conservative approach and the penalty is really minimal if even not at all perceptible as i've measured. I decided to go this way as PoseView code is very fragile and depends on many of those "loose assertions" to be valid. This conservative approach also allows to confidently include the fix in alpha2: +alphabranch Besides those "wise" reasons, the thing is that i've wasted too many hours already this week and in the past due that VSPoseList/PoseList syncing fragility. I'm not willing to fix the optimisation of a broken design that i've already experimentally rewriten two times already, and that i (or any mentally sane person) will finally ditch sooner or later :) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36592 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
f7cf3195 |
|
29-Apr-2010 |
Rene Gollent <anevilyak@gmail.com> |
PoseView::MoveSelectionInto() needs to check for the case that the source window actually has a selection list to use. Certain actions can render it possible to empty out the selection in mid drag-and-drop, which MoveSelectionInto wasn't taking into account, leading to a crash. Fixes ticket #5860. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36543 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
ab5fb573 |
|
28-Apr-2010 |
Alexandre Deckner <alex@zappotek.com> |
* Removed what finally looks like an old (and not needed anymore) workaround. That is, the sending of a message when dropping a pose over another one while its context menu is still showing. That was causing #4757 since poseview was receiving the dropped message two times. I've been investigating the issue in depth, it's there since the first opentracker revision, so i even installed R5 and built/debugged opentracker to confirm it was indeed needed on R5. That would be another case of undocumented (misdocumented) workaround for an R5 bug, ie: BMenu would steal the drop message although the mouse isn't over it anymore (Stefano idea?). Heh if only i could reach the original Tracker devs :-D I don't like when i don't understand a problem up to the last bit, but it should be reasonably safe for alpha2 +alphabranch git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36516 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
01e63caf |
|
21-Apr-2010 |
Rene Gollent <anevilyak@gmail.com> |
When creating a new pose, the index offset at which it was inserted in list mode was never passed back. Consequently, when creating a new folder via the cmd+N shortcut (which immediately goes into edit mode), the TextWidget for editing would appear at the wrong location. Fixes ticket #5774. +alphabranch git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36408 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
769912c8 |
|
16-Mar-2010 |
Stephan Aßmus <superstippi@gmx.de> |
Use the new cursors. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35891 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
7c0f5738 |
|
02-Mar-2010 |
Rene Gollent <anevilyak@gmail.com> |
Remove Tracker's special DnD handling. Instead, BTextView/BTextControl now honors drag messages containing entry refs and resolves the path of the first one contained. Will work on a more sophisticated solution that would allow optionally extracting the file text instead via right click drag context menu when I have more time. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35731 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
ddee0943 |
|
01-Mar-2010 |
Rene Gollent <anevilyak@gmail.com> |
Add an extra sanity check to Tracker's automatic text clipping extraction when drag and dropping text files: before it would blindly read the entirety of the file's text contents regardless of size, which probably led to more than a few nasty surprises when someone attempted to drag very large (i.e. multimegabyte) text files. We now clamp the amount of data we read to 64KB. Though it's debatable if this feature is at all useful, since it may potentially be better implemented by handling entry_refs in dropped messages in BTextView directly (assuming a compatible type). Opinions welcome. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35715 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
f24e3c9f |
|
21-Feb-2010 |
Axel Dörfler <axeld@pinc-software.de> |
* Fixed warnings and coding style violations. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35557 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
029f4e93 |
|
02-Feb-2010 |
Michael Lotz <mmlr@mlotz.ch> |
* Add an inline CurrentPoseList() that returns either the filtered or normal pose list and replaced the rather ugly "fFiltering ? ..." everywhere with it. * Automatic whitespace cleanup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35389 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
cc5b8518 |
|
02-Feb-2010 |
Michael Lotz <mmlr@mlotz.ch> |
No need to lock out the normal typeahead when filtering doesn't apply (i.e. in icon mode). And a little automatic whitespace cleanup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35388 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
b3e4ce54 |
|
31-Jan-2010 |
Michael Lotz <mmlr@mlotz.ch> |
Use the multibyte aware string functions for typeahead search and filtering so that special characters can be used as well (umlauts for example). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35375 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
7acdd03f |
|
31-Jan-2010 |
Michael Lotz <mmlr@mlotz.ch> |
Replaced the sMatchString buffer used for typeahead search by a BString. No intended functional change. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35373 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
ef9c0b6a |
|
31-Jan-2010 |
Rene Gollent <anevilyak@gmail.com> |
More cleanups: - remove some more leftover desktop integration-related code. - remove special case that would hide the Desktop folder in file panels. - fixed BFilePanel to correctly filter out the trash from the volume root and show it on the desktop like everywhere else. - renamed CountView::Add/RemoveFilter so they don't hide BHandler::Add/RemoveFilter (gcc4 warning). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35368 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
83c03b56 |
|
30-Jan-2010 |
Michael Lotz <mmlr@mlotz.ch> |
Missed the re-insertion when exiting early after checking the sort order for a pose on a non-visible pose list which would cause poses to get lost from the unfiltered list. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35354 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
6a5cf0a1 |
|
30-Jan-2010 |
Michael Lotz <mmlr@mlotz.ch> |
Allow shift-return to discard the filter so you can decided whether or not the filter shall stay in effect when opening a selection. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35347 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
29327709 |
|
30-Jan-2010 |
Michael Lotz <mmlr@mlotz.ch> |
Fix missing check that would cause non-matching poses to show up on attribute changes (which may also happen on creation of new files). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35346 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
ac53da69 |
|
30-Jan-2010 |
Michael Lotz <mmlr@mlotz.ch> |
When initially starting filtering we need to make sure that non-matching poses fall out of the selection. The same is later done when removing them from the matching subset, so moved that to a common EnsurePoseUnselected(). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35345 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
beb2e054 |
|
30-Jan-2010 |
Michael Lotz <mmlr@mlotz.ch> |
* Renamed CancelFiltering() to ClearFilter() to make it more clear what it does. * Add UpdateAfterFilterChange() with the update part of FilterModified(). * Add StopFiltering() that clears the filter and updates. * Make use of these functions where appropriate to fix missing scroll ranges after canceling a filter. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35344 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
545ebde0 |
|
30-Jan-2010 |
Michael Lotz <mmlr@mlotz.ch> |
Implement type ahead filtering (this time for real and without abusing the vertically sorted pose list). When enabled typing will filter based on the currently visible attribute columns. Using shift-space as a delimiter independent filtering strings can be typed, so you can filter based on multiple attributes at once to refine results while you type. Filtering stays active until you cancel it using the escape key. While the filtered result is displayed all normal file operations can be used. Using the return key while filtering auto-selects and opens the first filter result, allowing for fast traversal through directories and directly opening the topmost result. * Introduces fFilteredPoseList which stores the active filter result. The list is only used when filtering is currently active, so no syncing is required otherwise. * Some minor adjustments to leave out invalidations where non-visible poses are updated. * Account for the now possible multiple lists throughout BPoseView. * Add filter string output to the CountView and made that one a bit wider. * Added all the settings-cruft for type ahead filtering (defaults to off). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35339 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
d9626569 |
|
17-Jan-2010 |
Rene Gollent <anevilyak@gmail.com> |
Model: Add accessor for Trash node property and cleanup spacing between inlines. Rest: Use the IsTrash() accessor on Model where possible in place of the more expensive FSIsTrashDir() check. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35132 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
7ca5e887 |
|
15-Jan-2010 |
Rene Gollent <anevilyak@gmail.com> |
* PoseView: Re-enabled respecting the invisible pose attribute. * FSUtils: Mark the root-level Trash directories as invisible. For the time being, this renders the Trash only visible on the Desktop once more, pending further consensus on how to handle it in the future. Note however that this also means that Desktop and/or var directories that still have the old _trk/pinfo_le attribute from prior to the previous visibility changes will also be marked invisible again, and those people dual-booting older BeOS will also still see this issue as the Tracker on those will still force-write the invisible attribute onto those directories on every volume. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35094 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
a65ec153 |
|
15-Jan-2010 |
Rene Gollent <anevilyak@gmail.com> |
Fix style violations (thanks Axel!). Update filesystem name in find_directory as our fat filesystem is not named "dos". git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35093 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
01dffd8e |
|
14-Jan-2010 |
Rene Gollent <anevilyak@gmail.com> |
More Tracker refactoring: * relocated Trash dirs to volume roots by modifying find_directory() to report the trash location as volume/Trash. * FSUtils no longer creates /home/Desktop on every volume. * TrashWatcher now keeps icons in sync on all volumes. * Simplified FSGetDeskDir since it no longer has to worry about getting the desk directory on any volume other than the root. * Relocated trash context menu logic to BContainerWindow so it can also be used at the volume roots. * DesktopPoseView now creates a virtual Trash pose representing the trash contents as before. * Corrected typo: Model::WriteAttrKillForegin() -> Model::WriteAttrKillForeign(). Closes ticket #5245. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35085 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
c126f2f2 |
|
13-Jan-2010 |
Michael Lotz <mmlr@mlotz.ch> |
anevilyak: * Fix missing parenthesis in r35040 that caused node monitoring not to work. * Minor automatic whitespace cleanup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35053 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
82d8aaf8 |
|
12-Jan-2010 |
Stephan Aßmus <superstippi@gmx.de> |
Patch by Humdinger: Changed strings to sentence case. The changes in StatusWindow and FSUtils are missing because I have some unfinished work in progress in those files. Will commit them separately. This is case-tracker.diff from #5169. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35047 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
671dd808 |
|
12-Jan-2010 |
Rene Gollent <anevilyak@gmail.com> |
Various cleanups: * Removed dead/obsolete Integrate Non-boot Desktops code. * Modified PoseView to ignore the fInvisible attribute of BPoseInfo for now. This has the net effect that the Desktop folder and /boot/var are no longer hidden from the user. To go with this change, Tracker no longer forcibly writes that hidden setting to those folders on access. This feature might be useful again in the future (especially in conjunction with relocating the Trash folder somewhere such as the disk root), but is currently somewhat problematic because those dual-booting with BeOS will still have a Tracker that force writes those attributes which would bring us back to square one with respect to showing the Desktop folder when we start respecting the attribute again. Suggestions welcome. Haiku-only users can remove the _trk/pinfo_le attribute on those folders to remove the invisibility in any case. * TrackerSettings: Removed obsolete desktop integration settings. Also modified TrackerSettings parser to skip unrecognized settings instead of aborting the settings file parsing process entirely. Closes ticket #2872. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35040 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
d3b11328 |
|
27-Oct-2009 |
Rene Gollent <anevilyak@gmail.com> |
Move CheckDevicesEqual into FSUtils so it can be used in more places. Rework ContainerWindow's B_REFS_RECEIVED to use CheckDevicesEqual to decide move vs copy as is done elsewhere. Fixes ticket #4850. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33803 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
e2ee5e57 |
|
26-Oct-2009 |
Alexandre Deckner <alex@zappotek.com> |
* My previous fix to #4130 wasn't correct since it could miss some moved or renamed files. After more investigation i found out that the problem was caused by a non usual use of the zombie list in r31307. In the conditions to reproduce #4130 it would call AttrChanged() or StatChanged() on zombie poses which by convention should always be invalid models, ie: null node. The logic would potentially create other problems too as it wasn't only adding refFiltered models to the zombies. I reverted part of r31307, clarified the logic and updated the comments. I'd prefer another implementation for this as reusing the zombie list here is only calling for future mysterious problems. #4131, #4271, #4610 and #4831 are still closed, but i'm reopening #1717 which is more of an enhancement btw. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33769 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
c3ce6294 |
|
23-Oct-2009 |
Alexandre Deckner <alex@zappotek.com> |
* When a file was created, then deleted shortly after, on a PoseView that is busy processing other things, the file could be gone by the time we processed the fs notification message of the entry creation. This case wasn't handled properly and would cause #4130 and most certainly duplicate #4831, #4610 and also possibly #4271. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33744 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
725ad924 |
|
20-Aug-2009 |
Alexandre Deckner <alex@zappotek.com> |
* When checking a draw/updateRect intersection, an offset was added too early making the check fail when Pose::Draw was called with a non zero offset. Fixes #4289 * Fixed an x/y typo (that had no really visible effect, the fade effect might need some more indepth review) * Removed dead code, and replaced an inlined intersection check with BRect::Intersect. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32538 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
105f1c63 |
|
19-Aug-2009 |
Alexandre Deckner <alex@zappotek.com> |
* Added a TODO about droping icons under replicants or deskbar since i couldn't find a quick solution that wouldn't need the layouting rewrite (currently in redesign phase in my branch) * In the mean time i've added desktop element avoidance in Cleanup so one can easily recover hidden icons without advanced shortcuts. Before that, it would need a CleanupAll aka shift-alt-k (which would relayout everything btw). Doesn't fix #4241 but at least provides a way to see your icons again easily. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32523 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
bdee02b5 |
|
19-Aug-2009 |
Alexandre Deckner <alex@zappotek.com> |
* Move cursors to Cursors.h * Use the new copy cursor git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32520 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
3074019e |
|
18-Aug-2009 |
Alexandre Deckner <alex@zappotek.com> |
* Remove wrong check that was preventing to properly place the first pose. Fixes #4055 git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32512 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
2d6de22f |
|
08-Aug-2009 |
Rene Gollent <anevilyak@gmail.com> |
An Open With window has no target model. PoseView's drop target handling code didn't take this into account, causing a crash. Fixes ticket #4200. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32209 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
f207162e |
|
02-Jul-2009 |
Alexandre Deckner <alex@zappotek.com> |
* In single window navigation mode, when navigating into a directory which had no viewstate yet (new folder) or if fViewState didn't change, fTitleView wouldn't be reset and updated to the new column set. (unfortunately the column state is managed separately from the rest of the view state). That would cause crashes for example when switching to a directory with fewer columns and triggering a redraw of a column that shouldn't be there anymore. Fixes #3710. * TitleView::Reset didn't invalidate the view and would leave the old columns there until a redraw was triggered externally. * Minor cleanup git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31378 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
254d2b2d |
|
28-Jun-2009 |
Rene Gollent <anevilyak@gmail.com> |
Fix a number of problems in PoseView: 1) If a node was filtered out by the ref filter, PoseView effectively wiped out all evidence that it ever knew the node existed and stopped listening for changes on it. Consequently, it would never notice if an attribute change such as updating the file's type made the file now eligible to be viewed. Now we keep watching the node and keep it on the zombie list until such time as it passes the filter (if ever). 2) Refresh() cleared the pose list, but not the inserted nodes list. Consequently, any nodes that were already visible before calling Refresh() would not be readded. This fixes various problems seen in the file panels in WonderBrush (and probably others), such as the file panel initially coming up empty sometimes, and also it not noticing new screenshots, This closes ticket #1717. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31307 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
bcfe344c |
|
22-May-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Made our struct stat POSIX compliant again -- the time_t fields have been replaced by timespec fields. Via macros the structure is still source compatible with the old one. * Introduced header <compat/sys/stat.h> that defines the old stat structure (as stat_beos) and conversion functions * Introduced versions for [l,f]stat(). * Added symbol versions for BDirectory::GetStatFor() for sake of binary compatibility. * BStatable::GetStat(): Renamed the old method, changed its parameter to stat_beos*, and and made it private. Added a new version (using up a reserved vtable slot). It remains source and binary compatible. * BRefFilter::Filter(): Changed the struct stat* parameter to struct stat_beos* for sake of binary compatibility. This breaks source compatibility, though, which we can't help, since the class doesn't have reserved vtable slots. * Fixed several issues with the stat structure change, mostly adjusted uses of BRefFilter. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30830 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
4024eadf |
|
10-Apr-2009 |
Stephan Aßmus <superstippi@gmx.de> |
My previous fixes had an oversight and the very last fix introduced new drawing problems. Basically, forceDraw was set to false which then prevented any new items to be drawn when there was no scrolling necessary. Now we use a local variable "needToDraw" that starts with "true" on each iteration. I don't really know why forceDraw is even passed to the function in the first place. Maybe it should be called "disabledDrawing" with reversed meaning and should be used for windows that open on another workspace.... git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30102 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
039878c1 |
|
09-Apr-2009 |
Stephan Aßmus <superstippi@gmx.de> |
* Set forceDraw to false when we have already drawn the pose, not when there is only some pending scrolling. * Fixed my previous ScrollTo() change to actually scroll in the two directions in two steps... git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30078 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
72cd1c77 |
|
09-Apr-2009 |
Stephan Aßmus <superstippi@gmx.de> |
Fixed some weird fallback code, I don't think it's used and added a TODO for whoever stumbles there next... git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30067 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
6a71afb0 |
|
08-Apr-2009 |
Stephan Aßmus <superstippi@gmx.de> |
Sorry for mixing some cleanups into this patch... * When changing icon sizes, invalidate before scrolling. This causes silent scrolling in app_server and avoids a visual jerk. Everything needs to be re-drawn at the new icon size anyways. * Removed the fUpdateRegion member from BPoseView. It was supposed to make drawing quicker, but it only made it slower. Checking for intersection with the update rect passed to Draw() should be much more straight forward and does not involve app_server communication... * Refactored some misnamed methods, ScrollIntoView() would always draw and only sometimes scroll - I couldn't agree with that. * There is a very confusing mix of "fullDraw" and "minimalRect" booleans which seem to be used with wrong semantics. The minimalRect flag passed to BPose:: CalcRect() means to get the pose rect for the icon and the first column only, not all columns. Contrary to that, some pose rect calculation happens with minimalRect == fullDraw... I tried to fix some of that. * The visible changes of this patch are when adding poses. The SynchronousUpate() wasn't working so well, I made it work reliably by invoking Invalidate() and Window()->UpdateIfNeeded(), which also takes care of any drawing that the app_server has to do for the background. And it's flicker free in double buffered mode... -> This fixes poses being drawn multiple times and the text getting darker. * And there was another bug when adding poses. The extent (bottom of last item in list view for example) can be just above the current view bounds. When the next item is added above the view bounds, then the extent scrolls into view, but there is nothing to be scrolled in this case. srcRect is still invalid and so is dstRect. But destRect should be valid in this case. -> This fixes some poses being cut off at the bottom when opening Tracker windows. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30033 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
7dc5caf2 |
|
07-Apr-2009 |
Stephan Aßmus <superstippi@gmx.de> |
When changing icon size, pose locations need saving. That's not so nice, but pose locations are always in view coordinates from the perspective of BPoseView, even if the unscaled location wouldn't change from the perspective of BPose. This could be removed when storing and restoring unscaled location. I was just not sure were all this happens. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30010 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
96da4b41 |
|
07-Apr-2009 |
Stephan Aßmus <superstippi@gmx.de> |
* Fix the completely broken desktop icon size changing which I introduced yesterday. It needs to auto-place icons which go out of view or underneath the deskbar or a replicant. Also it obviously cannot scroll to keep the view "centered" as normal Tracker windows. * Fix/improve the desktop context menu with regards to icon size options. It also displays the shortcuts, which now work on the desktop too. * When doing an icon cleanup on the desktop, not only the deskbar is avoided, but also replicant views. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30009 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
e419aeed |
|
06-Apr-2009 |
Rene Gollent <anevilyak@gmail.com> |
If drag and drop with the context menu is used (right click drag / control + drag), treat "Copy Here" as a request to duplicate the item if the destination is the same folder. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29988 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
7cdbeb0e |
|
06-Apr-2009 |
Stephan Aßmus <superstippi@gmx.de> |
* Changing the icon size will now work more like simply scaling/zooming the view. BPose converts the scale in SetLocation() and Location(), which does _not_ affect performance for list mode, BTW. So that should be fine. * The center of the pose view is now locked when changing the icon size. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29974 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
e70b6d95 |
|
06-Apr-2009 |
Stephan Aßmus <superstippi@gmx.de> |
* Cleanup in the icon mode stuff. kScaleIconMode is gone. There is simply kIconMode and it can have different sizes. * The "Icon Mode" super menu item is marked, when in icon mode, as well as the size item in it's sub menu. * When switching from mini icon mode or list mode back into icon mode, the previous icon size is now restored. This also works when the folder has been closed meanwhile. (The on-disk format for view state has changed, so your folders will open with default values.) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29971 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
f5bdd554 |
|
06-Apr-2009 |
Stephan Aßmus <superstippi@gmx.de> |
Patch by Maxime Simon with small changes by myself: Change the icon size menu as discussed in ticket #2431. There are only three main shortcuts for icon, mini icon and list mode. Additional short cuts have been added to increase and decrease the icon size. I've moved the shortcut from the 32 icon size to the menu item for the icon size menu itself. Unfortunately, icon placement does not scale with the size (as before) and switching to icon mode from one of the other modes does not restore the previous icon size. Looking into it. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29967 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
019f90e6 |
|
05-Apr-2009 |
Jonas Sundström <jonas@kirilla.com> |
Setting the escape key as shortcut for the Cancel options of Tracker's dialogs. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29958 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
561b5d97 |
|
05-Apr-2009 |
Alexandre Deckner <alex@zappotek.com> |
* Implements enhancement #2829, ie: change the modifier key (now shift) to force identify on already identified files and change the menu item label accordingly so that the 'feature' is not hidden anymore. The identification mechanism will probably be automated in the future, forcing identification would then become the only use of this menu item. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29940 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
0834dd80 |
|
28-Mar-2009 |
Stephan Aßmus <superstippi@gmx.de> |
* Use B_DRAW_ON_CHILDREN for the Desktop pose view. * Draw the selection rect in DrawAfterChildren(). * Call DrawAfterChildren() manually in Draw(), if B_DRAW_ON_CHILDREN is not set. This change allows replicants, in case they want to be aware of being embedded in the desktop, to use alpha blending to draw on top of the desktop pose view. For replicants which do not care, this patch changes nothing. When views with B_DRAW_ON_CHILDREN invalidate themselves, they will automatically trigger an update of children that sit on top the invalidated area, at least with our app_server. So this change works just like one would expect, ie like compositing views. Of course it should have flickering when app_server does not run in double buffered mode. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29759 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
f5812f4b |
|
14-Mar-2009 |
Stephan Aßmus <superstippi@gmx.de> |
r28745 prevented overwriting the global type ahead string buffer from an unrelated window. However, we broke unsetting the type ahead string on the little info view. This fixes this again, the type ahead string never went away. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29530 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
1c56dee2 |
|
08-Mar-2009 |
Rene Gollent <anevilyak@gmail.com> |
We need to remove the node from our list when the pose is removed. Otherwise deleting, then recreating the same file will be rejected as a duplicate and not added to the view. Thanks to mmlr for reporting. Small cleanups. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29450 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
ccefc7ac |
|
06-Mar-2009 |
Rene Gollent <anevilyak@gmail.com> |
Clear the node list when switching directories. Otherwise navigating out of a directory and back in single window mode will show no nodes whatsoever. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29419 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
38f46251 |
|
06-Mar-2009 |
Rene Gollent <anevilyak@gmail.com> |
Rework this again due to flaws in the previous optimization - due to its use for things like sorting the visible pose list, it would rely on whatever pose column was being used for sorting, and as such would generate false positives when the view was being ordered by certain attributes. We now use an std::hash_set to track all the nodes that have been added to the current view and use that for a duplicate check instead. Also slightly boost the max number of models per chunk that we read. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29414 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
847af007 |
|
03-Mar-2009 |
Rene Gollent <anevilyak@gmail.com> |
Second attempt at PoseView population optimizations: We still search for the pose in our list, but now rely on a binary search to do it instead, rather than the previous linear search. This considerably boosts population speed for large folders here, while still preserving correct behavior. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29395 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
63459605 |
|
24-Feb-2009 |
Alexandre Deckner <alex@zappotek.com> |
* Revert the changes in r29316 as it's now fixed upstream. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29319 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
ea83c971 |
|
24-Feb-2009 |
Alexandre Deckner <alex@zappotek.com> |
* Round mouse coords before doing BRegion ops for the transparent selection rect, as BRegion behaves unpredictably with non-integral values (cf bebook). Fixes #1527 git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29316 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
3291c580 |
|
21-Feb-2009 |
Rene Gollent <anevilyak@gmail.com> |
Revert the PoseView change from r29190. This is incorrect since the outline setting only applies to the desktop poseviews, and is explicitly set there by the backgrounds settings code in BackgroundImage.cpp. This fixes the font rendering artifacts reported in ticket #3467. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29277 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
ec8c04cc |
|
21-Feb-2009 |
Rene Gollent <anevilyak@gmail.com> |
Never show the copy cursor if the item being dragged is a volume or the disks icon. Fixes ticket #3468. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29276 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
4712bc80 |
|
16-Feb-2009 |
Alexandre Deckner <alex@zappotek.com> |
* Revert one the changes done in r29198 has it happen to be wrong. See #3450 and #3011 git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29229 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
95da0645 |
|
14-Feb-2009 |
Rene Gollent <anevilyak@gmail.com> |
Some pose performance improvements by aldeck and myself: 1) We don't need to call FindPose() on every pose as we're freshly adding it, and a duplicate should never happen in this circumstance (the FindPose() is still there if Tracker is compiled in debug mode however. 2) Adjust the FSClipboard calls such that the locking is optional. This allows us to lock once per CreatePoses group rather than once per pose. Together these changes make for a significant performance improvement when it comes to populating a large folder. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29198 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
71ed64b7 |
|
13-Feb-2009 |
Jérôme Duval <korli@users.berlios.de> |
* Icon label outline is by default true. We take this into account on PoseView creation in Tracker, and when no image is selected in Backgrounds. * This flag is still only settable when an image is selected. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29190 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
c4d59015 |
|
08-Feb-2009 |
Rene Gollent <anevilyak@gmail.com> |
Slight logic cleanup that prevents excessively rechecking the drop target in some instances. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29171 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
a67852c5 |
|
08-Feb-2009 |
Rene Gollent <anevilyak@gmail.com> |
Reset the cursor check state if we drag over a pose that's not a suitable DnD destination for the drag. Otherwise we'll reset the cursor back to the move state and never set to copy again unless we exit/reenter the window. Thanks to luroh for reporting. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29167 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
81796bc0 |
|
08-Feb-2009 |
Rene Gollent <anevilyak@gmail.com> |
Don't leak memory when aborting operations due to read-only volume. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29165 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
c854c133 |
|
08-Feb-2009 |
Rene Gollent <anevilyak@gmail.com> |
Disallow move to trash and/or delete operations from read-only volumes. This fixes ticket #3421. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29163 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
42fe9293 |
|
07-Feb-2009 |
Rene Gollent <anevilyak@gmail.com> |
Tracker now alters the cursor to indicate the resulting FS op when drag and dropping files. If the op is determined to be a copy, the copy cursor from Wonderbrush (thanks Stephan!) is displayed. Otherwise, the default hand cursor is used to indicate move. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29155 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
28e82de7 |
|
31-Jan-2009 |
Rene Gollent <anevilyak@gmail.com> |
Compute the point list for the destination items. This fixes a problem reported by BGA where dropped items in large icon mode weren't being dropped onto the location of the pointer, but rather the first available grid slot. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29104 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
b8d65a49 |
|
30-Jan-2009 |
Rene Gollent <anevilyak@gmail.com> |
This should really fix #3393. Apparently I'm more sleep-deprived than I thought. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29096 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
fee5fc34 |
|
30-Jan-2009 |
Rene Gollent <anevilyak@gmail.com> |
Fix another regression preventing moving around icons. Fixes ticket #3393. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29095 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
994541a8 |
|
29-Jan-2009 |
Rene Gollent <anevilyak@gmail.com> |
Refactor MoveSelectionTo a bit to reuse other code instead of duplicating most of it practically verbatim with different variable names. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29092 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
12f46beb |
|
29-Jan-2009 |
Rene Gollent <anevilyak@gmail.com> |
Fix a regression introduced with my previous commit where forcing Move would not always be respected. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29091 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
cfd0c077 |
|
28-Jan-2009 |
Rene Gollent <anevilyak@gmail.com> |
If the source and destination volumes of a drag and drop op do not match, default to copying unless the user has explicitly requested otherwise. TODO: visual indicator of which op is going to happen. -- M PoseView.cpp git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29084 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
e5a30119 |
|
12-Jan-2009 |
Alexandre Deckner <alex@zappotek.com> |
* There was a bug in the way the mimetypes list was constructed, it would recalculate the list on each addition, which is o(n). It's already refreshed lazily on read, only rarely when ContainerWindow updates his menu. Now there's only one recalc when finished adding poses, 9ms for 20K files here. Pose adding is almost linear now for the first thousand files, but it gets worse after that due to another known problem. Now doing 35s instead of 80s on a 20K files folder here, more to come :) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28891 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
b47e7347 |
|
11-Jan-2009 |
Karsten Heimrich <host.haiku@gmx.de> |
* Prevent a column to shrink smaller then the default column width. This was most notable when double clicking e.g. the Size column in a tracker window containing only folders. It would shrink smaller then one can resize it while dragging the resize 'handle'. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28885 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
51505cb0 |
|
10-Jan-2009 |
Alexandre Deckner <alex@zappotek.com> |
* The pose adding thread was going too fast, opening too many files (those are closed by the window thread), and reaching the file descriptor limit. For some still unknown reason, this was causing GetNextDirents to stop returning new entries. The result was that, on populated folders, Tracker wouldn't load all poses and stop at a random amount. We now take a more conservative approach and close the files before sending, reopening them on reception. Now the AddPoses thread is a bit too aggressive, especially on second runs, i needed to add some snoozing otherwise it would stall Tracker for several seconds. (testing on a 20000 files folder). This fixes #3054 git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28872 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
db5b0bfc |
|
27-Dec-2008 |
Rene Gollent <anevilyak@gmail.com> |
When drag and dropping a text file, Tracker would refuse to extract the text (and style attributes, if any) if the file in question didn't have both the text/plain filetype *and* Tracker's clipping attribute. Since I was unable to find any good reason whatsoever to check for the latter, I removed this. Fixes the reported problems where drag and dropping a file onto a BTextView would do nothing unless the clipping attribute existed as well. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28828 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
d35d0f74 |
|
28-Nov-2008 |
Axel Dörfler <axeld@pinc-software.de> |
* s/fLastKeyTime is no longer a static member - this fixes that the type-ahead buffer will be taken over to another window (if you type fast enough). * Also the type-ahead runner no longer clobbers the static type-ahead buffer, so it won't delete something you typed in another window anymore (again, if you type fast enough :-)). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28745 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
b545073f |
|
06-Nov-2008 |
Stephan Aßmus <superstippi@gmx.de> |
* Moved the global BPrivate::WidthBuffer from BTextView into BPrivate as gWidthBuffer. * Tracker PoseView now uses BPrivate::gWidthBuffer instead of it's own instance. * TextView.h and PoseView.h are now a little cleaner. * InterfaceDefs.cpp now deletes gWidthBuffer in _fini_interface_kit_(). * Added binary compatibility support for NetPositive in WidthBuffer.h and .cpp. Obviously it kind of defeats the purpose of having WidthBuffer neatly tucked away in the BPrivate namespace, but Haiku should run NetPositive, I guess. Fixes #2879. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28532 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
e9842421 |
|
31-Oct-2008 |
Alexandre Deckner <alex@zappotek.com> |
* On date format change, remove the need for the synchronous call to DrawViewCommon(), simply invalidate since the logic is simplified now, see below. * Reworked the way TimeAttributeText was updated when date format is changed. Got rid of the recalculatText flag propagation, it was broken since forever anyway (was here on r5 max4.1): It was only updating visible poses and wasn't robust in certain cases. Besides, it was cluttering the code on several layers upfront only for date format changes. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28402 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
cde552bd |
|
18-Oct-2008 |
Michael Lotz <mmlr@mlotz.ch> |
Don't select anything in type ahead mode when no match is found anymore. This makes sure that the best match just stays selected instead of always selecting the topmost pose. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28234 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
842cd2b8 |
|
18-Oct-2008 |
Alexandre Deckner <alex@zappotek.com> |
* Removed the call to Refresh() when switching to scaled icon mode as it would scroll to (0, 0), and screw the now always-in-sync fViewState. After testing every possible mode transition, there seem to be no side effect as the comment would suggest. Stippi, do you remember why it was necessary? See r18699. * This enabled me to do my previously added TODO's. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28231 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
3704f31d |
|
17-Oct-2008 |
Alexandre Deckner <alex@zappotek.com> |
* AddPosesCompleted could be called actually before all the poses were added. The method was called after _sending_ all the messages, not after receiving them all. This fixes the scroll validity check in AddPosesCompleted in list mode (bug mentioned in my last commit). We can now close #2441, tracker windows should now be completely persistant with regard to scrolling now, in all modes (spatial mode, single window mode in list or icon mode). \o/ git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28210 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
3d7584da |
|
16-Oct-2008 |
Alexandre Deckner <alex@zappotek.com> |
* Rewrote the way BViewState checks if changes needs to be saved on quiting a navigation window (icon mode and list mode) or switching dir in single window navigation. Fixes the other half of the problem in #2441. Left some todos. I discovered an other bug that can add a random offset after finishing adding poses. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28205 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
49ad25b3 |
|
16-Oct-2008 |
Axel Dörfler <axeld@pinc-software.de> |
* The type ahead mechanism did not work correctly in list view mode: instead of taking the contents of the columns, it would always use the file name instead. * That uncovered another bug, though: WidgetText::Text() tried to cast everything to StringAttributeText, but GenericAttributeText is actually used for most columns. * Therefore, GenericAttributeText is now a subclass from StringAttributeText. * Extended the type ahead to take other columns into account, and made it also find strings in the middle (like a filter) as a second choice. * Whitespace cleanup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28180 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
e522ba55 |
|
15-Oct-2008 |
Alexandre Deckner <alex@zappotek.com> |
* In single window navigation, tracker wasn't restoring the view origin (current scrolling) properly. It was reseting the origin even after successfully loading the saved state. Reworked the logic to make that work properly (this also needed checking if the state read succeeded). This fixes part of #2441. There is still an issue when sometimes the view state is not saved properly, more tomorrow! git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28158 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
2e2f53f6 |
|
25-Sep-2008 |
Stefano Ceccherini <stefano.ceccherini@gmail.com> |
don't leak extendedPoseInfo on error. CID 997 git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27743 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
90b7764d |
|
21-Sep-2008 |
Rene Gollent <anevilyak@gmail.com> |
Move WidthBuffer and TextGapBuffer into BPrivate and use them from there in BPoseView and BTextView. This (correctly) fixes the previous gcc4 build issues. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27675 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
a682d981 |
|
20-Sep-2008 |
Stephan Aßmus <superstippi@gmx.de> |
Quite a cleanup action to avoid polluting the global namespace with private BTextView classes: * Declared the directly used BTextView helper classes as private BTextView classes and changed all affected files. * Realized that Tracker's BPoseView was (accidentally?) using what used to be _BWidthBuffer_. It had declared it's own class with the same name and same members/size in headers/private/tracker/TextViewSupport.h, but the implementation was nowhere to be found. I can only explain this that the BTextView implementation was then actually linked and used. But the big problem was that it was used without locking (unlike in BTextView)! When many Tracker windows opened during system startup or later and they happened to each request characters not yet in the cache, I imagine things could have gone bad and corrupted memory. Anyways, since I can see the usefulness of the cache, BPoseView uses BTextView::WidthBuffer on purpose now. And I moved the locking inside BTextView::WidthBuffer::StringWidth(). * Adjusted InterfaceDefs.cpp accordingly. * TODO: Move subsequent classes into BTextView namespace as well, ie derived classes that BTextView doesn't directly know about. All stuff in src/kits/ inteface/textview_support/ * Added preliminary and not yet implemented layout friendly BTextView constructors. * I will try to handle the insets imposed by BTextView::fTextRect a bit differently when used inside the new layout management framework. For this, I added BTextView::SetInsets() and GetInsets(). SetInsets() doesn't do anything yet. So far, everything seems to work still... ;-) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27654 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
c56a21ed |
|
19-Aug-2008 |
Alexandre Deckner <alex@zappotek.com> |
- Made multi-selection modifier semantics consistent with most OS's out there. See #1255, please shout if you've got anything against that :) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27059 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
8a588970 |
|
25-Jun-2008 |
Alexandre Deckner <alex@zappotek.com> |
- HiliteDropTarget was broken, it used a trick to avoid unselecting already selected items but assumed every call to HiliteDropTarget(true) and HiliteDropTarget(false) would come in pair on the same target. Fixes #2453 and #1793 git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26131 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
96f8dfae |
|
24-Jun-2008 |
Alexandre Deckner <alex@zappotek.com> |
- Some view mode transitions had to be handled specially: kScaleIconMode -> kScaleIconMode, kMiniIconMode -> kScaleIconMode, kIconMode -> kScaleIconMode. Switching the mode to kScaleIconMode uses a special code path that resets the view origin, which wouldn't get a chance to be stored/restored. Other icon mode don't need to save/restore their origin except when going to or coming from kListMode. This fixes #2441, although i just discovered the same problem when using SwitchDir() (single window navigation) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26121 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
491a3293 |
|
12-Jun-2008 |
Alexandre Deckner <alex@zappotek.com> |
- AddPoses didn't check for the ShowDiskIcon() option when deciding to AddRootPoses. When changing to icon mode with a size other than 32 (ie: kScaleIconMode) PoseView calls Refresh() and all the poses are removed and loaded again (PoseView.cpp line 1995). This called AddPoses but didn't check for ShowDiskIcon(). The Disks icon was shown on startup though, since Tracker uses another code path when starting (caching?). This fixes #1833. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25941 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
ed27e7ae |
|
09-Jun-2008 |
Alexandre Deckner <alex@zappotek.com> |
- Scrollbar proportions computation was wrong in icon mode. The problem showed when a folder contained few icons regrouped in a small area (Extent() smaller than Bounds()). The viewable extent is always Bounds() now. This fixes #361, again we're better than R5! Although in this test case, the scrollbars shouldn't be activated in the first place. In icon mode the poseview is still putting too much white space on the left (x<0) and make the scrollbars show. Fix is almost ready :-) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25896 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
9abdb222 |
|
30-May-2008 |
Axel Dörfler <axeld@pinc-software.de> |
* PoseView waited for 200 ms after a B_META_MIME_CHANGED message was evaluated to give other windows the opportunity to mark the icon invalid before recaching it. * Since we currently update all app MIME types on first boot, over 400 messages are generated, so that delay easily caused the message queue to get full. * I've now reduced the wait to 10 ms, and also call BWindow::UpdateIfNeeded() afterwards, which empties the message port, too. This fixes bug #2212. * Note though, this should be handled completely different to make it really work right. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25719 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
873066a8 |
|
30-May-2008 |
Axel Dörfler <axeld@pinc-software.de> |
A bit of cleanup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25718 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
351b7a2d |
|
25-Feb-2008 |
Axel Dörfler <axeld@pinc-software.de> |
* Added B_WATCH_INTERIM_STAT, and B_STAT_INTERIM_UPDATE definitions to NodeMonitor.h. * The latter will be set in "statFields" for interim updates when you have asked to get them via the former. * BFS now uses the B_STAT_INTERIM_UPDATE flag for sending updates to actively written files. * This makes us more compatible with BeOS again; if you only asked for B_WATCH_STAT, you will now only receive a notification if the file in question has been closed. * Tracker now uses B_WATCH_INTERIM_STAT to always get all updates (ie. downloading a file will update its size and modification time in Tracker periodically during the download). * Wether "needsTrimming" was true or not has no influence on wether or not the size index needs to be updated in BFS - only the actual file size is stored there, not the on-disk size. * Added a TODO comment in Inode::WriteAt() that it would actually need to update the size index when changing the file size, not when the file has been closed (but that's probably too slow). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24114 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
7b95b37c |
|
05-Feb-2008 |
Stephan Aßmus <superstippi@gmx.de> |
Make the Desktop window check the Deskbar frame only every half a second, use a cached value otherwise. Should speed up icon placement when Tracker starts. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23871 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
46c6a221 |
|
11-Jan-2008 |
Axel Dörfler <axeld@pinc-software.de> |
Files that were created in the future (time zone issues, or whatever) shouldn't be regarded recent either. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23384 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
f1b05aa5 |
|
10-Jan-2008 |
Michael Lotz <mmlr@mlotz.ch> |
Fix syntax error. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23383 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
978e434d |
|
10-Jan-2008 |
Axel Dörfler <axeld@pinc-software.de> |
* Finally nailed down and fixed #355: apparently, if the pose info attribute couldn't be read from a file, Tracker would try 10 times with a 10 ms timeout - but only if the creation time equals the modification time! That was obviously supposed to be a check if the file was recent... Now that computers are faster (even when running Haiku), it may actually take less than one second to copy a file, so most files on the Haiku image satisfied this thoughtful and future-proof check. (And no, even the original BFS does not automatically increase the modified time on close.) * Now, mmlr came up with a better check: we just check the file's creation time against the current time to see if it's a recent file. That should work a bit more reliable :-) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23376 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
1de41c15 |
|
06-Sep-2007 |
Stephan Aßmus <superstippi@gmx.de> |
* fixed tracker single click selection. If I may say so, I find this code extremely messy and in desperate need for refactoring. The bad news is that selection flickers now - the columns which don't need to be drawn at all. I printed some debugging info in BTextWidget::Draw() and it appears that for a single selection state change, at least four invokations of BTextWidget::Draw() will result. Sometimes many more. Since the code calculated the dirty rects wrongly in many places, it appears that this bug might not have shown before. Like I said, the code is a mess and there is not a single place for invalidating poses, so I am not surprised why tons of invalidations arrive. :-/ Maybe I should make myself more familiar with Tracker... or revert my text outline patch. :-P git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22190 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
5c34aef7 |
|
22-Aug-2007 |
Stephan Aßmus <superstippi@gmx.de> |
changed the meaning of the "icon view label background" Tracker setting: * it is replaced by a "icon view label outline" feature that renders a black or white outline around the text of a label under an icon. This can be used for background images that have a lot of contrast and is visually more pleasing (IMHO) than the text box in the workspace color (but the outline could of course still be improved as well) the outline or "false bold width" feature is a new BFont feature in Haiku * Tracker appeared to have a disabled feature to install default background images, I enabled this feature and rewrote it a bit to use our big logo from the artwork folder, the placement is for 800x600, so not optimal for larger desktops, but at least it is shown by default on new installations or rather "fresh" images * changed the way the dotted underline is rendered under links, accidentally, this fixes the bug that it was not dotted at all since a while, which is a bug in app_server or BView not tracking the need to update the drawing pattern in certain situations (this bug needs to be fixed too of course) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22040 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
27eab79b |
|
20-Aug-2007 |
Axel Dörfler <axeld@pinc-software.de> |
* BTitleView now resizes its columns asynchronously. As a side-effect, this also solves the slow resizing part of bug #160 under Haiku (where GetMouse() obviously gets a lot more messages). * Rearranged the interaction between BTitleView and ColumnTrackState a bit, removed some unused cruft. * PoseView::ResizeColumn() had obviously required code to redraw the resizing lines on enlarging the column excluded for whatever reason. * Minor cleanup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22025 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
eeb608e1 |
|
26-Jun-2007 |
Axel Dörfler <axeld@pinc-software.de> |
* StringFromStream() did not work correctly for empty strings (messed up the stream position). * StringFromStream() called BString::LockBuffer() with "length", but touched "length + 1" bytes. * Prepared for the new "display as" FileTypes feature. * The "DefaultQueryTemplate" folder now adds the MIME type of the folder to the attribute menu for simplified editing (before, you had to move a file with a matching file type into that folder to be able to add the attributes you likely wanted to see). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21509 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
687e327b |
|
19-Jun-2007 |
Michael Lotz <mmlr@mlotz.ch> |
Reworked the handling of periodically updated poses (currently only ones with a volume space bar): * Addad global list where poses that need periodic updates can be registered with a callback * Use this mechanism for poses with a volume space bar * Create only one BVolume when the BPose is created for a volume, instead of every time the free space is calculated * On Pulse() the global list is used to update all of the registered periodic update poses * As the poses know their volume, it is no longer necessary to use a BVolumeRoster to loop through each volume on each Pulse() * Removed the now superfluous SendNotices() mechanism * Removed corresponding watching / handling of these notices in BPoseView The BPoseView did a linear search for each volume pose on each Pulse() before. What's more it did this once for each mounted volume as it did get one individual notice for each of them. To get these volumes a BVolumeRoster was used to loop through the volumes, but then the BPose did still create a new BVolume to actually calculate the free space! I'm surprised that it did not suck away more performance with this method... Anyway, this should bring down BVolume construction and update overhead down to a minimum and hopefully fix ticket #1247. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21462 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
77974ff1 |
|
06-Jun-2007 |
Stefano Ceccherini <stefano.ceccherini@gmail.com> |
some forgotten fVariable -> sVariable renaming git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21338 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
67fb7cd0 |
|
28-Mar-2007 |
Axel Dörfler <axeld@pinc-software.de> |
Minor cleanup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20443 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
f6a62205 |
|
02-Feb-2007 |
Waldemar Kornewald <wkornewald@nowhere.fake> |
Fixed comment style. :) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20041 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
f70737c1 |
|
01-Feb-2007 |
Waldemar Kornewald <wkornewald@nowhere.fake> |
Fixed (*crossing fingers* :) the probably most complicated deadlock in Haiku's history...Axel, am I exaggerating? :) I've tested it and it seems to work. Could someone else please confirm that everything still works well? Hmm, I'm still wondering why Axel took the time to suggest a possible solution to me instead of fixing it himself. There must be a catch. ;) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20036 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
5f5d917a |
|
24-Jan-2007 |
Ryan Leavengood <leavengood@gmail.com> |
Your wish is my command: now only removable read-only volumes have their desktops integrated in Tracker. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19947 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
ebe10933 |
|
14-Sep-2006 |
Stephan Aßmus <superstippi@gmx.de> |
* when the group of dragged icons was a bit larger, the bitmap was not completely transparent, but had a faint shadow, I removed this, though it seemed to be on purpose, I have no idea why... it looked like a bug git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18845 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
7fb6186f |
|
29-Aug-2006 |
Stephan Aßmus <superstippi@gmx.de> |
* integration of vector icons with the registrar and the mime data base * additional versions of SetIcon[ForType] and GetIcon[ForType] in BMimeType and BAppFileInfo, which handle flat vector icon data * changes in Tracker to support scalable icons (currently broken for non-vector icons and needs cleanup) and drawing icons correctly with alpha channel (large parts of this work done by Michael Lotz) If someone feels like looking over the changes, that would be much appreciated! :-) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18699 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
f8262c2b |
|
27-Jun-2006 |
Stephan Aßmus <superstippi@gmx.de> |
sync to rev 1.62 from OT rep: use the event time instead of the current system time for appending or starting a new match when typing ahead to select a pose git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17930 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
269d3bd5 |
|
11-Jun-2006 |
Axel Dörfler <axeld@pinc-software.de> |
Imported PoseView.cpp 1.61, OpenWithWindow.cpp 1.8, and OpenWithWindow.h 1.3 from OpenTracker CVS. This fixes bug #354. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17796 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
7befa79a |
|
01-Jun-2006 |
Axel Dörfler <axeld@pinc-software.de> |
Imported SettingsViews.cpp 1.10, FilePanelPriv.cpp 1.14, TrackerSettingsWindow.cpp 1.7, SettingsViews.h 1.8, FSClipboard.cpp 1.12, PoseView.cpp 1.60, TrackerSettingsWindow.h 1.2, TrackerSettings.cpp 1.11 from the OpenTracker repository. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17688 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
693f381e |
|
31-May-2006 |
Stephan Aßmus <superstippi@gmx.de> |
Fixed a weird Tracker bug, fOkToMapIcons was initialized to "true", but I have no idea what sense this makes. When switching from list mode to icon mode, some poses had their locations set to location "infinity", because MapToNewIconMode did a division by zero. This resulted in feeding the scrollbars a totally insane range. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17673 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
f15ba337 |
|
08-Jan-2006 |
Stephan Aßmus <superstippi@gmx.de> |
synced with version 1.59 of the OpenTracker rep git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15877 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
a615ec8f |
|
30-Dec-2005 |
Axel Dörfler <axeld@pinc-software.de> |
Imported OpenTracker-current. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15764 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
e68b7626 |
|
11-Dec-2005 |
Axel Dörfler <axeld@pinc-software.de> |
More GCC 4 fixes by Ingo Weinhold - appeared because of the recent removal of new/typeinfo/exception from our headers. Rearranged the IconCache node_ref hash computation to be padding-resistant (at least on PPC, node_ref is 16 bytes long, not 12 as it is with x86 and GCC 2). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15498 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
4a71b881 |
|
14-Nov-2005 |
Axel Dörfler <axeld@pinc-software.de> |
Final GCC 4 fixes by Ingo Weinhold (were not visible before, due to a missing -no-undefined). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14918 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
02be5353 |
|
22-May-2005 |
Axel Dörfler <axeld@pinc-software.de> |
Added libtracker.so to the repository and the build. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12772 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
d8b517b50f1a5a04e959ec2bfb0011b07f931793 |
|
09-Sep-2015 |
Axel Dörfler <axeld@pinc-software.de> |
Tracker: made title view height depend on font size. * It now uses a font that's 3/4 the size of the plain font; ie. there shouldn't be any change with the default font size. * Also cleaned up some weird layout code on the way.
|
#
bf5480299ec4de65e24091dd8035133fe395fa80 |
|
09-Sep-2015 |
Axel Dörfler <axeld@pinc-software.de> |
Tracker: Made list element spacing relative to font size. * Instead of always adding two pixels, we now multiply the size with 1.1.
|
#
7cef8ca2fe55d93634b331bcb8e2e5d8184720d8 |
|
10-Aug-2015 |
Michael Lotz <mmlr@mlotz.ch> |
Tracker: Fix regression introduced in hrev49011. If the view fails to lock because it is actually gone, we obviously can't use it to return the container, so delete it directly in that case. Fixes #12072 and probably #11982 which would then be a duplicate.
|
#
b46999bc02ebb329d564730ef40e260b22704831 |
|
21-Jul-2015 |
Axel Dörfler <axeld@pinc-software.de> |
Tracker: page down/up now selects poses. * When pressing shift it will also extend the selection to the bottom or the top of the page. * It does not deselect anything yet, but Tracker's selection logic is pretty questionable, anyway, and it's way too complicated to implement this nicely as of now.
|
#
29355b23a73da4ccf6625aeea92c028fba77ae9f |
|
17-Jun-2015 |
Janus <janus2@ymail.com> |
Tracker: reduce distance between rows with big fonts
|
#
38b2eae6db31e23440a40f48d7d8da7bcb791825 |
|
14-Jun-2015 |
Janus <janus2@ymail.com> |
Tracker: fix selection glitch with some fonts * This problem was present for the fonts with total height greater than 19 and smaller than 20. * Reduce distance between row with big fonts. * Fixes #11615.
|
#
37335989120ad8f18a9d3d2e4c8489410c0fc4e5 |
|
26-Apr-2015 |
Augustin Cavalier <waddlesplash@gmail.com> |
Tracker: delete more non-Haiku code.
|
#
2bd0b27f5d9720741ba72afa21de0470b7521d13 |
|
08-Apr-2015 |
Michael Lotz <mmlr@mlotz.ch> |
Tracker: Fix use-after-free by ref filter of OpenWithPoseView. Commit ea8b1e14 changed OpenWithPoseView from using ShouldShowPose for filtering poses to a BRefFilter. The introduced ref filter used the iterator handed to the BPoseView::AddPosesTask which took ownership of that iterator and deleted it as soon as it was done. Since actually adding the poses as well as further filtering is asynchronous and happens after the AddPosesTask completes, the iterator was used after it was already deleted. Introduce BPoseView::ReturnDirentIterator() that is called after the AddPosesTask is complete. The default version deletes the iterator, the OpenWithPoseView overrides it and does nothing, it deletes the iterator in the destructor instead. Also fix leaking the ref filter. The BPoseView does not take ownership of the filter as it usually comes from a BFilePanel which is documented to not take ownership.
|
#
0a74a00526901d507086cac0592c9940efc24e60 |
|
08-Apr-2015 |
Michael Lotz <mmlr@mlotz.ch> |
Tracker: Remove two outdated comments, whitespace cleanup.
|
#
d854f235bc70c5d83f973134fd1a4d2c8629784b |
|
08-Apr-2015 |
Michael Lotz <mmlr@mlotz.ch> |
Tracker: Remove an old PPC STL workaround.
|
#
4e3572635487f5a4fb948640fdeb747f47750e4a |
|
29-Mar-2015 |
Augustin Cavalier <waddlesplash@gmail.com> |
Tracker: add "hide dotfiles" option to the GUI & enable it by default. Changing this many lines of code to add a single boolean preference is absolutely insane. We need a new preference-tracking system, and one that can be reused in other applications, too. Fixes #9200.
|
#
7ef62fb6c2485f91ba49b0cde5e73e62687375e9 |
|
27-Feb-2015 |
John Scipione <jscipione@gmail.com> |
Tracker: Style fixes * Style fixes to QueryContainerWindow.h * Style fixes to ContainerWindow * Style fixes to Model * Style fixes to Tracker * Style fixes to PoseView - Most of the changes come from unindenting the code
|
#
8b03727a4ed7d75f5cb0f1cd23245c89287c194b |
|
28-Feb-2015 |
Augustin Cavalier <waddlesplash@gmail.com> |
Revert "Tracker: Fix memory leak" This reverts commit de7aed2b5671d54c3557fad447ba60ffe17ef9bb. It turns out that this causes crashes when trying to navigate in directories with type-ahead filtering enabled. (possibly related to the root cause of
|
#
9e78efbb4d21a6821be64e5053defd99ed364aea |
|
27-Feb-2015 |
Augustin Cavalier <waddlesplash@gmail.com> |
Tracker: delete un-needed #includes. All of these header files are already included by the .h file that corresponds to the .cpp file.
|
#
7d515bdbd6bf24db5f92094cda34c301ab8d5665 |
|
27-Feb-2015 |
John Scipione <jscipione@gmail.com> |
Tracker: handle copying files from virtual directories If virtual directory first resolve the symlink before copying/moving/linking the file. Fixes #11091 R1/B1 bug squashed!
|
#
27c574670666e5b3b6670909f993ac3927b7290e |
|
27-Feb-2015 |
John Scipione <jscipione@gmail.com> |
Tracker: Move static functions up Rename CopySelectionListToBListAsEntryRefs to CopySelectionListToEntryRefList to reflect that it no longer copies to a BList but instead to a BObjectList<entry_ref>
|
#
4c47562f60c3b63b181d3742eaf0fbe87713ae2e |
|
27-Feb-2015 |
John Scipione <jscipione@gmail.com> |
Tracker: Minor style fixes to PoseView
|
#
f0647531ff75085feba097d97bc0b49c521bcd63 |
|
26-Feb-2015 |
John Scipione <jscipione@gmail.com> |
Tracker: link to TargetLibsupc++
|
#
370ee87a8e1fb6ce8edba70a7eb6f99780a40c4b |
|
26-Feb-2015 |
John Scipione <jscipione@gmail.com> |
Tracker: replace max_c with std::max Remove using statements and put map include in its proper place
|
#
de7aed2b5671d54c3557fad447ba60ffe17ef9bb |
|
26-Feb-2015 |
John Scipione <jscipione@gmail.com> |
Tracker: Fix memory leak When items were removed from fFilteredPoseList as opposed to fPoseList, the items were not automatically deleted and thus leaked. By setting the BObjectList to automatically delete them on removal (by setting the deleteIfOwned paramete to true) we avoid this leak.
|
#
8c2813c1871f922248d187c377ccd4a3176b6432 |
|
25-Feb-2015 |
John Scipione <jscipione@gmail.com> |
Tracker: Style fixes
|
#
5f26850cbaf16e00ed594b1781f2bc195c4c0cac |
|
25-Feb-2015 |
John Scipione <jscipione@gmail.com> |
Tracker: Small style fixes
|
#
2f5fe16a3e5f838f26b296a2f2926cce407f014f |
|
14-Feb-2015 |
Augustin Cavalier <waddlesplash@gmail.com> |
Tracker: delete #ifndef __HAIKU__ code. Since tracker_layout has been merged, this is pretty useless now. Should result in no change to generated assembly.
|
#
e7803cf1f69a81b1c77880518ba16b6708c1efdb |
|
26-Jan-2015 |
Augustin Cavalier <waddlesplash@gmail.com> |
Tracker: use the Layout API wherever possible. Sorry this commit is so big, but I couldn't figure out how to do this incrementally without breaking things. I wasn't able to just merge Aldeck's branch, as it was a partial refactor of Tracker and didn't just rewrite the UI creation code to use layouts, and the changes for PM (e.g. addon loading, virtual directories) made it very hard to merge (it doesn't even compile after an automerge) so rather than spending time on that, I decided it'd be better to recreate his work. Miscellaneous notes: - This partially cleans up BPoseView & subclasses and BContainerWindow & subclasses -- none of the subclasses and child views abuse the parent's state, child views, or layout now. - BFilePanel and BDeskWindow are not on layouts, because: * BFilePanel docs in the Be Book instructed developers that wanted to modify BFilePanel's layout to just use FindView() and then move the views around. Obviously making it use layouts will break all BeOS apps that do this, and there are a lot of them (Pe, WonderBrush are just two examples.) I've added a note to the TODO list for R2 to create a layout-compatible API for this. * Some replicants (Workspaces, for example) rely on manipulating BDeskWindow's drawing state. This is incompatible with layouts, as at least in the case of Workspaces, it breaks a layouted version of BDeskWindow entirely. - I noticed a lot of #ifdef BEOS_VERSION ... gunk in the code. Tracker probably didn't build on BeOS just before this commit, and now it won't for sure, so I intend to go through and clean that out in the near future. This commit also fixes: - enhancement #4996 (make Tracker's navigator use vector icons) - bug #3039 (resizing OpenWithWindow flashes the blue border) - bug #3889 (OpenWithWindow redraw errors) - a regression that was a side effect of "dynamic_cast<BDeskWindow*>(this)" always returning NULL when run in the constructor. I just added a "bool isDeskWindow" to BContainerWindow's constructor that is only set to true by BDeskWindow. - a copy&paste error in VirtualDirectoryPoseView that was passing "uint32 resizeMode" as "uint32 viewMode". Thanks to Alexandre for his original branch (it was a very useful reference), Axel (for some miscellaneous advice & encouragement), Adrien & Humdinger (for user interface review), and Diver (for user interface review & testing).
|
#
529cd177b573aaba391c8adc9c9f5ad76a14bf81 |
|
04-Dec-2014 |
Adrien Destugues <pulkomandy@gmail.com> |
BFilePanel: allow to change the node flavors There doesn't seem to be anything ini the implementation that would cause a problem, as long as you don't try to change this while the window is already open.
|
#
2f60dea53ae5e08baeae2c4e41c89a8d2e74aaa6 |
|
29-Jul-2014 |
John Scipione <jscipione@gmail.com> |
Tracker: Throw exception on assert failure ... in situations where a NULL pointer dereference was vital to the functioning of the method we use a stronger assert that throws an exception on failure. This is accomplished by a new method in Utilities.cpp, ThrowOnAssert(). None of these conditions should ever be true, if they are it means that the code is written improperly and would have resulted in a NULL dereference and undefined behavior (most likely a crash) before. Most instances of ThrowOnAssert() either replace an ASSERT followed by a dereference or an early return that covered the error. Also remove _ThrowOnErrorWithMessage() which wasn't being used.
|
#
9cc03189faa3cb4923d63a897435f56ec98c62b0 |
|
28-Jul-2014 |
John Scipione <jscipione@gmail.com> |
Tracker: Add NULL checks and ASSERTs To prevent recoverable NULL pointer dereferences. Dereferencing a NULL pointer is undefined behavior and should be avoided. Unrecoverable NULL checks will be dealt with in the next commit.
|
#
54e2dd7272db551cab02cc678bd45bc4131dd867 |
|
28-Jul-2014 |
John Scipione <jscipione@gmail.com> |
Tracker: style fixes No functional changes intended.
|
#
95ef54053563d2f672086aaa32b0131f7b580677 |
|
25-Jul-2014 |
John Scipione <jscipione@gmail.com> |
Tracker: Unchecked dynamic_cast, CID 611229
|
#
a35bd7b065fa9e15b6ca93f5a0cc59a9cf172afa |
|
25-Jul-2014 |
John Scipione <jscipione@gmail.com> |
Tracker: Unchecked dynamic_cast, CID 600452
|
#
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
|
#
3188d3d0bfea70a9218c7cc700c4bd3a4c211f4d |
|
23-Jul-2014 |
John Scipione <jscipione@gmail.com> |
Tracker: Remove logically dead code Replace with an ASSERT that srcWindow != NULL by the time we've gotten this far. CID 1228649 and CID 1228650
|
#
a892df239f1f45d79fa37eb3c560c9d0e1253272 |
|
18-Jul-2014 |
John Scipione <jscipione@gmail.com> |
Tracker: Fix several unchecked return values CID611191, CID611192, CID611193
|
#
5969c5d77930d3d4466df7691bed69f4ce12bfc0 |
|
18-Jul-2014 |
John Scipione <jscipione@gmail.com> |
Tracker: Fix use after free CID510586
|
#
1933335b06d9fb1644d0ecfc1e2f7b6753ac6814 |
|
18-Jul-2014 |
John Scipione <jscipione@gmail.com> |
Tracker: fix 2 uninitialized scalers CID610119
|
#
ba24adb2723ef9151a6786e9d56f34a2450edf30 |
|
18-Jul-2014 |
John Scipione <jscipione@gmail.com> |
Tracker: fix 2 unbounded copies CID609045
|
#
d308d1fa8244387db2f38596cbcb5408b5fb9ac8 |
|
18-Jul-2014 |
John Scipione <jscipione@gmail.com> |
Tracker: fix unchecked dynamic_casts CID603130, CID603131, CID603132
|
#
62de0e04be70156488d3ae1e17314845a73494cb |
|
18-Jul-2014 |
John Scipione <jscipione@gmail.com> |
Tracker: fix unchecked return values Check that LockLooper() succeeds CID611190, CID611194, CID602477
|
#
dc3cfca45bc8a4cb314ace17e6a143c07267e79d |
|
18-Jul-2014 |
John Scipione <jscipione@gmail.com> |
Tracker: fix unused pointers CID610474, CID610475
|
#
20e3467eae2e5b867500645738d389b7bd8dc0e4 |
|
18-Jul-2014 |
John Scipione <jscipione@gmail.com> |
Tracker: fix dereference after NULL checks CID600503, CID600504, CID600505
|
#
0db0308b08efa3b95e1ee849c7759541c26f9c28 |
|
18-Jul-2014 |
John Scipione <jscipione@gmail.com> |
Tracker: style fixes to PoseView.cpp Compare with NULL explictly
|
#
d5868b5976a3c2f35ab9451dacb6783b85576f20 |
|
26-Jun-2014 |
John Scipione <jscipione@gmail.com> |
Tracker: style fixes to PoseView Variable renaming for consistency and clarity
|
#
d7e682113776632e5c04a6558eca0c5650a164e4 |
|
04-Jul-2014 |
John Scipione <jscipione@gmail.com> |
Tracker: miscellaneous style fixes
|
#
091db3a99de1a6123dae8cd1b21e0595d7a3e2c9 |
|
20-Jun-2014 |
John Scipione <jscipione@gmail.com> |
Tracker: Check if selectedPose is NULL ... before using it.
|
#
14bf930b9989419a16ee4f1dbbd0889b4191cdfd |
|
20-Jun-2014 |
John Scipione <jscipione@gmail.com> |
Tracker: Check if selectedBounds is NULL ... before using it.
|
#
38181640e9258b4c7b5cad885710b9f6f8730413 |
|
20-Jun-2014 |
John Scipione <jscipione@gmail.com> |
Tracker: style fixes to PoseView class
|
#
9437e677ba3d5f813929944ae2b09fc37feb8d2d |
|
09-Jun-2014 |
John Scipione <jscipione@gmail.com> |
Tracker: Style fixes
|
#
9bd08d10ab9faa54fff5cc72619a3ca38e29632a |
|
01-Feb-2014 |
John Scipione <jscipione@gmail.com> |
Tracker: Don't change selection if right-click ... inside a selection. If you click outside a selection extend the selection to include the new items as Tracker normally would and then pop up the dialogs. Works with control-click as well, same utility function used. Fixes #10449
|
#
80f4300a722baf5d9556784d44397bc869a53579 |
|
01-Feb-2014 |
John Scipione <jscipione@gmail.com> |
Tracker: Make context menu work with control-click in additional to secondary mouse button click, uses same utility function.
|
#
898f10825072bb17badf64bae8d7334e63a6a683 |
|
01-Feb-2014 |
John Scipione <jscipione@gmail.com> |
Tracker: Add SecondaryMouseButtonDown method Create this utility method in Utilities.cpp and use it elsewhere tell if the secondary mouse button is pressed or if it is emulated with a control-click.
|
#
6be6813f231718561fd4750f2e31f0099f523b1b |
|
01-Feb-2014 |
John Scipione <jscipione@gmail.com> |
Tracker: swap using std::swap()
|
#
fcb24e82c4ca0d0fd25eba964e0aba015abdb15f |
|
31-Jan-2014 |
John Scipione <jscipione@gmail.com> |
Tracker: Only open items if doubleclick w/ primary MB Also rename fLastClickPt to fLastClickPoint
|
#
9d33fe6896cb72c8f09e5d871077d8aa98118118 |
|
31-Jan-2014 |
John Scipione <jscipione@gmail.com> |
Tracker: Style fixes to BPoseView
|
#
80c9ee9c3f7dc0e34ba8995bce9c16825a89e8b7 |
|
24-Dec-2013 |
Freeman Lou <freemanlou2430@Yahoo.com> |
Tracker: exclude trash from selection. Signed-off-by: Rene Gollent <rene@gollent.com>
|
#
1c29b26e7c7eb94ee125315eca5a94265f613420 |
|
29-Jun-2013 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Add virtual directory feature to Tracker Similar to stored queries, files of the virtual directory type behave like directories -- i.e. they open in a list-mode Tracker window and show up as an item with submenu in navigation menus. The file itself is a plain text file in driver settings format. It can have an arbitrary number of "directory" entries, which specify the paths of (actual) directories for which the virtual directory provides a merged view. The view will not show duplicate entries. For non-directory entries the first one encountered (according to the order the directory paths are specified in the file) will be shown. A subdirectory entry will again behave like a virtual directory. The support in Tracker isn't perfect yet. I'm afraid major refactoring would be necessary to get it there. The virtual directory file type uses a differently colored version of the folder icon. Alternatives welcome.
|
#
de85051c81a74f82d86cc82ec25ead5374a83844 |
|
29-Jun-2013 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
BPoseView::AttributeChanged(): additional check in icon case Model::AttrChanged() requires the model to be open and so does IconCache::IconChanged(), so add the check. Not sure if the block is ever executed now (or ever worked before). This does at least prevent asserts being triggered when compiled with debugging enabled.
|
#
ddd775f5ac1bf7dee15dd492500b50b935b71935 |
|
20-Jun-2013 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
BPoseView::FSNotification(): fix issue in debug build
|
#
535207ae9a3e759ac960379905a5e1661174eb7c |
|
19-Jun-2013 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
BPoseView::AddPosesTask(): fix count checks In case GetNextDirents() returned an error, the wrong blocks were executed.
|
#
a53db1893722eb4b5b25d5198113f8bf2a809fa3 |
|
11-Apr-2013 |
Rene Gollent <anevilyak@gmail.com> |
Fix #9663. When clearing the filter state, don't disable filtering entirely if we have a ref filter present. Otherwise, it won't be invoked again until the next time a typeahead filter is engaged.
|
#
163a39483387c5db4156dfcf36e4b48156df30a6 |
|
09-Feb-2013 |
Humdinger <humdingerb@gmail.com> |
Revert "Renamed Tracker option "Don't move files to Trash" (#9352)" This reverts commit 45f77dcd7029914ccd99178dfb333eb68c7af9e5.
|
#
45f77dcd7029914ccd99178dfb333eb68c7af9e5 |
|
06-Jan-2013 |
Humdinger <humdingerb@gmail.com> |
Renamed Tracker option "Don't move files to Trash" (#9352) Renamed that option as it is the only negatively phrased to "Move deleted files to Trash first" and also the option below that to "Ask before deleting for good". Also renamed every function name etc. in that regard and also settings string of the Tracker settings file.
|
#
db41683495bfde817554415d14ae6f9cc91e77eb |
|
02-Jan-2013 |
Matt Madia <mattmadia@gmail.com> |
Automatic whitespace cleanup. No functional change.
|
#
205cf6950c4e615f502501f6667267edf8b482db |
|
24-Dec-2012 |
Philippe Saint-Pierre <stpere@gmail.com> |
Tracker: Force Identify - don't require holding shift (#4857) Don't require to hold shift when clicking on force identify, can now be released after popup menu have appeared.
|
#
3fbf5d68095bfbb82dbb876130fb66dd52a6dd1e |
|
23-Dec-2012 |
Philippe Saint-Pierre <stpere@gmail.com> |
Tracker: Drawing artifact (#6513) After switching from outline only selection mode to transparent rectangle, a drawing artifact could occur because the last selection rectangle wasn't reset properly. On following update, Tracker thought a selection rectangle was still to be shown.
|
#
dbe3088153f100f652735b495d358f716cb2f8c1 |
|
25-Nov-2012 |
Philippe Saint-Pierre <stpere@gmail.com> |
Tracker: Tracker crashes in KeyDown() if there are no models associated with the PoseView. Happens in special windows, such as OpenWith Window, that do have a PoseView not associated with a model. Fixes #8160.
|
#
151b6997c05984b9b7cb1147353c285bb83dfde5 |
|
15-Sep-2012 |
Philippe Saint-Pierre <stpere@gmail.com> |
Tracker: Moving columns could make an horizontal scrollbar appear
|
#
ed63a5d20c7c4be88812d683bb3d563905297003 |
|
18-Aug-2012 |
Philippe Saint-Pierre <stpere@gmail.com> |
Tracker: Double-Click simplification Double-click check was redoing what is essentially already done in input_server. The way we were doing it, right clicking (or pressing a different button for the second click, for that matter) wasn't clearing the fields remembered and thus not breaking the sequence. So a third click returning to the correct sequence (in a short time) would get recognized as a valid second click. So a quick left-right-left would be seen by that method as left-left. Also, clean up a previous fix I committed. Removed the introduced Origin() method as it is the LeftTop() method I was interested in and it is already existing. Fix #8714
|
#
c38375376d0190b7aec2c25ed691123395d0fcb6 |
|
14-Aug-2012 |
Philippe Saint-Pierre <stpere@gmail.com> |
Tracker: TextWidget editing flaws TextWidget tried to detect if the editing box would span outside the PoseView, but it was using an hardcoded value of 1 for the minimum left value. But in Icon mode, negative values can occur. Change to use the view's origin (top left corner of the view).
|
#
8cbdf82a0a71dd2ffe7e6522ea102f9896554162 |
|
14-Aug-2012 |
Philippe Saint-Pierre <stpere@gmail.com> |
Tracker: Drawing glitch when created Pose is first in PoseView Due to clipping of a rect to match the view bounds, there was a confusion as to whether the rect was at the top of the view bounds, or above the view bounds as both met the condition. Fixes #8876.
|
#
7ad72ef6eae1ad8a2ec03043055ca0e649b11f80 |
|
12-Aug-2012 |
Philippe Saint-Pierre <stpere@gmail.com> |
PoseView: avoid duplication of poses When filtered, clear the FilteredPoseList before re-filling it. Fixes #8875.
|
#
39433058f77bd2c7167c855b6ad695396db57774 |
|
11-Aug-2012 |
Rene Gollent <anevilyak@gmail.com> |
Fix ticket #8858. - When an Identify/Force Identify request is made in Tracker, if the target is a link, resolve it to its destination first. Fixes #8858. - Have mime_update.sh explicitly mimeset the welcome/user guide scripts.
|
#
c01e918c0a1ed600180bde084f51284c756a6d1c |
|
09-Aug-2012 |
Philippe Saint-Pierre <stpere@gmail.com> |
Cancel editing of Widget if sorting of poses occured. Since the position of the widget was registered at the first click, it likely changed and its causing drawing afterfacts (it's editing at its old location).
|
#
66c09a35546f869af3fef1968a3c423d04cc7495 |
|
09-Aug-2012 |
Philippe Saint-Pierre <stpere@gmail.com> |
Delayed widget editing, crash avoidance Make the PoseView stop watching a TextWidget if it's being deleted. Could happen in race conditions for example, if you click to edit the name widget of a pose while the pose is being deleted soon after.
|
#
4cf0af0607c9b5ad89fdcb5416725e4ae2eb7890 |
|
09-Aug-2012 |
Philippe Saint-Pierre <stpere@gmail.com> |
Tracker: Additional cases to cancel double-click detection Don't wait for a potential second click (and then trigger Widget editing) when: 1. a click occurs on a different pose, on a 'pose-less' area or when right clicking 2. when you start dragging something.
|
#
741e52463a4e1df441230669a38f1bb8832f9674 |
|
09-Aug-2012 |
Philippe Saint-Pierre <stpere@gmail.com> |
Tracker: Double-click management changes Make the "second click of a double-click" detection waiting time async. In other words (hopefully clearer), when the TextWidget gets a click, it register itself, recording the time, and it will get the editing order later as a callback from PoseView when the delay without any further click expires. Fixes #8818 and maybe others.
|
#
e0e641c07817564664d01a01db95ce2af5f4c63d |
|
09-Aug-2012 |
Philippe Saint-Pierre <stpere@gmail.com> |
Tracker: Style fixes, should have no functional change
|
#
11a36918ee84cb21c5965f538a24851a00897ee0 |
|
08-Aug-2012 |
Philippe Saint-Pierre <stpere@gmail.com> |
PoseView::AddPosesTask - no need to open the node at this point
|
#
aafb6faf57de4b30be7bb10c5a70245498d7344a |
|
08-Aug-2012 |
Philippe Saint-Pierre <stpere@gmail.com> |
PoseView: crash related to PoseView containing many files Due to a previous change in the incrementation of models in AddPosesTask, PoseView containing large number of poses were prone to crash in ClearPoses(). Gaps in PoseList or other invalid memory area were introduced. Thanks to x-ist for precious assistance in spotting those issues!
|
#
0bc1be3252ac6e87e2b046fb06f8d36425c23b51 |
|
08-Aug-2012 |
Philippe Saint-Pierre <stpere@gmail.com> |
PoseView: Fix crash in FilePanel Again, a regression fix. Under some circumstance, fFiltering was wrongly set. Also, the node wasn't open before checking the BRefFilter and some filters expected that to be.
|
#
5489384d4538de742017aa912222e4921b4673bb |
|
08-Aug-2012 |
Philippe Saint-Pierre <stpere@gmail.com> |
Tracker: crash fix in FilePanel Regression of hrev44493, file panel crashed when changing dir and filtering being disabled (sorry!) Also fix the widget editing when filtering is activated. Now renaming a file/folder and causing it to 'fall off' the filter does work.
|
#
c2535dc48a28016ead05c4ebf522f018dc770429 |
|
07-Aug-2012 |
Philippe Saint-Pierre <stpere@gmail.com> |
Tracker: various issues regarding filtering 1. A BRefFilter-ed PoseView wouldn't keep monitoring files after its opening thus not picking up files that happen to fit the filter thereafter (mime attr updated, etc..) 2. A filtered PoseView wouldn't get updated when: a) a column was added or removed b) a file was renamed c) a file was moved 3. Harmonize the way BRefFiltering and Type-ahead filtering are working. Both can be used together. 4. The handler for AttributeChanged() wasn't working properly if link(s) of a changed model was/were its siblings. 5. Broken links weren't detected/updated (it nows monitor the lost target parent directory, and wait for the target creation to show the link fixed) This is a big change (even more considering the 'critical-ness' of the component) Testing is MUCH welcome! Should fix #4254, #5381, #1717 (and maybe others)
|
#
aed35104852941f0f6f3d1dcc5338b5f337d0a3c |
|
05-Aug-2012 |
Humdinger <humdingerb@gmail.com> |
Close alerts with ESCAPE key. Added SetFlags(B_CLOSE_ON_ESCAPE) or SetShortcut(index, B_ESCAPE) to BAlerts depending if the result gets used later in the code, or if it's a one-button BAlert.
|
#
adf8818ec004e8a20614523f3e893303ea318642 |
|
05-Aug-2012 |
Alex Smith <alex@alex-smith.me.uk> |
Compilation fixes for Terminal, add to image. It runs, but has shown up various bugs: app_server crashes, kernel panics, rendering problems. Working on fixing these now.
|
#
688e878807fee1750d876001cff4f1ce41da3a79 |
|
28-Jul-2012 |
Ryan Leavengood <leavengood@gmail.com> |
Don't check for double click if it was a right mouse click. Fixes #8714.
|
#
e51854a127450ed5f1dc33ec350a00f1deaff355 |
|
15-Jul-2012 |
John Scipione <jscipione@gmail.com> |
Add 96x96 and 128x128 icon sizes to tracker including scaling of BeOS icons using scale3x and scale4x algorithms.
|
#
a51764c53eecd8ca5f6312b92d8baccda89d5b1d |
|
27-Jul-2012 |
John Scipione <jscipione@gmail.com> |
WIP: Yet more style fixes, mostly 80 char violations.
|
#
b05aa8b5b16e5b4f420a35c37805c6387df98737 |
|
27-Jul-2012 |
John Scipione <jscipione@gmail.com> |
Style changes in Tracker, no functional change. Manual whitespace cleanup Change instances of const char * to const char* Convert /* */ C style comments to // C++ style comments
|
#
b866f1fa5493c354c9425b17e6563aac540406ab |
|
24-Jul-2012 |
Philippe Saint-Pierre <stpere@gmail.com> |
Tracker: Files created from templates are now monitored fixes #2796.
|
#
4c45f003ede5fdc1ca9da3f51a8b7d5764a0e0a2 |
|
23-Jul-2012 |
Philippe Saint-Pierre <stpere@gmail.com> |
Tracker: Right clicking on Pose triggered Rename prompts Right clicking on a Pose to get the contextual menu would quite often trigger a rename action of that pose. Don't allow to rename a pose by releasing the secondary mouse button.
|
#
fb678bc3d02979476bd15a181ba053ae77557705 |
|
23-Jul-2012 |
Philippe Saint-Pierre <stpere@gmail.com> |
Tracker: Sorting in filtered view led to crash Fixes #6992.
|
#
c082e8f2e24d1855ef255a5292b259acbc5ba7d9 |
|
23-Jul-2012 |
Philippe Saint-Pierre <stpere@gmail.com> |
Tracker: Variation between Saved and Restored widths When restored, an overlap was wrongly detected in offsets for failure to take into account the width of the border line. This was causing the horizontal scrollbar to show unnecessarily.
|
#
5cdd07a8148b04cd1b7e29778ec0661df7dbe46d |
|
23-Jul-2012 |
Philippe Saint-Pierre <stpere@gmail.com> |
Tracker: Optimisation of AddonMenu menu construction 1. Build the list of mimetypes of files in selection only once and reuse it for all further tests. 2. Fix a regression introduced in hrev44384 where the MimeType() wouldn't get recognized when just changed by tracker (by that same right click). It would be on subsequent clicks. 3. Rename the static map variable to better fit our coding style and be more understandable.
|
#
516cac7817d0b2f54e8b59acfff5cf803ef7d2ab |
|
23-Jul-2012 |
Philippe Saint-Pierre <stpere@gmail.com> |
Tracker: Coding style violations fixes and typos No functional changes, thanks Axel!
|
#
674ff0df2f2eb00cbc78b4384fcf5b148a2139ff |
|
22-Jul-2012 |
Philippe Saint-Pierre <stpere@gmail.com> |
Tracker: Various sorting issues in Tracker When sorting files by Modified dates, right clicking on a file was leading to a sorting issue where files were changing positions (without reason). 1. Any changes to stats (size, modification, creation, mode) was triggering the sorting. Now only stats fields currently used as a Sort criteria will trigger such event. 2. The Mimeset of file was set (in case of unknown file format) once per checked add-on when building AddOn Menu. Now it's checked once per file in selection. (so, once per file, rather then once per file, per add-on). 3. Now rely on registrar to force the mimeset (to trigger the sniffer in case the attribute already exist) rather than trying to duplicate the feature in Tracker. 4. When Sorting, if there is a old position known, check if it's working by looking if you should come after the previous item, and before the following item. Previously, the item would be pushed at the top if the group of item all fitting the criteria (same file size, same file kind, etc.. depending on the sorting criteria). Fixes #8478.
|
#
1236c746afccdcf1ef33244cb1da655f3cf596dd |
|
21-Jul-2012 |
Philippe Saint-Pierre <stpere@gmail.com> |
Tracker: a file leaving Trash won't appear in QueryPoseView Fixing #1592. A feedback FSNotification()->EntryMoved->PendingNodeMonitorCache->FSNotification was seemingly introducing some race condition, as it was working 1 time on several tries.
|
#
4dad975dda68795852e3dea27642061776a241e6 |
|
06-May-2012 |
Philippe Saint-Pierre <stpere@gmail.com> |
Tracker: Consider extra column margin in PoseView::Extent() In List Mode, consider the extra margin added to the right of the last column when computing the Extent of the PoseView. This was causing the ResizeToFit to resize a bit too small. Fixes #4318
|
#
546208a53940a26c6379c48a7854ade1a8250fc5 |
|
16-Apr-2012 |
Oliver Tappe <zooey@hirschkaefer.de> |
More catalog-related cleanup. * rename B_TRANSLATE_CONTEXT to B_TRANSLATION_CONTEXT and B_TRANSLATE_WITH_CONTEXT to B_TRANSLATE_CONTEXT, squashing a TODO * adjust all uses of both macros in Haiku's source tree * use correct header guard for collecting/Catalog.h The renamed macros require adjustments to all external applications using catalogs.
|
#
3da13b803853a36868b667a0377237fef9e48e02 |
|
07-Apr-2012 |
Rene Gollent <anevilyak@gmail.com> |
Fix typeahead cancellation in file panels. - Add accessor to PoseView that reports whether the view is currently typeahead filtering. - Use said accessor in the file panel's filter in order to detect whether to tell the latter to cancel filtering vs closing the panel. Fixes #8140.
|
#
581a96616a5b23926da6068ae61beb00be559fe8 |
|
05-Jan-2012 |
Philippe Saint-Pierre <stpere@gmail.com> |
Tracker: Fix inconsistent "Open parent" behaviour 1. When in /boot, you couldn't go to the parent (which is fine by itself), but the menu item wasn't disabled. 2. In Single Window Browsing, doing "Open parent" wasn't respecting that setting and was opening new windows. 3. In filepanel, when navigating to Desktop folder, the "Go to parent" was still proposed even though it would do nothing choosing it. 4. Opening a Pose in Single Window Browsing was repopulating the menus and putting the shortcuts again. That was an issue if Navigator bar was used since it conflicts with its shortcuts. Fixing ticket #6851.
|
#
d390c065518bfd467544eb5e4c699258c616287a |
|
04-Jan-2012 |
Philippe Saint-Pierre <stpere@gmail.com> |
PoseView: Fix assertion in InitDirentIterator The dynamic_cast was called twice, and the assert was done on the first attempt. Now it just cast once, assert on this and pass it further as before. CID 3122.
|
#
9cf506a2bfc6c4f1364d4c6028d4a6e09af043aa |
|
18-Jul-2011 |
Philippe Saint-Pierre <stpere@gmail.com> |
Tracker: * Add "Arrange By" submenu in Window menu. * You can arrange by the same fields you can sort by in list view. Changing your sorting order in list view will change the Arrange By choice when you enter icon view and vice-versa. * Support ReverseSort order. * Keep the clean-up feature, but it's now under the Arrange By menu. Fixing ticket #1349. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42448 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
def39abd747d7e9f5e3866fc47d4c211cc21db83 |
|
17-Jul-2011 |
Alexandre Deckner <alex@zappotek.com> |
* Finally finish implementing proper selection rect autoscroll to work with the new asynchronous mouse tracking. Sorry for the delay. Up to now it was needing mouse moves to autoscroll, it now behaves as before. * Removed check that was disabling regular drag'n'drop auto-scrolling when inactive. I don't see an obvious reason why that was done, as it's just handy and is consistent with the other behaviors when inactive. Note, i gotta love those comments that do anything but help, good example of how not to comment :) i.e don't comment about what will happen when the adjacent code won't be executed (especially in a case that can't happen). My brain almost exploded a second time trying to explain that! // selection scrolling will also work if the window is inactive Should read: // disable drag'n'drop auto scrolling when window is inactive git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42447 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
c98a59c6538ce5a7d0072d1bc563bf2d202a9a9d |
|
08-Jul-2011 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Don't show packagefs on desktop or in disks window More generally: Any volume that is mounted at a directory of a persistent volume is not shown on the desktop or the disks window any longer.
|
#
df1c9e984e5a9a9cb5cbafb7a05de6a6126dd70b |
|
17-Jul-2011 |
Alexandre Deckner <alex@zappotek.com> |
* Slight renamings, no functional changes. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42442 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
29769e04520187086e3fed9208d6c0e2b106c6cf |
|
17-Jul-2011 |
Alexandre Deckner <alex@zappotek.com> |
* Don't do anything in MouseIdle if we're not dragging a message. This especially avoid bringing tracker windows up to front when staying idle over a tracker window while holding down a button. This could happen when hovering while still holding a scroll thumb of another overlapping window. Fixes regression #7829 introduced in r41892 * Also properly reinitialise the cached dragMessage on B_EXITED_VIEW, otherwise it would still think it is dragging and thus still pass through my above fix. I'd like to cleanup the drag message caching mechanism as it's not pretty in my opinion. Possibly even adding it to BView. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42441 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
2e687c4792b88029a03b44b573e2f20bf42f0c57 |
|
18-Jun-2011 |
Rene Gollent <anevilyak@gmail.com> |
No need to call DragStart() if we have no drag message yet. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42236 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
7560163d8cbaa64569cdff69b2b565bbdec0d3bd |
|
18-Jun-2011 |
Rene Gollent <anevilyak@gmail.com> |
* Revert r42223 since it breaks some cases. * Simplify handling a bit. Instead of more or less duplicating some of the move logic from PoseView, simply construct an appropriate target model and let PoseView's HandleDropCommon() take care of understanding what to do with the drag message. This has the side effect that things like dropping a text clipping message onto a target in an x-ray menu actually works as expected now. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42235 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
ab6b173770fbf06b98cb73adc410d47493ec631e |
|
17-Jun-2011 |
Rene Gollent <anevilyak@gmail.com> |
Slight relocation, no functional change. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42223 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
5e90adf5d7d620d3623c877e010dab00d223daeb |
|
17-Jun-2011 |
Rene Gollent <anevilyak@gmail.com> |
Fix regression introduced by r41892: DragStart() was called at the wrong time, leading the drag message to contain nothing more than an empty B_MOUSE_IDLE message. This broke several other cases of drag and drop which relied on it containing the dragged refs. Fixes #7705. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42221 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
6009abf2bd94f12ff244e81cf0da48a02b0cf384 |
|
05-Jun-2011 |
Alexandre Deckner <alex@zappotek.com> |
* One more fix needed for right click dragging. Ignore right mouse up if a drag or long click happened between the initial mouse down and the present mouse up. Tried to avoid this solution by other means but wasn't working in a corner case, at least it's clear what's the code is doing. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41934 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
f2068166ad1255dbd705d0ef165fd618f1833aa0 |
|
04-Jun-2011 |
Alexandre Deckner <alex@zappotek.com> |
* Fix regression spotted by Humdinger. Emulate right click dragging like it used to work before, i.e right mouse button dragging works and the context menu shows on mouse up if not dragged. I guess that at some point we'll rethink all the mouse gestures we support and maybe simplify a bit, like dropping long click support (as an emulated right button), and possibly separating some features via user settings if needed. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41929 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
596bb6891a80782c057a54f77c72060671761248 |
|
03-Jun-2011 |
Alexandre Deckner <alex@zappotek.com> |
* Finally rewrote the filthy, busy-looping, mouse tracking in Tracker. The new asynchronous tracking doesn't lock the view and makes desktop replicants happy while clicking and dragging around. Fixes #880, #7241 and certainly other tickets, that i will revisit, about refresh locks on the desktop or mouse related bugs. Based on a reusable MessageFilter and the recent B_MOUSE_IDLE message. Some parts are ported from the old code and could use further simplification. There should be no intentional user fonctional change, except: - slightly bigger threshold radius, shorter duration thresholds (= 1.0 x the system-wide doubleclick setting) - not reimplemented: quickening threshold when holding shift while dragging a pose over a destination pose. Some parts are ported from the old code and could use further simplification. There is one known minor regression with autoscrolling while rect-selecting but that will be better fixed with some changes to the autoscroll code. Will address that ASAP. As for the unknown regressions, please test :) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41892 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
ccb1117c85179f28b4ef01cbf12968619a1def80 |
|
06-May-2011 |
Axel Dörfler <axeld@pinc-software.de> |
* Fixed a bug in BPoseView::CreatePoses() that Ingo found, but was apparently too lazy to fix?! git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41353 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
5987b2a380151a1ddc4e168114f2df52873f8b3e |
|
07-Apr-2011 |
Jonas Sundström <jonas@kirilla.com> |
Offer a 'Real name' column in Tracker list view mode, when set to show localized names. As discussed a while back. I honestly don't know if this is such a great idea after all. Name + real name is kind of silly. Ideally it would be labeled in a more logical way, or the feature should be dropped. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41197 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
0e952e21c31644138f0d757d288a2c8a5c06af37 |
|
23-Feb-2011 |
Philippe Saint-Pierre <stpere@gmail.com> |
If the template name was long enough, we would have exceeded the string size. CID 9046 git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40649 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
b2d0aaa9e6a42005dedf68d614264fe53d9c4e62 |
|
31-Jan-2011 |
Rene Gollent <anevilyak@gmail.com> |
Don't attempt to move the selection to the target window if the latter does not contain a poseview (as is the case for an info window). Resolves #7179. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40338 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
915a7b8c247e1ed9182bd561df3e9856307e750c |
|
19-Jan-2011 |
Oliver Tappe <zooey@hirschkaefer.de> |
Make BObjectList<> publically available: * cleaned up ObjectList.h * switched several uses of new() to new(std::nothrow) * moved ugly AsBList() hack into BObjectList<>::Private class and adjusted all callers accordingly git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40252 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
d277bc8294c86538a56957d2f0962f4f5542d661 |
|
05-Dec-2010 |
Stephan Aßmus <superstippi@gmx.de> |
Since the function keys don't serve any purpose yet, make F2 enter renaming mode for the first selected item (i.e. just like Cmd-E). This makes Tracker behave as Windows Explorer and at least Nautilus in Ubuntu. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39744 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
1959f8502b64d2fe7533d907fc6a0efdd3bd147f |
|
19-Oct-2010 |
Rene Gollent <anevilyak@gmail.com> |
When trying to auto-place a pose, we need to short circuit if we're the Desktop and the next available slot lies outside of the view bounds. Otherwise we loop forever. Resolves ticket #5218. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39012 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
b8616583e414dbc42f6d78591e35ad1e5d67f9a0 |
|
18-Oct-2010 |
Rene Gollent <anevilyak@gmail.com> |
Sort poses using std::stable_sort. Should resolve #6700. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38998 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
7b80b5d5181053872dd475b1c559bc010914a31c |
|
17-Sep-2010 |
Alexandre Deckner <alex@zappotek.com> |
* Use multiple translate contexts in Tracker for easier translation git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38691 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
108f794c9749f5aef3e4f37591e65e1e7edcd76c |
|
16-Sep-2010 |
Stephan Aßmus <superstippi@gmx.de> |
Patch by mt: Translate various yet untranslated strings in libtracker, closes ticket #6374. Thanks a bunch! git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38675 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
606e627e76e4057dc22d257f98140ceed4ccf48c |
|
15-Aug-2010 |
Rene Gollent <anevilyak@gmail.com> |
Remove unnecessary NULL check (the view in question is created in all cases in InitCommon(), and is already dereferenced several times prior to the check in the function anyways). Fixes CID 1078. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38129 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
4a7b2e0484dc12783c1cf56dd23175ffb7c7649a |
|
07-Aug-2010 |
Adrien Destugues <pulkomandy@pulkomandy.ath.cx> |
* Add FormatDateTime function to BLocale * Use the function to localize the date/time in tracker. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37949 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
1f34e928acb60a28c2343312ba738e4e9a434d8a |
|
14-Jul-2010 |
Alexandre Deckner <alex@zappotek.com> |
* Removed last remains of the OPEN_TRACKER define. * Cleanup of unused include. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37516 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
a111096469c16e2caad09992e64bafe170ddf38a |
|
13-Jul-2010 |
Alexandre Deckner <alex@zappotek.com> |
* Minor style fixes, spaces vs tabs. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37495 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
148f33f2069a264638f7a8cb6c16e613f8e7d044 |
|
13-Jul-2010 |
Alexandre Deckner <alex@zappotek.com> |
* More PoseView localization by T.Murai (a.k.a mt). Thanks a lot. (be careful with the 80 chars indenting though ;-) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37494 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
4ed28a571a7d5f7f13b5b4636fabfeabdfddd40b |
|
12-Jul-2010 |
Alexandre Deckner <alex@zappotek.com> |
* Applied libtracker localization patch from T.Murai (a.k.a mt) with some modifications (see below). * Functional modifications: Reworked InfoWindow file size localization, the patch removed number formating (size in bytes) and was too complicated to my taste. Replaced the uses of sprintf with the safer snprintf. Changed signature to x-vnd.Haiku-libtracker instead of x-vnd.Haiku-libTracker (to be consistent with the binary name) * Style modifications: Reworked lots of 80 char indenting (probably due to the now shorter line lengths since your previous patch that wasn't using the macros) Lots of missing brackets when "if's" becomes multiline. Other minor fixes. Noticed a few uses of FindItem on translated names that might become problematic someday. Added some TODO's regarding localization of file sizes. Localization might still be optimized a bit regarding the produced en.catkeys Note to translators: .catkeys files should be placed in haikusource/data/catalogs/kits/tracker though beware as the base en.catkeys might change slightly in the next days. Note to users: As with any other app you need to restart Tracker (or any aother app using libtracker's filepanels) for it to pick the locale setting. E.g: use 'quit an application' and 'restart Tracker' from process controller. Thanks a lot T.Murai git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37492 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
1e9e9da3891e2cd48b46eacee6aec2e11cd98b80 |
|
11-May-2010 |
Axel Dörfler <axeld@pinc-software.de> |
* I'm not sure why it happens, but the drag bitmap offset was BPoint(2, 1) off (that should be good enough for the current Tracker). * Minor cleanup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36787 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
9c8f23673b646834b88ea4b2e27612a0898cce30 |
|
11-May-2010 |
Axel Dörfler <axeld@pinc-software.de> |
* Never choose a target pose in UpdateDropTarget() that is part of the currently dragged selection. This fixes the context menu popping up when you try to move around an icon a few pixels only. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36786 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
ecdb5ec6689081bfb8efb9c44b15e69bf318e278 |
|
02-May-2010 |
Alexandre Deckner <alex@zappotek.com> |
* Filter out B_INSERT and B_FUNCTION_KEY as they would end up in type ahead "default" case. Fixes #5609. Looking at all the not already caught keycodes, this should cover every cases. +alphabranch git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36593 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
08b3ae9bb2bf3149b29647bb3bf3f310e1fdd8e0 |
|
02-May-2010 |
Alexandre Deckner <alex@zappotek.com> |
* RemoveFromVSList was failing to actually remove some poses due to a buggy optimisation. This was causing calls on invalid poses in many places in the PoseView code (icon mode). This fixes #4322 (and duplicate #5780). This should also fix #3828. Please test. I took the conservative approach and the penalty is really minimal if even not at all perceptible as i've measured. I decided to go this way as PoseView code is very fragile and depends on many of those "loose assertions" to be valid. This conservative approach also allows to confidently include the fix in alpha2: +alphabranch Besides those "wise" reasons, the thing is that i've wasted too many hours already this week and in the past due that VSPoseList/PoseList syncing fragility. I'm not willing to fix the optimisation of a broken design that i've already experimentally rewriten two times already, and that i (or any mentally sane person) will finally ditch sooner or later :) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36592 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
f7cf3195899d35c3674c214977a198994c781efe |
|
29-Apr-2010 |
Rene Gollent <anevilyak@gmail.com> |
PoseView::MoveSelectionInto() needs to check for the case that the source window actually has a selection list to use. Certain actions can render it possible to empty out the selection in mid drag-and-drop, which MoveSelectionInto wasn't taking into account, leading to a crash. Fixes ticket #5860. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36543 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
ab5fb573e5d473b9414545166651c7324a37c316 |
|
28-Apr-2010 |
Alexandre Deckner <alex@zappotek.com> |
* Removed what finally looks like an old (and not needed anymore) workaround. That is, the sending of a message when dropping a pose over another one while its context menu is still showing. That was causing #4757 since poseview was receiving the dropped message two times. I've been investigating the issue in depth, it's there since the first opentracker revision, so i even installed R5 and built/debugged opentracker to confirm it was indeed needed on R5. That would be another case of undocumented (misdocumented) workaround for an R5 bug, ie: BMenu would steal the drop message although the mouse isn't over it anymore (Stefano idea?). Heh if only i could reach the original Tracker devs :-D I don't like when i don't understand a problem up to the last bit, but it should be reasonably safe for alpha2 +alphabranch git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36516 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
01e63caf83e2762c076de5745c18ba667ff4a9bd |
|
21-Apr-2010 |
Rene Gollent <anevilyak@gmail.com> |
When creating a new pose, the index offset at which it was inserted in list mode was never passed back. Consequently, when creating a new folder via the cmd+N shortcut (which immediately goes into edit mode), the TextWidget for editing would appear at the wrong location. Fixes ticket #5774. +alphabranch git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36408 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
769912c87be29eafaffd8747237da998b0713ecb |
|
16-Mar-2010 |
Stephan Aßmus <superstippi@gmx.de> |
Use the new cursors. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35891 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
7c0f5738b33a58712977111a27d67bbee3df6633 |
|
02-Mar-2010 |
Rene Gollent <anevilyak@gmail.com> |
Remove Tracker's special DnD handling. Instead, BTextView/BTextControl now honors drag messages containing entry refs and resolves the path of the first one contained. Will work on a more sophisticated solution that would allow optionally extracting the file text instead via right click drag context menu when I have more time. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35731 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
ddee0943500330df0698c9c7361b77a025f08d26 |
|
01-Mar-2010 |
Rene Gollent <anevilyak@gmail.com> |
Add an extra sanity check to Tracker's automatic text clipping extraction when drag and dropping text files: before it would blindly read the entirety of the file's text contents regardless of size, which probably led to more than a few nasty surprises when someone attempted to drag very large (i.e. multimegabyte) text files. We now clamp the amount of data we read to 64KB. Though it's debatable if this feature is at all useful, since it may potentially be better implemented by handling entry_refs in dropped messages in BTextView directly (assuming a compatible type). Opinions welcome. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35715 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
f24e3c9f1ee88acd5c272891224f082f959c0e3c |
|
21-Feb-2010 |
Axel Dörfler <axeld@pinc-software.de> |
* Fixed warnings and coding style violations. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35557 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
029f4e93174b64f4342decc9a8e2094323438fa9 |
|
02-Feb-2010 |
Michael Lotz <mmlr@mlotz.ch> |
* Add an inline CurrentPoseList() that returns either the filtered or normal pose list and replaced the rather ugly "fFiltering ? ..." everywhere with it. * Automatic whitespace cleanup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35389 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
cc5b851813cb12b442550a3926a24e50592cc633 |
|
02-Feb-2010 |
Michael Lotz <mmlr@mlotz.ch> |
No need to lock out the normal typeahead when filtering doesn't apply (i.e. in icon mode). And a little automatic whitespace cleanup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35388 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
b3e4ce5422563f8d157a779811c19a452ba102c4 |
|
31-Jan-2010 |
Michael Lotz <mmlr@mlotz.ch> |
Use the multibyte aware string functions for typeahead search and filtering so that special characters can be used as well (umlauts for example). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35375 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
7acdd03f5e076538220932aa6df4e929bd15ff7c |
|
31-Jan-2010 |
Michael Lotz <mmlr@mlotz.ch> |
Replaced the sMatchString buffer used for typeahead search by a BString. No intended functional change. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35373 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
ef9c0b6a518a4b57ca9b02a6c59a0a984157aeff |
|
31-Jan-2010 |
Rene Gollent <anevilyak@gmail.com> |
More cleanups: - remove some more leftover desktop integration-related code. - remove special case that would hide the Desktop folder in file panels. - fixed BFilePanel to correctly filter out the trash from the volume root and show it on the desktop like everywhere else. - renamed CountView::Add/RemoveFilter so they don't hide BHandler::Add/RemoveFilter (gcc4 warning). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35368 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
83c03b5698af79184e0ddf138bd42aa8819bf1d8 |
|
30-Jan-2010 |
Michael Lotz <mmlr@mlotz.ch> |
Missed the re-insertion when exiting early after checking the sort order for a pose on a non-visible pose list which would cause poses to get lost from the unfiltered list. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35354 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
6a5cf0a1f25a83e6f20a5f73ca8874675562cab2 |
|
30-Jan-2010 |
Michael Lotz <mmlr@mlotz.ch> |
Allow shift-return to discard the filter so you can decided whether or not the filter shall stay in effect when opening a selection. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35347 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
29327709722945160ea85aaef35347389e4108c3 |
|
30-Jan-2010 |
Michael Lotz <mmlr@mlotz.ch> |
Fix missing check that would cause non-matching poses to show up on attribute changes (which may also happen on creation of new files). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35346 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
ac53da69c7e6d7a13aaf094e6722c77d13df1272 |
|
30-Jan-2010 |
Michael Lotz <mmlr@mlotz.ch> |
When initially starting filtering we need to make sure that non-matching poses fall out of the selection. The same is later done when removing them from the matching subset, so moved that to a common EnsurePoseUnselected(). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35345 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
beb2e054210070370fa1070ee98719bad1344664 |
|
30-Jan-2010 |
Michael Lotz <mmlr@mlotz.ch> |
* Renamed CancelFiltering() to ClearFilter() to make it more clear what it does. * Add UpdateAfterFilterChange() with the update part of FilterModified(). * Add StopFiltering() that clears the filter and updates. * Make use of these functions where appropriate to fix missing scroll ranges after canceling a filter. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35344 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
545ebde00c3d50510a5236de1c5eef25ac21d757 |
|
30-Jan-2010 |
Michael Lotz <mmlr@mlotz.ch> |
Implement type ahead filtering (this time for real and without abusing the vertically sorted pose list). When enabled typing will filter based on the currently visible attribute columns. Using shift-space as a delimiter independent filtering strings can be typed, so you can filter based on multiple attributes at once to refine results while you type. Filtering stays active until you cancel it using the escape key. While the filtered result is displayed all normal file operations can be used. Using the return key while filtering auto-selects and opens the first filter result, allowing for fast traversal through directories and directly opening the topmost result. * Introduces fFilteredPoseList which stores the active filter result. The list is only used when filtering is currently active, so no syncing is required otherwise. * Some minor adjustments to leave out invalidations where non-visible poses are updated. * Account for the now possible multiple lists throughout BPoseView. * Add filter string output to the CountView and made that one a bit wider. * Added all the settings-cruft for type ahead filtering (defaults to off). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35339 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
d9626569fb4d59f261c05cbe3a7d7e57e6bff9a5 |
|
17-Jan-2010 |
Rene Gollent <anevilyak@gmail.com> |
Model: Add accessor for Trash node property and cleanup spacing between inlines. Rest: Use the IsTrash() accessor on Model where possible in place of the more expensive FSIsTrashDir() check. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35132 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
7ca5e8873b6cec4e331ab0419d5221ec49105dbb |
|
15-Jan-2010 |
Rene Gollent <anevilyak@gmail.com> |
* PoseView: Re-enabled respecting the invisible pose attribute. * FSUtils: Mark the root-level Trash directories as invisible. For the time being, this renders the Trash only visible on the Desktop once more, pending further consensus on how to handle it in the future. Note however that this also means that Desktop and/or var directories that still have the old _trk/pinfo_le attribute from prior to the previous visibility changes will also be marked invisible again, and those people dual-booting older BeOS will also still see this issue as the Tracker on those will still force-write the invisible attribute onto those directories on every volume. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35094 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
a65ec1537642acc9b5fa1a3633f62ce30714b6df |
|
15-Jan-2010 |
Rene Gollent <anevilyak@gmail.com> |
Fix style violations (thanks Axel!). Update filesystem name in find_directory as our fat filesystem is not named "dos". git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35093 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
01dffd8edd94699ac1e6f2cc4322555f2171da14 |
|
14-Jan-2010 |
Rene Gollent <anevilyak@gmail.com> |
More Tracker refactoring: * relocated Trash dirs to volume roots by modifying find_directory() to report the trash location as volume/Trash. * FSUtils no longer creates /home/Desktop on every volume. * TrashWatcher now keeps icons in sync on all volumes. * Simplified FSGetDeskDir since it no longer has to worry about getting the desk directory on any volume other than the root. * Relocated trash context menu logic to BContainerWindow so it can also be used at the volume roots. * DesktopPoseView now creates a virtual Trash pose representing the trash contents as before. * Corrected typo: Model::WriteAttrKillForegin() -> Model::WriteAttrKillForeign(). Closes ticket #5245. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35085 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
c126f2f2c47cdb04ea70eb1dc63c3de7de651e77 |
|
13-Jan-2010 |
Michael Lotz <mmlr@mlotz.ch> |
anevilyak: * Fix missing parenthesis in r35040 that caused node monitoring not to work. * Minor automatic whitespace cleanup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35053 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
82d8aaf85a8c1ad19f69637468102ca08040facf |
|
12-Jan-2010 |
Stephan Aßmus <superstippi@gmx.de> |
Patch by Humdinger: Changed strings to sentence case. The changes in StatusWindow and FSUtils are missing because I have some unfinished work in progress in those files. Will commit them separately. This is case-tracker.diff from #5169. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35047 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
671dd808619ef6043eca11b09a193d877181d10f |
|
12-Jan-2010 |
Rene Gollent <anevilyak@gmail.com> |
Various cleanups: * Removed dead/obsolete Integrate Non-boot Desktops code. * Modified PoseView to ignore the fInvisible attribute of BPoseInfo for now. This has the net effect that the Desktop folder and /boot/var are no longer hidden from the user. To go with this change, Tracker no longer forcibly writes that hidden setting to those folders on access. This feature might be useful again in the future (especially in conjunction with relocating the Trash folder somewhere such as the disk root), but is currently somewhat problematic because those dual-booting with BeOS will still have a Tracker that force writes those attributes which would bring us back to square one with respect to showing the Desktop folder when we start respecting the attribute again. Suggestions welcome. Haiku-only users can remove the _trk/pinfo_le attribute on those folders to remove the invisibility in any case. * TrackerSettings: Removed obsolete desktop integration settings. Also modified TrackerSettings parser to skip unrecognized settings instead of aborting the settings file parsing process entirely. Closes ticket #2872. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35040 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
d3b113282ac7a8412b61ada23aff12b2acd334fe |
|
27-Oct-2009 |
Rene Gollent <anevilyak@gmail.com> |
Move CheckDevicesEqual into FSUtils so it can be used in more places. Rework ContainerWindow's B_REFS_RECEIVED to use CheckDevicesEqual to decide move vs copy as is done elsewhere. Fixes ticket #4850. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33803 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
e2ee5e5706e9e3285b6ffc337439fd2e06d4f7cd |
|
26-Oct-2009 |
Alexandre Deckner <alex@zappotek.com> |
* My previous fix to #4130 wasn't correct since it could miss some moved or renamed files. After more investigation i found out that the problem was caused by a non usual use of the zombie list in r31307. In the conditions to reproduce #4130 it would call AttrChanged() or StatChanged() on zombie poses which by convention should always be invalid models, ie: null node. The logic would potentially create other problems too as it wasn't only adding refFiltered models to the zombies. I reverted part of r31307, clarified the logic and updated the comments. I'd prefer another implementation for this as reusing the zombie list here is only calling for future mysterious problems. #4131, #4271, #4610 and #4831 are still closed, but i'm reopening #1717 which is more of an enhancement btw. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33769 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
c3ce629473721435c71ade4339b6c2099a2fbd2a |
|
23-Oct-2009 |
Alexandre Deckner <alex@zappotek.com> |
* When a file was created, then deleted shortly after, on a PoseView that is busy processing other things, the file could be gone by the time we processed the fs notification message of the entry creation. This case wasn't handled properly and would cause #4130 and most certainly duplicate #4831, #4610 and also possibly #4271. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33744 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
725ad924ff644eee9794a0da605730415b562da1 |
|
20-Aug-2009 |
Alexandre Deckner <alex@zappotek.com> |
* When checking a draw/updateRect intersection, an offset was added too early making the check fail when Pose::Draw was called with a non zero offset. Fixes #4289 * Fixed an x/y typo (that had no really visible effect, the fade effect might need some more indepth review) * Removed dead code, and replaced an inlined intersection check with BRect::Intersect. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32538 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
105f1c632ec2b0056a65282fe6afed5be53c040a |
|
19-Aug-2009 |
Alexandre Deckner <alex@zappotek.com> |
* Added a TODO about droping icons under replicants or deskbar since i couldn't find a quick solution that wouldn't need the layouting rewrite (currently in redesign phase in my branch) * In the mean time i've added desktop element avoidance in Cleanup so one can easily recover hidden icons without advanced shortcuts. Before that, it would need a CleanupAll aka shift-alt-k (which would relayout everything btw). Doesn't fix #4241 but at least provides a way to see your icons again easily. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32523 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
bdee02b5b0e97899e39336ceceae8d11b4eecb2c |
|
19-Aug-2009 |
Alexandre Deckner <alex@zappotek.com> |
* Move cursors to Cursors.h * Use the new copy cursor git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32520 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
3074019e96b6ba1b47cb5c6b032b35e5092da7f4 |
|
18-Aug-2009 |
Alexandre Deckner <alex@zappotek.com> |
* Remove wrong check that was preventing to properly place the first pose. Fixes #4055 git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32512 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
2d6de22fb5aaadc47f5d18ee78b2dfa2f8f98dc0 |
|
08-Aug-2009 |
Rene Gollent <anevilyak@gmail.com> |
An Open With window has no target model. PoseView's drop target handling code didn't take this into account, causing a crash. Fixes ticket #4200. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32209 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
f207162e07a31027a36feebf6053adce962f2562 |
|
02-Jul-2009 |
Alexandre Deckner <alex@zappotek.com> |
* In single window navigation mode, when navigating into a directory which had no viewstate yet (new folder) or if fViewState didn't change, fTitleView wouldn't be reset and updated to the new column set. (unfortunately the column state is managed separately from the rest of the view state). That would cause crashes for example when switching to a directory with fewer columns and triggering a redraw of a column that shouldn't be there anymore. Fixes #3710. * TitleView::Reset didn't invalidate the view and would leave the old columns there until a redraw was triggered externally. * Minor cleanup git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31378 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
254d2b2d1ac2bdece0384dad26ca4e0c2b793b15 |
|
28-Jun-2009 |
Rene Gollent <anevilyak@gmail.com> |
Fix a number of problems in PoseView: 1) If a node was filtered out by the ref filter, PoseView effectively wiped out all evidence that it ever knew the node existed and stopped listening for changes on it. Consequently, it would never notice if an attribute change such as updating the file's type made the file now eligible to be viewed. Now we keep watching the node and keep it on the zombie list until such time as it passes the filter (if ever). 2) Refresh() cleared the pose list, but not the inserted nodes list. Consequently, any nodes that were already visible before calling Refresh() would not be readded. This fixes various problems seen in the file panels in WonderBrush (and probably others), such as the file panel initially coming up empty sometimes, and also it not noticing new screenshots, This closes ticket #1717. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31307 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
bcfe344c537cb0dcee183c5a9afb4c362f5abe86 |
|
22-May-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Made our struct stat POSIX compliant again -- the time_t fields have been replaced by timespec fields. Via macros the structure is still source compatible with the old one. * Introduced header <compat/sys/stat.h> that defines the old stat structure (as stat_beos) and conversion functions * Introduced versions for [l,f]stat(). * Added symbol versions for BDirectory::GetStatFor() for sake of binary compatibility. * BStatable::GetStat(): Renamed the old method, changed its parameter to stat_beos*, and and made it private. Added a new version (using up a reserved vtable slot). It remains source and binary compatible. * BRefFilter::Filter(): Changed the struct stat* parameter to struct stat_beos* for sake of binary compatibility. This breaks source compatibility, though, which we can't help, since the class doesn't have reserved vtable slots. * Fixed several issues with the stat structure change, mostly adjusted uses of BRefFilter. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30830 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
4024eadfda1e2a3af49e7ec1549dee0d237dac10 |
|
10-Apr-2009 |
Stephan Aßmus <superstippi@gmx.de> |
My previous fixes had an oversight and the very last fix introduced new drawing problems. Basically, forceDraw was set to false which then prevented any new items to be drawn when there was no scrolling necessary. Now we use a local variable "needToDraw" that starts with "true" on each iteration. I don't really know why forceDraw is even passed to the function in the first place. Maybe it should be called "disabledDrawing" with reversed meaning and should be used for windows that open on another workspace.... git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30102 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
039878c152b6a5f699950122cc4320746bc740aa |
|
09-Apr-2009 |
Stephan Aßmus <superstippi@gmx.de> |
* Set forceDraw to false when we have already drawn the pose, not when there is only some pending scrolling. * Fixed my previous ScrollTo() change to actually scroll in the two directions in two steps... git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30078 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
72cd1c77266abc6223f558773cf8e11a9bb04b40 |
|
09-Apr-2009 |
Stephan Aßmus <superstippi@gmx.de> |
Fixed some weird fallback code, I don't think it's used and added a TODO for whoever stumbles there next... git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30067 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
6a71afb0d1c29bfa1fcc45e0d6aa191e2f09e028 |
|
08-Apr-2009 |
Stephan Aßmus <superstippi@gmx.de> |
Sorry for mixing some cleanups into this patch... * When changing icon sizes, invalidate before scrolling. This causes silent scrolling in app_server and avoids a visual jerk. Everything needs to be re-drawn at the new icon size anyways. * Removed the fUpdateRegion member from BPoseView. It was supposed to make drawing quicker, but it only made it slower. Checking for intersection with the update rect passed to Draw() should be much more straight forward and does not involve app_server communication... * Refactored some misnamed methods, ScrollIntoView() would always draw and only sometimes scroll - I couldn't agree with that. * There is a very confusing mix of "fullDraw" and "minimalRect" booleans which seem to be used with wrong semantics. The minimalRect flag passed to BPose:: CalcRect() means to get the pose rect for the icon and the first column only, not all columns. Contrary to that, some pose rect calculation happens with minimalRect == fullDraw... I tried to fix some of that. * The visible changes of this patch are when adding poses. The SynchronousUpate() wasn't working so well, I made it work reliably by invoking Invalidate() and Window()->UpdateIfNeeded(), which also takes care of any drawing that the app_server has to do for the background. And it's flicker free in double buffered mode... -> This fixes poses being drawn multiple times and the text getting darker. * And there was another bug when adding poses. The extent (bottom of last item in list view for example) can be just above the current view bounds. When the next item is added above the view bounds, then the extent scrolls into view, but there is nothing to be scrolled in this case. srcRect is still invalid and so is dstRect. But destRect should be valid in this case. -> This fixes some poses being cut off at the bottom when opening Tracker windows. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30033 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
7dc5caf242c997ae276db247e235f0a044500718 |
|
07-Apr-2009 |
Stephan Aßmus <superstippi@gmx.de> |
When changing icon size, pose locations need saving. That's not so nice, but pose locations are always in view coordinates from the perspective of BPoseView, even if the unscaled location wouldn't change from the perspective of BPose. This could be removed when storing and restoring unscaled location. I was just not sure were all this happens. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30010 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
96da4b41b0baadab6c3f9b2fcdfe6573df564d4c |
|
07-Apr-2009 |
Stephan Aßmus <superstippi@gmx.de> |
* Fix the completely broken desktop icon size changing which I introduced yesterday. It needs to auto-place icons which go out of view or underneath the deskbar or a replicant. Also it obviously cannot scroll to keep the view "centered" as normal Tracker windows. * Fix/improve the desktop context menu with regards to icon size options. It also displays the shortcuts, which now work on the desktop too. * When doing an icon cleanup on the desktop, not only the deskbar is avoided, but also replicant views. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30009 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
e419aeed10332ea3cd9cbe63a896b9b5a0798da0 |
|
06-Apr-2009 |
Rene Gollent <anevilyak@gmail.com> |
If drag and drop with the context menu is used (right click drag / control + drag), treat "Copy Here" as a request to duplicate the item if the destination is the same folder. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29988 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
7cdbeb0e13344e4ac5d504c1bdec50e668bbe000 |
|
06-Apr-2009 |
Stephan Aßmus <superstippi@gmx.de> |
* Changing the icon size will now work more like simply scaling/zooming the view. BPose converts the scale in SetLocation() and Location(), which does _not_ affect performance for list mode, BTW. So that should be fine. * The center of the pose view is now locked when changing the icon size. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29974 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
e70b6d957a03fbd24b6c47ad2668d23c11806912 |
|
06-Apr-2009 |
Stephan Aßmus <superstippi@gmx.de> |
* Cleanup in the icon mode stuff. kScaleIconMode is gone. There is simply kIconMode and it can have different sizes. * The "Icon Mode" super menu item is marked, when in icon mode, as well as the size item in it's sub menu. * When switching from mini icon mode or list mode back into icon mode, the previous icon size is now restored. This also works when the folder has been closed meanwhile. (The on-disk format for view state has changed, so your folders will open with default values.) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29971 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
f5bdd554752b04626faf5dcdc1f01662e69d4bd1 |
|
06-Apr-2009 |
Stephan Aßmus <superstippi@gmx.de> |
Patch by Maxime Simon with small changes by myself: Change the icon size menu as discussed in ticket #2431. There are only three main shortcuts for icon, mini icon and list mode. Additional short cuts have been added to increase and decrease the icon size. I've moved the shortcut from the 32 icon size to the menu item for the icon size menu itself. Unfortunately, icon placement does not scale with the size (as before) and switching to icon mode from one of the other modes does not restore the previous icon size. Looking into it. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29967 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
019f90e6348a15e47ef361c79970c4222e569b2d |
|
05-Apr-2009 |
Jonas Sundström <jonas@kirilla.com> |
Setting the escape key as shortcut for the Cancel options of Tracker's dialogs. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29958 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
561b5d977bda7507edfe3240ad4b9a3d5a5cc777 |
|
05-Apr-2009 |
Alexandre Deckner <alex@zappotek.com> |
* Implements enhancement #2829, ie: change the modifier key (now shift) to force identify on already identified files and change the menu item label accordingly so that the 'feature' is not hidden anymore. The identification mechanism will probably be automated in the future, forcing identification would then become the only use of this menu item. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29940 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
0834dd807f88b3228ea6eb54745a5f9a194f507c |
|
28-Mar-2009 |
Stephan Aßmus <superstippi@gmx.de> |
* Use B_DRAW_ON_CHILDREN for the Desktop pose view. * Draw the selection rect in DrawAfterChildren(). * Call DrawAfterChildren() manually in Draw(), if B_DRAW_ON_CHILDREN is not set. This change allows replicants, in case they want to be aware of being embedded in the desktop, to use alpha blending to draw on top of the desktop pose view. For replicants which do not care, this patch changes nothing. When views with B_DRAW_ON_CHILDREN invalidate themselves, they will automatically trigger an update of children that sit on top the invalidated area, at least with our app_server. So this change works just like one would expect, ie like compositing views. Of course it should have flickering when app_server does not run in double buffered mode. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29759 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
f5812f4b023b85b83ab65e6a3e10b1ce339806d7 |
|
14-Mar-2009 |
Stephan Aßmus <superstippi@gmx.de> |
r28745 prevented overwriting the global type ahead string buffer from an unrelated window. However, we broke unsetting the type ahead string on the little info view. This fixes this again, the type ahead string never went away. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29530 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
1c56dee2c4a467e3f57d080e8282fe92b68af8d7 |
|
08-Mar-2009 |
Rene Gollent <anevilyak@gmail.com> |
We need to remove the node from our list when the pose is removed. Otherwise deleting, then recreating the same file will be rejected as a duplicate and not added to the view. Thanks to mmlr for reporting. Small cleanups. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29450 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
ccefc7ac9e001702cdec07984d4684691c64e501 |
|
06-Mar-2009 |
Rene Gollent <anevilyak@gmail.com> |
Clear the node list when switching directories. Otherwise navigating out of a directory and back in single window mode will show no nodes whatsoever. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29419 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
38f4625170de89b624b903d273f73a658506fc82 |
|
06-Mar-2009 |
Rene Gollent <anevilyak@gmail.com> |
Rework this again due to flaws in the previous optimization - due to its use for things like sorting the visible pose list, it would rely on whatever pose column was being used for sorting, and as such would generate false positives when the view was being ordered by certain attributes. We now use an std::hash_set to track all the nodes that have been added to the current view and use that for a duplicate check instead. Also slightly boost the max number of models per chunk that we read. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29414 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
847af0079c77e732f5cbed0e02dec2134f20d73d |
|
03-Mar-2009 |
Rene Gollent <anevilyak@gmail.com> |
Second attempt at PoseView population optimizations: We still search for the pose in our list, but now rely on a binary search to do it instead, rather than the previous linear search. This considerably boosts population speed for large folders here, while still preserving correct behavior. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29395 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
634596058d034fc8bc3c47399ae5713b8e467da0 |
|
24-Feb-2009 |
Alexandre Deckner <alex@zappotek.com> |
* Revert the changes in r29316 as it's now fixed upstream. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29319 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
ea83c971c62e9daecb350b848db048859bce9df3 |
|
24-Feb-2009 |
Alexandre Deckner <alex@zappotek.com> |
* Round mouse coords before doing BRegion ops for the transparent selection rect, as BRegion behaves unpredictably with non-integral values (cf bebook). Fixes #1527 git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29316 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
3291c580449e9591a33c3ef846cec8b1d6c83385 |
|
21-Feb-2009 |
Rene Gollent <anevilyak@gmail.com> |
Revert the PoseView change from r29190. This is incorrect since the outline setting only applies to the desktop poseviews, and is explicitly set there by the backgrounds settings code in BackgroundImage.cpp. This fixes the font rendering artifacts reported in ticket #3467. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29277 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
ec8c04cc2c41a3796afe956d61856b91553aae2a |
|
21-Feb-2009 |
Rene Gollent <anevilyak@gmail.com> |
Never show the copy cursor if the item being dragged is a volume or the disks icon. Fixes ticket #3468. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29276 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
4712bc807c4d2d453a7d12548a6b4ce53aaf21a7 |
|
16-Feb-2009 |
Alexandre Deckner <alex@zappotek.com> |
* Revert one the changes done in r29198 has it happen to be wrong. See #3450 and #3011 git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29229 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
95da064570eefc4815a20f8e547f1fc58a7565fc |
|
14-Feb-2009 |
Rene Gollent <anevilyak@gmail.com> |
Some pose performance improvements by aldeck and myself: 1) We don't need to call FindPose() on every pose as we're freshly adding it, and a duplicate should never happen in this circumstance (the FindPose() is still there if Tracker is compiled in debug mode however. 2) Adjust the FSClipboard calls such that the locking is optional. This allows us to lock once per CreatePoses group rather than once per pose. Together these changes make for a significant performance improvement when it comes to populating a large folder. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29198 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
71ed64b71b2d7654cbb087abd9060407b59bc1ca |
|
13-Feb-2009 |
Jérôme Duval <korli@users.berlios.de> |
* Icon label outline is by default true. We take this into account on PoseView creation in Tracker, and when no image is selected in Backgrounds. * This flag is still only settable when an image is selected. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29190 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
c4d59015f605f2d074921613da1aa0ea18463724 |
|
08-Feb-2009 |
Rene Gollent <anevilyak@gmail.com> |
Slight logic cleanup that prevents excessively rechecking the drop target in some instances. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29171 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
a67852c554d5cc2744a3b87cbea3891a55f62ebd |
|
08-Feb-2009 |
Rene Gollent <anevilyak@gmail.com> |
Reset the cursor check state if we drag over a pose that's not a suitable DnD destination for the drag. Otherwise we'll reset the cursor back to the move state and never set to copy again unless we exit/reenter the window. Thanks to luroh for reporting. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29167 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
81796bc0b38a9a6567d560e7a4982329573fdd97 |
|
08-Feb-2009 |
Rene Gollent <anevilyak@gmail.com> |
Don't leak memory when aborting operations due to read-only volume. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29165 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
c854c1334828ad57a4695541aab92e868aba5bb5 |
|
08-Feb-2009 |
Rene Gollent <anevilyak@gmail.com> |
Disallow move to trash and/or delete operations from read-only volumes. This fixes ticket #3421. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29163 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
42fe9293f8186edcf6bc688c2b779fbff2850189 |
|
07-Feb-2009 |
Rene Gollent <anevilyak@gmail.com> |
Tracker now alters the cursor to indicate the resulting FS op when drag and dropping files. If the op is determined to be a copy, the copy cursor from Wonderbrush (thanks Stephan!) is displayed. Otherwise, the default hand cursor is used to indicate move. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29155 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
28e82de7b38042b1f3c756f46c8eaaf679ee8ebd |
|
31-Jan-2009 |
Rene Gollent <anevilyak@gmail.com> |
Compute the point list for the destination items. This fixes a problem reported by BGA where dropped items in large icon mode weren't being dropped onto the location of the pointer, but rather the first available grid slot. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29104 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
b8d65a49d8597913b05b022a19e638509c941aa7 |
|
30-Jan-2009 |
Rene Gollent <anevilyak@gmail.com> |
This should really fix #3393. Apparently I'm more sleep-deprived than I thought. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29096 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
fee5fc34ff4c4c16f7fc85433ff8a807116fce50 |
|
30-Jan-2009 |
Rene Gollent <anevilyak@gmail.com> |
Fix another regression preventing moving around icons. Fixes ticket #3393. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29095 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
994541a836bf1e8e64bd7ab3b516e2c7c917dd92 |
|
29-Jan-2009 |
Rene Gollent <anevilyak@gmail.com> |
Refactor MoveSelectionTo a bit to reuse other code instead of duplicating most of it practically verbatim with different variable names. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29092 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
12f46bebca279adbb8b376e51f3b77b4545612b4 |
|
29-Jan-2009 |
Rene Gollent <anevilyak@gmail.com> |
Fix a regression introduced with my previous commit where forcing Move would not always be respected. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29091 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
cfd0c07711e88655f4366f7a975c2568ce753156 |
|
28-Jan-2009 |
Rene Gollent <anevilyak@gmail.com> |
If the source and destination volumes of a drag and drop op do not match, default to copying unless the user has explicitly requested otherwise. TODO: visual indicator of which op is going to happen. -- M PoseView.cpp git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29084 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
e5a30119a05e245ff948c32c6a53e1ee4a1411f9 |
|
12-Jan-2009 |
Alexandre Deckner <alex@zappotek.com> |
* There was a bug in the way the mimetypes list was constructed, it would recalculate the list on each addition, which is o(n). It's already refreshed lazily on read, only rarely when ContainerWindow updates his menu. Now there's only one recalc when finished adding poses, 9ms for 20K files here. Pose adding is almost linear now for the first thousand files, but it gets worse after that due to another known problem. Now doing 35s instead of 80s on a 20K files folder here, more to come :) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28891 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
b47e7347421eeada6d00ed4a37e42f4a08652a17 |
|
11-Jan-2009 |
Karsten Heimrich <host.haiku@gmx.de> |
* Prevent a column to shrink smaller then the default column width. This was most notable when double clicking e.g. the Size column in a tracker window containing only folders. It would shrink smaller then one can resize it while dragging the resize 'handle'. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28885 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
51505cb08a3d58fe8505737689cb78ffea14420c |
|
10-Jan-2009 |
Alexandre Deckner <alex@zappotek.com> |
* The pose adding thread was going too fast, opening too many files (those are closed by the window thread), and reaching the file descriptor limit. For some still unknown reason, this was causing GetNextDirents to stop returning new entries. The result was that, on populated folders, Tracker wouldn't load all poses and stop at a random amount. We now take a more conservative approach and close the files before sending, reopening them on reception. Now the AddPoses thread is a bit too aggressive, especially on second runs, i needed to add some snoozing otherwise it would stall Tracker for several seconds. (testing on a 20000 files folder). This fixes #3054 git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28872 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
db5b0bfcfe71c62f88646f0fd28b727fa96a0924 |
|
27-Dec-2008 |
Rene Gollent <anevilyak@gmail.com> |
When drag and dropping a text file, Tracker would refuse to extract the text (and style attributes, if any) if the file in question didn't have both the text/plain filetype *and* Tracker's clipping attribute. Since I was unable to find any good reason whatsoever to check for the latter, I removed this. Fixes the reported problems where drag and dropping a file onto a BTextView would do nothing unless the clipping attribute existed as well. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28828 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
d35d0f74a62f9a3121d3e77eacb9c3276f02076d |
|
28-Nov-2008 |
Axel Dörfler <axeld@pinc-software.de> |
* s/fLastKeyTime is no longer a static member - this fixes that the type-ahead buffer will be taken over to another window (if you type fast enough). * Also the type-ahead runner no longer clobbers the static type-ahead buffer, so it won't delete something you typed in another window anymore (again, if you type fast enough :-)). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28745 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
b545073f089282445eaf00a96e2b8f4699079c84 |
|
06-Nov-2008 |
Stephan Aßmus <superstippi@gmx.de> |
* Moved the global BPrivate::WidthBuffer from BTextView into BPrivate as gWidthBuffer. * Tracker PoseView now uses BPrivate::gWidthBuffer instead of it's own instance. * TextView.h and PoseView.h are now a little cleaner. * InterfaceDefs.cpp now deletes gWidthBuffer in _fini_interface_kit_(). * Added binary compatibility support for NetPositive in WidthBuffer.h and .cpp. Obviously it kind of defeats the purpose of having WidthBuffer neatly tucked away in the BPrivate namespace, but Haiku should run NetPositive, I guess. Fixes #2879. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28532 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
e9842421554da064c665301a10b6a6b3f69ac818 |
|
31-Oct-2008 |
Alexandre Deckner <alex@zappotek.com> |
* On date format change, remove the need for the synchronous call to DrawViewCommon(), simply invalidate since the logic is simplified now, see below. * Reworked the way TimeAttributeText was updated when date format is changed. Got rid of the recalculatText flag propagation, it was broken since forever anyway (was here on r5 max4.1): It was only updating visible poses and wasn't robust in certain cases. Besides, it was cluttering the code on several layers upfront only for date format changes. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28402 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
cde552bdcb6affbb553e55ac219079afc2a44174 |
|
18-Oct-2008 |
Michael Lotz <mmlr@mlotz.ch> |
Don't select anything in type ahead mode when no match is found anymore. This makes sure that the best match just stays selected instead of always selecting the topmost pose. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28234 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
842cd2b8cc3abd3fbff247ea69479431e1fd57f8 |
|
18-Oct-2008 |
Alexandre Deckner <alex@zappotek.com> |
* Removed the call to Refresh() when switching to scaled icon mode as it would scroll to (0, 0), and screw the now always-in-sync fViewState. After testing every possible mode transition, there seem to be no side effect as the comment would suggest. Stippi, do you remember why it was necessary? See r18699. * This enabled me to do my previously added TODO's. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28231 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
3704f31d736eec388bb78ddfa4e7983223d987d5 |
|
17-Oct-2008 |
Alexandre Deckner <alex@zappotek.com> |
* AddPosesCompleted could be called actually before all the poses were added. The method was called after _sending_ all the messages, not after receiving them all. This fixes the scroll validity check in AddPosesCompleted in list mode (bug mentioned in my last commit). We can now close #2441, tracker windows should now be completely persistant with regard to scrolling now, in all modes (spatial mode, single window mode in list or icon mode). \o/ git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28210 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
3d7584da5c52a15f7219fd8527a5dd08353d45a3 |
|
16-Oct-2008 |
Alexandre Deckner <alex@zappotek.com> |
* Rewrote the way BViewState checks if changes needs to be saved on quiting a navigation window (icon mode and list mode) or switching dir in single window navigation. Fixes the other half of the problem in #2441. Left some todos. I discovered an other bug that can add a random offset after finishing adding poses. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28205 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
49ad25b3922a6354639b9fe6325c7c6aa1895e41 |
|
16-Oct-2008 |
Axel Dörfler <axeld@pinc-software.de> |
* The type ahead mechanism did not work correctly in list view mode: instead of taking the contents of the columns, it would always use the file name instead. * That uncovered another bug, though: WidgetText::Text() tried to cast everything to StringAttributeText, but GenericAttributeText is actually used for most columns. * Therefore, GenericAttributeText is now a subclass from StringAttributeText. * Extended the type ahead to take other columns into account, and made it also find strings in the middle (like a filter) as a second choice. * Whitespace cleanup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28180 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
e522ba55ba2916ebb0a69ca3fc19b893481919ab |
|
15-Oct-2008 |
Alexandre Deckner <alex@zappotek.com> |
* In single window navigation, tracker wasn't restoring the view origin (current scrolling) properly. It was reseting the origin even after successfully loading the saved state. Reworked the logic to make that work properly (this also needed checking if the state read succeeded). This fixes part of #2441. There is still an issue when sometimes the view state is not saved properly, more tomorrow! git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28158 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
2e2f53f614e36b0e3918f5da188b51e9f0be5b0d |
|
25-Sep-2008 |
Stefano Ceccherini <stefano.ceccherini@gmail.com> |
don't leak extendedPoseInfo on error. CID 997 git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27743 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
90b7764dc354ff1bcb01abf78dafe16faa820725 |
|
21-Sep-2008 |
Rene Gollent <anevilyak@gmail.com> |
Move WidthBuffer and TextGapBuffer into BPrivate and use them from there in BPoseView and BTextView. This (correctly) fixes the previous gcc4 build issues. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27675 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
a682d9819fae1e26cef1390bb33b5d5c73304642 |
|
20-Sep-2008 |
Stephan Aßmus <superstippi@gmx.de> |
Quite a cleanup action to avoid polluting the global namespace with private BTextView classes: * Declared the directly used BTextView helper classes as private BTextView classes and changed all affected files. * Realized that Tracker's BPoseView was (accidentally?) using what used to be _BWidthBuffer_. It had declared it's own class with the same name and same members/size in headers/private/tracker/TextViewSupport.h, but the implementation was nowhere to be found. I can only explain this that the BTextView implementation was then actually linked and used. But the big problem was that it was used without locking (unlike in BTextView)! When many Tracker windows opened during system startup or later and they happened to each request characters not yet in the cache, I imagine things could have gone bad and corrupted memory. Anyways, since I can see the usefulness of the cache, BPoseView uses BTextView::WidthBuffer on purpose now. And I moved the locking inside BTextView::WidthBuffer::StringWidth(). * Adjusted InterfaceDefs.cpp accordingly. * TODO: Move subsequent classes into BTextView namespace as well, ie derived classes that BTextView doesn't directly know about. All stuff in src/kits/ inteface/textview_support/ * Added preliminary and not yet implemented layout friendly BTextView constructors. * I will try to handle the insets imposed by BTextView::fTextRect a bit differently when used inside the new layout management framework. For this, I added BTextView::SetInsets() and GetInsets(). SetInsets() doesn't do anything yet. So far, everything seems to work still... ;-) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27654 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
c56a21ed62c1b66d71ef344e9646143a7a7cfb4d |
|
19-Aug-2008 |
Alexandre Deckner <alex@zappotek.com> |
- Made multi-selection modifier semantics consistent with most OS's out there. See #1255, please shout if you've got anything against that :) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27059 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
8a588970c7bb7c66ce4470fdccc7144e2557931a |
|
25-Jun-2008 |
Alexandre Deckner <alex@zappotek.com> |
- HiliteDropTarget was broken, it used a trick to avoid unselecting already selected items but assumed every call to HiliteDropTarget(true) and HiliteDropTarget(false) would come in pair on the same target. Fixes #2453 and #1793 git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26131 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
96f8dfaec86ecacfb8d8afc37efc119315bb76f7 |
|
24-Jun-2008 |
Alexandre Deckner <alex@zappotek.com> |
- Some view mode transitions had to be handled specially: kScaleIconMode -> kScaleIconMode, kMiniIconMode -> kScaleIconMode, kIconMode -> kScaleIconMode. Switching the mode to kScaleIconMode uses a special code path that resets the view origin, which wouldn't get a chance to be stored/restored. Other icon mode don't need to save/restore their origin except when going to or coming from kListMode. This fixes #2441, although i just discovered the same problem when using SwitchDir() (single window navigation) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26121 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
491a3293301e246a5448ad3e53d701a4b6cbc4b6 |
|
12-Jun-2008 |
Alexandre Deckner <alex@zappotek.com> |
- AddPoses didn't check for the ShowDiskIcon() option when deciding to AddRootPoses. When changing to icon mode with a size other than 32 (ie: kScaleIconMode) PoseView calls Refresh() and all the poses are removed and loaded again (PoseView.cpp line 1995). This called AddPoses but didn't check for ShowDiskIcon(). The Disks icon was shown on startup though, since Tracker uses another code path when starting (caching?). This fixes #1833. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25941 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
ed27e7aef638ce07edf7ff5faf32f76ae8dd2ede |
|
09-Jun-2008 |
Alexandre Deckner <alex@zappotek.com> |
- Scrollbar proportions computation was wrong in icon mode. The problem showed when a folder contained few icons regrouped in a small area (Extent() smaller than Bounds()). The viewable extent is always Bounds() now. This fixes #361, again we're better than R5! Although in this test case, the scrollbars shouldn't be activated in the first place. In icon mode the poseview is still putting too much white space on the left (x<0) and make the scrollbars show. Fix is almost ready :-) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25896 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
9abdb2222c2c07688e6bd6ec3c281461a7e9d914 |
|
30-May-2008 |
Axel Dörfler <axeld@pinc-software.de> |
* PoseView waited for 200 ms after a B_META_MIME_CHANGED message was evaluated to give other windows the opportunity to mark the icon invalid before recaching it. * Since we currently update all app MIME types on first boot, over 400 messages are generated, so that delay easily caused the message queue to get full. * I've now reduced the wait to 10 ms, and also call BWindow::UpdateIfNeeded() afterwards, which empties the message port, too. This fixes bug #2212. * Note though, this should be handled completely different to make it really work right. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25719 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
873066a8e11a974c12c7ab4cbb3f46c3e95d489f |
|
30-May-2008 |
Axel Dörfler <axeld@pinc-software.de> |
A bit of cleanup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25718 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
351b7a2d2499a7c9929452009158a92ba9d66091 |
|
25-Feb-2008 |
Axel Dörfler <axeld@pinc-software.de> |
* Added B_WATCH_INTERIM_STAT, and B_STAT_INTERIM_UPDATE definitions to NodeMonitor.h. * The latter will be set in "statFields" for interim updates when you have asked to get them via the former. * BFS now uses the B_STAT_INTERIM_UPDATE flag for sending updates to actively written files. * This makes us more compatible with BeOS again; if you only asked for B_WATCH_STAT, you will now only receive a notification if the file in question has been closed. * Tracker now uses B_WATCH_INTERIM_STAT to always get all updates (ie. downloading a file will update its size and modification time in Tracker periodically during the download). * Wether "needsTrimming" was true or not has no influence on wether or not the size index needs to be updated in BFS - only the actual file size is stored there, not the on-disk size. * Added a TODO comment in Inode::WriteAt() that it would actually need to update the size index when changing the file size, not when the file has been closed (but that's probably too slow). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24114 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
7b95b37ca2b9656bff46d0137d632ad2e4a9a943 |
|
05-Feb-2008 |
Stephan Aßmus <superstippi@gmx.de> |
Make the Desktop window check the Deskbar frame only every half a second, use a cached value otherwise. Should speed up icon placement when Tracker starts. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23871 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
46c6a221a883758d7100e7b3d64663725ee6d01d |
|
11-Jan-2008 |
Axel Dörfler <axeld@pinc-software.de> |
Files that were created in the future (time zone issues, or whatever) shouldn't be regarded recent either. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23384 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
f1b05aa545ee01a196b7f7df0ae719b50d1f312d |
|
10-Jan-2008 |
Michael Lotz <mmlr@mlotz.ch> |
Fix syntax error. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23383 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
978e434d72cf713d3b14ea27d470dd9c556f57bb |
|
10-Jan-2008 |
Axel Dörfler <axeld@pinc-software.de> |
* Finally nailed down and fixed #355: apparently, if the pose info attribute couldn't be read from a file, Tracker would try 10 times with a 10 ms timeout - but only if the creation time equals the modification time! That was obviously supposed to be a check if the file was recent... Now that computers are faster (even when running Haiku), it may actually take less than one second to copy a file, so most files on the Haiku image satisfied this thoughtful and future-proof check. (And no, even the original BFS does not automatically increase the modified time on close.) * Now, mmlr came up with a better check: we just check the file's creation time against the current time to see if it's a recent file. That should work a bit more reliable :-) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23376 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
1de41c158d4aee02e639595539c3f29bf849e09f |
|
06-Sep-2007 |
Stephan Aßmus <superstippi@gmx.de> |
* fixed tracker single click selection. If I may say so, I find this code extremely messy and in desperate need for refactoring. The bad news is that selection flickers now - the columns which don't need to be drawn at all. I printed some debugging info in BTextWidget::Draw() and it appears that for a single selection state change, at least four invokations of BTextWidget::Draw() will result. Sometimes many more. Since the code calculated the dirty rects wrongly in many places, it appears that this bug might not have shown before. Like I said, the code is a mess and there is not a single place for invalidating poses, so I am not surprised why tons of invalidations arrive. :-/ Maybe I should make myself more familiar with Tracker... or revert my text outline patch. :-P git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22190 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
5c34aef797c60839b66395519c53b39291dc35c7 |
|
22-Aug-2007 |
Stephan Aßmus <superstippi@gmx.de> |
changed the meaning of the "icon view label background" Tracker setting: * it is replaced by a "icon view label outline" feature that renders a black or white outline around the text of a label under an icon. This can be used for background images that have a lot of contrast and is visually more pleasing (IMHO) than the text box in the workspace color (but the outline could of course still be improved as well) the outline or "false bold width" feature is a new BFont feature in Haiku * Tracker appeared to have a disabled feature to install default background images, I enabled this feature and rewrote it a bit to use our big logo from the artwork folder, the placement is for 800x600, so not optimal for larger desktops, but at least it is shown by default on new installations or rather "fresh" images * changed the way the dotted underline is rendered under links, accidentally, this fixes the bug that it was not dotted at all since a while, which is a bug in app_server or BView not tracking the need to update the drawing pattern in certain situations (this bug needs to be fixed too of course) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22040 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
27eab79b5608ece9dcef5066b97364844510f2d2 |
|
20-Aug-2007 |
Axel Dörfler <axeld@pinc-software.de> |
* BTitleView now resizes its columns asynchronously. As a side-effect, this also solves the slow resizing part of bug #160 under Haiku (where GetMouse() obviously gets a lot more messages). * Rearranged the interaction between BTitleView and ColumnTrackState a bit, removed some unused cruft. * PoseView::ResizeColumn() had obviously required code to redraw the resizing lines on enlarging the column excluded for whatever reason. * Minor cleanup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22025 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
eeb608e1c7a4655b1e15f3333b9b3f7ef5a83795 |
|
26-Jun-2007 |
Axel Dörfler <axeld@pinc-software.de> |
* StringFromStream() did not work correctly for empty strings (messed up the stream position). * StringFromStream() called BString::LockBuffer() with "length", but touched "length + 1" bytes. * Prepared for the new "display as" FileTypes feature. * The "DefaultQueryTemplate" folder now adds the MIME type of the folder to the attribute menu for simplified editing (before, you had to move a file with a matching file type into that folder to be able to add the attributes you likely wanted to see). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21509 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
687e327bace5d8abca3e75ce74a8f532fac5c151 |
|
19-Jun-2007 |
Michael Lotz <mmlr@mlotz.ch> |
Reworked the handling of periodically updated poses (currently only ones with a volume space bar): * Addad global list where poses that need periodic updates can be registered with a callback * Use this mechanism for poses with a volume space bar * Create only one BVolume when the BPose is created for a volume, instead of every time the free space is calculated * On Pulse() the global list is used to update all of the registered periodic update poses * As the poses know their volume, it is no longer necessary to use a BVolumeRoster to loop through each volume on each Pulse() * Removed the now superfluous SendNotices() mechanism * Removed corresponding watching / handling of these notices in BPoseView The BPoseView did a linear search for each volume pose on each Pulse() before. What's more it did this once for each mounted volume as it did get one individual notice for each of them. To get these volumes a BVolumeRoster was used to loop through the volumes, but then the BPose did still create a new BVolume to actually calculate the free space! I'm surprised that it did not suck away more performance with this method... Anyway, this should bring down BVolume construction and update overhead down to a minimum and hopefully fix ticket #1247. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21462 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
77974ff1711ba286edac17cc9220b5f72ef9ddfa |
|
06-Jun-2007 |
Stefano Ceccherini <stefano.ceccherini@gmail.com> |
some forgotten fVariable -> sVariable renaming git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21338 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
67fb7cd0ed2e0810937285af04f6934423f5d96a |
|
28-Mar-2007 |
Axel Dörfler <axeld@pinc-software.de> |
Minor cleanup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20443 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
f6a62205d33776f337b46737846a5ce7d0aae2dd |
|
02-Feb-2007 |
Waldemar Kornewald <wkornewald@nowhere.fake> |
Fixed comment style. :) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20041 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
f70737c108ea9bf263fc1591ce24a71ebad86eac |
|
01-Feb-2007 |
Waldemar Kornewald <wkornewald@nowhere.fake> |
Fixed (*crossing fingers* :) the probably most complicated deadlock in Haiku's history...Axel, am I exaggerating? :) I've tested it and it seems to work. Could someone else please confirm that everything still works well? Hmm, I'm still wondering why Axel took the time to suggest a possible solution to me instead of fixing it himself. There must be a catch. ;) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20036 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
5f5d917ad1f9dc4eeafffe03aed29d88c111269b |
|
24-Jan-2007 |
Ryan Leavengood <leavengood@gmail.com> |
Your wish is my command: now only removable read-only volumes have their desktops integrated in Tracker. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19947 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
ebe10933ddf72c2d9c9bed3d3a7715306e5b5460 |
|
14-Sep-2006 |
Stephan Aßmus <superstippi@gmx.de> |
* when the group of dragged icons was a bit larger, the bitmap was not completely transparent, but had a faint shadow, I removed this, though it seemed to be on purpose, I have no idea why... it looked like a bug git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18845 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
7fb6186f3cb93a14ea0f96a82bdfc3d18f3ad56e |
|
29-Aug-2006 |
Stephan Aßmus <superstippi@gmx.de> |
* integration of vector icons with the registrar and the mime data base * additional versions of SetIcon[ForType] and GetIcon[ForType] in BMimeType and BAppFileInfo, which handle flat vector icon data * changes in Tracker to support scalable icons (currently broken for non-vector icons and needs cleanup) and drawing icons correctly with alpha channel (large parts of this work done by Michael Lotz) If someone feels like looking over the changes, that would be much appreciated! :-) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18699 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
f8262c2b196093faee0c9b9268cbe5a3a14bf5f1 |
|
27-Jun-2006 |
Stephan Aßmus <superstippi@gmx.de> |
sync to rev 1.62 from OT rep: use the event time instead of the current system time for appending or starting a new match when typing ahead to select a pose git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17930 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
269d3bd5bce1fa4d84ee2cf577a29af93dab3b7a |
|
11-Jun-2006 |
Axel Dörfler <axeld@pinc-software.de> |
Imported PoseView.cpp 1.61, OpenWithWindow.cpp 1.8, and OpenWithWindow.h 1.3 from OpenTracker CVS. This fixes bug #354. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17796 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
7befa79ace38aeecb9ceb86e7244c6d6747fd888 |
|
01-Jun-2006 |
Axel Dörfler <axeld@pinc-software.de> |
Imported SettingsViews.cpp 1.10, FilePanelPriv.cpp 1.14, TrackerSettingsWindow.cpp 1.7, SettingsViews.h 1.8, FSClipboard.cpp 1.12, PoseView.cpp 1.60, TrackerSettingsWindow.h 1.2, TrackerSettings.cpp 1.11 from the OpenTracker repository. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17688 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
693f381e833e2bc6021764ee0610af1b4c67b0ad |
|
31-May-2006 |
Stephan Aßmus <superstippi@gmx.de> |
Fixed a weird Tracker bug, fOkToMapIcons was initialized to "true", but I have no idea what sense this makes. When switching from list mode to icon mode, some poses had their locations set to location "infinity", because MapToNewIconMode did a division by zero. This resulted in feeding the scrollbars a totally insane range. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17673 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
f15ba3375110cb750e67972f1f7702f0f7e7163d |
|
08-Jan-2006 |
Stephan Aßmus <superstippi@gmx.de> |
synced with version 1.59 of the OpenTracker rep git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15877 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
a615ec8f86406c14607c656cf90492bc58bd73d0 |
|
30-Dec-2005 |
Axel Dörfler <axeld@pinc-software.de> |
Imported OpenTracker-current. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15764 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
e68b7626597f4665e41aa23be48748cfd79ef0e4 |
|
11-Dec-2005 |
Axel Dörfler <axeld@pinc-software.de> |
More GCC 4 fixes by Ingo Weinhold - appeared because of the recent removal of new/typeinfo/exception from our headers. Rearranged the IconCache node_ref hash computation to be padding-resistant (at least on PPC, node_ref is 16 bytes long, not 12 as it is with x86 and GCC 2). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15498 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
4a71b881a912026bb1d59922b619c17edd72771b |
|
14-Nov-2005 |
Axel Dörfler <axeld@pinc-software.de> |
Final GCC 4 fixes by Ingo Weinhold (were not visible before, due to a missing -no-undefined). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14918 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
02be5353fd41ea40007a382e13f007eaf6b5a3a0 |
|
22-May-2005 |
Axel Dörfler <axeld@pinc-software.de> |
Added libtracker.so to the repository and the build. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12772 a95241bf-73f2-0310-859d-f6bbb57e9c96
|