357 Commits

Author SHA1 Message Date
Rene Gollent
2688837424 Fix assertion when using Tracker in debug mode. This closes ticket #1636.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31286 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-28 02:27:59 +00:00
Ingo Weinhold
6668455281 * Use public functionality instead of private BeOS syscalls.
* Automatic whitespace cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31039 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-14 10:57:09 +00:00
Philippe Saint-Pierre
de81e90c0b Replaces NodeMonitor by PathMonitor in the InfoWindow to update the calculated size of the directory when a change happen.
This implement the suggestion in ticket #2868.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30894 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-05-28 14:02:41 +00:00
Ingo Weinhold
bcfe344c53 * Made our struct stat POSIX compliant again -- the time_t fields have been
replaced by timespec fields. Via macros the structure is still source
  compatible with the old one.
* Introduced header <compat/sys/stat.h> that defines the old stat structure
  (as stat_beos) and conversion functions
* Introduced versions for [l,f]stat().
* Added symbol versions for BDirectory::GetStatFor() for sake of binary
  compatibility.
* BStatable::GetStat(): Renamed the old method, changed its parameter to
  stat_beos*, and and made it private. Added a new version (using up a
  reserved vtable slot). It remains source and binary compatible.
* BRefFilter::Filter(): Changed the struct stat* parameter to struct stat_beos*
  for sake of binary compatibility. This breaks source compatibility, though,
  which we can't help, since the class doesn't have reserved vtable slots.
* Fixed several issues with the stat structure change, mostly adjusted uses of
  BRefFilter.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30830 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-05-22 15:15:16 +00:00
Stephan Aßmus
0c7085458e Make the partition ID check more flexible, if partitions just pop up out of
nowhere, we still want to be able to automount them, even though the
notification is not for a device.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30720 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-05-12 18:35:31 +00:00
Stephan Aßmus
be5788f81c Fixed a number of remaining problems with the AutoMounter:
* During boot, the mount mode was ignored for any removable volumes, they
  simply got mounted always.
* When automounting later, all partitions on all removable devices would
  be mounted, not only the ones on the newly inserted device.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30719 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-05-12 18:32:11 +00:00
Stephan Aßmus
3908951b11 * When inserting USB sticks, the read-only mount suggestion was completely
bypassed, same for invoking "Mount All". Now, the "initial scan" parameter
  is used to decide if the user should be alarmed. Basically, it means you
  get to decide for every mounted volume if you want it rather read-only.
In the old code:
- If you wanted a stick mounted read-only, you had to go to "Tracker Settings"
  and disabled auto-ejecting, unmount the stick, then re-mount to get it to
  ask you for read-only mounting.
- But then, it would remember this setting, so when you unplugged the stick
  and then replugged it, it would mount it read-only again. This may be nice
  for later, but for now, I want to decide if I am willing to take the risk
  each time.
* The new code also has the implication that when you plug a drive with more
  than one partition, you are being asked for each one. I extended the alert
  to also mention the partition name.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30716 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-05-12 18:03:36 +00:00
Jérôme Duval
7a282f3b28 * combine MovePenTo() with DrawString()
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30530 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-05-01 08:39:02 +00:00
Philippe Saint-Pierre
838eca4665 Allows "Icon Label Outline" to be disabled when no background bitmaps are chosen.
It complements r29190 and fixes ticket #2395.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30495 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-29 23:43:23 +00:00
Bruno G. Albuquerque
107d2b333b Only try to add the preferred app if it can be found, otherwise the Open With
menu would be completelly empty.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30430 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-26 15:52:01 +00:00
Stefano Ceccherini
33ce19159d if opening a document failed because the system is shutting down, don't ask the user if he wants to open the document with another application, since that would fail as well.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30358 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-24 05:11:56 +00:00
Stephan Aßmus
8baeb63aa2 Probably not good to invalidate the layout in the destructor...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30350 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-23 18:31:22 +00:00
Stephan Aßmus
5d2a1fb46e More style cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30349 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-23 18:29:58 +00:00
Stephan Aßmus
3e3d7acb90 In some ways, this is unrelated, but I had to combine this anyhow:
* Extend the PaneSwitch BControl from Tracker, so it can draw on/off labels.
  This has the added benefit that you can click the label to expand/collapse,
  like for example in the Get Info window (Permissions).
* I also added font-sensitivity features to PaneSwitch, and it can be used
  in layouted windows (untested).
* This made the "DrawButton" in the Installer superfluous.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30348 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-23 18:25:37 +00:00
Stephan Aßmus
5e71c7b1e5 Patch by Obaro Ogbo (nastee) with small changes by myself:
* Added "Close All in Workspace" menu item in the Window menu. The shortcut
  is 'Q', which is usually the Quit shortcut. Since Tracker prevents quitting
  via this shortcut, overriding it like this is ok, this was also discussed
  in the ticket #2833. I've tested that the existing functionality is not
  disturbed (ie Quit in the Settings panel still works, as does quitting
  Tracker via "hey Tracker quit"). I did not add the "Close All" menu item,
  since that feature is already available via DeskBar and when pressing the
  shift key before opening the Window menu.
* I did change the additional short cut. As with "Clean Up" versus "Cleanup Up
  All", it's now consistently the shift key, which you have to press.

Note to Obaro: The only other change was that one can set the target of the
menu item to be "be_app", that way one avoids dispatching the message in the
window. Thanks a lot for your work, Obaro!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30205 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-16 19:32:11 +00:00
Rene Gollent
979786f1e6 Don't show the total number of items if 0 (as will happen in the case of move operations since we skip the pre-flight count for those). Fixes ticket #3722.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30140 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-12 22:33:21 +00:00
Ingo Weinhold
4fba3522e0 * Removed src/kits/tracker/OpenHashTable.h. The shared version in
headers/private/shared is newer, though with small interface changes.
* Removed the unnecessary Debug.h include in
  headers/private/shared/ObjectList.h.
* Adjusted sources using these headers, mostly by adding missing includes.
* Lots of automatic whitespace cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30123 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-11 21:24:32 +00:00
Stephan Aßmus
4024eadfda My previous fixes had an oversight and the very last fix introduced new drawing
problems. Basically, forceDraw was set to false which then prevented any new
items to be drawn when there was no scrolling necessary. Now we use a local
variable "needToDraw" that starts with "true" on each iteration. I don't really
know why forceDraw is even passed to the function in the first place. Maybe
it should be called "disabledDrawing" with reversed meaning and should be used
for windows that open on another workspace....


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30102 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-10 08:58:13 +00:00
Stephan Aßmus
039878c152 * Set forceDraw to false when we have already drawn the pose, not when
there is only some pending scrolling.
* Fixed my previous ScrollTo() change to actually scroll in the two directions
  in two steps...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30078 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-09 19:24:45 +00:00
Stephan Aßmus
72cd1c7726 Fixed some weird fallback code, I don't think it's used and added a TODO
for whoever stumbles there next...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30067 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-09 14:05:31 +00:00
Stephan Aßmus
080385d599 Fixed logic to detect and warn about changes in the system folder. Merged
the "system" folder and "system folder or it's contents" case.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30057 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-09 09:30:33 +00:00
Stephan Aßmus
000f19e226 Small coding style cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30056 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-09 09:29:33 +00:00
Stephan Aßmus
61d107c8a7 Fix hardcoded paths for this *test* component.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30055 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-09 09:29:07 +00:00
Stephan Aßmus
6a71afb0d1 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
2009-04-08 15:28:53 +00:00
Axel Dörfler
1f904d1e03 * If you do something, please try to do it right, or at least test it.
* The alert escape check was broken in several ways. First of all, the buttons
  can be NULL which suddenly crashed apps. Second of all, the check didn't even
  work as it was reversed.
* Also, I disabled the code for now, as I really don't think string comparison
  heuristics are the way to solve this.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30018 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-08 08:23:07 +00:00
Stephan Aßmus
7dc5caf242 When changing icon size, pose locations need saving. That's not so nice, but
pose locations are always in view coordinates from the perspective of BPoseView,
even if the unscaled location wouldn't change from the perspective of BPose.
This could be removed when storing and restoring unscaled location. I was just
not sure were all this happens.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30010 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-07 21:34:27 +00:00
Stephan Aßmus
96da4b41b0 * 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
2009-04-07 21:09:10 +00:00
Rene Gollent
e419aeed10 If drag and drop with the context menu is used (right click drag / control + drag), treat "Copy Here" as a request to duplicate the item if the destination is the same folder.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29988 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-07 03:31:33 +00:00
Stephan Aßmus
7cdbeb0e13 * Changing the icon size will now work more like simply scaling/zooming the
view. BPose converts the scale in SetLocation() and Location(), which does
  _not_ affect performance for list mode, BTW. So that should be fine.
* The center of the pose view is now locked when changing the icon size.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29974 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-06 19:46:01 +00:00
Stephan Aßmus
e70b6d957a * 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
2009-04-06 18:18:12 +00:00
Stephan Aßmus
f5bdd55475 Patch by Maxime Simon with small changes by myself: Change the icon size
menu as discussed in ticket #2431. There are only three main shortcuts for
icon, mini icon and list mode. Additional short cuts have been added to
increase and decrease the icon size. I've moved the shortcut from the 32
icon size to the menu item for the icon size menu itself. Unfortunately,
icon placement does not scale with the size (as before) and switching to
icon mode from one of the other modes does not restore the previous icon
size. Looking into it.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29967 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-06 13:50:24 +00:00
Jonas Sundström
019f90e634 Setting the escape key as shortcut for the Cancel options of Tracker's dialogs.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29958 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-05 23:47:58 +00:00
Rene Gollent
0f617d4476 Fix several cases of forgetting to include libstdc++ in the libs. This allows a successful build of Haiku on gcc4 Haiku, though it's presently unclear to me why this didn't prevent linking on any other platform (gcc2 haiku, and gcc2/4 cross compilers from FBSD had no issues here).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29957 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-05 22:33:53 +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
Stephan Aßmus
4d16240245 * Should fix the default desktop background (Haiku logo) since the move of the
artwork folder.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29922 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-05 08:41:48 +00:00
Stephan Aßmus
86e64a7355 Patch by Maxime Simon: Add short cuts ot the icon modes. Thanks a lot! Fixes
ticket #2431.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29905 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-04 17:26:52 +00:00
Axel Dörfler
317bd7dda3 * Changed directory structure as suggested on the mailing list.
* Made the TimeZoneView less error prone, and also actually use Haiku code (the
  previous check didn't work since it used #if, not #ifdef).
* Also took the liberty to rename our boot loader to haiku_loader, since I had
  to update the nasm binary anyway. Updated the assembly sources to nasm 2.0.
* I haven't found where the synth location in the MIDI code is specified,
  though.
* Also, NetBootArchive, and FloppyBootImage haven't been updated yet. Will do
  so next.
* Some optional packages still put their license to beos/etc/licenses. I didn't
  update them yet, as we'll probably do so anyway at some point. Also, I think
  we might want to introduce a common/data/licenses instead for those.
* If you encounter any problems, please tell!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29876 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-03 09:02:44 +00:00
Stephan Aßmus
7ce973c676 Patch by plasm with some modifications by myself: Implement natural sorting
in Tracker. Strings are compared in chunks where the type of each chunk can be
numer or string. Thanks a lot!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29845 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-01 09:28:32 +00:00
Stephan Aßmus
8ad62dec5a Patch by Obaro Ogbo: Provide a PreferredWidth() implementation for the
Relation attribute column in the Open With panel. So double clicking will
size it properly. Fixes ticket #3035. Thanks a lot!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29779 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-29 14:23:59 +00:00
Stephan Aßmus
86fb66a8dd Fixed a mixup of the flags and resize mode arguments. In my previous commit,
I wrongly assumed that viewMode == view flags.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29778 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-29 14:22:38 +00:00
Stephan Aßmus
dec2485ca0 Patch by jonas.kirilla: Allow the Tracker settings window to be quit by
Command-Q. Thanks a lot!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29772 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-29 08:36:55 +00:00
Stephan Aßmus
0834dd807f * 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
2009-03-28 19:30:39 +00:00
Stephan Aßmus
af20d1a13e Small cleanups.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29729 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-26 14:07:33 +00:00
Stephan Aßmus
ce65700663 Beautified the Tracker job status window:
* Centered icon in available space.
* Improved button layout.
* Pause button remains pressed when paused.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29668 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-23 15:03:41 +00:00
Stephan Aßmus
cafee0b7f5 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
2009-03-23 11:26:53 +00:00
Stephan Aßmus
08ff393d50 Fix DraggableContainerIcon drawing after recent BControlLook method signature
change for DrawMenuBarBackground(). The borders are passed one position later.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29632 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-21 17:39:52 +00:00
Axel Dörfler
81824f60e5 * Auto mounting now works correctly for CDs and USB sticks, thus fixing bug
#2629.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29585 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-18 10:17:43 +00:00
Axel Dörfler
8f464bc9ad * Added support for automatic mount on media change. Not yet tested, though,
and probably only works for CDs as is (ie. not for USB sticks).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29584 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-18 08:57:46 +00:00
Stephan Aßmus
f5812f4b02 r28745 prevented overwriting the global type ahead string buffer from
an unrelated window. However, we broke unsetting the type ahead string on the
little info view. This fixes this again, the type ahead string never went
away.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29530 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-14 21:06:12 +00:00
Michael Lotz
492e224b8e * Update the signature of _kern_load_image(). It has been changed and therefore
the calls to it always failed.
* Check what error is returned and read the approprite details out of the
  message.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29516 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-14 14:16:17 +00:00