#
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
|
#
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
|
#
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
|
#
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
|