Commit Graph

2899 Commits

Author SHA1 Message Date
Axel Dörfler
0eed918306 * Rewrote screen configuration management: VirtualScreen doesn't have anything
to do with the configurations now, instead, there is a separated
  ScreenConfigurations class that maintains all known screen_configurations
  per workspace (and the Workspace::Private class has two of them, one for the
  current modes, one for the stored modes).
* Added Desktop::{Get|Set}ScreenMode() methods, ServerApp now only calls those.
* Getting and setting of anything else than the current screen is now supported.
* This change also fixes that a temporarily set screen mode was not being
  restored on workspace switch.
* Also, the Deskbar now seems to have the wrong location a lot, which is
  something that should be easily fixable therefore. I will look into this next.
* Got rid of the unhandy screen_id structure server side, and in BPrivateScreen;
  we now just use an int32 - the next API break should definitely replace the
  screen_id with a simple typedef.
* Some cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32541 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-20 17:52:32 +00:00
Axel Dörfler
02b6c95990 * VirtualScreen::RestoreConfiguration() now also takes care of collecting the
screens that actually changed their resolution, which simplifies the code
  in Desktop considerably.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32537 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-20 09:45:54 +00:00
Axel Dörfler
0d1d2de59b * Desktop::SetFocusWindow() now takes kWindowScreenFeel windows into account,
and does not give focus to any window behind that one.
* Added TODO comment to the DefaultDecorator bitmap caching mechanism (although,
  it really seems to be fast enough, anyway, at least once we remove no longer
  used bitmaps).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32536 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-20 09:18:32 +00:00
Axel Dörfler
2c69b5b6c0 * Made the libbe_test environment basically working under Haiku - to actually
make it work, one would need to use versioning for all libbe symbols. This is
  worth an 8k price per file that links against libbe.so, so I didn't want to
  commit this as is. An alternative to this solution would be to write a
  separate application that is responsible for the app_server's window. Comments
  welcome.
* Removed BeOS compatbility of the libbe_test stuff.
* Renamed the libbe_test targets from *haiku* to *test*, ie. libbe_haiku.so is
  now called libbe_test.so, haiku_registrar is now test_registrar, etc.
* This also removes BeOS compatibility from tracker/FSUtils.cpp (all BeOS
  compatibility should be removed, but I don't want to make Alexandre more work
  in his branch, and it's not urgent at all).
* Replaced the former "run" scripts for the test environment with a single
  run script (see updated NOTES file).
* Removed the libbe_test target from some applications - this was only to help
  developing them under BeOS, and is thus no longer necessary.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32521 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-19 14:17:13 +00:00
Axel Dörfler
30d716e081 * Cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32519 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-19 14:05:00 +00:00
Philippe Saint-Pierre
bc6272feed Registrar Shutdown window: Make Font Size sensitive
* Removed the WordWrap from the text view, until we computed the TextHeight(), then put it again, once the textview got resized.

I think it might be hiding an other bug in the way we compute TextHeight(), but it seems to be a workaround.

(Fixing?) Ticket #169


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32501 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-19 01:30:56 +00:00
Axel Dörfler
dacf06e665 * The cached button bitmaps were not invalidated on font or look change, causing
incorrect buttons to be shown.
* Fixed coding style violations.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32472 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-17 17:09:38 +00:00
Axel Dörfler
b53a9cf25c * When a window changed its look/title/... we need to make sure the dirty region
we got in _RebuildAndRedrawAfterWindowChange() does not contain hidden parts.
* This eliminates the updates as seen in the WindowInvalidation test app, as
  well as it fixes bug #4257.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32471 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-17 16:54:57 +00:00
Stefano Ceccherini
a1bcb09b45 Added a ServerWindow::ScreenChanged() hook, which takes care of resizing
an eventual offscreen directwindow and sends the direct window notifications 
(not yet, though, since a BDirectWindow on a non-visible workspace would
get the B_DIRECT_START notification and start drawing on a different workspace).



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32455 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-17 11:53:50 +00:00
Axel Dörfler
219bd33f29 * Deleted overlays were never removed from the fOverlays list, instead they were
added another time (copy&paste bug). This caused #3282.
* Added optional tracing output to Overlay.cpp.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32454 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-17 10:16:23 +00:00
Bruno G. Albuquerque
c2e9bbc888 - Revert excessive debugging.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32447 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-16 22:13:28 +00:00
Bruno G. Albuquerque
cd75ca52e7 - Yet more debug. This should allow me to test locally.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32446 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-16 18:35:01 +00:00
Bruno G. Albuquerque
e46d0e7d91 - Even more debugging. This is temporary while #4103 is fixed.
- Added some missing \n.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32437 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-16 12:56:10 +00:00
Bruno G. Albuquerque
25a638d411 - Implemented handling of partial matches. This must be improved
eventually as, right now, we just handle it as normal multiple matches.
- Improved error reporting for CDDB query commands.

This should fix #4103.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32423 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-15 21:04:00 +00:00
Stefano Ceccherini
e4ea54bdb7 Getting the screen mode should be protected, at least by a read lock.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32420 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-15 17:22:19 +00:00
Stefano Ceccherini
701dae79c9 Squashed a TODO: Added a View::InitCheck() and use it after construction. Removed the check
for View->CurrentState() == NULL.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32412 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-15 13:12:10 +00:00
Stefano Ceccherini
2a2d0f1d10 After a B_DIRECT_STOP notification, the app_server could trigger a
B_DIRECT_MODIFY with, for example, B_CLIPPING_MODIFIED. This was ignored,
though. Now we combine this notification with the next ones, so that
on B_DIRECT_START, the client is informed of all the things which have
changed. Chart was relying on receiving the B_CLIPPING_MODIFIED notification
to exclude some stars from being erased, in case the window went offscreen.
Anyway, the net result is that Chart doesn't crash now, and we follow
more closely the original BDirectWindow protocol. Fixed ticket #1939.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32392 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-14 20:38:35 +00:00
Stefano Ceccherini
b7c167dbe2 This check is no longer needed, since the case is covered by the one
in DirectWindowData::SetState().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32375 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-14 16:40:44 +00:00
Stefano Ceccherini
3e20b06294 Work in progress towards cleaning up the directwindow server code:
Renamed direct_window_data to DirectWindowData and turned it into a
class.
Encapsulated some functionality inside the DirectWindowData class.
No functional change (yet).
More to come.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32374 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-14 16:34:55 +00:00
Stefano Ceccherini
1c8695a627 only call HandleDirectConnection() if the window is not hidden. Fixes bug #4234
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32369 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-14 15:47:36 +00:00
Axel Dörfler
73a1a46de9 * Made defines out of the kNetServerSignature and kMsgConfigureInterface
constants - they are used in other apps as well, and defining them as
  "static const" causes undefined warnings in other source files. This also
  fixes the build.
* Changed "interfaces::auto config" to auto_config, as that's more convenient
  to use in the settings files.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32321 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-13 16:30:21 +00:00
Axel Dörfler
399d690252 * Fixed warnings.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32320 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-13 16:28:28 +00:00
Axel Dörfler
5544f69de6 * Added "stand_alone" setting to the services - this way you can use the
net_server to launch services that work like a daemon theirselves (like sshd).
  A service like this is also killed (via SIGTERM) when the netserver stops the
  service (with sshd, you have to pass the '-D' option to make this work).
* If a boolean is given without value, it now defaults to true.
* The "launch" argument now gets its arguments properly parsed, and added, too.
* Services::_Update() did accidently set fUpdate on the wrong service, causing
  services that were not changed to be stopped.
* More helpful output.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32319 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-13 16:22:09 +00:00
Stefano Ceccherini
f98bacf6ca Moved HandleDirectConnection From Window to Desktop. This should fix the
spurious off-window drawing of BDirectWindow. At least, it does here.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32312 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-13 14:01:25 +00:00
Axel Dörfler
6dad3717d5 * Don't let the app_server trigger a content draw if the kWindowScreenFlag is
set. This fixes the white background when starting ParticlesII.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32305 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-13 11:33:51 +00:00
Alexandre Deckner
84e0703c87 * Build fix
* More style fixes
* Automatic whitespace cleanup


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


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32269 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-12 10:47:18 +00:00
Axel Dörfler
1592b6fb4c * Made the comment a bit more useful.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32245 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-11 10:03:47 +00:00
Axel Dörfler
6c36406800 * Cleanup, no functional change.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32244 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-11 10:01:37 +00:00
Axel Dörfler
07e13b5fe6 * Removed superfluous ReplaceDecorator() method.
* Cleanup, no functional change.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32243 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-11 09:25:26 +00:00
Michael Pfeiffer
a557cf937c * Print server is not BeOS compatible since layout manager is used.
* Removed it from haiku-printingkit-cvs package.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32230 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-10 18:13:36 +00:00
Michael Pfeiffer
2f4e68fe98 Fixed the issue from ticket 4178 comment 5.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32229 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-10 17:57:43 +00:00
Michael Pfeiffer
c8c436f571 Made UI font size sensitive using layout manager.
Please review. 

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32226 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-10 13:38:35 +00:00
Michael Pfeiffer
d3e51e16f7 Changed shortcut for About dialog to 'a'.
Updated about text.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32223 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-10 10:55:59 +00:00
Jonas Sundström
dede003a3c Strip slash character from cddb data before attempting to rename volume and files. Continue in spite of file errors.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32219 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-10 01:26:14 +00:00
Rudolf Cornelissen
756f5c98b8 fixed BScreen mode.flags handling. This is now compatible with BeOS, and fixes for instance the use of Dualhead Setup for the Matrox and nVidia driver which make use of 'free' flags. A modeset command should be relayed to the accelerant even if it differs by just a single bit: the accelerant best knows how to handle this. Remark: Haiku's screen preflet refuses to set modes once a virtual screen is set since it doesn't recognize the currently set mode. I guess that could be fixed.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32212 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-09 15:26:19 +00:00
Axel Dörfler
b90e7304ed * Made the changes in r30278 depending on the USE_ACCELERATION define, ie. you
can now easily turn it on again (see #2769).
* Also added OFFSCREEN_BACK_BUFFER define to enable the offscreen back buffer
  trick.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32183 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-07 11:27:30 +00:00
Axel Dörfler
2d332a4228 * This lets the app_server respect the boot loader's fail-safe video mode
setting again. It still allows you to change the mode afterwards, though.
* This fixes bug #3419.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32182 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-07 11:08:31 +00:00
Axel Dörfler
201c2842bd * The media server now clones each buffer area only once - before, you could
only add a very limited amount of buffers part of the frame buffer, for
  example, as that one is usually a very large area.
* This could prevent all sorts of media buffers to be cloned on certain
  conditions (and could also cause a MediaPlayer fallback to bitmap mode for
  no apparent reason).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32156 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-06 10:01:20 +00:00
Axel Dörfler
8399a7c04d * When a buffer_info is removed, its area is now actually deleted as well. This
already fixes bug #4189, although there is another bug that could cause a
  similar effect (working on that next).
* Switched from media_server local TMap to HashMap, although this is probably
  equally archaic.
* Also replaced TList with std::set for the team list.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32155 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-06 09:45:04 +00:00
Axel Dörfler
696b8f43fb * Cleanup, BufferManager now aggregates the buffer map as well as its locker
instead of allocating them separately, no functional change.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32153 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-06 08:55:02 +00:00
Axel Dörfler
86a1f079e9 * Also fill out monitor_info production date from EDID info.
* Do not set serial_number if there is none.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32145 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-05 19:10:22 +00:00
Stephan Aßmus
4ef213ddc4 Initialize the default fonts to NULL.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32134 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-05 14:47:32 +00:00
Stefano Ceccherini
3bd4966700 Now also hide/show the cursor when BDirectWindow::SetFullScreen() is called.
in the handler, instead of checking if the window is an offscreen one,
check if fDirectWindowData is NULL, and do nothing if it's the case.
When setting a clip region in ServerPicture, also invalidate the clipping.
To do so, I added a public ServerWindoow::UpdateCurrentDrawingRegion()
which just calls the private function. Please review and see if it can
be done better. This fixes the problem with BPicture and the 
ConstrainClippingRegion() op (see ticket #1389)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32087 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-03 16:50:01 +00:00
Axel Dörfler
b25988572f * Fixed style.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32066 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-03 10:04:43 +00:00
Stefano Ceccherini
4695f67019 Completed the server part of BDirectWindow::SetFullScreen(). The window is
now resized and moved correctly. Moved this functionality to its own method.
Should fix bug #4168.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32062 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-01 15:57:22 +00:00
Philippe Houdoin
86ee03ec73 Fixed warning.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32058 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-01 11:03:15 +00:00