Commit Graph

321 Commits

Author SHA1 Message Date
Dorota Czaplejewicz
4f8de42598 section: Move properties into Row 2019-08-18 13:22:18 +00:00
Dorota Czaplejewicz
3689727fc1 serializable: Remove completely 2019-08-18 13:22:18 +00:00
Dorota Czaplejewicz
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
Dorota Czaplejewicz
b70afbe9eb keystate: Wrap in refconuter 2019-08-18 13:20:43 +00:00
Dorota Czaplejewicz
996f681e5c keystate: Removed multiple symbols 2019-08-18 13:20:43 +00:00
Dorota Czaplejewicz
725b36ba79 locking: Move to squeek_key 2019-08-18 13:20:43 +00:00
Dorota Czaplejewicz
94a76eedfd Remove marshalers 2019-08-18 13:20:43 +00:00
Dorota Czaplejewicz
1cfec4de50 key: Share state between multiple keys 2019-08-08 20:04:38 +00:00
Dorota Czaplejewicz
f371b14e89 levelkeyboard: Use a layer for managing keyboard views 2019-08-08 19:26:21 +00:00
Dorota Czaplejewicz
0b6935e50c keystate: Use keycode 2019-08-08 19:18:29 +00:00
Dorota Czaplejewicz
fb93e25833 eekkey: Moved state to KeyState 2019-08-08 19:18:29 +00:00
Dorota Czaplejewicz
ad86cb531a symbol: Store symbols instead of pointers 2019-08-08 19:18:29 +00:00
Dorota Czaplejewicz
53b89aae45 symbol: Remove remains 2019-08-08 19:18:29 +00:00
Dorota Czaplejewicz
23d5f18d4a symbols matrix: Remove in favor of a levels vector 2019-08-08 19:18:28 +00:00
Dorota Czaplejewicz
38f81e45f4 Break out symbol handling into Rust 2019-08-08 12:51:15 +00:00
David Boddie
87dd9b4374 Remove references to the removed theme classes 2019-08-02 17:04:16 +02:00
Dorota Czaplejewicz
778543c719 rust: Add a call to Rust test framework 2019-07-31 11:20:57 +00:00
Dorota Czaplejewicz
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
Dorota Czaplejewicz
fa31f8eee1 imservice: Check pointer validity 2019-07-31 10:43:39 +00:00
Dorota Czaplejewicz
98a2e33d78 imservice: Use TryFrom for u32->enum conversions 2019-07-31 10:05:35 +00:00
Dorota Czaplejewicz
58d01bf502 imservice: Use discriminants in enums 2019-07-31 10:05:35 +00:00
Dorota Czaplejewicz
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
Dorota Czaplejewicz
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
Dorota Czaplejewicz
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
David Boddie
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
David Boddie
70895999c2 Generate XKB keymaps from XML instead of using pre-made ones 2019-07-25 22:25:29 +02:00
David Boddie
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
David Boddie
a9a6e1d2b5 Ensure that resources are built with the application 2019-07-24 01:22:58 +02:00
Dorota Czaplejewicz
7e939c36cc imservice: Call show/hide directly 2019-07-23 20:26:42 +00:00
Dorota Czaplejewicz
c5d2d76ab1 imservice: Handle unavailable message 2019-07-23 20:26:42 +00:00
Dorota Czaplejewicz
622ba6e38a imservice: Handle text change cause
Nothing is being done with this information yet
2019-07-23 20:26:42 +00:00
Dorota Czaplejewicz
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
Dorota Czaplejewicz
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
David Boddie
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
David Boddie
e25d5a84b2 Remove unnecessary X11 includes 2019-07-20 23:57:38 +02:00
David Boddie
00c3903672 Respond to the input purpose, showing a numeric keypad if requested 2019-07-20 17:33:55 +02:00
David Boddie
b1edcfcb1b Tidy up a merge 2019-07-20 17:26:00 +02:00
David Boddie
54b0f59935 Always create a new widget for a keyboard and update it if already visible 2019-07-20 17:25:55 +02:00
David Boddie
a5875402ef Move EekGtkRenderer features into EekRenderer 2019-07-18 15:42:27 +02:00
Guido Günther
633d69baca Drop HAVE_CLUTTER_GTK
We don't use it.
2019-07-17 19:50:53 +02:00
Guido Günther
dbc8cc14bc Generate config.h
This allows us to remove a lot of #ifdef's. Either we want to use
a config.h or we don't. Since we'll want it for e.g. optional gsound
support later on let's have it.
2019-07-17 19:50:53 +02:00
Guido Günther
373713ba54 ServerContextService: Don't destroy widget all the time
This avoids icon theme lookups and lots of other stuff down the road.

Closes: #60
2019-07-17 17:16:35 +02:00
Guido Günther
07d6e3a0f2 ServerContextService: Don't use gtk_widget_show_all
This gives children more flexibility without using `no_show_all`.
2019-07-17 17:14:42 +02:00
Guido Günther
8dafad80b1 ServerContextService: Check for mapped/unmapped
Visible does not tell us if the widget is actually visible on the
screen.
2019-07-17 00:44:00 +02:00
Guido Günther
93e9b2dde9 ServerContextService: Hide the widget instead of destroying it
This is quicker and makes sure we don't stack up surfaces.
2019-07-16 18:52:53 +02:00
Guido Günther
95ef52fe42 ServerContextService: Remove more unused code
The whole visible/enable logic was disfunctional all the time.
What works is show_keyboard and hide_keyboard.
2019-07-16 18:47:55 +02:00
Guido Günther
c638c40a09 ServerContextService: Drop everything depending on self->was_visible
This was never used so everything depending on it was dead code.
2019-07-16 18:47:55 +02:00
Guido Günther
83d48d24ce ServerContextService: Really destroy the main window
Otherwise layer surfaces keep piling up
2019-07-16 18:47:55 +02:00
Guido Günther
d807e43929 ServerContextService: Drop unneeded code
The layer shell code handles parts of this and others are just
not needed on wayland.
2019-07-16 18:47:55 +02:00
Guido Günther
0a112be956 ServerContextService: Show keyboard when everything else is set up
This avoids some flickering.
2019-07-16 18:47:55 +02:00