Add shortcut to jump to tabs; ctrl + n
This commit is contained in:
parent
37318444d3
commit
e4db4c0dcd
2 changed files with 40 additions and 2 deletions
16
src/main.rs
16
src/main.rs
|
|
@ -212,6 +212,7 @@ pub enum Message {
|
|||
SystemThemeModeChange(cosmic_theme::ThemeMode),
|
||||
SyntaxTheme(usize, bool),
|
||||
TabActivate(segmented_button::Entity),
|
||||
TabActivateJump(usize),
|
||||
TabChanged(segmented_button::Entity),
|
||||
TabClose(segmented_button::Entity),
|
||||
TabContextAction(segmented_button::Entity, Action),
|
||||
|
|
@ -1599,6 +1600,21 @@ impl Application for App {
|
|||
self.tab_model.activate(entity);
|
||||
return self.update_tab();
|
||||
}
|
||||
Message::TabActivateJump(pos) => {
|
||||
// Length is always at least one, so there shouldn't be a division by zero
|
||||
let len = self.tab_model.iter().count();
|
||||
//
|
||||
let pos = if pos >= 8 || pos > len - 1 {
|
||||
len - 1
|
||||
} else {
|
||||
pos % len
|
||||
};
|
||||
|
||||
let entity = self.tab_model.iter().nth(pos);
|
||||
if let Some(entity) = entity {
|
||||
return self.update(Message::TabActivate(entity));
|
||||
}
|
||||
}
|
||||
Message::TabChanged(entity) => {
|
||||
if let Some(Tab::Editor(tab)) = self.tab_model.data::<Tab>(entity) {
|
||||
let mut title = tab.title();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue