Commit Graph

3578 Commits

Author SHA1 Message Date
czeidler
6078d891b4 Move stacked windows to a different workspace correctly.
When moving a window of a stacked window group to a different workspace all windows in the stack have to be moved. This fixes #8855.
2012-11-06 20:09:15 +01:00
czeidler
24ad8261a9 Integrate patch from jessicah #8937. Thanks!
- navigate in a single S&T group using (win + left and right arrows)
- minor fixed to the patch
- enable switching between S&T groups on the same desktop again (win + up and down arrows)

Hope window key + arrow keys does not collide with to many apps?
2012-11-05 22:25:46 +01:00
Adrien Destugues - PulkoMandy
82a674605b Use Web+ tabs close button
Fixes #9566
2012-11-05 19:24:00 +01:00
czeidler
d6977957a0 The current solver don't like big values.
- Check the constraint values first.
- Some cleanup.
2012-10-11 11:52:46 +13:00
Ryan Leavengood
5b60052cfc Make double scrollbar arrows default to false again. 2012-09-02 15:11:51 -04:00
czeidler
7dd16a4c95 Fix crash when splitting a S&T group.
- Hold a ref to the old crossings till we cleaned up.
- Additionally use a safer method to delete constraints.
- Clean up.
2012-09-01 15:01:10 +12:00
czeidler
83092a04a4 Fix hrev42632.
This really implements WindowSentBehind.
2012-09-01 15:01:09 +12:00
Jérôme Duval
c618b6ccb1 input_server: use a generated cookie instead of pointer
* fixed #8831
2012-08-29 20:44:06 +02:00
Fredrik Modéen
7a74a5df45 WIP... Updating Bluetooth.
* Some bugfixes.
* added scan mode read.
* inactivated some printout for now. Was a lot of noice in terminal
2012-08-27 19:23:22 +00:00
Ryan Leavengood
59347b7f1b Reverse the meaning of BWindow fShowLevel to match BView.
This also matches the client_window_info.show_hide_level field used in Deskbar
and other applications.

While doing this, keep fShowLevel fully in sync between BWindow and app_server,
use one message type for both hiding and showing, and make the decision to show
and hide the window in the app_server.

Lastly make minimize behave as described in the Be Book: hidden windows cannot
be minimized, and minimized windows which get hidden become unminimized.
2012-08-15 23:45:15 -04:00
Humdinger
ef4ed1b76b Replaced "Preferences"/"Options" with "Settings"
Replaced remaining "Preferences" and "Options" with "Settings" as
that is generally used for app settings instead of the system
preferences found in the preference panels.

Renamed Tracker's "Preferences" to "Tracker preferences" to be
similar to the entries in the Deskbar and e.g. the Media replicant
in the Deskbar tray.
2012-08-15 09:53:38 +02:00
Ryan Leavengood
96cabf581a Sync BWindow fShowLevel with the app_server.
Implementing the window_info.show_hide_level in terms of this solves the
problem of minimized windows also being considered hidden, when really they are
just hidden in the app_server.

window_info.show_hide_level is still defined backwards with a comment making
that clear.

Also removed sending fShowLevel in the minimize request since it is now
maintained in the app_server.

Fixes #4127.
2012-08-12 10:40:21 -04:00
Ryan Leavengood
b0841df466 Ignore hidden or minimized windows in workspaces mouse down.
This avoids selecting those windows for moving and more importantly bringing to
front a minimized window with Ctrl-click, which causes the minimized state to
be out of sync between the app_server and BWindow, causing #8860.
2012-08-11 00:27:47 -04:00
czeidler
ba1c9c6c6d The hotspot is already included in the shift.
This became visible when dragging an image together with a cursor that has a reasonable large hotspot. In this case the cursor and the bitmap were shifted to much.
2012-08-09 14:42:18 +12:00
Humdinger
aed3510485 Close alerts with ESCAPE key.
Added SetFlags(B_CLOSE_ON_ESCAPE) or SetShortcut(index, B_ESCAPE) to BAlerts
depending if the result gets used later in the code, or if it's a one-button
BAlert.
2012-08-05 19:32:46 +02:00
Jérôme Duval
f190d7d580 app_server: cleanup of the previous commit 2012-07-11 23:56:38 +02:00
luroh
d0a19242a8 Add FreeType headers dependencies, #8716. 2012-07-11 23:51:49 +02:00
Jérôme Duval
9fb13e2c1e app_server: fixed FreeType headers dependency #8716
* added DrawingEngine.cpp
2012-07-11 22:12:38 +02:00
Jérôme Duval
36daae570c app_server: fixed FreeType headers dependency #8716
* added ServerFont.cpp
2012-07-11 21:44:46 +02:00
Jérôme Duval
74880af10c app_server: fixed FreeType headers dependency #8716
* added source files which use ServerFont.h and ServerApp.h
2012-07-11 20:38:10 +02:00
Ryan Leavengood
30e7dbeb72 Save and load scrollbar settings in app_server.
Added to the appearance settings since menu info was already there.
2012-06-11 00:10:22 -04:00
Ryan Leavengood
9609fb5050 Double scrollbar thumbs have returned!!!
Let the flamewar begin.
2012-06-10 00:23:51 -04:00
Ryan Leavengood
b9d90cb109 Remove superfluous check for Height() since it is checked above 2012-06-10 00:21:06 -04:00
Ryan Leavengood
585d44f283 Improve the workspace view tab rendering.
Before this the height and width of the tab would jump around as the window was
moved. In addition there was an off-by-one error which caused right-aligned
tabs to not be drawn right (as reported in ticket #4615, which this fixes.)
2012-06-10 00:14:21 -04:00
Ryan Leavengood
70a5df3878 Use the correct color for the tab border for inactive windows.
Before this the active window border color was used, resulting in ugly inactive
window tabs if the active and inactive border colors were quite different.

This was not noticed before because the defaults are two very similar grays.
2012-06-09 22:27:29 -04:00
Fredrik Holmqvist
d6e724d549 Only set FT_LOAD_TARGET_LCD when we have specified it. Use FT_LOAD_TARGET_NORMAL when we havn't.
(FT_LOAD_TARGET_LIGHT might also be an option.)
2012-05-23 20:30:27 +02:00
Siarzhuk Zharski
5f25cf08b3 Put hostname option into DHCPDISCOVER/DHCPREQUEST if provided by system
If Haiku has the hostname set, inform DHCP server with corresponding
option in DHCPDISCOVER and DHCPREQUEST messages. That should simplify
accessing Haiku hosts by using it's hostname instead of raw addresses.
2012-05-20 12:46:58 +02:00
Fredrik Holmqvist
7ca2da76f0 rand() is used, but srand() was never called. 2012-05-18 00:01:12 +02:00
Axel Dörfler
8e2140fa5e Fixed a large client side memory leak for app_server memory.
* The areas allocated for BBitmaps were never deleted, even though the
  app_server deleted its part when the memory got freed.
* This resulted in a constant memory increase if the application in question
  would operate on many changing large bitmaps, like photos.
* Since the bitmaps are reference counted, we don't actually know when to delete
  the areas, so that the app_server now notifies the client whenever that is
  possible.
* This might fix #6824.
2012-04-29 20:26:14 +02:00
Axel Dörfler
7705d517d1 Lock in ClientMemoryAllocator::Allocate(), and Free().
* Since bitmaps are reference counted, it might not be easy (and already not
  the case) that holding the ServerApp lock can be enforced.
* To be on the safe side, allocations and freeing memory now performs its own
  locking.
* Brought the documentation to the status quo.
2012-04-29 20:26:13 +02:00
Axel Dörfler
6068e43923 Optimized freeing client memory if it spans the whole area.
* If a block of client memory spans the whole chunk, there is no need to walk
  the free list for adjacent blocks to join.
* Minor cleanup.
2012-04-28 23:35:17 +02:00
Rene Gollent
03b82a629d Fix decorator reload crash.
- SetTopTap() -> SetTopTab().
- When reloading the decor, if the window in question is borderless,
  short circuit. Previously, we wouldn't allocate a decorator for such
  a window, but would then go through the remaining steps of attempting
  to set the focus/top tab, which would obviously crash. Fixes #8500 and
  possibly others.
- Add error check that adding tabs to the decorator actually succeeded.
2012-04-28 16:21:19 -04:00
Oliver Tappe
546208a539 More catalog-related cleanup.
* rename B_TRANSLATE_CONTEXT to B_TRANSLATION_CONTEXT and
  B_TRANSLATE_WITH_CONTEXT to B_TRANSLATE_CONTEXT, squashing a TODO
* adjust all uses of both macros in Haiku's source tree
* use correct header guard for collecting/Catalog.h

The renamed macros require adjustments to all external applications
using catalogs.
2012-04-16 21:31:22 +02:00
François Revol
3f551e5c43 Expose the connected status
* Since we won't always have a client, expose the connected status from the HWInterface to other classes.
Currently only used to simulate DPMS state.
* Cleanup.
2012-04-13 01:26:46 +02:00
Rene Gollent
56981da008 Fix slight oversight in previous commit.
Only trigger autoconfiguration if the link status changed from down
to up.
2012-04-11 18:31:44 -04:00
Rene Gollent
9cac658a9f Keep more accurate track of media status changes.
AutoConfigLooper now remembers the last media state it received from the device,
and compares both to see if the active state actually changed. Should help with
quality changes where the link didn't actually drop. May also help on ethernet
if the chipset sends spurious link status change notifications.
2012-04-11 18:27:20 -04:00
John Scipione
3cee15aac2 Keymap changes from recent activity. No AltGr yet.
Below is a mostly complete summary of the changes in this commit.

* Set the DeadKeys for the US-International Keymap to use the Option map.
* Rename American keymap to US
* Update the US, US-International, and United-Kingdom keymaps to take
  out unneeded spaces in the option layer. Also updated the dead keys
  and some other keys on the US-International keyboard to use UTF-8
  characters rather than there ASCII equivalents when different.
* Make the Option key fall-through when there is no mapping in the Option
  table. Option is for special characters, if none, print the regular one.
  This is mostly meant for the US keymap which has an empty option map. But
  also so that you don't have to repeat the normal, shift, and caps maps in
  the option map needlessly. Although the keymaps are still not empty in
  some cases that it could be like numpad keys and space.
* Update the /bin/keymap app to use fputs() instead of printf() when there
  is no actual formatting taking place. I've gotten into trouble for doing
  this before and it is faster to not process the string unnecessarily.
* Also several 80-char limit style fixes and updated comments.
* In Keymap class Reorder the modifier keys to match the keymap files.
  Put B_CONTROL_KEY check above B_OPTION_KEY. Neither change has any effect,
  they are purely aesthetic.
* Update DumpKeymap() method to use the abbreviated modifier letters so it
  will fit in your 80-char wide terminal.
* Tiny style fix in InputServer
* 80-char limit style fix in BWindow and add a comment that the shortcut
  gets eaten in the case of Cmd+Q
* Implement IndexForModifier() in KeyboardLayout, although I am not using it.
* Take Caps Lock out of the Modifier keys window because I couldn't get
  it to work the way I wanted it to.
* Move key roles to the left column, and the key label on the left. Add column
  header labels. Thanks Rimas!
* Add validation and improve marking menu options. Add a 'Disabled' option
  to control, option, and command menus to disable the key. Make the key
  role text grey if the key roles is disabled. Validation ensures that you
  cannot repeat the same key twice in the Modifier keys window since that
  won't work. You can't define 2 sets of option keys even if you really want
  to. You can disable your control, option, and command keys if you
  want, but that is not recommended.
* Rename kUpdateModifiers to kUpdateModifierKeys message to differetiate
  it from kUpdateModifier.
* Add shift key to Modifier keys window, use the stop icon instead of the
  warning icon to indicate conflicts.
* Allow the Layout system to control the size of the Modifier keys window
  again, set the width's of the key role lables to the widest, set the width
  of the menu fields to take up the rest of the space minus room for the
  conflict views. I didn't like it that the Modifier keys window would change
  size based on what options you had selected in the menu fields. Now it
  doesn't, but, the layout system still makes it all fit.
2012-04-06 02:42:54 -04:00
François Revol
e1b41a1a8c Add base64 decoding helpers to read ints
Some helper functions to read uint8, uint16 and uint32 (actually int32 it seems...).
Note the value is effectively read as big-endian.
2012-04-02 00:47:16 +02:00
François Revol
c001665a7c Add a packed argument to encode_base64.
Reintroduced the '=' padding modulo 3 characters from the original code from the mail kit,
and a packed option to avoid it.
Broadway uses this packed scheme to save bytes when sending many separate values.
TODO: merge this with the mail kit one somewhere?
2012-04-02 00:47:16 +02:00
Alex Wilson
91b523054f Resolve TODO about possible use after free bug. 2012-04-01 11:54:25 +12:00
Alex Wilson
3c7caf81db Fix a bug that caused some NotificationViews to be double-shown.
This bug affected views added while the window was hidden, and would
result in that view not being hidden when the group was collapsed for
the first time.
2012-04-01 11:54:24 +12:00
Alex Wilson
c2fbfb1d58 Don't hardcode the NotificationView width to 300px. 2012-04-01 11:54:23 +12:00
Alex Wilson
2fab0e4804 Remove dead code in NotificationView.cpp 2012-04-01 11:54:23 +12:00
Alex Wilson
ac93328eb9 Have NotificationWindow enforce the window size setting. 2012-04-01 11:54:22 +12:00
Alex Wilson
d19e651f97 Expand click rects when checking for close/collapse clicks. 2012-04-01 11:54:21 +12:00
Alex Wilson
710eb7410f Clean up use of SetPosition().
This fixes a bug where an empty white window would appear when changing
workspaces if there were no notifications.
2012-04-01 11:54:20 +12:00
Alex Wilson
259ffc0252 Style cleanup in notification_server: #includes 2012-04-01 11:54:19 +12:00
Alex Wilson
617ee9eef6 be_control_look is never NULL, so we don't need backup drawing code. 2012-04-01 11:54:18 +12:00
Alex Wilson
fd3e582189 Fix bug in NotificationWindow where the window would be double hidden.
Also simplify and rename _ResizeAll(), now that AppGroupViews remove
themselves.
2012-04-01 11:54:17 +12:00
Alex Wilson
002fd626d6 Fix NotificationWindow's collapsing bug. (#8288)
When a BTwoDimensionalLayout has no visible elements, it has a max size
of B_SIZE_UNLIMITED in both dimensions. In this case, we want it to
shrink down to just the insets.
2012-04-01 11:54:16 +12:00