Commit Graph

782 Commits

Author SHA1 Message Date
e1c57fa9f0 row: Add const 2019-08-18 13:22:18 +00:00
a64bff6aab button: Add const qualifiers where needed 2019-08-18 13:22:18 +00:00
4e9a8e4afe Move button finding to view 2019-08-18 13:22:18 +00:00
f479a36dbe keyboard: Remove references 2019-08-18 13:22:18 +00:00
e56f1c6392 row: Move button find iteration into row 2019-08-18 13:22:18 +00:00
7caf2ef86d row: Less dense placing of buttons 2019-08-18 13:22:18 +00:00
86b72d2723 row: Move generic functions out of the C ghetto 2019-08-18 13:22:18 +00:00
c4b3a0aaaa row: Moved button sizing closer to row 2019-08-18 13:22:18 +00:00
524040cf00 Remove eek-container 2019-08-18 13:22:18 +00:00
77d4f45d13 section: Elininate references 2019-08-18 13:22:18 +00:00
0d33179727 section: Moved bounds to row 2019-08-18 13:22:18 +00:00
4f8de42598 section: Move properties into Row 2019-08-18 13:22:18 +00:00
3689727fc1 serializable: Remove completely 2019-08-18 13:22:18 +00:00
6fc351d2e8 eekkey: Dropped in favor of Button
Each Button has a KeyState, which may be shared with other buttons. The list of pressed and locked buttons is used as a list of keys, causing a search for the button in the current view.
2019-08-18 13:22:18 +00:00
b70afbe9eb keystate: Wrap in refconuter 2019-08-18 13:20:43 +00:00
996f681e5c keystate: Removed multiple symbols 2019-08-18 13:20:43 +00:00
725b36ba79 locking: Move to squeek_key 2019-08-18 13:20:43 +00:00
94a76eedfd Remove marshalers 2019-08-18 13:20:43 +00:00
1cfec4de50 key: Share state between multiple keys 2019-08-08 20:04:38 +00:00
f371b14e89 levelkeyboard: Use a layer for managing keyboard views 2019-08-08 19:26:21 +00:00
0b6935e50c keystate: Use keycode 2019-08-08 19:18:29 +00:00
fb93e25833 eekkey: Moved state to KeyState 2019-08-08 19:18:29 +00:00
ad86cb531a symbol: Store symbols instead of pointers 2019-08-08 19:18:29 +00:00
53b89aae45 symbol: Remove remains 2019-08-08 19:18:29 +00:00
23d5f18d4a symbols matrix: Remove in favor of a levels vector 2019-08-08 19:18:28 +00:00
38f81e45f4 Break out symbol handling into Rust 2019-08-08 12:51:15 +00:00
87dd9b4374 Remove references to the removed theme classes 2019-08-02 17:04:16 +02:00
778543c719 rust: Add a call to Rust test framework 2019-07-31 11:20:57 +00:00
18b8972029 bitflags: Use absolute imports
With relative import of the bitflags crate, the macros would try to fetch nonexistent paths, preventing tests form compiling.
2019-07-31 11:13:24 +00:00
fa31f8eee1 imservice: Check pointer validity 2019-07-31 10:43:39 +00:00
98a2e33d78 imservice: Use TryFrom for u32->enum conversions 2019-07-31 10:05:35 +00:00
58d01bf502 imservice: Use discriminants in enums 2019-07-31 10:05:35 +00:00
8326bd7016 rust: Create a root file for modules
The new `lib.rs` file is created to refer to all modules written in Rust. This way, only one `rustc` call is needed to compile an arbitrary amount of modules. It also converges with the way crates are structured.
2019-07-31 10:05:27 +00: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
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
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
70895999c2 Generate XKB keymaps from XML instead of using pre-made ones 2019-07-25 22:25:29 +02: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
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
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
e25d5a84b2 Remove unnecessary X11 includes 2019-07-20 23:57:38 +02:00
00c3903672 Respond to the input purpose, showing a numeric keypad if requested 2019-07-20 17:33:55 +02:00
b1edcfcb1b Tidy up a merge 2019-07-20 17:26:00 +02:00
54b0f59935 Always create a new widget for a keyboard and update it if already visible 2019-07-20 17:25:55 +02:00
a5875402ef Move EekGtkRenderer features into EekRenderer 2019-07-18 15:42:27 +02:00