Copio se has_selection

master
Pietro Brenna 2020-03-27 21:00:09 +01:00
parent 5e3c20f39e
commit efb473c6fc
2 changed files with 25 additions and 8 deletions

View File

@ -14,6 +14,7 @@ mod menu;
mod stato_finestra; mod stato_finestra;
mod tabs; mod tabs;
mod wake_listener; mod wake_listener;
use crate::vte::TerminalExt;
use stato_finestra::{OperazStato, PosizFinestra, StatoFinestra, StatoFull}; use stato_finestra::{OperazStato, PosizFinestra, StatoFinestra, StatoFull};
fn build_ui(application: &gtk::Application) { fn build_ui(application: &gtk::Application) {
@ -68,6 +69,22 @@ fn build_ui(application: &gtk::Application) {
true true
}), }),
); );
let (key, modifier) = gtk::accelerator_parse("<Control><Shift>c");
accel_group.connect_accel_group(
key,
modifier,
gtk::AccelFlags::VISIBLE,
clone!(@weak nb => @default-return true, move |_accel_g, _window, _key, _modif| {
let p_num = nb.get_current_page();
let page = nb.get_nth_page(p_num);
if let Some(vte) = page {
let _ = vte.downcast::<vte::Terminal>().map(|x| if x.get_has_selection() {
x.emit_copy_clipboard()
});
}
true
}),
);
let (key, modifier) = gtk::accelerator_parse("F11"); let (key, modifier) = gtk::accelerator_parse("F11");
let stato = StatoFinestra::new_arc(PosizFinestra::Su, StatoFull::NonFull); let stato = StatoFinestra::new_arc(PosizFinestra::Su, StatoFull::NonFull);
let stato0 = stato.clone(); let stato0 = stato.clone();

View File

@ -16,14 +16,14 @@ pub fn build_tab(
//gtk::Window::set_interactive_debugging(true); //gtk::Window::set_interactive_debugging(true);
let vte = vte::Terminal::new(); let vte = vte::Terminal::new();
vte.set_scrollback_lines(-1); vte.set_scrollback_lines(-1);
let (key, modifier) = gtk::accelerator_parse("<Control><Shift>c"); // let (key, modifier) = gtk::accelerator_parse("<Control><Shift>c");
vte.add_accelerator( // vte.add_accelerator(
"copy-clipboard", // "copy-clipboard",
&new_accel_g, // &new_accel_g,
key, // key,
modifier, // modifier,
gtk::AccelFlags::VISIBLE, // gtk::AccelFlags::VISIBLE,
); // );
let font = pango::FontDescription::from_string("Iosevka Regular 13"); let font = pango::FontDescription::from_string("Iosevka Regular 13");
vte.set_font(Some(&font)); vte.set_font(Some(&font));