Commit Graph

851 Commits

Author SHA1 Message Date
&t
67cc4f11cf Fix minor comment typos 2020-03-04 04:53:53 +00:00
Dorota Czaplejewicz
8ac2b5a713 gsettings: Don't crash on switching when unavailable 2020-03-03 19:46:53 +00:00
Dorota Czaplejewicz
8bae8fe5bb dbus: Don't crash if can't make a connection 2020-03-03 19:25:49 +00:00
Dorota Czaplejewicz
92e9d994fe modifiers: Support Control and Alt
Control and Alt are special in that they aren't expected to switch levels, and so don't need to change what characters are output.

Use in layouts by adding `modifier: Control` or `modifier: Alt` in place of `text: "foo"`.

The latching of the modifier will force the keyboard to emit raw key presses and prevent it from outputting text.
2020-02-28 11:21:07 +00:00
Dorota Czaplejewicz
80919dbc42 Merge branch 'fix_ref' into 'master'
Variant: Use proper pointer conversion between C and Rust

See merge request Librem5/squeekboard!334
2020-02-28 11:08:46 +00:00
Dorota Czaplejewicz
46cbaf8e87 keyboard: Remove unused code 2020-02-23 12:15:19 +00:00
Dorota Czaplejewicz
c0aee5de26 Variant: Use proper pointer conversion between C and Rust 2020-02-20 12:17:50 +00:00
Dorota Czaplejewicz
cb802cfb50 layout: Improve press handling
Makes it more similar to release handling, removes some redundant checks.

This makes it easier to integrate modifiers in the future.
2020-02-19 15:40:39 +00:00
Dorota Czaplejewicz
85be855032 text input: Disable erasing
Erasing with zwp_text_input_v3 version 1 requires bytes, and bytes require get_surrounding_text. That, however, is optional. That's a mistake in protocol design.

Easiest to drop this until the mess is solved on the protocol side.
2020-02-12 10:56:07 +00:00
Dorota Czaplejewicz
a57a78aa2e Merge branch 'center' into 'master'
Center views relative to layout space

See merge request Librem5/squeekboard!326
2020-02-09 20:34:31 +00:00
Sebastian Krzyszkowiak
41be2747d5 Merge branch 'fix' into 'master'
layout: Improve scoping of locked variable

See merge request Librem5/squeekboard!329
2020-02-05 13:19:19 +00:00
Dorota Czaplejewicz
c766fae686 layout: Improve scoping of locked variable 2020-02-05 12:55:31 +00:00
Dorota Czaplejewicz
aadcdbf276 Merge branch 'langs' into 'master'
Update translations & greek

See merge request Librem5/squeekboard!315
2020-02-05 11:05:42 +00:00
Dorota Czaplejewicz
10178d204b Merge remote-tracking branch 'upstream/master' into center 2020-02-05 10:32:07 +00:00
Sebastian Krzyszkowiak
0ac8c620fd Merge branch 'lock' into 'master'
Turn locking stateless

See merge request Librem5/squeekboard!322
2020-02-05 09:25:49 +00:00
Guido Gunther
80e83781bb Merge branch 'leaks' into 'master'
Allocation problems

See merge request Librem5/squeekboard!327
2020-02-05 09:24:46 +00:00
Dorota Czaplejewicz
37e1ed93a6 Merge branch 'text_input_enable' into 'master'
Submit and delete strings via text_input

See merge request Librem5/squeekboard!304
2020-02-03 15:06:25 +00:00
Dorota Czaplejewicz
1cbc21ad11 variant: Fix double-free
gio::Settings::set_value takes over ownership of the Variant sometimes, but in other cases it doesn't. To prevent this being a problem, the custom Variant is made of the type that will never have its ownership taken.

This is not necessarily consistent with what gtk-rs authors intended.

In practice, the ownership is shared by refcounting, and after the Rust reference is dropped, one taken by Settings survives.
2020-02-03 14:53:24 +00:00
Dorota Czaplejewicz
416bc6163e drawing: Generalized foreach_visible_button 2020-02-02 18:29:29 +00:00
Dorota Czaplejewicz
40b79f6209 layout: Center views relative to each other and the layout bounds 2020-02-02 18:07:28 +00:00
Dorota Czaplejewicz
782d80a007 row: Eliminate angle 2020-02-02 17:11:25 +00:00
Dorota Czaplejewicz
500c23beec locking: Lock keys statelessly
Locking is not determined by button state any more, but rather based on the view active at the moment. If pressing/locking a key results in the current view being active, the key is active. If locking a key results in the current view, the unlock view is activated.
2020-02-02 15:41:47 +00:00
Dorota Czaplejewicz
97d8dfe4cb locks: Draw based on current view 2020-02-02 14:45:33 +00:00
Sebastian Krzyszkowiak
b9db00c00c layouts: Add Polish layouts 2020-01-30 21:19:13 +01:00
Dorota Czaplejewicz
7a588460bf setup: Connect ui to the state manager
This ensures that the layout type information is accessible to the state manager when new layout information arrive.

The should be thought of as a stopgap measure. A proper solution would be to separate the state properly, and probably turn layout information coming from random places into messages that some object (thread?) collects and displays.
2020-01-28 21:32:47 +00:00
Dorota Czaplejewicz
7f32c5cf23 greek: Rename to gr which is used by gnome settings 2020-01-28 19:17:47 +00:00
Dorota Czaplejewicz
2ffbdde758 layouts: Fix segfault on switching to wide 2020-01-28 16:42:58 +00:00
Dorota Czaplejewicz
cd252634bd logging: Use in merged functions 2020-01-28 12:45:45 +00:00
Dorota Czaplejewicz
de8aaa1a47 Merge remote-tracking branch 'upstream/master' into text_input_enable 2020-01-28 12:39:42 +00:00
Dorota Czaplejewicz
ac360b610f Merge branch 'log' into 'master'
Unify logging

See merge request Librem5/squeekboard!308
2020-01-28 11:42:02 +00:00
Dorota Czaplejewicz
f326929634 Merge branch 'text_input' into 'master'
Text input integration

See merge request Librem5/squeekboard!302
2020-01-24 09:41:14 +00:00
Dorota Czaplejewicz
585ed5e97d input_method: Use for erasing 2020-01-23 15:39:40 +00:00
Dorota Czaplejewicz
2b65beba44 press_key: Use proper logging 2020-01-20 15:40:30 +00:00
Dorota Czaplejewicz
5129d42577 Merge remote-tracking branch 'upstream/master' into log 2020-01-20 15:40:01 +00:00
Dorota Czaplejewicz
8d06815279 Merge branch 'cleanups' into 'master'
C-side Cleanups

See merge request Librem5/squeekboard!300
2020-01-19 12:57:40 +00:00
Dorota Czaplejewicz
c75e085dc8 logging: Unified to remove random eprint calls 2020-01-17 12:25:39 +00:00
Dorota Czaplejewicz
cc418c3609 imservice: Return something more resembling an Error on failure
The error type is expected to be printable by logging utilities.
2020-01-17 11:59:47 +00:00
Dorota Czaplejewicz
ea84f4f031 logging: Try to improve common operations
This adds sugar for logging `Result`s with a handler, makes names evoke something closer to "logging" than "warning", tries to remove any redundant `Logging` where the module name will do, and introduces a type strictly for bad things happening.
2020-01-16 15:57:46 +00:00
Dorota Czaplejewicz
81e0c15db9 dbus: Log error on dbus exit 2020-01-15 17:06:00 +00:00
Dorota Czaplejewicz
f3d852f552 Merge branch 'handling' into 'master'
Centralize handling release events

See merge request Librem5/squeekboard!289
2020-01-14 18:38:43 +00:00
Dorota Czaplejewicz
42cb73cd8c submission: Handle submitting strings 2020-01-14 18:33:47 +00:00
Dorota Czaplejewicz
d1bc23e9d8 imservice: Add commit_string method 2020-01-14 18:17:12 +00:00
Dorota Czaplejewicz
e3f31cc17f imservice: Rename commit_state to done to match protocol 2020-01-14 18:16:36 +00:00
Dorota Czaplejewicz
9d027426b7 Merge branch 'termina' into 'master'
overlay: Add terminal

See merge request Librem5/squeekboard!299
2020-01-14 12:58:26 +00:00
Dorota Czaplejewicz
02c24a50d2 submission: Remove wildcard reexport 2020-01-14 11:38:44 +00:00
Dorota Czaplejewicz
26dbcdeb62 keyboard: Gather up keymap handling, drop layout 2020-01-13 13:53:54 +00:00
Dorota Czaplejewicz
326bb9319f submission: Take over virtual_keyboard handling 2020-01-13 13:53:54 +00:00
Dorota Czaplejewicz
aafecfac02 EekGtkKeyboard: Use a direct reference to EekboardContext 2020-01-13 13:53:54 +00:00
Dorota Czaplejewicz
e5d416fd4f imservice: Limited scope of unsafe 2020-01-13 13:53:54 +00:00
Dorota Czaplejewicz
785717d477 submission: Create a new wrapper over imservice 2020-01-13 13:53:48 +00:00