Commit Graph
174 Commits
Author SHA1 Message Date
John Scipione b433c2ad87 Keymap: Add ability to remove a key mapping
... of a normal (non-modifier) key via a right click menu.
2015-01-07 21:11:39 -05:00
Adrien Destugues 3d01d427ae Keymap preferneces: improve deadkey handling logic
* The key down message is not delivered when completing a dead key, so
act on key up instead.
* Pressing a character after a dead key would leave the keymap in "dead
key" mode, and that mode would be exited only by pressing a dead key
again.

Fixes #5734.
2014-11-26 10:35:43 +01:00
Oliver Tappe 220d040227 Use libstdc++, libsupc++ and libgcc from gcc_syslibs.
* Instead of faking libstdc++.so from libstdc++.a, use libstdc++.so
  from the gcc_syslibs build feature for everything except x86_gcc2.
* Use libgcc_s.so from the gcc_syslibs build feature for everything but
  x86_gcc2 (which still carries libgcc as part of libroot.so).
* Drop filtering of libgcc objects for libroot, as that is no longer
  necessary since we're only using libgcc-as-single-object for libroot
  with x86_gcc2, where the filtered object file doesn't exist. Should
  the objects that used to be filtered cause any problems as part of
  libgcc_s.so, we can always filter them as part of the gcc build.
* Use libsupc++.so from the gcc_syslibs build feature for everything but
  x86_gcc2.
* Adjust all Jamfiles accordingly.
* Deactivate building of faked libstdc++.so for non-x86-gcc2. For
  x86_gcc2, we still build libstdc++.so from the sources in the Haiku
  source tree as part of the Haiku build .
* Put gcc_syslibs package onto the image, when needed.
2014-08-13 13:32:44 +02:00
John Scipione fd3fa9178b KeyMap: Redo modifier keys layout
... by using a group layout inside of a grid layout we can get this
to layout how we want it without having to calculate the label
widths manually.
2014-03-21 17:26:28 -04:00
John Scipione 449d68282f KeyMap: Fix alignment of role labels
... by setting all labels to take up the width of the longest label.

Fixes #10693
2014-03-20 12:44:39 -04:00
John Scipione 5e96d7d537 Localize keyboard layout names in Keymap preferences 2014-02-21 20:05:26 -05:00
John Scipione 4e152efced Keymap modifiers: make it a floating window 2014-02-21 17:11:47 -05:00
John Scipione 73ee1578a9 Keymap: Hide/show warning/stop icon views 2014-02-21 17:11:47 -05:00
John Scipione a7b27d4916 Keymap: 80 char limit style fix 2014-02-21 17:11:47 -05:00
John Scipione 528688c0c8 Keymap: Sentence case these pragmas 2014-02-21 17:11:46 -05:00
John Scipione 313b1c624f Keymap: Center Modifier Keys window in main window 2014-02-21 17:11:46 -05:00
John Scipione a44b74d545 Keymap: static functions back to private methods 2014-02-21 17:11:45 -05:00
John Scipione 2943ba1354 Keymap mod keys: Add warning icon.
That shows when the left and right side key roles don't match.
e.g. The left control key has a different key role than the right
control key.

The warning doesn't actually stop you from setting the modifier
keys though.

Add tooltips on the warning and stop icons explaining the
problem.

Also a couple minor style fixes.
2014-02-21 17:11:45 -05:00
Ingo Weinhold 374cf8c85d Localize keymap names in Keymap preferences 2014-02-20 23:51:38 -05:00
John Scipione a073305c96 keymap: limit set of left/right swap options
For Shift, Control, Option, and Command assume that you want to shift
on the same side, left-for-left, right-for-right. The Menu key is
available on either the left or right side, and lock keys can be
swapped with any other modifier left or right.

If we have multiple unmapped modifiers we need to do a little extra
work to figure out which of the unmapped modifiers to swap with.

Convert private class member methods to static functions.

Also update copyright info
2014-02-20 15:18:37 -05:00
John Scipione 8eb27eaa79 Keymap: Allow you to unset modifier keys
Selecting the marked menu item will unset the mapping for that modifier.

We can't rely on there being a unique mapping for a key (more than one
could be set to 0 aka unset) so we have to set the menu item names based
on the interface defs constants intead.
2014-02-20 15:03:45 -05:00
John Scipione ab0f7d6627 Keymap: activate popup for all modifiers
not just those that have a modifier key mapped to them already

Also check for control+click == RMB
2014-02-20 15:03:44 -05:00
John Scipione f97a4a3ceb Keymap: Backward loop count optimization 2014-02-20 15:03:42 -05:00
John Scipione e90aead4f9 KeymapListItem comment and style fixes 2014-02-20 15:03:41 -05:00
John Scipione a62422fc9c Swap buttons with primary mouse button instead of secondary 2014-02-20 15:03:40 -05:00
John Scipione 7e9644053f Return early if dragging, unindent the rest 2014-02-20 15:03:39 -05:00
John Scipione c959ce4612 Some small style fixes 2014-02-20 15:03:37 -05:00
John Scipione 4346099683 No longer need to check for this here 2014-02-20 15:03:36 -05:00
John Scipione 173b5a686d Keymap: swap modifiers keys via context menu
When the user right clicks on a modifier key pop up a menu listing the
available modifiers. When the user selects a modifier from the menu swap
the key with the selected modifier. This provides an alternative way to swap
modifier keys other than drag&drop that works for just modifier keys.
2014-02-20 14:59:15 -05:00
Humdinger f6c5dbf81c Some more code style corrections of Keymap. 2014-01-03 19:44:12 +01:00
Humdinger 346c992352 Cleanup of KeymapWindow.cpp 2014-01-03 10:39:06 +01:00
Humdinger 803fab4fac Slightly improved layout of Keymap prefs
* use the templated BLayoutBuilder
* reduced top inset to be the same as to all sides
* SetExplicitMinSize of the LayoutView so it can't shrink to
  illegibility
* set slightly smaller window default size (on small screens)
2014-01-02 10:11:00 +01:00
Ingo Weinhold c93efdb37f Keymap preflet: Sort the lists 2013-11-11 01:07:58 +01:00
Ingo Weinhold 38fa81bf8f Remove B_COMMON*_DIRECTORY and kCommon*Directory constants
* This does intentionally break source compatibility, so that a review
  of concerned code is forced.
* Binary compatibility should be maintained in most cases. The values
  of the constants for the writable directories are now used for the
  writable system directories. The values for the non-writable
  directories are mapped to "/boot/system/data/empty/...", an empty or
  non-existent directory, so that they will simply be skipped in search
  paths. Only code that explicitly expects to find something in a
  B_COMMON_* directory, will fail.
2013-10-04 02:30:30 +02:00
Ingo Weinhold 9f81ca838c Merge branch 'package-management'
Conflicts:
	src/preferences/network/Jamfile
2013-09-27 02:01:12 +02:00
John Scipione 7889cac6cf Keymap: Add Defaults button to revert keymap
Fixes #9980

Since hrev44455 we save your modifier keys settings when you switch
keymaps so you could get your modifiers keys messed up and unable to
get back to normal. This Defaults button allows you to override all
that and go back to the default US-International keymap with default
modifiers so you can start with a fresh slate and set things up the
way you want.

Also moved Revert button to the left side next to the Defaults button.
We do this on other preflets, the right side is reserved for an Apply
or OK button, and, if the preflet doesn't have one, is left empty.
2013-09-26 19:37:06 -04:00
Ingo Weinhold cf70d345b2 Merge remote-tracking branch 'haiku/master' into package-management
This reverts 8f7f28a7c3 (OpenGL: Upgrade
to
Mesa 9.2).

Conflicts:
	build/jam/BuildFeatures
	build/jam/HaikuImage
	build/jam/OptionalPackages
	build/scripts/build_cross_tools_gcc4
	src/add-ons/opengl/swpipe/Jamfile
	src/apps/diskusage/Jamfile
	src/kits/tracker/ContainerWindow.cpp
	src/kits/tracker/DeskWindow.cpp
	src/kits/tracker/Jamfile
2013-09-13 01:02:28 +02:00
John Scipione b87ee2bfeb Keymap mod keys: Conflict if either left or right
... key doesn't match rather than requiring both left and right keys
to not match for a conflict.

Also update copyright year
2013-08-19 15:59:55 -04:00
John Scipione 460168d586 Keymap mod keys: Use menu field label and refactor
Use CreateLabelLayoutItem() instead of faking the label with a BStringView.
This is important because it means the label is part of the menu field control
rather than being it's own separate view.

Also convert from using deprecated BGroupLayoutBuilder and
BGridLayoutBuilder classes and use the BLayoutBuilder template instead.

Use font-relative spacing values instead of constants.

Make key label take up 2 columns

Make protected methods private, don't want to subclass
ModifierKeysWindow
2013-08-19 15:59:55 -04:00
John Scipione c197198238 Keymap mod keys: style fixes 2013-08-19 15:59:54 -04:00
John Scipione 2388b04ab8 Keymap mod keys: Move ConflictView to top.
Also, move includes from .h to .cpp file.

Make _FillSavedIcon() private, make Draw() public.
2013-08-19 15:59:54 -04:00
Ingo Weinhold b0944c78b0 More work towards hybrid support
* All packaging architecture dependent variables do now have a
  respective suffix and are set up for each configured packaging
  architecture, save for the kernel and boot loader variables, which
  are still only set up for the primary architecture.
  For convenience TARGET_PACKAGING_ARCH, TARGET_ARCH, TARGET_LIBSUPC++,
  and TARGET_LIBSTDC++ are set to the respective values for the primary
  packaging architecture by default.
* Introduce a set of MultiArch* rules to help with building targets for
  multiple packaging architectures. Generally the respective targets are
  (additionally) gristed with the packaging architecture. For libraries
  the additional grist is usually omitted for the primary architecture
  (e.g. libroot.so and <x86>libroot.so for x86_gcc2/x86 hybrid), so that
  Jamfiles for targets built only for the primary architecture don't
  need to be changed.
* Add multi-arch build support for all targets needed for the stage 1
  cross devel package as well as for libbe (untested).
2013-08-01 08:54:06 +02:00
John Scipione 6ba46ced85 Reinit offscreen bitmap when set keyboard layout
Fixes #9345
2013-05-06 21:16:24 -04:00
Alex Smith 11c9f9a1d6 Merge branch 'master' into x86_64
Conflicts:
	build/jam/FloppyBootImage
	build/jam/OptionalBuildFeatures
	build/jam/OptionalPackages
	headers/private/shared/cpu_type.h
	src/bin/ps.c
	src/bin/sysinfo.cpp
	src/kits/tracker/PoseView.cpp
	src/preferences/appearance/DecorSettingsView.cpp
	src/preferences/virtualmemory/Settings.cpp
	src/servers/input/AddOnManager.cpp
	src/servers/input/InputServer.cpp
	src/servers/input/InputServerMethod.cpp
	src/system/boot/Jamfile
	src/system/boot/platform/raspberrypi_arm/mmu.cpp
	src/system/boot/platform/u-boot/arch/arm/Jamfile
	src/system/kernel/arch/x86/arch_cpu.cpp
	src/system/kernel/arch/x86/arch_thread.cpp
	src/system/kernel/cache/block_cache.cpp
	src/system/kernel/vm/VMAnonymousCache.cpp
2012-11-18 14:02:07 +00:00
Axel Dörfler 634feff0e9 Cut off the trailing spaces from the key dump.
* Noticed these on the keymap changes made by John, however, I have no
  idea how they did get there (the keymap command doesn't use this code).
2012-11-05 13:34:58 +01:00
John Scipione 97d1235cef Fill in the return key rect with the background color.
This eliminates artifacts that are seen when the key is drawn while
being dragged.
2012-10-23 20:37:38 -04:00
John Scipione 184ecaf4c5 Draw rounded inner corners for return key in Keymap.
Draw the return key with rounded inner corners instead of square, this
builds on top of the changes made in hrev44709. The secret to rounding
the corners was to draw both the edge and background of the individual
sections before drawing the button's background on top minus the
clipped out bottom left section.

+alpha4 (optionally, purely cosmetic but shouldn't hurt)
2012-10-22 20:18:21 -04:00
John Scipione 9aaf8ee203 Draw the inner corner of the enter key with square edges.
This completes the rework of the return key drawing code and fixes
bug #8700. (+alpha4)
2012-10-19 18:38:49 -04:00
John Scipione a8c0ae81ab WIP: Rewrite code to draw the return key 2012-10-19 18:38:39 -04:00
John Scipione a12bf7d47b Clipping region is preserved between Draw Button calls.
Remove the code that resets the clipping region. However, the
enter button still doesn't draw correctly, the trick it used before
is not working with the change from the last commit.
2012-10-19 18:38:38 -04:00
Alex Smith 5084d0d451 Added more things to x86_64 image.
Some preference apps, mount_server and AboutSystem. Removed the check
for x86_64 in the boot script, the normal path through the script will
work now. Also removed a temporary hack to workaround AboutSystem not
being there in build_haiku_image.
2012-08-10 09:32:54 +01:00
Jessica Hamilton da2f4733e6 Preserve state of lock keys when keymap is loaded.
Signed-off-by: Axel Dörfler <[email protected]>
2012-08-02 00:04:52 +02: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
John Scipione a884b43bb1 Added support for buttons and menuframes with rounded corners.
* Not turned on for default buttons and menuframes right now.
* Updated Deskcalc and Keymap to use buttons with rounded corners.
* Overloaded methods with radium parameters are not virtual right
  now so as to not break vtables. Added /*virtual*/ before each
  method that should be made virtual in ControlLook.h
* Added a light line to the left border of the down arrow frame
  on menu frames as a small visual tweak.
* Replace StrokeRect() with StrokeRoundRect() when drawing the
  default button indicator. This gives them a rounded
  appearance if the button is also rounded.
* Added protected methods _DrawMenuFieldBackgroundOutside and
  _DrawMenuFieldBackgroundInside.
* Created some protected methods to get the edge, frame, and bevel
  colors from a passed in base color because it was a mess and I
  needed to calculate the colors from mutiple methods. It is much
  cleaner now.
* Added myself to ControlLook.cpp authors list. Assigned copyright
  to Haiku, Inc. Stippi also retains his copyright.
* Tons of style fixes.
  - Change all instances of `if (flags & B_FLAG)` to
    `if ((flags & B_FLAG) != 0)`
  - Reorder some methods.
  - Reorder includes.
  - Spacing.
  - Updated comments.
2012-04-16 02:10:03 -04:00
John Scipione 1cd97d5e86 Update modifier keys window to take out cruft.
I don't need to set the ExplicitMaxSize of the StringView's in
Modifier Keys anymore or calculate the widest label now that the
StringView's have an explicit alignment set. I used the old method
of SetAlignment(B_ALIGN_RIGHT) just because I can,
SetExplicitAlignment() should work too.
2012-04-15 16:41:38 -04:00