#
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.
|
#
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).
|
#
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.
|
#
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
|
#
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.
|
#
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)
|
#
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.
|
#
ea001e58 |
|
28-Jul-2012 |
John Scipione <jscipione@gmail.com> |
Round 2 of style changes to Tracker * focused on 80-char limit fixes. * also some whitespace and case statement indentation fixes
|
#
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
|
#
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.
|
#
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.
|
#
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
|
#
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
|
#
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
|
#
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
|
#
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
|
#
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
|
#
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
|
#
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
|
#
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
|
#
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
|
#
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
|
#
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
|
#
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
|
#
cafee0b7 |
|
23-Mar-2009 |
Stephan Aßmus <superstippi@gmx.de> |
Improved/fixed the look of file panels. If I feel motivated enough, I may also fix the font-sensitivity issues. * The CountView can now draw part of the PoseView focus indication. Though I am not convinced anymore that I am approaching this the right way. Maybe scroll views should simply leave room for drawing a frame between child and scroll bars... * ContainerWindow::BackgroundView uses the new BControlLook method to draw the scroll view frame to look just like a regular scroll view. * Some fixes to layout of controls in file panels and minimum window size. There would be much more left to do... git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29663 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
|
#
59160ac7 |
|
06-Mar-2009 |
Rene Gollent <anevilyak@gmail.com> |
Fix gcc4 build. GCC 3 and up moved some of the SGI extension classes into a different namespace. Fixes ticket #3524. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29418 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
|
#
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
|
#
dc027966 |
|
31-Jan-2009 |
Rene Gollent <anevilyak@gmail.com> |
Unbreak build. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29099 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
|
#
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
|
#
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
|
#
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
|
#
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
|
#
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
|
#
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
|
#
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
|
#
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
|
#
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
|
#
6d01b66d |
|
13-Nov-2005 |
Axel Dörfler <axeld@pinc-software.de> |
GCC 4 fixes by Ingo Weinhold. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14893 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
|
#
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).
|
#
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.
|
#
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
|
#
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.
|
#
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)
|
#
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.
|
#
ea001e585a588e40404945a1201821da893d2e09 |
|
28-Jul-2012 |
John Scipione <jscipione@gmail.com> |
Round 2 of style changes to Tracker * focused on 80-char limit fixes. * also some whitespace and case statement indentation fixes
|
#
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
|
#
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.
|
#
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.
|
#
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
|
#
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
|
#
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
|
#
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
|
#
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
|
#
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
|
#
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
|
#
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
|
#
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
|
#
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
|
#
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
|
#
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
|
#
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
|
#
cafee0b7f50e601f89a7c81a64e53908b99ce8e0 |
|
23-Mar-2009 |
Stephan Aßmus <superstippi@gmx.de> |
Improved/fixed the look of file panels. If I feel motivated enough, I may also fix the font-sensitivity issues. * The CountView can now draw part of the PoseView focus indication. Though I am not convinced anymore that I am approaching this the right way. Maybe scroll views should simply leave room for drawing a frame between child and scroll bars... * ContainerWindow::BackgroundView uses the new BControlLook method to draw the scroll view frame to look just like a regular scroll view. * Some fixes to layout of controls in file panels and minimum window size. There would be much more left to do... git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29663 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
|
#
59160ac74037d1d689e22ca374b430dd4e2cdd88 |
|
06-Mar-2009 |
Rene Gollent <anevilyak@gmail.com> |
Fix gcc4 build. GCC 3 and up moved some of the SGI extension classes into a different namespace. Fixes ticket #3524. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29418 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
|
#
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
|
#
dc027966d7500e43f59fd78cfc6391c1c6f20db9 |
|
31-Jan-2009 |
Rene Gollent <anevilyak@gmail.com> |
Unbreak build. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29099 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
|
#
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
|
#
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
|
#
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
|
#
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
|
#
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
|
#
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
|
#
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
|
#
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
|
#
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
|
#
6d01b66d300c2841dba033705f120a7f6e709696 |
|
13-Nov-2005 |
Axel Dörfler <axeld@pinc-software.de> |
GCC 4 fixes by Ingo Weinhold. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14893 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
|