878b7ed18e 
					 
					
						
						
							
							ffi: Use a generic wrapper for opaque Rust structs  
						
						 
						
						
						
						
					 
					
						2019-08-29 13:33:04 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						75992ff13f 
					 
					
						
						
							
							Check for button position more in Rust  
						
						 
						
						... 
						
						
						
						The check against fitting inside the Layout was removed: as an optimization it is unneeded, as the actual search must be optimized to be quick. In addition, the view bounds don't correspond to anything physical as long as negative offsets are allowed. 
						
						
					 
					
						2019-08-29 12:19:42 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						4a61ab269b 
					 
					
						
						
							
							layout: Place items using simple loops  
						
						 
						
						... 
						
						
						
						The C version of looping over buttons and other items was weakly typed, causing runtime errors, and also C doesn't know how to iterate in abstract, so it was full of callbacks with user-defined data. Moving this to Rust, iteration is made of simple loops, and compile-time type-checked, at the cost of some more verbose code. 
						
						
					 
					
						2019-08-28 09:41:33 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						79b66f81ec 
					 
					
						
						
							
							view: Move button finding to Rust  
						
						 
						
						
						
						
					 
					
						2019-08-18 13:22:18 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						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