]> git.nihav.org Git - nihav-player.git/commitdiff
videoplayer: factor out "shift pressed" condition check
authorKostya Shishkov <kostya.shishkov@gmail.com>
Mon, 14 Sep 2026 07:57:44 +0000 (09:57 +0200)
committerKostya Shishkov <kostya.shishkov@gmail.com>
Mon, 14 Sep 2026 07:57:44 +0000 (09:57 +0200)
videoplayer/src/main.rs

index f52e5b51b090061cdfcce921249788d6ddea7917..d3f787b4bd57f0a3d46bb615a0de6304e11c54e7 100644 (file)
@@ -719,6 +719,9 @@ impl Player {
                     continue;
                 }
             }
+            let shift_pressed = if let Event::KeyDown { ref keymod, ..} = event {
+                    keymod.contains(Mod::RSHIFTMOD) || keymod.contains(Mod::LSHIFTMOD)
+                } else { false };
             if let Event::KeyDown {keycode: Some(keycode), keymod, ..} = event {
                 match keycode {
                     Keycode::Escape => {
@@ -728,7 +731,7 @@ impl Player {
                         }
                         return Ok(true);
                     },
-                    Keycode::Q if keymod.contains(Mod::RSHIFTMOD) || keymod.contains(Mod::LSHIFTMOD) => {
+                    Keycode::Q if shift_pressed => {
                         self.end = true;
                         if self.loglevel == LogLevel::Verbose {
                             println!();
@@ -737,19 +740,17 @@ impl Player {
                     },
                     Keycode::Return | Keycode::KpEnter => return Ok(true),
                     Keycode::R          => { self.seek(0, true,  dmx, disp_queue)?; },
-                    Keycode::Right if keymod.contains(Mod::RSHIFTMOD) || keymod.contains(Mod::LSHIFTMOD) => { self.seek(30, true,  dmx, disp_queue)?; },
-                    Keycode::Kp6 if keymod.contains(Mod::RSHIFTMOD) || keymod.contains(Mod::LSHIFTMOD) => { self.seek(30, true,  dmx, disp_queue)?; },
-                    Keycode::Left if keymod.contains(Mod::RSHIFTMOD) || keymod.contains(Mod::LSHIFTMOD) => { self.seek(30, false,  dmx, disp_queue)?; },
-                    Keycode::Kp4 if keymod.contains(Mod::RSHIFTMOD) || keymod.contains(Mod::LSHIFTMOD) => { self.seek(30, false,  dmx, disp_queue)?; },
+                    Keycode::Right    | Keycode::Kp6 if shift_pressed => { self.seek(30, true,  dmx, disp_queue)?; },
                     Keycode::Right    | Keycode::Kp6 => { self.seek(10, true,  dmx, disp_queue)?; },
+                    Keycode::Left     | Keycode::Kp4 if shift_pressed => { self.seek(30, false,  dmx, disp_queue)?; },
                     Keycode::Left     | Keycode::Kp4 => { self.seek(10, false, dmx, disp_queue)?; },
-                    Keycode::Up       | Keycode::Kp8 if keymod.contains(Mod::RSHIFTMOD) || keymod.contains(Mod::LSHIFTMOD) => { self.seek(300, true,  dmx, disp_queue)?; },
+                    Keycode::Up       | Keycode::Kp8 if shift_pressed => { self.seek(300, true,  dmx, disp_queue)?; },
                     Keycode::Up       | Keycode::Kp8 => { self.seek(60, true,  dmx, disp_queue)?; },
-                    Keycode::Down     | Keycode::Kp2 if keymod.contains(Mod::RSHIFTMOD) || keymod.contains(Mod::LSHIFTMOD) => { self.seek(300, false, dmx, disp_queue)?; },
+                    Keycode::Down     | Keycode::Kp2 if shift_pressed => { self.seek(300, false, dmx, disp_queue)?; },
                     Keycode::Down     | Keycode::Kp2 => { self.seek(60, false, dmx, disp_queue)?; },
-                    Keycode::PageUp   | Keycode::Kp9 if keymod.contains(Mod::RSHIFTMOD) || keymod.contains(Mod::LSHIFTMOD) => { self.seek(3600, true,  dmx, disp_queue)?; },
+                    Keycode::PageUp   | Keycode::Kp9 if shift_pressed => { self.seek(3600, true,  dmx, disp_queue)?; },
                     Keycode::PageUp   | Keycode::Kp9 => { self.seek(600, true,  dmx, disp_queue)?; },
-                    Keycode::PageDown | Keycode::Kp3 if keymod.contains(Mod::RSHIFTMOD) || keymod.contains(Mod::LSHIFTMOD) => { self.seek(3600, false, dmx, disp_queue)?; },
+                    Keycode::PageDown | Keycode::Kp3 if shift_pressed => { self.seek(3600, false, dmx, disp_queue)?; },
                     Keycode::PageDown | Keycode::Kp3 => { self.seek(600, false, dmx, disp_queue)?; },
                     Keycode::Space => { self.toggle_pause(); },
                     Keycode::Plus | Keycode::KpPlus => {
@@ -758,7 +759,7 @@ impl Player {
                             self.acontrol.set_volume(self.volume);
                         }
                     },
-                    Keycode::Equals if keymod.contains(Mod::RSHIFTMOD) || keymod.contains(Mod::LSHIFTMOD) => {
+                    Keycode::Equals if shift_pressed => {
                         self.volume = find_volume_step_up(self.volume);
                         if !self.mute {
                             self.acontrol.set_volume(self.volume);
@@ -785,7 +786,7 @@ impl Player {
                         self.vcontrol.try_send_video(PktSendEvent::HurryUp);
                     },
                     Keycode::O => {
-                        if keymod.contains(Mod::RSHIFTMOD) || keymod.contains(Mod::LSHIFTMOD) {
+                        if shift_pressed {
                             self.osd.toggle_perm();
                             self.show_osd = None;
                         } else {
@@ -797,10 +798,10 @@ impl Player {
                             dmx.set_options(&[NAOption{name: FORCE_SEEK_OPTION, value: NAValue::Bool(!force_seek)}]);
                         }
                     },
-                    Keycode::V if keymod.contains(Mod::RSHIFTMOD) || keymod.contains(Mod::LSHIFTMOD) => {
+                    Keycode::V if shift_pressed => {
                         self.osd.set_vol_disp();
                     },
-                    Keycode::Z if keymod.contains(Mod::RSHIFTMOD) || keymod.contains(Mod::LSHIFTMOD) => {
+                    Keycode::Z if shift_pressed => {
                         self.zoom_mode = !self.no_sdl_scale;
                     },
                     _ => {},