println!();
return Ok(true);
},
- Keycode::Return => return Ok(true),
+ Keycode::Return | Keycode::KpEnter => return Ok(true),
Keycode::Right => { self.seek(10, true, dmx, disp_queue)?; },
Keycode::Left => { self.seek(10, false, dmx, disp_queue)?; },
Keycode::Up => { self.seek(60, true, dmx, disp_queue)?; },
self.vcontrol.try_send_video(PktSendEvent::HurryUp);
},
Keycode::O => {
- self.osd.toggle();
+ if keymod.contains(Mod::RSHIFTMOD) || keymod.contains(Mod::LSHIFTMOD) {
+ self.osd.toggle_perm();
+ } else {
+ self.osd.toggle();
+ }
},
_ => {},
};
// prepare data source
let path = Path::new(name);
let mut file = if let Ok(handle) = File::open(path) {
+ if let Ok(meta) = handle.metadata() {
+ if meta.is_dir() {
+ return window;
+ }
+ }
handle
} else {
println!("failed to open {}", name);
let wname = if let Some(fname) = fname {
// workaround for libSDL2 workaround for non-UTF8 windowing systems
// see https://github.com/libsdl-org/SDL/pull/4290 for detais
- let nname = fname.to_str().expect("should be able to set window title").replace('\u{2013}', "-");
+ let nname = fname.to_str().expect("should be able to set window title").replace('\u{2013}', "-").replace('\u{2014}', "-");
"NihAV player - ".to_owned() + &nname
} else {
"NihAV player".to_owned()
};
window.set_title(&wname).expect("set window title");
- window.set_size(width as u32, height as u32).expect("resize window");
+ if window.size() != (width as u32, height as u32) {
+ window.set_size(width as u32, height as u32).expect("resize window");
+ }
window.show();
let mut canvas = window.into_canvas().build().expect("should be able to build canvas");
let texture_creator = canvas.texture_creator();