win_hotkey/
error.rs

1use crate::keys::VirtualKey;
2use std::error::Error;
3use std::fmt::Debug;
4use std::fmt::Display;
5use std::fmt::Formatter;
6use std::fmt::Result;
7
8pub enum HotkeyError {
9    InvalidKey(String),
10    InvalidKeyChar(char),
11    NotAModkey(VirtualKey),
12    RegistrationFailed,
13    UnregistrationFailed,
14}
15
16impl Display for HotkeyError {
17    fn fmt(&self, f: &mut Formatter<'_>) -> Result {
18        match *self {
19            HotkeyError::InvalidKey(ref key) => write!(f, "invalid key name `{}`", key),
20            HotkeyError::InvalidKeyChar(ref ch) => write!(f, "invalid key char `{}`", ch),
21            HotkeyError::NotAModkey(ref vkey) => write!(f, "VKey is not a ModKey {:?}", vkey),
22            HotkeyError::RegistrationFailed => write!(
23                f,
24                "Hotkey registration failed. Hotkey or Id might be in use already"
25            ),
26            HotkeyError::UnregistrationFailed => write!(f, "Hotkey unregistration failed"),
27        }
28    }
29}
30
31impl Debug for HotkeyError {
32    fn fmt(&self, f: &mut Formatter<'_>) -> Result {
33        match *self {
34            HotkeyError::InvalidKey(ref key) => write!(f, "invalid key name `{}`", key),
35            HotkeyError::InvalidKeyChar(ref ch) => write!(f, "invalid key char `{}`", ch),
36            HotkeyError::NotAModkey(ref vkey) => write!(f, "VKey is not a ModKey {:?}", vkey),
37            HotkeyError::RegistrationFailed => write!(
38                f,
39                "Hotkey registration failed. Hotkey or Id might be in use already"
40            ),
41            HotkeyError::UnregistrationFailed => write!(f, "Hotkey unregistration failed"),
42        }
43    }
44}
45
46impl Error for HotkeyError {
47    fn source(&self) -> Option<&(dyn std::error::Error + 'static)> {
48        None
49    }
50}