Commit Graph
87 Commits
Author SHA1 Message Date
Alexandre Deckner 3d65021d98 * Style fixes
* Moved the wait_for_thread in _StopRenderThread()


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32069 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-03 10:55:13 +00:00
Alexandre Deckner 42158ac76f * Typo :)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32029 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-31 16:15:41 +00:00
Alexandre Deckner bee3c7a915 * New demo showing an OpenGL animated Haiku logo. Could be a good base for
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
2009-07-31 15:38:12 +00:00
Alexandre Deckner 0ed66b2314 * added the inverse [-e] option that waits until all such named threads ended.
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
2009-07-28 16:16:37 +00:00
Alexandre Deckner f207162e07 * 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
2009-07-03 00:11:19 +00:00
Alexandre Deckner 4465d9277f * Fix broken copy of a BString into a fixed size char[]. Input/output
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
2009-05-01 18:52:27 +00:00
Alexandre Deckner eee6f40b8b * Archive/Unarchive refresh interval
* Minor style fix


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29976 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-06 20:30:21 +00:00
Alexandre Deckner c51d0337a1 * Rewrote BDragger's mouse tracking to be asynchronous using a message filter. Placed the filter in
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
2009-04-06 19:15:00 +00:00
Alexandre Deckner 9cfb11a5cf * Make BDragger respect the doc and only archive/unarchive the popup menu when it's a
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
2009-04-05 19:59:53 +00:00
Alexandre Deckner 642cc1315d * Fixes a small regression introduced in r29728, don't return B_ERROR if we couldn't lock
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
2009-04-05 18:54:15 +00:00
Alexandre Deckner 561b5d977b * 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
2009-04-05 15:29:56 +00:00
Alexandre Deckner df8b89cbf7 * Return B_ERROR if the window couldn't be locked, thanks stippi
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29728 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-26 13:33:36 +00:00
Alexandre Deckner 82e6d2ffcd * Lock the popup menu window when archiving, fixes #1775
* 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
2009-03-26 11:07:45 +00:00
Alexandre Deckner 3fd2ea61ce * Update ref count later in _AddReplicant and add one check to be sure we checked all possible errors.
* 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
2009-03-08 16:08:03 +00:00
Alexandre Deckner 37a89eb4e9 * Use ref counting to determine when to unload a replicants add_on image, fixes #2712.
* 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
2009-03-08 14:18:06 +00:00
Alexandre Deckner f11e13ffa2 * Fix build of ShelfTest
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29385 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-03 12:36:41 +00:00
Alexandre Deckner 634596058d * 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
2009-02-24 21:41:32 +00:00
Alexandre Deckner ea83c971c6 * 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
2009-02-24 18:55:23 +00:00
Alexandre Deckner 4712bc807c * 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
2009-02-16 10:39:26 +00:00
Alexandre Deckner a1056d5fa3 * Key font size now also takes the window width into account.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29207 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-02-15 12:58:09 +00:00
Alexandre Deckner 4f2fd49bdc * Added a "launcher" for Tracker preferences, which are now accessible from the preferences menu/folder. See #2365
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29087 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-01-29 03:35:20 +00:00
Alexandre Deckner e5a30119a0 * 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
2009-01-12 19:42:41 +00:00
Alexandre Deckner 51505cb08a * 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
2009-01-11 03:08:56 +00:00
Alexandre Deckner fc7b01b188 * fix coding style
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28408 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-31 18:01:55 +00:00
Alexandre Deckner e3bcc1dc09 * Combine the two calls to ScrollBy into one.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28405 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-31 15:59:00 +00:00
Alexandre Deckner e984242155 * 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
2008-10-31 15:07:06 +00:00
Alexandre Deckner f05f4fcb53 * Added support to show tracker preferences via scripting. This will allow accessing
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
2008-10-26 00:09:47 +00:00
Alexandre Deckner ccbb95ba82 * Enable keyboard navigation on the long description BTextView.
* 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
2008-10-25 23:09:06 +00:00
Alexandre Deckner 97893f16af * Removed the enclosing box to gain some space and enlarged the listviews. Should be
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
2008-10-24 13:17:07 +00:00
Alexandre Deckner 7a249e96f5 Few fixes to the keymap preflet to make it good enough for the alpha 1. Lots of
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
2008-10-24 11:50:45 +00:00
Alexandre Deckner 6dee6b8c17 * Do the locking and lock check in an outer 'if', the window could be left
unlocked if the whole condition wasn't true. Thanks stippi!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28276 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-22 09:02:17 +00:00
Alexandre Deckner 369ad66d92 * Lock the window when saving windows states in Tracker::QuitRequested.
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
2008-10-21 23:00:13 +00:00
Alexandre Deckner 842cd2b8cc * 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
2008-10-18 16:32:10 +00:00
Alexandre Deckner 3704f31d73 * 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
2008-10-17 09:52:09 +00:00
Alexandre Deckner e85ca56c7d * Style cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28209 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-17 08:57:24 +00:00
Alexandre Deckner 3d7584da5c * 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
2008-10-17 01:41:43 +00:00
Alexandre Deckner e522ba55ba * 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
2008-10-16 01:41:45 +00:00
Alexandre Deckner 404bf9d1ab * Simply check if fTrashContextMenu->Window() is non NULL. This should be the definitive
solution :)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28152 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-15 21:14:16 +00:00
Alexandre Deckner 2259002bdb * Augmented the cellSize of the BColorControl to 8, it was previously clamped to that value
anyway, but now BColorControl actually respects this setting.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28149 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-15 17:45:20 +00:00
Alexandre Deckner 618c7ffa85 * There was indeed a problem with my previous attempt at fixing #353. This should be much
better!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28139 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-15 15:35:59 +00:00
Alexandre Deckner e400b7d395 * DeskWindow wasn't checking if the context menu for the trash was already open and showing. We do it like in ContainerWindow now. Fixes #353
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28089 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-14 14:46:47 +00:00
Alexandre Deckner 4a89dc95cb - Don't leak the message given to BMessageRunner, thanks stippi!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27285 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-09-02 11:02:29 +00:00
Alexandre Deckner 57b269650e - Well, i told ya it was better with a BMessageRunner ;-P
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27283 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-09-02 02:20:12 +00:00
Alexandre Deckner 77fa9c0b39 * Rewrote long click mouse tracking. This avoids busy looping in TimeView::MouseDown and fixes
#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
2008-08-31 18:40:27 +00:00
Alexandre Deckner 07c052f765 - Simplified the logic in Draw, and other small fixes, thanks Karsten!
- Disabled_off picture wasn't archived/unarchived in one_state_mode.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27161 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-22 21:06:12 +00:00
Alexandre Deckner bb00ec82e5 - As promised, style cleanup. Hey, it's not even in the build atm, just
noticed :-D


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27160 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-22 19:21:36 +00:00
Alexandre Deckner 009aa366c6 - Changed Alt/Ctrl mode handling in Menu prefs, BMenu and Appearance
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
2008-08-21 00:59:30 +00:00
Alexandre Deckner 1a8eb15993 - reverted last commit until the remaining issues are fixed
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27087 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-20 18:50:14 +00:00
Alexandre Deckner 70e1a438fd -Fix keymaps where RCommand and ROption were inverted, menus shortcuts
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
2008-08-20 17:24:49 +00:00
Alexandre Deckner 5aa001b423 - Switch BListView selection modifiers as was done for Tracker in my previous commit. It now
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
2008-08-19 16:42:13 +00:00
Alexandre Deckner 7f1535c0d2 - BPictureButton didn't account for the disabled state. Fixes #2410
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27063 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-19 13:54:42 +00:00
Alexandre Deckner c56a21ed62 - 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
2008-08-19 10:59:10 +00:00
Alexandre Deckner 8a588970c7 - 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
2008-06-25 16:46:03 +00:00
Alexandre Deckner 96f8dfaec8 - 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
2008-06-24 11:19:12 +00:00
Alexandre Deckner 1c4b7e9e01 - revert my last changes to ScrollBy, this temporarily bring back #2312
and the previously mentioned ResizeToFit issue.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26047 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-20 20:04:10 +00:00
Alexandre Deckner d511a89a8a - Since r21336, BView::ScrollBy was checking the values against the ScrollBar ranges but ScrollBy is often called before
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
2008-06-20 02:39:33 +00:00
Alexandre Deckner 157cd8913e - Calculating the space left for deskbar replicants was broken. The TimeView could overlap on the left. This fixes #1408
- 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
2008-06-16 13:14:46 +00:00
Alexandre Deckner c3f006deb0 - initialize the variable, we never know :)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25949 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-13 00:36:06 +00:00
Alexandre Deckner 709ef82757 - BMenu caches the preferred size (since r21396) but didn't recompute it if the ResizingMode changed, it did it only in
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
2008-06-13 00:24:01 +00:00
Alexandre Deckner 491a329330 - 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
2008-06-12 18:22:27 +00:00
Alexandre Deckner b9a5b8236b - Changed BColorControl cellsize to account for the fixes in BColorControl. A rounding error gave the right appearance. see r23671 and r23680. Also, we might want to check the minimum cellsize in R5 and use the same for compatibility.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25931 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-11 20:51:56 +00:00
Alexandre Deckner 82adcce2b7 - BView::MoveBy was letting BView::MoveTo do the rounding after adding
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
2008-06-11 19:43:36 +00:00
Alexandre Deckner abe0b5c858 - MakeViewFor didn't return a view with a good default size when no hintRect was provided (as
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
2008-06-11 01:47:49 +00:00
Alexandre Deckner 6d4ab8b00e - The bug in Tracker (previous commit) uncovered a bug in BScrollBar's thumb positioning. The + 1.0 was well intented and produced the right effect unless fMax-fMin was too close to 1.0. It could
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
2008-06-10 00:53:16 +00:00
Alexandre Deckner ed27e7aef6 - 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
2008-06-10 00:52:01 +00:00
Alexandre Deckner bd8185aba2 - In vertical mode, TExpandoMenuBar used its own width to set the width of a newly added item. Removing the last item made the MenuBar resizes
itself to (0,0), and broke further item width computation. We now use the parent view width (BarView) instead. This fixes #471 


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25826 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-06 15:07:40 +00:00
Alexandre Deckner b17ef798c7 - Decouple ModulesView::SaveState() from ModulesView::_CloseSaver() and thus ModulesView::DetachedFromWindow(). When called by BWindow destructor,
the needed derived member fSettings was already destroyed by the derived ScreenSaverWindow destructor. See backtrace in #2287
  Fixes #2287 


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25761 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-02 17:08:42 +00:00
Alexandre Deckner e8fa461ae7 * clamps the textcontrol input to 255
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25013 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-17 22:57:04 +00:00
Alexandre Deckner b72c483656 * as discussed on the dev list, fixed revert and apply behaviour (tested
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
2008-03-06 20:17:20 +00:00
Alexandre Deckner 793fb95c82 * not a "chef d'oeuvre" but revert and apply buttons should behave as
expected now
* removed some dead code


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24180 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-29 16:17:18 +00:00
Alexandre Deckner bb8610d004 * url is blue now!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24155 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-27 17:43:36 +00:00
Alexandre Deckner 7d5ff380e2 * added Bullet copyright
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24153 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-27 17:27:39 +00:00
Alexandre Deckner 8ec7fd3156 * removed some refactoring left-over
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24149 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-27 13:31:54 +00:00
Alexandre Deckner 552bd60c4b * rewrote mouse rotation to be more intuitive, doing the rotation in
world space instead of local object space.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24148 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-27 13:12:38 +00:00
Alexandre Deckner 988e5c553f * set the view color after calling BControl::AttachedToWindow since it
overrides it, thanks Axel!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24132 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-26 00:17:02 +00:00
Alexandre Deckner c80d10ee35 * fixed background flickering
* removed dead code (doesn't use pulse anymore)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24119 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-25 17:04:37 +00:00
Alexandre Deckner 877c1bc7fb * more style cleanup
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24116 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-25 14:39:22 +00:00
Alexandre Deckner ad93c2f5eb * style cleanup, new style casts, license header updates
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24113 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-25 13:36:46 +00:00
Alexandre Deckner c8f93d1843 * rewrote drawing to use an offscreen view
* 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
2008-02-25 10:08:27 +00:00
Alexandre Deckner e6190664a1 - style cleanup
- use "new style" casts
- got rid of a goto 


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24077 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-23 13:41:57 +00:00
Alexandre Deckner c226b06127 - rewrote/enhanced mouse tracking
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24061 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-22 13:36:50 +00:00
Alexandre Deckner 644c84564a - fixes the Keymap preflet instead, as suggested by korli.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24015 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-19 12:43:52 +00:00
Alexandre Deckner 9518dd74a7 - small mistake in my previous commit, sorry!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24013 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-19 11:03:19 +00:00
Alexandre Deckner 02a0e90533 - add a home/config/settings/Keymap directory since the Keymap preflet needs it. (see line
89 to 99 in src/preferences/keymap/KeymapWindow.cpp )


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24012 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-19 10:59:46 +00:00
Alexandre Deckner 3831b0dcd0 - Revert button's first update didn't work since revert data is stored in the Show() method.
- 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
2008-02-18 18:08:48 +00:00
Alexandre Deckner 53a1a99de7 - small fix, the value was checked before being updated
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23708 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-23 15:17:26 +00:00
Alexandre Deckner 68c0d50c01 - Minor fixes to my last BColorControl patch
- 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
2008-01-21 11:54:53 +00:00