diff options
Diffstat (limited to 'src/app.rs')
| -rw-r--r-- | src/app.rs | 24 |
1 files changed, 22 insertions, 2 deletions
@@ -427,7 +427,27 @@ impl App { } CmdAction::CreateNote => { if let CurrentArea::EntryArea = self.bibiman.current_area { - if cfg.general.note_path.is_some() + let citekey = self.bibiman.entry_table.entry_table_items[self + .bibiman + .entry_table + .entry_table_state + .selected() + .unwrap()] + .citekey + .clone(); + if citekey.contains("/") + | citekey.contains("|") + | citekey.contains("#") + | citekey.contains("\\") + | citekey.contains("*") + { + self.bibiman.open_popup( + PopupKind::MessageError, + Some("Selected entrys citekey contains special char: "), + Some(&citekey), + None, + )?; + } else if cfg.general.note_path.is_some() && cfg.general.note_extensions.is_some() && self.bibiman.entry_table.entry_table_items[self .bibiman @@ -454,7 +474,7 @@ impl App { )); } self.bibiman - .open_popup(PopupKind::CreateNote, None, None, Some(items)); + .open_popup(PopupKind::CreateNote, None, None, Some(items))?; } else if cfg.general.note_path.is_some() && self.bibiman.entry_table.entry_table_items[self .bibiman |
