future 3d demos i have in mind and the missing ones (ie: 3dmov and 3dmix).
Makes for a nice Haiku sample code too, without legacy.
Not in the image yet, waiting for the green light. Enjoy!
ps: Will commit the Blender object files and export script later.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32027 a95241bf-73f2-0310-859d-f6bbb57e9c96
I use this to cleanly switch between my dev Tracker and the trunk one. I need
to wait until it has really quit before overwriting and running another
version.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31852 a95241bf-73f2-0310-859d-f6bbb57e9c96
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
endpoints names would be broken and "Save Nodes" would create a broken file.
Open/Save nodes now works (again?) and endpoint names display correctly in info
windows/views.
That detail is fixed but it's the design of Cortex that's broken here really :)
To be continued... some day
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30539 a95241bf-73f2-0310-859d-f6bbb57e9c96
kits/shared since i plan to use it in other places like Tracker. Animated replicants like
ActivityMonitor wont stall anymore when initiating the drag. (On the desktop, Tracker's mouse
tracking still busy loops sometimes, that's next on my list).
I had asynchronous long click detection (one button mouse support) in it but decided to get rid of
it, it adds unneeded complexity in the code and is even getting in your way sometimes (ex: now you can
take your time to drag the dragger, you wont be interrupted). If we want to reimplement that
someday it should be done system wide anyway (only Tracker and replicants have that 'feature'
AFAIK).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29972 a95241bf-73f2-0310-859d-f6bbb57e9c96
custom provided one. Incidentally makes #1775 (that i'll reopen in a moment, see r29947) a
lot less likely to happen for most users since it can now only happen with those
customized popups.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29949 a95241bf-73f2-0310-859d-f6bbb57e9c96
the popup's window, in this case the window just closed, so we go on with archiving then.
There's still a (rarely occuring) problem with the unlocking though, probably due to some
BMenu funkyness, will investigate, left a TODO.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29947 a95241bf-73f2-0310-859d-f6bbb57e9c96
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
* Made the drag detection less sensitive as most simple clicks would initiate an unwanted drag.
* Don't show the dragger's popup from its original parent window (not a shelf) for all buttons, as in R5.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29727 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Moved new statics to the cpp file as it seems we don't usually expose such internals in our public headers
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29443 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Don't delete fStream if we don't own it, would crash ShelfTest on quit.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29439 a95241bf-73f2-0310-859d-f6bbb57e9c96
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
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
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
tracker prefs via the preferences menu using a one line script: 'hey Tracker DO
Preferences'. Not sure how to set the icon of the script with the build system, feel
free to do it. See enhancement #2365
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28329 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Use a derived text view that filters the tab key to avoid interupting tab
navigation while in focus/editing. Closes#2321
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28328 a95241bf-73f2-0310-859d-f6bbb57e9c96
rethought and reimplemented with the layout system and my keymap management patch, but
the intent was to make it more usable in the mean time.
* Don't change the focus on keydown so that we can naviguate the list with the
keyboard.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28314 a95241bf-73f2-0310-859d-f6bbb57e9c96
things could be rewritten in a cleaner way but i'd rather finish my keymap
management patch as i rewrote the preflet for it anyway. For example the '(Current)'
item shouldn't be needed anymore but is still there in case the keymap:name attribute
read fails or if the original keymap file doesn't exist anymore (for example, applying
a user keymap, quiting the preflet, deleting the keymap file, and reloading the
preflet)
* Revert/apply data wasn't correctly loaded when the first load was on a system
keymap. This would allow revert/apply right after starting the preflet. That was the
cause of #2659.
* fCurrentMapName wasn't updated after a Revert or Apply
* Select the active keymap in the lists after reverting.
Quick cosmetical fix follows.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28313 a95241bf-73f2-0310-859d-f6bbb57e9c96
This was the cause of #2571 and duplicate #2888 although the bug wasn't
triggered anymore since r28205.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28274 a95241bf-73f2-0310-859d-f6bbb57e9c96
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
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
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
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
anyway, but now BColorControl actually respects this setting.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28149 a95241bf-73f2-0310-859d-f6bbb57e9c96
#591. The helper class could be reused for similar situations (ex: Tracker context menu and
drag detection). See the brief doc in the code. Comments welcomed!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27258 a95241bf-73f2-0310-859d-f6bbb57e9c96
prefs as discussed in #2139 comments. This allow using Alt-Gr in either
Ctrl or Alt mode. Appearance needs a serious style cleanup, comming next
:)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27095 a95241bf-73f2-0310-859d-f6bbb57e9c96
and Menu preflet now show correctly wich mode you're on.
Unless we implement a more flexible solution, we can't really customize
these
keys in the keymap anyway (for ex: Menu preflet will wrongly detect
the mode, and if you change it, it will overwrite your keymap with the
default hardcoded values anyway)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27086 a95241bf-73f2-0310-859d-f6bbb57e9c96
even conforms to the bebook! BOutlineListView needs no special change.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27066 a95241bf-73f2-0310-859d-f6bbb57e9c96
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
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
updating the scroll range (ie: in ContainerWindow.cpp). IMO, the programatic ScrollBy method shouldn't depend on the
ScrollBars ranges or state. The original fix in r21336 was apparently hiding other BScrollBar or BView bugs that have been
fixed in the mean time.
The content was offseted when going back to list mode after moving icons on the left/up in icon mode. This fixes Tracker bug
#2312.
- Revert and fix changes to ContainerWindow.cpp in r18481 (cvs 1.37). The condition was broken, but it wouldn't ScrollBy()
anyway due to the previous problem. Fixing BView made the content autoscroll even if the lefttop corner of the extent was
already visible.
- Probably unrelated, fix changes to ContainerWindow.cpp in r18993 (cvs 1.38). PoseView()->Bounds().left/top < 0 is expected,
if for example in icon mode you move an icon close or crossing the left side of the window and then scroll left to adjust.
This fix ResizeToFit that wouldn't scroll the view correctly in some cases.
So we had a Tracker Bug uncovering a BView fix that was hiding another Tracker bug, everything is fixed hopefully, phew :-)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26043 a95241bf-73f2-0310-859d-f6bbb57e9c96
- Placement of the time text was broken. With big fonts, the text was way too low. Using text bounding box now, it looks pretty and robust too.
- Fixed the height of the time view to the replicant height. The view has a fixed height now and can never overlap deskbar at the bottom (horizontal deskbar mode) or other replicant
below.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25970 a95241bf-73f2-0310-859d-f6bbb57e9c96
InvalidateLayout().
This fixes#1461, the bug appeared because DraggableContainerIcon uses a special trick, involving changing the resizing
mode, to get the total width of the menu items. (see tracker/ContainerWindow.cpp line 479)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25948 a95241bf-73f2-0310-859d-f6bbb57e9c96
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
the delta.
For example, MoveBy(-0.5, 0.0) would do nothing in this case:
roundf(150.0 - 0.5) = 150.0, when rounding the delta it gives the
expected value: roundf(150.0 + roundf(-0.5)) = 149.
On the other hand, BView::ResizeBy was doing it right, and this
explains the bug in Cortex (#333). Cortex was doing
scrollBar->MoveBy(-0.5,0) then scrollBar->ResizeBy(0.5,0) and the
inconsistency lead to the visual bug. (see StatusView::MouseMoved())
This fixes#333. The bug was strange to reproduce since sometimes the
point received in MouseMoved would be "some_integer+0.5" values
sometimes just integral. This has still to be investigated though not
problematic here anymore. See cortex/RouteApp/StatusView.cpp line 222.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25930 a95241bf-73f2-0310-859d-f6bbb57e9c96
in Cortex). This happened only when needing a tabbed view. It will now return a view with the
most fitting size. This fixes#597
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25923 a95241bf-73f2-0310-859d-f6bbb57e9c96
leave a unusable gap on the right (or down) of the thumb.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25897 a95241bf-73f2-0310-859d-f6bbb57e9c96
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
itself to (0,0), and broke further item width computation. We now use the parent view width (BarView) instead. This fixes#471
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25826 a95241bf-73f2-0310-859d-f6bbb57e9c96
the needed derived member fSettings was already destroyed by the derived ScreenSaverWindow destructor. See backtrace in #2287Fixes#2287
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25761 a95241bf-73f2-0310-859d-f6bbb57e9c96
under vesa and supported mode). Changed message of the vesa warning
alert. TODO: additional warning text (see discussion)
* apply now stays deactivated if you only change the workspace count as
it is applied instantly already.
* disabled current workspace menu item for now since it is not
implemented. see ticket #696
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24280 a95241bf-73f2-0310-859d-f6bbb57e9c96
* made keys move down when pressed
* reduced font size of locks light's text to fit in
This fixes#251, style cleanup will follow
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24110 a95241bf-73f2-0310-859d-f6bbb57e9c96
- Default data is defined in two places, and was inconsistent.
- Color comparisons could be done with the wrong alpha. note: BColorControl's behavior wrt alpha might differ from R5's.
This fixes part of #254
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24008 a95241bf-73f2-0310-859d-f6bbb57e9c96
- Changed Backgrounds preflet to account for the fixes in BColorControl
First commit :) Hi everybody!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23680 a95241bf-73f2-0310-859d-f6bbb57e9c96