Commit Graph
100 Commits
Author SHA1 Message Date
Stephan Aßmus 04910d5d52 Fixed various problems that caused the scrollbars and the group view to be
layouted incorrectly:
* Only remove the insets if there are any when no tabview is needed.
* Use Bounds() when creating the scrollbars, not Frame() (this probably
  worked correctly only when the DynamicScrollView was the only child in a
  window...)
* Simplify layouting the scrollbars and target view, always do so, since it
  isn't clear if the host window uses the old style view follow modes, the
  target view had no follow mode anyways, so we need to layout it for sure.
* Correct the "edged in" effect of the TitleView drawing.

This fixes the bad drawing artifacts in the Media preflet when scrollbars
are needed to embed a larger parameter web view.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28394 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-31 11:43:05 +00:00
Stephan Aßmus 1e2b06a58b Patch by Humdinger:
* Slightly improved the wording on the Welcome page
* Corrected some wrong HTML tags here and there
* Improvements on the Bug Reports page
* Added paragraph on file panels on the general GUI page
* Added Filesytem Layout page
* Added Boot Loader page (kernel boot options)
* Added Keyboard Shortcuts page (also moved the paragraph about default command
  key there)
* Prepared index pages for Applications, Preferences, Demos and Desktop Applets


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28389 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-31 09:08:15 +00:00
Stephan Aßmus 9d42ec70c9 Several problems prevented USB HIDs to be opened, closed and reopened:
* The first problem was introduced by myself, when I added deleting the
  transfer semaphore in HIDDevice::Close(). Obviously, I should (re)create it
  in Open() then, or it won't work another time. (Open() is now the only place
  where it's created.)
* The second problem was when transfers have already been scheduled the
  last time the device was open, but never triggered yet. We need to reset the
  fTransferUnprocessed flag, or we won't schedule another transfer but
  wait on the transfer semaphore anyways in Control(). I also added
  canceling the usb transfers with the stack in Close().
* The remaining problems were specific to the KeyboardDevice, the repeat
  key stuff needs to be reset in Open(). I also added unsetting the repeat
  key when the key release is detected, but this should have already worked,
  because the semaphore timeout was reset to B_INFINITE_TIMEOUT.

One can now "/system/servers/input_server -q" and everything will be back
in working order. There may be some remaining problems in the Wacom driver
which I have not yet looked at.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28368 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-29 21:23:19 +00:00
Stephan Aßmus e01a043190 Sorry for the confusing patch...
* Made KeyboardInputDevice more similar to MouseInputDevice, the object to
  track individual keyboards has become the class KeyboardDevice. Moved
  much functionality that used to be in KeyboardInputDevice into
  KeyboardDevice.
  Functionally, it should still be the same, but there are two important
  changes:
  - Each KeyboardDevice now has it's own Keymap. At first, it is not
    visible by the user, since all KeyboardDevices still adopt the keymap
    if the user reconfigures it. But it will make it easier to assign
    individual keymaps to each attached keyboard (and perhaps associate them
    with a vendor/product or some other means). The more immediate side effect
    is that there is no longer a confusion about the keyboard locks. If
    you press NumLock on your external keyboard, it will no longer enable
    NumLock on your notebooks internal keyboard.
  - KeyboardDevice now has a Stop() method, which it will call in it's
    destructor. This will make sure that the control thread is cleanly
    exited and does not end up invoking methods on a deleted object.
* Rewrote the tracing implementation in MouseInputDevice.cpp. At least it
  helped track me down the following problem:
* Both KeyboardDevice and MouseDevice now set fActive to "false" *before*
  closing the device. Since the control threads run at high priority, chances
  are high that rescheduling happens as soon as the device unblocks in
  ioctl() and returns an error. In that case, the control threads would
  check fActive and it would still be "true" and the whole idea of bailing
  out because we're already in Stop() would not work, causing a double free
  in the end.

All of this is nice and more correct, but input_server is still crashing
when restarting it via "input_server -q"... :-(


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28352 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-27 22:40:03 +00:00
Stephan Aßmus 393f282c79 * Mark InputDeviceListItems only as running if calling Start() for the
device returned B_OK.
* In the InputServer destructor, don't check the fAddOnManager pointer,
  but check the success of calling Lock() on it instead, which should
  be much safer.
* In StartStopDevices(), really start or stop all published devices for
  the given BInputServerDevice, not only the first one found. Simplify
  the check whether anything needs to be done.
* Change a bit the return codes of StartStopDevices(). Especially the
  version that's supposed to start or stop all devices will still try
  to do it for the rest of them.
* Removed no longer needed _FindInputDeviceListItem().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28351 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-27 22:19:55 +00:00
Stephan Aßmus dab68c33ed * When a device closes, delete the transfer semaphore, so that threads blocking
on it are unblocked and get an error.
* Make fOpen volatile to prevent unwanted caching effects when checking it from
  different threads. (?)
* Check IsOpen() in the KeyboardDevice class in more acquire_sem_etc() return
  cases, analogous to the MouseDevice class.

I am still getting a problem when relaunching input_server with the input_server
add-on thread that ioctl()s on a USB keyboard fd, which should have never fired
because it's a fake device from a KVM. After the first input_server instance is
gone, this thread keeps on busy looping in acquire_sem_etc()->switch_sem() from
within the ioctl() of the KeyboardDevice usb_hid driver. Still on it.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28350 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-27 16:52:39 +00:00
Stephan Aßmus dae439fe60 Init the ref_count with 1, since the first AddPath() would leave it
at 0. A single AddPath()+RemovePath() would therefore leave a not
anymore needed path_entry(), while a AddPath()+AddPath()+RemovePath()
would remove/delete the path_entry while it was actually still used.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28349 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-27 16:44:58 +00:00
Stephan Aßmus 9dd2d40e39 Fixed a race condition and resulting deadlock I introduced, which
resulted in the keyboard not working (at least on my Lenovo/IBM T60).
The device control thread could become aware of a dead device
at the time another thread (for example the add-on manager thread)
is already waiting for it. Then it tried to remove the device and
got stuck on locks that the other thread already holds (InputDeviceItem
list lock). Now the control threads check the "active" flag before
trying to remove the devices themselves, which, when set, is a sure
sign that the devices are already being removed and they don't need
to take care of it.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28342 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-27 11:28:25 +00:00
Stephan Aßmus 0d2fb32f12 As pointed out by Axel, this TODO is invalid.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28341 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-27 10:55:41 +00:00
Stephan Aßmus 7e47a4ee00 patch by Humdinger:
* Various fixes and corrections
* Preparation for new sections


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28332 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-26 11:23:20 +00:00
Stephan Aßmus b93eb3a008 New and updated icon work by zuMi! Thanks a lot!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28322 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-25 11:10:11 +00:00
Stephan Aßmus c5555ad3c0 * Ignore B_ENTRY_REMOVED node monitor messages.
* When the device watcher/control thread encounteres an error when
  read()ing or ioctl()ing the device, don't just quit the thread and
  leave a stale device add-on hanging there, but instead trigger
  _RemoveDevice() to exit this cleanly. This also takes care of calling
  _RemoveDevice() only from one thread. However, it adds a race condition
  should a mouse or keyboard be unplugged and plugged at the same time.
  I need to think about how to fix that cleanly, although the situation
  may be theoretical only... This fix seems to fix another problem with
  hot-plugging USB mice, before this change, the first mouse entry in
  /dev/input/mouse/usb/ was never gone and I got two entries after unplugging
  and replugging.
* When using BObjectList configured to own the entries - don't delete the
  entries! Also don't call RemoveItem() before still using the item. Took
  me all day to find this one, because the code looked so... correct. :-}
* In _AddDevice() call _RemoveDevice() just for the sake of it. It is really
  important that no device with the same name is published twice. The PS/2
  driver behaves strange in that it publishes device more than once, if
  I understand correctly, until it decides that there is no device.
* Only StartMonitoringDevice() /after/ having performed the initial device
  scan! Or else we may get ourselves confused. I don't know if this was
  an actual problem, but the code was like that before and it seems saner
  to me. Seeing there is no locking in the device add-on itself, we may
  already enter the code from the node monitor thread.

This should fix #2894.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28321 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-24 21:46:36 +00:00
Stephan Aßmus 3363dbce1f Small coding style correction.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28320 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-24 21:34:14 +00:00
Stephan Aßmus 740d899004 * InputDeviceListItem::fDevice was not maintaining it's own memory for the
device path, but instead pointing to memory owned by some device addon
  instance.
* Added TODO in the AddOnManager init code about a possible race condition
  which I have not varified yet.
* Check the return code of BList::RemoveItem() before deleting the item...
  pure defensive programming.
* For the time being, print a warning into the syslog when a device name is
  registered twice.
* When failing to Unflatten() an event, don't continue in the code after
  deleting it.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28319 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-24 21:33:46 +00:00
Stephan Aßmus 1a1a4f955c * Updated the license header.
* Use new(nothrow) to allocate the MethodReplicant.
* fSignature needs to be free()d, not deleted.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28318 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-24 21:29:35 +00:00
Stephan Aßmus 944bc06060 * The way subdirectories for the input_server add-ons were defined was a bit
weird.
* Set fHandler to NULL in _UnregisterAddOns(), just in case it is called
  twice (which it probably never is... but be defensive).
* If a B_NODE_MONITOR message does not contain all the necessary fields,
  drop into the debugger when compiling in DEBUG mode.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28317 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-24 21:28:21 +00:00
Stephan Aßmus c2006b1a52 Don't skip over device items when re-scanning the watched folders for the
devices that were removed. Should use the BPathMonitor anyways...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28315 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-24 20:36:42 +00:00
Stephan Aßmus 2d265d2a5b * Removed some no longer used testing code.
* Fixed unloading the add-on image twice in error case of failing to
  add the add-on info to the list.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28307 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-24 09:20:00 +00:00
Stephan Aßmus 2469a6f427 * Rewrote the UpdateQueue class. It actually works now and would perform screen
updates during the vertical refresh, but it causes flickering again since
  there is no guarantee that screen regions will stay clean from the time that
  they were scheduled with the UpdateQueue until the UpdateQueue thread
  transfers them. Therefor it is still disabled.
* Refactored a bit the distinction between Invalidate() and CopyToFront().
  Invalidate() used to be virtual, but now CopyToFront() is. This was mainly
  needed for the app_server test environment, because the host window needs
  to call Invalidate() when the front buffer bitmap is clean. When the
  UpdateQueue is used, this needs to be CopyToFront(). Now the separation is
  cleaner in combination with the UpdateQueue.
* Fixed a problem in HWInterface::CopyToFront(): When separating the region
  outside the cursor and the region with the cursor during a transfer, it
  needs to hold the fFloatingOverlay lock to make sure the cursor is not
  moved in the meantime. This fixes graphics glitches with remnants of the
  cursor staying on screen. These could very rarely be observed, but much more
  often with the accelerated double-buffer mode.
* Enabled the accelerated double buffered mode, since it works now very well.
  I was able to test it with the nVidea driver on an nVideo 7300. It works by
  allocating a frame buffer twice the height of the configured screen mode.
  Then all drawing goes into the offscreen portion, including accelerated
  driver functions. AccelerantHWInterface::_CopyToFront() then uses acceleration
  to blit the clean regions in the offscreen portion of the frame buffer into
  the visible part. Please tell me if there are problems, for example when
  if there is too few video memory, or if a driver does not handle it correctly.
  To disable it, see src/servers/app/drawing/AccelerantHWInterface.cpp line 511.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28301 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-23 17:15:39 +00:00
Stephan Aßmus 8b8e062daa * DrawingEngine::CopyBits() was invalidating the wrong region (without offset)
when the HWInterface was using acceleration and at the same time double
  buffering.
* _CopyToFront() should always be used, since it calls a protected virtual that
  derived classes of HWInterface depend on. This fixes some graphics glitches
  in certain situations.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28300 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-23 17:02:46 +00:00
Stephan Aßmus c92e0a11c0 Fixed locations of binaries and some output.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28299 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-23 16:56:14 +00:00
Stephan Aßmus 3f3c9fdd04 Fixes to make the app_server test env compile, but I have various other
fixes in my tree to make it compile on R5 still. I don't really want to
check this in, I'd rather adopt the buildsystem to make it run on Haiku
itself...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28298 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-23 16:55:17 +00:00
Stephan Aßmus 39f3b70eaa Simplification.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28297 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-23 16:52:44 +00:00
Stephan Aßmus ba21d401c0 Added a small ReadMe about custom build headers.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28293 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-23 09:18:05 +00:00
Stephan Aßmus 14fbec3e8c * Correct perspective of flag and snapped path points to pixels
* moved flag slightly for better crispness
Hope you don't mind, nice work, Francois!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28266 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-21 18:48:13 +00:00
Stephan Aßmus bf7e59ef95 A new batch of icons from zuMi! Thanks!
* Slightly worked over the Image Editor icon to improve crispness at 16x16).
* The shadow of the pendrive could perhaps be improved.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28265 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-21 18:30:43 +00:00
Stephan Aßmus c4b429ca1c Patch by Humdinger:
* Refactored a User Guide style documentation from the previous Welcome
  documentation. The Welcome documentation links to the User Guide, the
  biggest difference is that there is now a separate contents page.
* Improvements to the text.
* Added Tracker-Add-ons page.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28211 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-17 09:53:43 +00:00
Stephan Aßmus 46bf89d15f * This should fix the build of FileTypes... I should have heard the warning... :-)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28185 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-16 21:10:43 +00:00
Stephan Aßmus dad7391aaa * Implement a method to track the need to save changes. Enabled the
Save menu item accordingly and ask the user to save changes when he quits
  the window and there are any changes.
  Most changes are tracked in a robust way, only icons are tracked with a
  more fuzzy method (the actual data is not compared). Whenever an icon
  (of the app itself or one of its types) is changed, then the preflet is
  convinced of the need to save, regardless of the icon is removed again or
  is changed to the visually same icon.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28182 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-16 20:45:48 +00:00
Stephan Aßmus 20ca748ade * Fixed a memory leak when creating the drag bitmap.
* Added an optional modification message that is triggered whenever the
  view adopts a new icon.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28178 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-16 19:26:19 +00:00
Stephan Aßmus 21f11263f6 aldeck + stippi:
* Improved the naming of the menu entry that removes a replicant from a shelf
  to be less frightning.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28177 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-16 19:21:01 +00:00
Stephan Aßmus 11c5023a77 Applied patch by Stephen Deken:
* Added a new class BAffineTransform, currently in the BPrivate namespace
  and the inofficial "shared kit".
* Extended BPolygon to be transformable by a BAffineTransform.

Thanks a lot!

Minor fixes by myself:
* The class accidentally still derived from agg::trans_affine.
* Added then missing comparator operators.
* Swapped the BPoint* and count arguments of Apply(), since that seems
  to be the more common order in the other Be API.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28176 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-16 19:10:10 +00:00
Stephan Aßmus bf3a206445 Fixed r28168, which introduced an app_server deadlock. Functions
which call into Desktop methods which in turn grab the window
write lock are never supposed to hold this write lock themselves
already, since the Desktop code takes care to not hold the lock
when for example calling EventDispatcher methods, which would
cause a deadlock (as in this example).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28175 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-16 18:01:55 +00:00
Stephan Aßmus f73283cf6a When opening mails with slightly larger attachements in Beam, I noticed that
it was quite sluggish. When opening larger mails, like a 1.14 MB mail for
example, it could take almost half a minute until it was displayed. It turned
out that the offending thread was in strstr().
This is an implementation taken from Wikipedia (declared as public domain
there), which makes the mails open instantly. This usecase may have represented
a worst-case scenario for the previous implementation. It may be beneficial to
take a look at more of these string functions, but I am happy for now.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28172 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-16 15:31:58 +00:00
Stephan Aßmus 85649f93c7 Removed the solid white icons.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28169 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-16 12:57:09 +00:00
Stephan Aßmus 26da5fe367 * Do not delete the private data of the BMessage! This fixes a crash when
dragging and dropping icons from one FileTypes window to another (in case
  the dragged icon was a vector icon).
* Checked the other similar places, but all seems fine. Added a comment in
  one place why no data is leaked, although it may seem to at first sight.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28159 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-16 09:19:43 +00:00
Stephan Aßmus 1cbca49a83 zooey + stippi:
* Fix the calculation of the fTextRect member. The BeOS behavior (and also the
  previous Haiku behavior) was to recalculate the "bottom" always. This was not
  taken care of in SetTextRect() (needs to override the passed bottom).
* The insets are already tracked in fLayoutData, use this in
  _UpdateScrollBars() to calculate the correct data width/height (an
  improvement over the BeOS behavior it seems).
* Try to minimize the need to call _Refresh(), which reduces flickering a whole
  lot.
* Fix several instances where fTextRect was recalculated based on Bounds() and
  the saved insets, where it was broken when the BTextView was scrolled.

Fixes #2784.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28151 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-15 21:07:37 +00:00
Stephan Aßmus 431dc47dde Patch by Artur Wyszynski with some changes by myself:
* Resolved TODO: The type of the gradient is no longer encoded twice in the
  app_server link protocoll.
* Moved instantiation of the BGradient into the LinkReceiver::ReadGradient()
  method.
* Check success for (at least) ReadGradient() in ServerWindow.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28150 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-15 19:47:00 +00:00
Stephan Aßmus 2748e5b7f6 patch by Artur Wyszynski:
Build fix.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28147 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-15 17:08:51 +00:00
Stephan Aßmus b355a208d1 patch by Artur Wyszynski:
* Fixed some bugs in the archiving code.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28146 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-15 16:14:41 +00:00
Stephan Aßmus 714c386ac3 packageinstaller:
* Reworded info_prepare() for clarity. 
* info_get_package_version() and info_get_package_name() were returning
  memory from a local variable. They return an error code now, possibly
  from info_prepare().

installedpackages:
* Simplifications and refactoring.
* Improve the layout of the interface (using layout management).
* Fix coding style issues.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28145 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-15 16:12:08 +00:00
Stephan Aßmus 7b31874607 Before anything bad happens to my Haiku disk, check the WIP alpha logo into
the repo... It's not supposed to be final yet.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28143 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-15 15:41:39 +00:00
Stephan Aßmus d90ca97492 * Add some more tracing.
* Add the case where H.264 info needs to be extracted.
(Had this laying on my hard drive for a while, hope you have not worked
on it again, David...)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28142 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-15 15:40:27 +00:00
Stephan Aßmus 699e7d89e4 Small cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28141 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-15 15:38:34 +00:00
Stephan Aßmus 822f932f1a Enable the H.264 codec in the avcodec decoder.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28140 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-15 15:37:42 +00:00
Stephan Aßmus de5ced9331 I re-saved all icons in Icon-O-Matic (actually to get the proper icons
in Haiku), but the binaries have appearantly changed slightly, probably of
some optimization that Icon-O-Matic is now doing. No functional or visual
changes should have taken place.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28137 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-15 15:00:40 +00:00
Stephan Aßmus 740530e47c Created a Firefox icon from the original SVG logo that can be downloaded
from Wikipedia. I tried to fix any issues and approximate the original logo
as best as I could. (tqh, I can send you an .rdef if you need it.) The icon
size could be further reduced by re-using paths. I named a couple of paths
accordingly when I spotted duplicates.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28136 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-15 14:58:10 +00:00
Stephan Aßmus f85d9ecab8 Patch by zuMi:
* A new icon for NetSurf (although the original logo can and has been made
  into a HFIV icon by Guiseppe, but I find the surfing monkey quite cool
  and would prefer that if it's alright with the NetSurf crew.)
* A new icon for a Chat application, or perhaps the Chat Kit server? :-)
* A new icon for RSS Feeds. Either for a file/bookmark type or an app?

Nice work, zuMi, thanks!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28135 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-15 14:54:41 +00:00
Stephan Aßmus bda7cd8dce Added a simple sphere for using as a reference for other icons.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28134 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-15 14:46:38 +00:00
Stephan Aßmus 991547ef6c Patch by Artur Wyszynski:
* Implemented BGradient, BGradientLinear, BGradientRadial,
  BGradientDiamond, BGradientConic and BGradientRadialFocus
  new Interface Kit classes.
* Implemented all the (AGG-based) backend necessary in
  the app_server to render gradients (Painter, DrawingEngine)
* app_server/View can convert a BGradient layout to screen
  coordinates.
* Added BGradient methods of the Fill* methods in BView.
* Implemented a test app and added it to the image as a
  demo.
* Adopted Icon-O-Matic and libs/icon in order to avoid
  clashing with the new BGradient class. Re-use some
  parts where possible.

Awesome work, Artur! Thanks a lot. Now a more modern
looking GUI has just become much easier to implement! :-)

TODO:
* Remove the need to have gradient type twice in the
  app_server protocol.
* Refactor some parts of the patch to remove duplicated
  code (Painter, DrawingEngine).
* Adopt the BPicture protocol to know about BGradients.
* Review some parts of the BArchivable implementation.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28109 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-14 21:27:42 +00:00
Stephan Aßmus 73be167630 * Removed dead code.
* Fixed line lengths.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28102 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-14 19:48:35 +00:00
Stephan Aßmus f6bffd4e5b Whitespace cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28101 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-14 19:47:00 +00:00
Stephan Aßmus 60a6c9c331 Add short cuts for changing the snapping mode.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28100 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-14 19:30:47 +00:00
Stephan Aßmus 3bb156ee57 Created navigation icons/buttons. Could be used in Tracker or browsers for
example. One could also design them to be 3D icons like regular icons.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28099 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-14 19:05:21 +00:00
Stephan Aßmus 531bc71bf9 Use the parent's low color, not view color for the icon background and frame
base color. Fixes the frame looking much too strong.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28097 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-14 18:36:07 +00:00
Stephan Aßmus a6099ca9e5 * Implemented changing the icons size (several ones are supported from
16 x 16 to 64 x 64).
* Changed the layout code to have dynamic padding depending on main icon size.
* Fixed a problem with the "Auto Raise" feature where, when the pad was along
  the bottom, you had to tip the top of the screen with the mouse for the pad
  to raise...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28096 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-14 18:32:31 +00:00
Stephan Aßmus 8eeb005f20 ... actually, "unnest" the rest of the file as well.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28095 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-14 17:25:42 +00:00
Stephan Aßmus 80e1925251 * Reworded MouseDown() to avoid all these nested conditions...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28094 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-14 17:23:00 +00:00
Stephan Aßmus 5604c88c81 Created an icon for Playground.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28092 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-14 16:16:20 +00:00
Stephan Aßmus b2ade57dd9 * Improve indentation.
* Use layout friendly constructor of BView.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28088 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-14 13:39:55 +00:00
Stephan Aßmus a96cedf6ef Improve indentation.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28087 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-14 13:29:28 +00:00
Stephan Aßmus caf9808615 Added a TODO, because I spotted a problem when moving partitions.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28086 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-14 13:26:45 +00:00
Stephan Aßmus 3f2f8b4c9a Fix some char/line limit and naming problems. No functional change.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28085 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-14 13:25:14 +00:00
Stephan Aßmus eeb00d5abc Small indentation improvement...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28084 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-14 13:21:43 +00:00
Stephan Aßmus e385b2434f * Added clarifying comment.
* When the consumer does not want to consume a glyph, make
  sure the advance values are being reset before breaking out of the
  loop. These are used one more time after the loop.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28083 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-14 13:20:29 +00:00
Stephan Aßmus 47ddcdba73 Removed superfluous parenthesis.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28082 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-14 13:19:15 +00:00
Stephan Aßmus d3cfdf5740 Updated copyright.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28081 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-14 13:17:24 +00:00
Stephan Aßmus ed3215ee21 Save one check in certain situations.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28080 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-14 13:16:44 +00:00
Stephan Aßmus 249a4a187e zooey + stippi:
Reimplemented the drag message over the team entries dragging. The previous
implementation used the menu bar tracking by faking a B_MOUSE_DOWN event. The
problem was that in Haiku menus are always sticky and therefor the tracking
thread was not exited when the user released the mouse (which was supposed to
trigger the drop event in the Deskbar). The new implementation follows the
drag in the asynchronous mouse hooks and uses it's own selection state in
TTeamMenuItem to highlight the eventual drop targets.
Fixes #2771.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28063 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-13 23:31:19 +00:00
Stephan Aßmus 350b87c7d2 zooey + axeld + stippi:
Fixed a problem with dispatching B_MOUSE_MOVED messages to views which need
the transit event:
* If the app_server decided to send a B_MOUSE_MOVED to the previous mouse
  containing window, it forgot to add the _feed_focus flag, which was a problem
  if the message actually happened to contain tokens (views that registered
  for events.) On the client side, only those views would receive the message,
  while the regular last mouse moved view would not be notified at all.
* On the client side, never change fLastMouseMovedView if the message is not
  targeted at the preferred handler. In the above situation, any "registered
  for events views" would receive the message first, but viewUnderMouse would
  be NULL and then when the regular last mouse moved view received it, it
  resulted in the wrong transit (B_OUTSIDE_VIEW instead of B_EXITED_VIEW).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28059 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-13 23:16:30 +00:00
Stephan Aßmus bfaa132f3f Also test what happens when there is a view with an event mask. (Currently
shows a bug in the app_server event dispatching which is going to be fixed
next.)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28058 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-13 23:08:53 +00:00
Stephan Aßmus e0418bf91e Fixed wrong target name.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28057 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-13 23:07:50 +00:00
Stephan Aßmus 010866b091 Meanwhile and zuMi both have send me an icon for the Mandelbrot demo. I have
made a new icon which should incorporate the best stuff from both icons. Thanks
a lot to both of you! The Mandelbrot_2 icon shows the fractal with the initial
color palette that the real Mandelbrot demo will use, but I like zuMi's colors
better. Just adding it for reference.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28043 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-13 16:06:00 +00:00
Stephan Aßmus 25b20cdaf6 Variation of the Expander icon with arrow - different color scheme.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28042 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-13 15:54:21 +00:00
Stephan Aßmus 18510f899b Added input_server icon by zuMi. Thanks!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28041 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-13 15:52:05 +00:00
Stephan Aßmus 2c7f3ba5f6 * zuMi sent a nice icon for 7zip archives.
* Added 7zip mime type. (TODO: Add proper recognition rule.)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28040 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-13 15:46:00 +00:00
Stephan Aßmus eaa9af9937 Never use the current menu UI color, but always the view color of any given
menu. Fixes #974.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28030 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-13 12:40:07 +00:00
Stephan Aßmus f3142445ae Fixed the layout/width of the search string text view.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28028 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-13 12:02:32 +00:00
Stephan Aßmus cd88f4c042 Patch by Humdinger:
* Added the missing Team Monitor intro.
* Fixed navigation in the preceeding and following files.

Changes by myself:
* Removed the bottom navigation in the Twitcher intro, since the file is so
  short anyways.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28027 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-13 11:53:22 +00:00
Stephan Aßmus d6aa728ab5 * Some work in progress towards supporting "Playlist->Save" versus
"Playlist->Save As...".
* Fixed loading of playlists. Sorting the list after loading it is
  not the idea of restoring a manually sorted playlist.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28006 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-12 21:13:59 +00:00
Stephan Aßmus 7060b0a220 Fix playback of playlists when "auto play files" is off. The playback stopped
after every new file of a playlist.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28005 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-12 21:12:07 +00:00
Stephan Aßmus 61e7172dca Added a test application for view transit changes, including the problem
of stealing (not anymore) mouse messages that are important for maintaining
the correct transit.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28003 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-12 19:32:41 +00:00
Stephan Aßmus 71ea6c9229 * Refactored a method for getting the transit from a mouse moved message.
* In _StealMouseMessage(), don't maintain fLastMouseMovedView, instead,
  prevent B_MOUSE_MOVED message from being stolen that are important for
  detecting transit changes. The point is that some apps (like Tracker) are
  shooting themselves in the foot because they steal mouse messages via
  GetMouse() in one place, but then rely on sane transit values in another
  place. The way it works now, the view in question may get notified of the
  same mouse moved coordinate twice, once via GetMouse() and once via
  MouseMoved().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28002 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-12 19:30:59 +00:00
Stephan Aßmus e6660ca0ae Patch by Humdinger:
* Improved Tracker and Deskbar introductions.
* Updated and improved a few graphics and added some more.
(Humdinger: The Teammonitor intro was missing from your patch.)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27995 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-12 14:10:56 +00:00
Stephan Aßmus 260da902db Rewrote BNodeInfo::GetTrackerIcon().
* Exit the function early in case of error, instead of maintaining the error
  until the end.
* Separate more clearly the condition that a file type is available at all
  versus not. This removes a redundancy when falling back to the generic
  file icon.
* Add retrieving the icon from the super type. Even check if there is a
  preferred app for the super type that supplies an icon before using the
  icon of the super type itself.

Hopefully I didn't introduce new errors, but that the super type icon was not
used was the main problem I tried to fix.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27990 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-12 11:12:14 +00:00
Stephan Aßmus 868b22c5f8 Honour line 80 chars per line limit.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27989 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-12 11:06:28 +00:00
Stephan Aßmus ac6b0fc9d2 Remember the last used file panel folder. Also remember the folder even
if the user cancled the file panel. Some improvements to the SettingsMessage
and some more helpful comments here and there.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27986 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-11 23:33:59 +00:00
Stephan Aßmus f7d800884d Polished the rendering of the miniature windows in Workspaces.
* The window names are now drawn.
* The window scaling is improved to avoid wobbly placement
  when windows move slightly.
* The tab rect is scaled to size, not a single line.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27976 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-11 18:25:36 +00:00
Stephan Aßmus 877f6beaec zuMi was at it again and created a cool icon for the mail_daemon. Almost a pity
to use this gem for a background application. :-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27958 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-10 19:14:20 +00:00
Stephan Aßmus 126ce07138 * Cleanup with regards to file panel usage. There are two global file panels
now maintained by the application. (So that the last used folder is more
  consistently remembered.)
* Added a message protocol for using the file panels from other loopers.
* Implemented playlist saving and loading for the binary (BMessage-based)
  format. There were some beginnings for supporting a m3u-like text-based format
  as well.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27955 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-10 18:55:06 +00:00
Stephan Aßmus 609bc8ca47 Fix a confusion with the big-endian versus little endian saving of the
magic four bytes to recognize native (BMessage-based) icons. The file
recognition rule didn't work in the end.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27951 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-10 18:41:57 +00:00
Stephan Aßmus 64546f13ae Removed wrong additional line breaks for spacing.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27941 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-09 12:05:08 +00:00
Stephan Aßmus 9000a4b179 * Fixed some layout issues here and there.
* Fixed wrong link to filetypes workshop.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27932 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-08 23:25:32 +00:00
Stephan Aßmus 20bf7d63a4 * More conversion to using CSS. The complicated table for layouting is gone,
the logo area is very simple now, as well as the navigation area. Tweaked
  the looks to remind a little of the Haiku website look.
* Incorporated patch by Humdinger (better "Open With..." menu screen shot,
  added "Open With Preferred" screen shot and text.)
* Some minor fixes here and there.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27929 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-08 20:51:49 +00:00
Stephan Aßmus dc2da019f9 zuMi created a pretty awesome icon for the debug server. It could be improved
(for better silhouettes), but I think it's pretty cool as is! Thanks a lot!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27915 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-07 21:48:37 +00:00
Stephan Aßmus 492c49ba5c * Renamed "white on blue - small" to "normal".
* Added "black on white - normal" size.
* Added the website logo area designs.
* Added the variation of the website logo that I did for the welcome
  introduction.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27911 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-07 21:30:25 +00:00
Stephan Aßmus de054ea419 Switched to new Zip-O-Matic icon.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27909 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-07 21:13:04 +00:00
Stephan Aßmus 58837ac623 * Finished Zip-O-Matic icon.
* Added Jamfile icon and two icons I will use in Pe. (I keep them here, since
  for now, this is the one place with all HVIF icons.)
* Added helper icons for one of the boxes from the generic app icon, may be
  useful for integrating in other icons.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27908 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-07 21:11:06 +00:00
Stephan Aßmus 586376a3fc Worked over the design and some of the text of the "Welcome" documentation.
* Changed the design of the logo area and worked on the document margins
  and overall layout.
* Added a navigation infrastructure.
* Worked on the text on the Welcome page - Added an actual welcome paragraph
  and unified the bug sections. Slightly changed the paragraph ordering.
* Fixed some typos, added small bits of text to the Tracker topic.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27907 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-07 21:04:11 +00:00
Stephan Aßmus 7ef5a94047 Added optional package "Welcome". The welcome package documation is
copied to /boot/beos/documetation/welcome and a link to welcome.html
is placed on the Desktop. The mime_update.sh script makes sure that
the mime type of the html files is set. However, Firefox has a problem
when it is launched for the first time via double clicking an HTML
file. Apparently, it initializes some settings and relaunches itself,
which in turn makes it forget to open the file. A second problem is
annoying as well: When launching Firefox to display a local file,
it will always open a second window with the default web location.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27868 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-04 18:28:15 +00:00