diff options
| author | krolxon <krolyxon@tutanota.com> | 2024-06-07 23:49:51 +0530 |
|---|---|---|
| committer | krolxon <krolyxon@tutanota.com> | 2024-06-07 23:49:51 +0530 |
| commit | faaddc2bd752d9416798d986c9821197a13b8640 (patch) | |
| tree | 0772668386ef0c1d3b91ab149a79ab50b3f7493e /src/app.rs | |
| parent | 53522c936d6c43e700247eb74f26389eb52882de (diff) | |
add mouse scrolling
Diffstat (limited to 'src/app.rs')
| -rwxr-xr-x | src/app.rs | 36 |
1 files changed, 35 insertions, 1 deletions
@@ -1,11 +1,12 @@ use std::{path::Path, time::Duration}; use crate::browser::FileBrowser; -use crate::utils::FileExtension; use crate::connection::Connection; use crate::list::ContentList; use crate::ui::InputMode; +use crate::utils::FileExtension; use mpd::{Client, Song}; +use ratatui::widgets::{ListState, TableState}; // Application result type pub type AppResult<T> = std::result::Result<T, Box<dyn std::error::Error>>; @@ -386,4 +387,37 @@ impl App { } Ok(()) } + + // Mouse event handlers + pub fn handle_scroll_up(&mut self) { + match self.selected_tab { + SelectedTab::Queue => { + self.queue_list.prev(); + } + SelectedTab::DirectoryBrowser => { + self.browser.prev(); + } + SelectedTab::Playlists => { + self.pl_list.prev(); + } + } + } + + pub fn handle_scroll_down(&mut self) { + match self.selected_tab { + SelectedTab::Queue => { + self.queue_list.next(); + } + SelectedTab::DirectoryBrowser => { + self.browser.next(); + } + SelectedTab::Playlists => { + self.pl_list.next(); + } + } + } + + pub fn handle_mouse_left_click(&mut self, x: u16, y: u16) -> AppResult<()> { + Ok(()) + } } |
