f7f208883c
errors: Make compilation stricter
2019-07-31 14:11:49 +00:00
5523b00442
test: Add missing gtk include
2019-07-31 14:11:35 +00:00
c81fdb18de
eekelement: Fix case falling through
2019-07-31 14:11:03 +00:00
d5f8b0d83b
Merge branch 'simplify-rendering' into 'master'
...
Simplify layout and rendering
See merge request Librem5/squeekboard!102
2019-07-31 09:10:57 +00:00
e70a898af5
Merge branch 'adjust-keyboard-geometry' into 'master'
...
Adjust keyboard geometry
See merge request Librem5/squeekboard!103
2019-07-31 06:39:45 +00:00
df249646bc
Merge branch 'update-numeric-keypad' into 'master'
...
Rename keypad-related files
See merge request Librem5/squeekboard!101
2019-07-31 06:37:09 +00:00
35ff93258e
Adjust geometry to match the compact keyboard in places
2019-07-31 00:43:39 +02:00
c58d034494
Adjust bounds of the keyboard to better fit it in the available space
2019-07-31 00:43:36 +02:00
8f1de46381
Simplify layout and rendering
...
Remove pre-scaling of the bounds for the keyboard and its contents.
Calculate the scale factor based on the allocation and the desired width
and height of each keyboard, using the lower value of the horizontal and
vertical scale factors.
Apply scaling in the renderer and prepare to perform centering there.
2019-07-30 21:48:36 +00:00
1846a67e83
Merge branch 'readme' into 'master'
...
readme: Change the clone URL
Closes #30
See merge request Librem5/squeekboard!100
2019-07-30 20:39:09 +00:00
35ac14806c
Rename keypad-related files
2019-07-30 20:47:29 +02:00
4aee4915d9
Merge branch 'generate-xkb-files' into 'master'
...
Generate XKB keymaps from XML instead of using pre-made ones
See merge request Librem5/squeekboard!90
2019-07-30 17:38:06 +00:00
5eeaa1c693
Remove unused geometry file
2019-07-30 19:28:16 +02:00
9b2fcf89e8
Use a test-oriented init call
2019-07-30 17:20:15 +02:00
e801a68f0d
Add comments to explain what empty labels do
2019-07-30 16:50:23 +02:00
ffc5628637
readme: Change the clone URL
2019-07-30 13:08:12 +00:00
306aa89d06
Merge branch 'content_type' into 'master'
...
Finish up imservice state
See merge request Librem5/squeekboard!93
2019-07-30 11:44:19 +00:00
236415cde4
Merge branch 'add-landscape-orientation' into 'master'
...
Add landscape orientation
See merge request Librem5/squeekboard!99
2019-07-30 11:19:41 +00:00
d49e0eaa1b
Center the keyboard in landscape orientation
2019-07-26 22:27:56 +00:00
107399a531
Don't set the geometry of the window in normal use
...
Setting the geometry prevents the widget from getting the correct
allocation and prevents us from positioning it correctly in
landscape mode.
2019-07-26 22:26:02 +00:00
99a7786dc3
Remove declaration of unused variable
2019-07-26 12:01:04 +02:00
d8f48cc48b
Merge branch 'use-button-size-for-icons' into 'master'
...
Use the standard button size for icons
See merge request Librem5/squeekboard!98
2019-07-26 08:04:53 +00:00
2f0beb6d3a
Add a simple test of keymap generation
2019-07-25 22:25:30 +02:00
3ab3627ffe
Remove unused keymaps
2019-07-25 22:25:30 +02:00
70895999c2
Generate XKB keymaps from XML instead of using pre-made ones
2019-07-25 22:25:29 +02:00
ce311e1bf1
Use the standard button size for icons
2019-07-25 20:14:32 +00:00
e9cf572a3c
Only recreate the widget when the keyboard layout changes
...
Avoid creating a widget before there is a window to put it in.
2019-07-25 18:07:29 +00:00
943b2ad9f3
Merge branch 'xkb_resource_oob_read' into 'master'
...
Fix out of bounds memory read in get_keymap_from_resource.
See merge request Librem5/squeekboard!97
2019-07-25 13:20:35 +00:00
f86bbb09f8
Fix out of bounds memory read in get_keymap_from_resource.
...
The function reads resource content into a buffer whose size matches the
size of the file contents. This buffer does not have an extra byte that
would 0 terminate this string. This is by itself is not a problem.
Unfortunately the buffer is passed to g_utf8_make_valid function with
size argument specified as -1 which means the buffer is supposed to be
NULL terminated. The end result is g_utf8_make_valid will read at least
1 byte past "contents" buffer size.
Fix this by specifying buffer size when calling g_utf8_make_valid.
2019-07-24 17:08:19 +02:00
1246776328
Create the keyboard surface every time it is needed
...
Icons are still blurry the first time the keyboard is shown after
rotation.
2019-07-24 14:04:28 +00:00
ea15f69e73
Render the keyboard to a subsurface of the widget
2019-07-24 13:12:57 +00:00
2e22bb5431
Merge branch 'fix-squeekboard-resources' into 'master'
...
Ensure that resources are built with the application
See merge request Librem5/squeekboard!95
2019-07-23 23:25:33 +00:00
a9a6e1d2b5
Ensure that resources are built with the application
2019-07-24 01:22:58 +02:00
7e939c36cc
imservice: Call show/hide directly
2019-07-23 20:26:42 +00:00
c5d2d76ab1
imservice: Handle unavailable message
2019-07-23 20:26:42 +00:00
622ba6e38a
imservice: Handle text change cause
...
Nothing is being done with this information yet
2019-07-23 20:26:42 +00:00
fad06348a7
imservice: Make imservice opaque
...
The structure is defined in Rust, with the intention of evaluating using Rust in this area. It's specifically not defined as repr(C), in order to encourage that. Without the repr, it was unsafe to have its members exposed in C.
2019-07-23 20:26:42 +00:00
a6ee303123
imservice: Handle content type in Rust
...
This adds `bitflags.rs` from the bitflags crate.
Due to not wanting to introduce Cargo as the dependency manager yet, it's slightly modified to compile as a naked module.
2019-07-23 20:25:13 +00:00
4b66add65f
Merge branch 'ci' into 'master'
...
Run tests in ci
See merge request Librem5/squeekboard!94
2019-07-23 11:29:34 +00:00
79dce7c4c3
gitlab-ci: Run tests under xvfb
...
We create widgets so need a display.
2019-07-23 10:20:07 +02:00
aff71e0e33
debian: Add test run dependencies
...
We need xvfb to run the tests since this involves creating GTK
widgets.
2019-07-23 10:20:02 +02:00
9b10f56ba6
Keep the build directory as an artifact
2019-07-23 10:18:44 +02:00
2391947b34
Update CI configuration to enable tests
2019-07-23 10:18:44 +02:00
e903150971
Enable tests, fixing the existing ones to use the current API
...
This also involved building a static library for the application for
tests to link to. The main application executable also links to it.
2019-07-23 10:18:44 +02:00
7495ec9bbb
Merge branch 'remove-includes' into 'master'
...
Remove unnecessary X11 includes
See merge request Librem5/squeekboard!91
2019-07-20 22:00:58 +00:00
e25d5a84b2
Remove unnecessary X11 includes
2019-07-20 23:57:38 +02:00
88ade4df1b
Merge branch 'add-keyboards-for-purposes' into 'master'
...
Add keyboards for purposes
See merge request Librem5/squeekboard!89
2019-07-20 21:44:30 +00:00
00c3903672
Respond to the input purpose, showing a numeric keypad if requested
2019-07-20 17:33:55 +02:00
c801b17ba0
Add initial files to test specialized keyboard support
2019-07-20 17:33:50 +02:00
9ec8d62f3f
Merge branch 'respond-to-input-source-changes' into 'master'
...
Respond to input source changes
See merge request Librem5/squeekboard!88
2019-07-20 15:31:40 +00:00