flutter_desktop: get double click time, linux
Signed-off-by: fufesou <shuanglongchen@yeah.net>
This commit is contained in:
parent
e229324021
commit
7a972e9305
@ -28,7 +28,7 @@ use hbb_common::tokio::{
|
|||||||
};
|
};
|
||||||
use hbb_common::{
|
use hbb_common::{
|
||||||
allow_err,
|
allow_err,
|
||||||
message_proto::{self, *},
|
message_proto::*,
|
||||||
sleep,
|
sleep,
|
||||||
};
|
};
|
||||||
use hbb_common::{fs, log, Stream};
|
use hbb_common::{fs, log, Stream};
|
||||||
@ -1185,10 +1185,10 @@ impl<T: InvokeUiSession> Remote<T> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(windows)]
|
#[cfg(windows)]
|
||||||
fn handle_cliprdr_msg(&self, clip: message_proto::Cliprdr) {
|
fn handle_cliprdr_msg(&self, clip: hbb_common::message_proto::Cliprdr) {
|
||||||
if !self.handler.lc.read().unwrap().disable_clipboard {
|
if !self.handler.lc.read().unwrap().disable_clipboard {
|
||||||
#[cfg(any(target_os = "android", target_os = "ios", feature = "flutter"))]
|
#[cfg(any(target_os = "android", target_os = "ios", feature = "flutter"))]
|
||||||
if let Some(message_proto::cliprdr::Union::FormatList(_)) = &clip.union {
|
if let Some(hbb_common::message_proto::cliprdr::Union::FormatList(_)) = &clip.union {
|
||||||
if self.client_conn_id
|
if self.client_conn_id
|
||||||
!= clipboard::get_client_conn_id(&crate::flutter::get_cur_session_id())
|
!= clipboard::get_client_conn_id(&crate::flutter::get_cur_session_id())
|
||||||
.unwrap_or(0)
|
.unwrap_or(0)
|
||||||
|
@ -685,9 +685,32 @@ pub fn check_super_user_permission() -> ResultType<bool> {
|
|||||||
Ok(status.success() && status.code() == Some(0))
|
Ok(status.success() && status.code() == Some(0))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type GtkSettingsPtr = *mut c_void;
|
||||||
|
type GObjectPtr = *mut c_void;
|
||||||
|
#[link(name = "gtk-3")]
|
||||||
|
extern "C" {
|
||||||
|
// fn gtk_init(argc: *mut c_int, argv: *mut *mut c_char);
|
||||||
|
fn gtk_settings_get_default() -> GtkSettingsPtr;
|
||||||
|
}
|
||||||
|
|
||||||
|
#[link(name = "gobject-2.0")]
|
||||||
|
extern "C" {
|
||||||
|
fn g_object_get(object: GObjectPtr, first_property_name: *const c_char, ...);
|
||||||
|
}
|
||||||
|
|
||||||
pub fn get_double_click_time() -> u32 {
|
pub fn get_double_click_time() -> u32 {
|
||||||
// to-do
|
|
||||||
// GtkSettings *settings = gtk_settings_get_default ();
|
// GtkSettings *settings = gtk_settings_get_default ();
|
||||||
// g_object_get (settings, "gtk-double-click-time", &double_click_time, NULL);
|
// g_object_get (settings, "gtk-double-click-time", &double_click_time, NULL);
|
||||||
500 as _
|
unsafe {
|
||||||
|
let mut double_click_time = 0u32;
|
||||||
|
let property = std::ffi::CString::new("gtk-double-click-time").unwrap();
|
||||||
|
let setings = gtk_settings_get_default();
|
||||||
|
g_object_get(
|
||||||
|
setings,
|
||||||
|
property.as_ptr(),
|
||||||
|
&mut double_click_time as *mut u32,
|
||||||
|
0 as *const libc::c_void,
|
||||||
|
);
|
||||||
|
double_click_time
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user