Commit Graph

28471 Commits

Author SHA1 Message Date
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
5d67bb7cfa Use BControlLook new BScrollView drawing method. Should have been part of
last commit...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29662 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-23 11:20:16 +00:00
Stephan Aßmus
74bb70aef9 Moved the BScrollView frame drawing entirely into BControlLook.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29661 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-23 11:19:31 +00:00
Stephan Aßmus
cda78e4f8e Fixed more inconsistencies in layouting the menu bar. These would mostly
result in the BMenuField not always drawing all of the frame around the
menu bar correctly, for example cutting off at left for divider = 0.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29660 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-23 11:18:26 +00:00
Stephan Aßmus
227e55e5aa Also allow looking at save file panels.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29659 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-23 11:14:55 +00:00
Michael Pfeiffer
b94767fe93 Updated BePDF optional package to version 1.1.1b1.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29658 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-23 06:46:18 +00:00
Jérôme Duval
89bbd37a10 updated freetype to 2.3.9
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29657 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-22 23:19:15 +00:00
Ingo Weinhold
f11f17301f Implemented the attribute directory methods. Untested yet -- sshfs doesn't
support the respective xattr hooks.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29656 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-22 22:15:23 +00:00
Ingo Weinhold
fd4f53a7a0 Implemented ReadSymlink() and Access().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29655 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-22 18:10:00 +00:00
Ingo Weinhold
b5884f05a3 * Got rid of from_fuse_error(). The client FS hooks are supposed to return
negative error codes now (e.g. using the new error mapping mechanism). This
  is necessary since the read() and write() hooks have to return a size or a
  negative error code.
* Implemented Read(). We can now read sshfs files.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29654 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-22 15:49:10 +00:00
Ingo Weinhold
39d58e2f49 Experimental approach to tackle the problem with Be's negative error codes and
ported software:
* If the macro B_USE_POSITIVE_POSIX_ERRORS is defined the POSIX error code
  constants (ENOMEM, EINTR,...) will have positive values.
* Introduced the macros B_TO_{POSITIVE,NEGATIVE}_ERROR() which do convert a
  given error code to a positive/negative value.
* Added static library libposix_error_mapper.a that overrides all POSIX
  functions (save the ones I forgot to add :-)) directly meddling with error
  codes (having them as parameter or returning them) dealing with the
  positive<->negative error code conversions. The functions have hidden
  visibility, so they affect only the shared object they are linked into.
* So ideally all one has to do is to build a ported software with
  -DB_USE_POSITIVE_POSIX_ERRORS and -lposix_error_mapper and be good with
  respect to error code problems.
* Potential issues:
  - When mixing ported and Haiku native code, i.e. using Haiku native code in
    a ported software or using a ported library in a Haiku native application
    care must be taken to convert error codes where the two interface. That's
    what the B_TO_{POSITIVE,NEGATIVE}_ERROR() macros are supposed to be used
    for.
  - A ported static library can obviously not be linked directly against
    -lposix_error_mapper. The shared object linking a against the ported static
    library has to do that. The previous point applies when that causes mixing
    with Haiku native code.
  - When dependent ported libraries are used probably all of them should use
    the error mapping.

Comments welcome.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29653 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-22 15:43:03 +00:00
Stephan Aßmus
4b0f97863f Change label of Mount menu to just "Mount", as in Tracker. The items mounted
could be something else than disks anyways.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29652 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-22 11:49:50 +00:00
Stephan Aßmus
5b8725efcc * Added code for opening a BFilePanel.
* Made sure that the BButtons use the maximum available width. This makes the
  whole layout use the full available size.
* Added optional code to test layout item usage of BTextControl and BMenuField.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29651 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-22 11:29:40 +00:00
Stephan Aßmus
31852cb13e Various fixes to BMenuField behavior:
* In layout mode, using a BMenuField directly will make it behave like using
  a fixed size BMenuField in non-layout mode. This is open for debate, but
  not a change to the previous behavior. When using the Label and MenuBar-
  LayoutItems though, the behavior is now changed to be more what one would
  expect, ie the BMenuBar part is layouted across the full available width
  just like it happens with BTextControls.
* Fixed invalidation of the BMenuBar when it auto-resizes according to picking
  another item, and when it is resized due to layout changes.
* Fixed the problem with growing BMenuFields in file panels after changing
  folders the first time. The fix is not so nice, but the purpose of setting
  the menu item margins is to make sure it renders at the same vertical
  offset as the BMenuField label. The better fix would be to change the
  calculation of the content location or required margins in the BMenuItem
  code... however the BMCPrivate code needs to account for the popup indicator
  in the margins so I just kept the fix for the offset there as well.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29650 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-22 11:27:01 +00:00
Stephan Aßmus
ca4463c296 Small cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29649 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-22 11:19:04 +00:00
Joachim Seemer
b3abe8046a * Small improvements here and there, esp. heading hierarchy.
* Renamed "Showimage" to "ShowImage". Thanks mmadia.
* Some more tweaking of box padding in the CSS.
* Added "Expander", adjusted contents of applications.html


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29648 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-22 08:45:56 +00:00
David McPaul
5bdaad49f9 include some bug fixes from libmpg123
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29647 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-22 07:24:44 +00:00
David McPaul
7eae23728e Standard Index now handles entries that are absolute offsets instead of relative
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29646 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-22 07:22:39 +00:00
Ingo Weinhold
a2dad9e1a9 get_library_symbol(): Simplified the RTLD_NEXT case. The caller is not bound
to search for a function with the same name as the calling function, so we
really don't need to find the calling function; the calling image suffices.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29645 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-22 01:39:34 +00:00
Ingo Weinhold
89569e1852 * Include <Errors.h> -- we're checking for an error constant.
* Automatic whitespace cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29644 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-22 01:33:47 +00:00
Rene Gollent
24fde47c7a Introduce an experimental new scheduler intended to work fundamentally the same as our existing one, but with various optimizations to better handle the SMP case:
1) We now maintain a runqueue per CPU, rather than a single global shared queue. Idle threads are segregated into their own queue for simplicity.
2) Enqueueing threads is now somewhat more intelligent - if the thread is pinned, it is always enqueued onto that core. Otherwise we enqueue it on whichever CPU it previously ran, unless it either hasn't run before, or that core has been disabled via ProcessController. If so, we try to enqueue it on whichever core has been the most idle recently.
3) The above allow various simplifications to thread scheduling. Pinned threads and/or disabled cores are now no longer special cases that need to be dealt with. If a CPU has no threads ready, it looks for another one to steal a thread from, though that part still needs some tuning along with enqueueing for load balancing purposes.

The chief aim here is better load balancing and support for soft affinity. However, at the moment the overall behavior still exhibits some regressions compared to the old scheduler, so it's disabled by default. If you wish to experiment/debug with it, instructions for enabling it can be found in scheduler.cpp. Much thanks to Ingo, Axel and everyone who's helped with either code review/advice or testing so far.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29643 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-22 00:39:51 +00:00
Oliver Ruiz Dorantes
3c80fd53bf Show local version information, update about box credits
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29642 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-21 23:09:56 +00:00
Oliver Ruiz Dorantes
937bccdbde Avoid destroying the descriptors at closing devices. Thhis allow quitting and relaunching the bluetooth_server without losing functionality
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29641 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-21 22:27:13 +00:00
Oliver Ruiz Dorantes
3226176456 Fix array indexation
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29640 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-21 22:06:15 +00:00
Oliver Ruiz Dorantes
3fdaa5bf72 - Drop R5 compatibility by removing first 4 bytes in the IOCTLs containing the size of the command.
- Implement mechanism GetProperty to retrieve detailed information about the LocalDevice
- Generic BluetoothDevice interface changed and adapted
- Implement ReadLocalVersion to be aware of the bluetooth specification supported by our localdevice



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29639 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-21 21:38:00 +00:00
Stephan Aßmus
aac2df0f0d The enabling/disabling of applications flags is now properly tracked and
the new BAppFileInfo feature to remove those flags is used to actually
store this according to what the user configured. If this discrepancy was
the only reason for ticket #3002, then it should be fixed now.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29638 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-21 21:20:20 +00:00
Oliver Ruiz Dorantes
bd88ac9707 - Move and implement some helper functions to a non private header(revision version etc)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29637 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-21 21:18:51 +00:00
Stephan Aßmus
22920adf3e Added a way to remove the application flags from the BAppFileInfo. The
flags would not tell anything, since B_SINGLE_LAUNCH equals 0.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29636 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-21 21:16:23 +00:00
Ingo Weinhold
be07036291 A non-empty volume name looks much better in Tracker.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29635 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-21 21:09:29 +00:00
Ingo Weinhold
fe24dc3df4 * Fixed the directory filler callbacks. It is possible that it is passed a NULL
struct stat (new callback) or a 0 type. So if we don't have a node type, we
  need to stat the node.
* Added simple opening/closing of files (no reading/writing yet).

It's now possible to browse sshfs volumes.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29634 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-21 20:58:15 +00:00
Ingo Weinhold
c029607ba8 Support 0 file descriptors/infos in poll()/wait_for_objects(). Fixes #3591.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29633 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-21 20:23:36 +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
Stephan Aßmus
cb6afcb146 * Give Deskbar a refreshed and cleaner look.
* Fixed a bunch of problems in layouting the various views. (For example,
  the last app menu entry is no longer one pixel too short, but there was
  more...)
* Fixed Deskbar being not wide enough for the Haiku logo in certain modes.
* Enabled the mount menu. I think it's a good idea to have at a more prominent
  location where new Haiku users may look for it (Gnome also has this in
  the main panel).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29631 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-21 17:27:06 +00:00
Stephan Aßmus
40a10e1c52 Added method to draw an arrow shape like that of the BScrollBar.
TODO: Adjust BScrollBar to use it.
TODO: Make it virtual like the others, but I don't want to break Vision and
other native Haiku apps just now.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29630 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-21 17:22:56 +00:00
Oliver Ruiz Dorantes
49c80ab55d - Add KDL command to check driver memory usage
- Use the fetching function to get snetbuffers => reduced memory leaks& usage, used only 4 buffers per device



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29629 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-21 16:01:34 +00:00
Oliver Ruiz Dorantes
a99504cae3 - Fix the snbuffers recycling mechanism. Park function was not parking if the queue was empty at first instance. Fetching caused corruption freeing the previous buffer of the best matching one.
- Add debug methods



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29628 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-21 15:35:22 +00:00
Stephan Aßmus
55c030c4e2 Unbroke the "Mount Menu in Deskbar" feature. It re-uses the MountMenu code
from libtracker.so. BTW, I like this feature, since it gives mounting volumes
more visibility. But this commit does not enable it. Use

-SubDirC++Flags -D_SHOW_CALENDAR_MENU_WINDOW=1 ;
+SubDirC++Flags -D_SHOW_CALENDAR_MENU_WINDOW=1 -DMOUNT_MENU_IN_DESKBAR=1 ;

in the Deskbar Jamfile to enable it.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29627 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-21 11:34:06 +00:00
Michael Pfeiffer
1b1b6fce17 Applied patch of ticket #3169 by oco: Set default partition correctly.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29626 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-21 10:23:34 +00:00
Rene Gollent
ad6da7913a Set the initial level based on where we first click. Should fix ticket #3586.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29625 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-20 18:52:57 +00:00
Ingo Weinhold
41464387bd As per the documentation of the statfs() hook, some statvfs members are
ignored. So we must not use them.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29624 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-20 16:34:23 +00:00
Ingo Weinhold
8d0f474ca1 * Added support for the zero offset method for the readdir() hook's filler
callback.
* Added support for the deprecated getdir() hook.
* Fixed various bugs.

Listing the root directory with sshfs does now work. For subdirectories
stat()ing the entries seems to fail, which might be due to the yet missing
open() support.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29623 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-20 16:13:12 +00:00
Ingo Weinhold
b4d95b2afa Forgot to add in my previous commit. Defines the FUSEEntry, FUSENode structs
and the respective hash table definitions.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29622 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-20 11:15:32 +00:00
Axel Dörfler
c8b762e456 * Userland applications can no longer delete kernel semaphores. However, they
are still allowed to delete semaphores of other teams...
* Anyway, this fixes bug #3585.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29621 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-20 08:29:50 +00:00
Ryan Leavengood
0237261547 Fix #3577: allow the mouse wheel to change volume in the DeskBar widget. Mouse
up increases volume, mouse down decreases it, by 5 at a time.

One issue is you must have the pointer directly over the slider for this to
work. I wonder if the B_POINTER_EVENTS in SetEventMask should also apply to
mouse wheel events?


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29620 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-20 03:26:00 +00:00
Ingo Weinhold
f06f733751 * More work on the file system initialization. Mounting/unmounting works now
with sshfs.
* Added basic node and entry management, which we need, since the FUSE
  interface works with paths only, while our VFS plays with node IDs and
  node cookies.
* Implemented most of the mandatory hooks (vnode operations, lookup, read stat,
  open/close/read dir). I was hoping to get directory listings with sshfs now,
  but as I had to find out, it implements the deprecated getdir() while we
  only support the new {open,read,release}dir() interface yet.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29619 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-20 01:26:53 +00:00
Ingo Weinhold
02442071c3 Ugh, apparently I forgot to implement HasVNodeCapability(). Now we're actually
saving the trips to userland for hooks that aren't implemented there.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29618 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-20 01:18:32 +00:00
Ingo Weinhold
08edcdfb61 Added interface constant for FUSE.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29617 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-20 01:15:26 +00:00
Ingo Weinhold
609c5aceee The open() and opendir() hooks are mandatory.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29616 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-20 00:38:34 +00:00
Rene Gollent
591911f345 Update gcc4 package with the aforementioned changes.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29615 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-19 23:08:35 +00:00
Rene Gollent
9dd3f93aa0 Updated gcc2 Vision package with some UTF-8 bugfixes from Francois, and to pick up some updates made to ControlLook in the Haiku tree.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29614 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-19 22:17:11 +00:00