Commit Graph
100 Commits
Author SHA1 Message Date
Alexandre Deckner 46cac7f7dd * No need to show an error alert when the preflet is already running, it behaves
as expected.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34134 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-19 14:39:48 +00:00
Alexandre Deckner accec9a7ae * Style fixes. Encountered ambiguous cases, please see my following questions
in the commit ml.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33923 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-06 17:32:07 +00:00
Alexandre Deckner f7ace4e827 * Style fixes (pointer style)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33922 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-06 16:12:53 +00:00
Alexandre Deckner 2ec4a3b13f * Use os.path.walk to visit directories
* Use \w instead of [a-zA-Z0-9] in some regex's
* Add switch to the "space after control statement" rule
* Added pointer/reference style rule


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33921 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-06 15:55:44 +00:00
Alexandre Deckner 3904801c31 * Fix many style issues. Quaternion and Vector3 still show some of their foreign
origin. Yes.. shame on me, i had even imported their non unix line endings :)
  Will make them BCitizens soon.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33890 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-05 09:37:45 +00:00
Alexandre Deckner ae762f316d * Add multi file/directory support
* Refined some rules to not include the new-line
* Added 'windows line ending' rule
* Enhanced the html output, not an expert there though



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33889 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-05 03:23:50 +00:00
Alexandre Deckner 3b02662f2d * Use BReferenceable instead of Referenceable.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33884 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-04 16:50:01 +00:00
Alexandre Deckner ef2927b12c * Use <span> for the highlights
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33859 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-01 18:13:29 +00:00
Alexandre Deckner 214f735e34 * Style checker for the Haiku C++ coding guidelines
* Added an html report output with highlights and tooltips
* Still a few false positives and rules missing. Some regex could be reworked
* TODO: ignore some rules when in comments, multifile support



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33856 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-10-31 22:20:25 +00:00
Alexandre Deckner 36f51b0861 * Applied patch jalopeura, fixing mail2mbox and mbox2mail signatures in rdef. Closing #4856. Thanks!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33772 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-10-26 13:57:36 +00:00
Alexandre Deckner e2ee5e5706 * My previous fix to #4130 wasn't correct since it could miss some moved or
renamed files. After more investigation i found out that the problem was
  caused by a non usual use of the zombie list in r31307. In the conditions
  to reproduce #4130 it would call AttrChanged() or StatChanged() on zombie
  poses which by convention should always be invalid models, ie: null node.
  The logic would potentially create other problems too as it wasn't only
  adding refFiltered models to the zombies.
  I reverted part of r31307, clarified the logic and updated the comments.
  I'd prefer another implementation for this as reusing the zombie list
  here is only calling for future mysterious problems. #4131, #4271, #4610
  and #4831 are still closed, but i'm reopening #1717 which is more of an
  enhancement btw.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33769 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-10-26 10:21:33 +00:00
Alexandre Deckner c3ce629473 * When a file was created, then deleted shortly after, on a PoseView that is
busy processing other things, the file could be gone by the time we processed
  the fs notification message of the entry creation. This case wasn't handled
  properly and would cause #4130 and most certainly duplicate #4831, #4610 and
  also possibly #4271.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33744 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-10-23 08:07:56 +00:00
Alexandre Deckner 047eef826e * Sorry, that was supposed to be multiple launch.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33475 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-10-07 00:24:19 +00:00
Alexandre Deckner d12a4384f1 * Fixed closing via deskbar's close all. The problem was that i forgot to
define the app_flags in the rdef, case that isn't well handled apparently
when creating a BMessenger targeting the app.
Thanks to Michael and Rene for helping! Fixes #4712

* Removed unneeded and faulty App::MessageReceived and a strange (probably
 copy pasted then forgotten) MainWindow::QuitRequested.
* Minor changes. Made App destructor virtual, moved init into ReadyToRun,
 fixed a few style violations.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33474 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-10-07 00:12:25 +00:00
Alexandre Deckner ea1a27d61a * Reworked my fix for #3617. We now check again for a double click if the pose
was not freshly selected.
+alphabranch


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32660 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-24 19:15:12 +00:00
Alexandre Deckner 569634e95b * Style fix
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32617 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-22 16:46:25 +00:00
Alexandre Deckner abd3d52b5d * Forgot to save that file.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32605 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-22 13:46:01 +00:00
Alexandre Deckner 8e43b9e35e * A mouse shake detecting BMessageFilter that's easily integrated in any app.
* A test app for it. I added a src/test/kits/shared folder as i found it was the
 most logical place for it. Shake it up.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32602 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-22 13:43:21 +00:00
Alexandre Deckner 725ad924ff * When checking a draw/updateRect intersection, an offset was added too early
making the check fail when Pose::Draw was called with a non zero offset.
 Fixes #4289
* Fixed an x/y typo (that had no really visible effect, the fade effect might
 need some more indepth review)
* Removed dead code, and replaced an inlined intersection check with
 BRect::Intersect.  



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32538 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-20 10:59:53 +00:00
Alexandre Deckner f2b42dbb1b * Favorites in filepanels are always folders, the type of favorites here
doesn't depend on the 'node flavor' of the parent filepanel.
 Fixes #3624
* Minor style fix


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32530 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-20 02:19:08 +00:00
Alexandre Deckner 50f1b82d5b * Rewrote rename-click detection to be more usable. The code is much smaller
and is based on the pose selection time, not on click time. It is more 
 robust and since the selection might have been by click, keyboard or
 selection rect, it makes the behavior very pleasant (in my opinion) for
 multiselections. Try and tell me!
* Disabled the modifiers (first click editing). Too many of them, and
 conflicting with other usages, i'd like your opinions/preferences.
* Removed old, hackish and now unused DelayedEdit/SetDelayedEdit stuff.

Fixes #3617



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32529 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-20 01:19:41 +00:00
Alexandre Deckner 105f1c632e * Added a TODO about droping icons under replicants or deskbar since i
couldn't find a quick solution that wouldn't need the layouting rewrite
 (currently in redesign phase in my branch)
* In the mean time i've added desktop element avoidance in Cleanup so one
 can easily recover hidden icons without advanced shortcuts. Before that, it
 would need a CleanupAll aka shift-alt-k (which would relayout everything btw).

 Doesn't fix #4241 but at least provides a way to see your icons again easily.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32523 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-19 15:29:59 +00:00
Alexandre Deckner d111ca1a64 * Remove bad pixel on the hand
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32522 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-19 14:18:32 +00:00
Alexandre Deckner bdee02b5b0 * Move cursors to Cursors.h
* Use the new copy cursor


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32520 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-19 14:16:45 +00:00
Alexandre Deckner 8a6c0c3a1d * Some cursor overlays for tracker drag'n'drop operations
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32514 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-19 13:44:42 +00:00
Alexandre Deckner c5b7a0fe6a * Give a chance to volume/disks icons to save their position when changing the
"Show Disks/Volumes Icon" preference. Fixes #1559
* Automatic white space cleanup


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32513 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-19 13:19:31 +00:00
Alexandre Deckner 3074019e96 * Remove wrong check that was preventing to properly place the first pose. Fixes #4055
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32512 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-19 12:51:50 +00:00
Alexandre Deckner b8508f581e * Icon for Haiku3d
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32361 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-14 14:51:17 +00:00
Alexandre Deckner 9d841f24b3 * New icon for MediaConverter.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32354 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-14 13:35:46 +00:00
Alexandre Deckner 34be4b60ec * Add Speaker icons, the idea is to refresh the deskbar replicant and media
preflet.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32349 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-14 12:05:18 +00:00
Alexandre Deckner 84e0703c87 * Build fix
* More style fixes
* Automatic whitespace cleanup


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32274 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-12 12:21:13 +00:00
Alexandre Deckner 19e9930c2a * More style fixes
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32273 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-12 11:40:42 +00:00
Alexandre Deckner 3cbc1540cc * Style update. Don't know what to do about the licence headers though
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32272 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-12 11:25:44 +00:00
Alexandre Deckner 220c754efe * Rename deskbarview.cpp/h to DeskbarView.cpp/h
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32271 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-12 10:53:00 +00:00
Alexandre Deckner 636f089026 * Rewrote icon drawing for the deskbar replicant, now use our shiny vector
icons. Haven't looked into R5 backward compat.
* Minor style fixes, more in the next commit.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32269 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-12 10:47:18 +00:00
Alexandre Deckner 6d893152ea * Added Haiku3d demo to the image. Removed GLDirectMode demo as discussed.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32180 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-07 10:49:09 +00:00
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