From faaddc2bd752d9416798d986c9821197a13b8640 Mon Sep 17 00:00:00 2001 From: krolxon Date: Fri, 7 Jun 2024 23:49:51 +0530 Subject: add mouse scrolling --- src/app.rs | 36 +++++++++++++++++++++++++++++++++++- 1 file changed, 35 insertions(+), 1 deletion(-) (limited to 'src/app.rs') diff --git a/src/app.rs b/src/app.rs index bce9b47..6df47ab 100755 --- a/src/app.rs +++ b/src/app.rs @@ -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 = std::result::Result>; @@ -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(()) + } } -- cgit v1.2.3