Compare commits
9 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 5aa7334787 | |||
| 955a138849 | |||
| 44c80a0406 | |||
| 12c9ca1e02 | |||
| 91acfa0138 | |||
| 8d01d17b8c | |||
| 74a5b0937b | |||
| 17ce0b6b46 | |||
| d07b5ed0d6 |
20
Cargo.lock
generated
20
Cargo.lock
generated
@ -59,9 +59,9 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "cc"
|
name = "cc"
|
||||||
version = "1.0.61"
|
version = "1.0.62"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "ed67cbde08356238e75fc4656be4749481eeffb09e19f320a25237d5221c985d"
|
checksum = "f1770ced377336a88a67c473594ccc14eca6f4559217c34f64aac8f83d641b40"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "clap"
|
name = "clap"
|
||||||
@ -265,9 +265,9 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "libc"
|
name = "libc"
|
||||||
version = "0.2.79"
|
version = "0.2.80"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "2448f6066e80e3bfc792e9c98bf705b4b0fc6e8ef5b43e5889aff0eaa9c58743"
|
checksum = "4d58d1b70b004888f764dfbf6a26a3b0342a1632d33968e4a179d8011c760614"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "linked-hash-map"
|
name = "linked-hash-map"
|
||||||
@ -353,9 +353,9 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "regex-syntax"
|
name = "regex-syntax"
|
||||||
version = "0.6.20"
|
version = "0.6.21"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "8cab7a364d15cde1e505267766a2d3c4e22a843e1a601f0fa7564c0f82ced11c"
|
checksum = "3b181ba2dcf07aaccad5448e8ead58db5b742cf85dfe035e2227f137a539a189"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "rs"
|
name = "rs"
|
||||||
@ -400,9 +400,9 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "serde_yaml"
|
name = "serde_yaml"
|
||||||
version = "0.8.13"
|
version = "0.8.14"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "ae3e2dd40a7cdc18ca80db804b7f461a39bb721160a85c9a1fa30134bf3c02a5"
|
checksum = "f7baae0a99f1a324984bcdc5f0718384c1f69775f1c7eec8b859b71b443e3fd7"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"dtoa",
|
"dtoa",
|
||||||
"linked-hash-map",
|
"linked-hash-map",
|
||||||
@ -412,9 +412,9 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "syn"
|
name = "syn"
|
||||||
version = "1.0.45"
|
version = "1.0.48"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "ea9c5432ff16d6152371f808fb5a871cd67368171b09bb21b43df8e4a47a3556"
|
checksum = "cc371affeffc477f42a221a1e4297aedcea33d47d19b61455588bd9d8f6b19ac"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"proc-macro2",
|
"proc-macro2",
|
||||||
"quote",
|
"quote",
|
||||||
|
|||||||
@ -2,7 +2,7 @@ be Belgjic
|
|||||||
br Brasilian
|
br Brasilian
|
||||||
de Todesc
|
de Todesc
|
||||||
dk Danês
|
dk Danês
|
||||||
es Spgnûl
|
es Spagnûl
|
||||||
fi Finlandês
|
fi Finlandês
|
||||||
fr Francês
|
fr Francês
|
||||||
it+fur Furlan
|
it+fur Furlan
|
||||||
|
|||||||
12
debian/changelog
vendored
12
debian/changelog
vendored
@ -1,3 +1,15 @@
|
|||||||
|
squeekboard (1.11.0) amber-phone; urgency=medium
|
||||||
|
|
||||||
|
[ Dorota Czaplejewicz ]
|
||||||
|
* UI: Delay hiding only when leaving a text field
|
||||||
|
* ui: Cancel hiding delay when activity requested again
|
||||||
|
* Update dependencies
|
||||||
|
|
||||||
|
[ Fabio Tomat ]
|
||||||
|
* Update fur-IT.txt fix typo for Spanish
|
||||||
|
|
||||||
|
-- Dorota Czaplejewicz <dorota.czaplejewicz@puri.sm> Sat, 14 Nov 2020 06:46:28 +0000
|
||||||
|
|
||||||
squeekboard (1.10.0) amber-phone; urgency=medium
|
squeekboard (1.10.0) amber-phone; urgency=medium
|
||||||
|
|
||||||
[ Dorota Czaplejewicz ]
|
[ Dorota Czaplejewicz ]
|
||||||
|
|||||||
@ -42,7 +42,7 @@ pub mod c {
|
|||||||
pub fn eek_input_method_commit(im: *mut InputMethod, serial: u32);
|
pub fn eek_input_method_commit(im: *mut InputMethod, serial: u32);
|
||||||
fn eekboard_context_service_set_hint_purpose(state: *const StateManager, hint: u32, purpose: u32);
|
fn eekboard_context_service_set_hint_purpose(state: *const StateManager, hint: u32, purpose: u32);
|
||||||
fn server_context_service_show_keyboard(imservice: *const UIManager);
|
fn server_context_service_show_keyboard(imservice: *const UIManager);
|
||||||
fn server_context_service_hide_keyboard(imservice: *const UIManager);
|
fn server_context_service_keyboard_release_visibility(imservice: *const UIManager);
|
||||||
}
|
}
|
||||||
|
|
||||||
// The following defined in Rust. TODO: wrap naked pointers to Rust data inside RefCells to prevent multiple writers
|
// The following defined in Rust. TODO: wrap naked pointers to Rust data inside RefCells to prevent multiple writers
|
||||||
@ -165,7 +165,7 @@ pub mod c {
|
|||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if let Some(ui) = imservice.ui_manager {
|
if let Some(ui) = imservice.ui_manager {
|
||||||
unsafe { server_context_service_hide_keyboard(ui); }
|
unsafe { server_context_service_keyboard_release_visibility(ui); }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -185,7 +185,7 @@ pub mod c {
|
|||||||
imservice.current.active = false;
|
imservice.current.active = false;
|
||||||
|
|
||||||
if let Some(ui) = imservice.ui_manager {
|
if let Some(ui) = imservice.ui_manager {
|
||||||
unsafe { server_context_service_hide_keyboard(ui); }
|
unsafe { server_context_service_keyboard_release_visibility(ui); }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -226,15 +226,6 @@ make_widget (ServerContextService *self)
|
|||||||
gtk_widget_show_all(self->widget);
|
gtk_widget_show_all(self->widget);
|
||||||
}
|
}
|
||||||
|
|
||||||
static gboolean
|
|
||||||
on_hide (ServerContextService *self)
|
|
||||||
{
|
|
||||||
gtk_widget_hide (GTK_WIDGET(self->window));
|
|
||||||
self->hiding = 0;
|
|
||||||
|
|
||||||
return G_SOURCE_REMOVE;
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
server_context_service_real_show_keyboard (ServerContextService *self)
|
server_context_service_real_show_keyboard (ServerContextService *self)
|
||||||
{
|
{
|
||||||
@ -242,11 +233,6 @@ server_context_service_real_show_keyboard (ServerContextService *self)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (self->hiding) {
|
|
||||||
g_source_remove (self->hiding);
|
|
||||||
self->hiding = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!self->window) {
|
if (!self->window) {
|
||||||
make_window (self);
|
make_window (self);
|
||||||
}
|
}
|
||||||
@ -260,17 +246,29 @@ server_context_service_real_show_keyboard (ServerContextService *self)
|
|||||||
static void
|
static void
|
||||||
server_context_service_real_hide_keyboard (ServerContextService *self)
|
server_context_service_real_hide_keyboard (ServerContextService *self)
|
||||||
{
|
{
|
||||||
if (!self->hiding) {
|
gtk_widget_hide (GTK_WIDGET(self->window));
|
||||||
self->hiding = g_timeout_add (200, (GSourceFunc) on_hide, self);
|
|
||||||
}
|
|
||||||
self->visible = FALSE;
|
self->visible = FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static gboolean
|
||||||
|
on_hide (ServerContextService *self)
|
||||||
|
{
|
||||||
|
server_context_service_real_hide_keyboard(self);
|
||||||
|
self->hiding = 0;
|
||||||
|
|
||||||
|
return G_SOURCE_REMOVE;
|
||||||
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
server_context_service_show_keyboard (ServerContextService *self)
|
server_context_service_show_keyboard (ServerContextService *self)
|
||||||
{
|
{
|
||||||
g_return_if_fail (SERVER_IS_CONTEXT_SERVICE(self));
|
g_return_if_fail (SERVER_IS_CONTEXT_SERVICE(self));
|
||||||
|
|
||||||
|
if (self->hiding) {
|
||||||
|
g_source_remove (self->hiding);
|
||||||
|
self->hiding = 0;
|
||||||
|
}
|
||||||
|
|
||||||
if (!self->visible) {
|
if (!self->visible) {
|
||||||
server_context_service_real_show_keyboard (self);
|
server_context_service_real_show_keyboard (self);
|
||||||
}
|
}
|
||||||
@ -286,6 +284,22 @@ server_context_service_hide_keyboard (ServerContextService *self)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Meant for use by the input-method handler:
|
||||||
|
/// the visible keyboard is no longer needed.
|
||||||
|
/// The implementation will delay it slightly,
|
||||||
|
/// because the release may be due to switching from one text field to another.
|
||||||
|
/// In this case, the user doesn't really need the keyboard surface
|
||||||
|
/// to disappear completely.
|
||||||
|
void
|
||||||
|
server_context_service_keyboard_release_visibility (ServerContextService *self)
|
||||||
|
{
|
||||||
|
g_return_if_fail (SERVER_IS_CONTEXT_SERVICE(self));
|
||||||
|
|
||||||
|
if (!self->hiding && self->visible) {
|
||||||
|
self->hiding = g_timeout_add (200, (GSourceFunc) on_hide, self);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
server_context_service_set_property (GObject *object,
|
server_context_service_set_property (GObject *object,
|
||||||
guint prop_id,
|
guint prop_id,
|
||||||
|
|||||||
Reference in New Issue
Block a user