Commit Graph

32609 Commits

Author SHA1 Message Date
Ingo Weinhold
4e2cd77109 * Added new interface BufferCache -- basically a memory allocator with the
option to cache a freed buffer -- and implementations
  BlockBufferCache{NoLock,Kernel}.
* ZlibPackageDataReader does now dynamically get its read and uncompress
  buffers from a provided BufferCache when needed.
* Allocating the buffers once and keeping them over the whole life time was a
  bit too memory heavy, since we create a reader for every file for which a
  vnode is created. A FS module global factory provides a buffer cache.
* Added a mutex to PackageFile::DataAccessor which guards the access to the
  data reader which isn't thread safe.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34115 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-18 15:26:11 +00:00
Axel Dörfler
47212dddf5 * Made the Alt-Shift-Fx behaviour consistent with Ctrl-Alt-Shift-Arrow (ie.
take the active window to the new workspace).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34114 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-18 15:03:58 +00:00
Axel Dörfler
916b34101c * Corrected Alt-` workspace switch description.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34113 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-18 13:49:19 +00:00
Axel Dörfler
0296ba19bb * For dead keys, the keyboard input device now sends a B_UNMAPPED_KEY_DOWN
event.
* This allows applications to listen to keys independent to their dead key
  status.
* The app_server keyboard filter now also check for B_UNMAPPED_KEY_DOWN.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34112 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-18 13:47:08 +00:00
Axel Dörfler
bac2cf0b57 * Cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34111 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-18 12:38:59 +00:00
Axel Dörfler
842aad23f9 * Fixed focus behaviour of FFM on workspace switch - let SetFocusWindow() decide
which window to give focus, it already does the right thing.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34110 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-18 11:40:33 +00:00
Axel Dörfler
09749e95dc * Added a BWindow::InViewTransaction() that determines whether or not the
window is currently updating its drawings as suggested by Stippi.
* Add this method to decide whether to call _FontChanged() in
  BListView::SetFont().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34109 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-18 10:48:44 +00:00
Axel Dörfler
289d85d2ac * BWindow::SendBehind(NULL) will now send the window to back.
* Added shortcuts ctrl-alt-F to get a window to front, and ctrl-alt-b to move it
  to the back.
* Updated the user guide with these shortcuts, and also explained the missing
  "single click to bring window to front" behaviour.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34108 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-18 10:33:32 +00:00
Stephan Aßmus
2ecfe97e37 * Some cleanup for 80 chars/line limit
* The target volume block size is passed to the CalcItemsAndSize() function
  to get a more accurate picture of whether items will fit. Before, it would
  assume hard coded 1024 bytes block size.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34107 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-18 10:21:25 +00:00
Stephan Aßmus
d0f1a68746 Added method BlockSize() to get the block size of the underlying file system.
Untested but with good chances to actually work.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34106 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-18 09:47:42 +00:00
Stephan Aßmus
1e179f36e2 Seems like I have forgot to commit deleting the AutoMounter code from Tracker
back then?


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34105 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-18 08:55:27 +00:00
Stephan Aßmus
78248acdcc The usage of BStatusWindow::HasStatus() was really bogus. First of all
HasStatus() and UpdateStatus() were not run in the same lock, so the job
view could be gone anyway. And secondly, both methods iterate over all status
items to find the one with the correct thread. Doh, if we don't have enough
work to do, lets make some! Of course this was not critical in any case...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34104 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-18 08:54:44 +00:00
Axel Dörfler
bce3b09aed * Applied patch by Idefix that fixes bug #4730 by removing the iterate over
directory functionality without Tracker.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34103 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-17 22:07:03 +00:00
Ingo Weinhold
744a460c12 * Package: Added Open() (and matching Close()) method, which opens the package
file once, tracking an open count.
* Added VFSInit()/VFSUninit() methods to the Node and PackageNode class
  hierarchies, called by the {get,put}_vnode() PackageFile implements them to
  set up/tear down access to the file data. Also added a Read() reading the
  data.
* Implemented the open(), free_cookie(), and read() FS hooks for real. Reading
  files works now. Executing doesn't yet -- it requires working with
  IORequests in a way not supported by the userlandfs.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34102 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-17 22:04:46 +00:00
Ingo Weinhold
37fca3d23f ZlibPackageDataReader::ReadData(): We were always copying the data from the
start of the chunk, which is wrong for non chunk aligned offsets.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34101 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-17 21:50:48 +00:00
Axel Dörfler
42d7962dc9 * Applied patch by Idefix that fixes the recognition rule of text/x-patch, and
thus closes bug #4749.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34100 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-17 17:18:31 +00:00
Bruno G. Albuquerque
4459056dda - Fix tabs. Thatś the price I pay for doing Haiku development outside Haiku.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34099 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-17 17:09:08 +00:00
Ingo Weinhold
9ccaaa9642 * Filter out write permissions.
* We now report more correct stat data. The information are retrieved from the
  Package* objects.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34098 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-17 16:40:18 +00:00
Bruno G. Albuquerque
7d911b2ad9 - Coding style fixes. Thanks Axel for the heads up.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34097 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-17 16:13:00 +00:00
Ingo Weinhold
694cb0b270 * Implemented intermediate base class PackageLeafNode for PackageFile and
PackageSymlink with a "fat" interface.
* Replaced File and Symlink by fat class LeafNode.
* Added Package* object management to Directory and LeafNode.
* Implemented packagefs_read_symlink(), so symlinks work now.
* Added some missing locking the kernel interface.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34096 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-17 16:10:21 +00:00
Stephan Aßmus
9d6405b724 Code cleanup, no functional change except for changing BWindow::Run() into
a BWindow::Hide()-BWindow::Show() combo.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34095 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-17 16:10:18 +00:00
Axel Dörfler
dcf71e1cae * Cleanup, no functional change.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34094 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-17 16:08:22 +00:00
Axel Dörfler
8fd850fca9 * Added "address" specifier for the "allocations" KDL command.
* Removed superfluous malloc.h include.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34093 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-17 16:07:58 +00:00
Bruno G. Albuquerque
9306738deb - Only try to get usage info if there was no error with waitpid.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34092 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-17 16:00:10 +00:00
Bruno G. Albuquerque
ada17216f9 - Added wait3() and wait4() to the bsd compatibility library.
- Untested, but should work (will test it when I get home later today).
- This is my first attempt at adding something for compatibility reasons. Let
  me know if something in wrong.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34091 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-17 15:53:17 +00:00
Axel Dörfler
931d8b07e8 * Reverted r32216 (by mmlr): it's not a good idea to access a variable on the
stack after that has just been changed, and does not contain the data one
  would assume.
* This fixes the leaking the vm_translation_map_arch_info objects, and thus
  bug #4957.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34090 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-17 14:56:51 +00:00
Axel Dörfler
3917e20402 * Minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34089 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-17 14:54:32 +00:00
Ingo Weinhold
cc32c48494 Work in progress:
* The FS parses package files from "/boot/common/packages" and builds an
  node tree representation of the contained entries. Merging directories should
  work. Lots of other stuff is missing yet, though.
* Implemented the hooks for directory entry lookup and iteration. So it's
  possible to see the contents of the FS at least.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34088 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-17 11:46:19 +00:00
Axel Dörfler
82df777b3d * The keyboard driver will now send a "key up" event for the emergency keys
afterwards; ie. the alt key is no longer stuck after visiting KDL.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34087 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-17 11:41:11 +00:00
Ingo Weinhold
cf17d2695d Added Referenceable.cpp -- it's in the kernel, so we need it.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34086 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-17 11:37:11 +00:00
Ingo Weinhold
713cc7fc84 Added fs_read_attr().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34085 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-17 11:35:47 +00:00
Ingo Weinhold
6dccfe1317 * Added interface ErrorOutput and implementation StandardErrorOutput and used
them in the PackageReader instead of fprintf().
* Got rid of unconditional printf().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34084 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-17 11:33:50 +00:00
Axel Dörfler
96c4511a25 * Shuffled functions around, no functional change.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34083 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-17 10:23:53 +00:00
Jonas Sundström
0e02469e9c Made Workspaces' initial size and shape depend on screen size, screen proportions and the current layout of one's workspaces. Adjusted Zoom() to be proportional. Also added proportional resizing, which is optional currently, pressing shift while resizing.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34082 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-17 02:49:43 +00:00
Jonas Sundström
5a0982b580 Spelling
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34081 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-16 23:35:34 +00:00
Stephan Aßmus
031918562b Disabled tracing again.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34080 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-16 22:51:06 +00:00
Stephan Aßmus
ab18a50229 * Moved the about alert handling into the application
* Simplified the handling of the first window and removed FirstWindow(),
  we can tell by fPlayerCount.
* Both the above would fix a crash when requesting the about alert with the
  first window already gone. Respectively another player instance opening
  if fFirstWindow was reset to NULL after some recent revision.
* Implemented restoring the current playlist, index and position in the file.
* Devised a more robust way to solve asynchronous seeking. The Controller is
  now notified that a seek request has been handled with a dedicated hook.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34079 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-16 22:48:19 +00:00
Stephan Aßmus
9a7463857a Window size handling is now a bit more robust (all this affects audio only
and empty windows only):
* New windows use the width from the window that was last resized by the user.
* The first window uses the stored window position and size.
* When switching from video content to audio content, the last window width
  from previous audio-only content is restored.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34078 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-16 18:40:45 +00:00
Axel Dörfler
88b38f2901 * Moved loading roster settings to the point after it has been added to the
registrar.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34077 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-16 18:13:27 +00:00
Axel Dörfler
7162a69600 * Disabled excessive debug output.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34076 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-16 18:07:56 +00:00
Stephan Aßmus
f907fa59c3 Work in progress for storing some window position/size related settings of
the first window, and restoring them for audio content.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34075 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-16 17:36:32 +00:00
Axel Dörfler
07d4556346 * Change get_next_sem_info() to be index based, not ID based - the semaphore IDs
aren't monotonically increasing which this code was assuming. This fixes bug
  #4917.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34074 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-16 13:08:36 +00:00
David McPaul
9b716314fc Rework Frame Length Calculation. Fixes issue with tllts mp3
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34073 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-16 11:57:19 +00:00
David McPaul
bd0058e0a7 Rework Frame Length Calculation. Fixes issue with tllts mp3
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34072 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-16 11:56:57 +00:00
Rene Gollent
f4dc59983b Partially implement ticket #4916:
- Rename "Configure Favorites..." to "Edit Favorites...".
	- Remove the old-style Configure Favorites dialog in favor of simply
	  opening the favorites folder (~/config/settings/Tracker/go) in a
	  Tracker window for the user to manipulate.
	- Rename the "Favorite Folders" section to simply "Favorites" as files
 	  are also allowed (i.e. to easily open a template document).
 	- Removed completely arbitrary (and silent) 20 item limit to favorites
 	  list.
 	- Automatic whitespace cleanup
Still to do: Grab the ref filter from the file panel (if any) and run the
favorites through it as well, since we want to filter out any non-folder
favorites that the app is incapable of handling. Also, the setting for
the favorites menu to show recent documents needs a new home, as it was
previously in the no longer existing Configure Favorites window. Suggestions
welcome, as I'm not currently seeing a spot in the Tracker prefs that would
make good sense.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34071 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-16 01:07:40 +00:00
Jonas Sundström
7dd65803e7 Translation by Johan Holmberg.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34070 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-16 00:32:14 +00:00
Ingo Weinhold
b932032a35 Implemented the most basic functionality required to cleanly mount and unmount
(at least in userlandfs).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34069 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-15 23:26:45 +00:00
Ingo Weinhold
246aa3e3e2 Debug support functionality -- tadjusted version taken from userlandfs.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34068 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-15 23:23:32 +00:00
Ingo Weinhold
9d14ecca03 Build package and packagefs with -Werror.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34067 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-15 23:22:27 +00:00
Jonas Sundström
2e71609917 Fixed memory leaks. Thanks Stephan and Rene! Added naive sorting of the list of available languages, meant to be replaced.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34066 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-15 22:11:50 +00:00