From ab0eaf7a8a780df5c5ef7fcee635b4795a0d14e9 Mon Sep 17 00:00:00 2001
From: Kubat <mael.martin31@gmail.com>
Date: Sat, 10 Sep 2022 17:19:17 +0200
Subject: [PATCH] AMADEUS: move widgets stuff inside the widgets module

---
 src/rust/amadeus-rs/amadeus/src/amadeus.rs       |  4 ++--
 src/rust/amadeus-rs/amadeus/src/cards/card.rs    |  6 +++---
 src/rust/amadeus-rs/amadeus/src/main.rs          |  2 --
 .../amadeus/src/{ => widgets}/action_menu.rs     |  0
 src/rust/amadeus-rs/amadeus/src/widgets/mod.rs   |  4 ++++
 .../amadeus/src/{ => widgets}/playlists.rs       |  9 ++++++---
 .../amadeus-rs/amadeus/src/widgets/window.rs     | 16 +++++++++-------
 src/rust/rs_repo/.cargo/config.toml              |  2 --
 src/rust/rs_repo/Cargo.toml                      |  8 --------
 src/rust/rs_repo/src/lib.rs                      |  8 --------
 10 files changed, 24 insertions(+), 35 deletions(-)
 rename src/rust/amadeus-rs/amadeus/src/{ => widgets}/action_menu.rs (100%)
 rename src/rust/amadeus-rs/amadeus/src/{ => widgets}/playlists.rs (97%)
 delete mode 100644 src/rust/rs_repo/.cargo/config.toml
 delete mode 100644 src/rust/rs_repo/Cargo.toml
 delete mode 100644 src/rust/rs_repo/src/lib.rs

diff --git a/src/rust/amadeus-rs/amadeus/src/amadeus.rs b/src/rust/amadeus-rs/amadeus/src/amadeus.rs
index 956a90b5..1782856c 100644
--- a/src/rust/amadeus-rs/amadeus/src/amadeus.rs
+++ b/src/rust/amadeus-rs/amadeus/src/amadeus.rs
@@ -1,4 +1,4 @@
-use crate::{cards::*, constants, playlists, utils, widgets};
+use crate::{cards::*, constants, utils, widgets};
 use amadeus_lib::{
     actions,
     deamon::{self, CommandDeamon, Deamon, StatusDeamon},
@@ -48,7 +48,7 @@ pub struct Amadeus<'a> {
     lektord_search_query: String,
     lektord_updated_query: bool,
 
-    playlist_store: playlists::PlaylistsStore,
+    playlist_store: widgets::PlaylistsStore,
 
     lektord_state: LektorState,
 
diff --git a/src/rust/amadeus-rs/amadeus/src/cards/card.rs b/src/rust/amadeus-rs/amadeus/src/cards/card.rs
index ac2157b3..7511f154 100644
--- a/src/rust/amadeus-rs/amadeus/src/cards/card.rs
+++ b/src/rust/amadeus-rs/amadeus/src/cards/card.rs
@@ -1,4 +1,4 @@
-use crate::{action_menu, constants, utils};
+use crate::{constants, utils, widgets::render_action_menu};
 use amadeus_lib::actions;
 use amadeus_macro::either;
 use lkt_lib::*;
@@ -112,7 +112,7 @@ impl Card<'_, Kara> for KaraCard {
                 });
                 ui.horizontal(|ui| {
                     ui.style_mut().override_text_style = Some(utils::font::heading2());
-                    action_menu::render_action_menu(ui, actions, "â–¶", &mut self.actions);
+                    render_action_menu(ui, actions, "â–¶", &mut self.actions);
                     ui.colored_label(constants::get_text_color(dark_mode), song);
                     ui.style_mut().override_text_style = Some(utils::font::body());
                     if left_space >= MIN_WIDTH_FOR_ADDITIONAL_INFOS {
@@ -195,7 +195,7 @@ impl Card<'_, Playlist> for PlaylistCard {
         ui.horizontal(|ui| {
             ui.add_space(constants::PADDING * 2.);
             ui.style_mut().override_text_style = Some(utils::font::body());
-            action_menu::render_action_menu(ui, actions, "â–¶", &mut self.actions);
+            render_action_menu(ui, actions, "â–¶", &mut self.actions);
             ui.colored_label(
                 constants::get_text_color(dark_mode),
                 self.inner.name.to_string(),
diff --git a/src/rust/amadeus-rs/amadeus/src/main.rs b/src/rust/amadeus-rs/amadeus/src/main.rs
index afd4c49d..a29cb0d4 100644
--- a/src/rust/amadeus-rs/amadeus/src/main.rs
+++ b/src/rust/amadeus-rs/amadeus/src/main.rs
@@ -1,9 +1,7 @@
-mod action_menu;
 mod amadeus;
 mod cards;
 mod constants;
 mod logger;
-mod playlists;
 mod utils;
 mod widgets;
 
diff --git a/src/rust/amadeus-rs/amadeus/src/action_menu.rs b/src/rust/amadeus-rs/amadeus/src/widgets/action_menu.rs
similarity index 100%
rename from src/rust/amadeus-rs/amadeus/src/action_menu.rs
rename to src/rust/amadeus-rs/amadeus/src/widgets/action_menu.rs
diff --git a/src/rust/amadeus-rs/amadeus/src/widgets/mod.rs b/src/rust/amadeus-rs/amadeus/src/widgets/mod.rs
index a0870ec1..07935c24 100644
--- a/src/rust/amadeus-rs/amadeus/src/widgets/mod.rs
+++ b/src/rust/amadeus-rs/amadeus/src/widgets/mod.rs
@@ -1,10 +1,14 @@
 mod about_window;
+mod action_menu;
+mod playlists;
 mod progress_bar;
 mod toggle_switch;
 mod window;
 
 pub use about_window::render_about_window;
+pub use action_menu::render_action_menu;
 use lkt_lib::Kara;
+pub use playlists::PlaylistsStore;
 pub use progress_bar::progress_bar;
 pub use toggle_switch::toggle_switch;
 pub use window::WindowBuilder;
diff --git a/src/rust/amadeus-rs/amadeus/src/playlists.rs b/src/rust/amadeus-rs/amadeus/src/widgets/playlists.rs
similarity index 97%
rename from src/rust/amadeus-rs/amadeus/src/playlists.rs
rename to src/rust/amadeus-rs/amadeus/src/widgets/playlists.rs
index 0acd4cd1..0c478bcd 100644
--- a/src/rust/amadeus-rs/amadeus/src/playlists.rs
+++ b/src/rust/amadeus-rs/amadeus/src/widgets/playlists.rs
@@ -1,4 +1,7 @@
-use crate::{action_menu, constants, utils, widgets};
+use crate::{
+    constants, utils,
+    widgets::{self, render_action_menu},
+};
 use amadeus_lib::actions;
 use lkt_lib::{Kara, LektorType, Playlist};
 use std::collections::{HashMap, HashSet};
@@ -91,7 +94,7 @@ impl PlaylistsStore {
                                     ui.horizontal(|ui| {
                                         ui.style_mut().override_text_style =
                                             Some(utils::font::body());
-                                        action_menu::render_action_menu(
+                                        render_action_menu(
                                             ui,
                                             &[
                                                 actions::Action::AddKaraToQueue,
@@ -149,7 +152,7 @@ impl PlaylistsStore {
                             let plt_size = self.playlist_size(name).unwrap();
                             ui.horizontal(|ui| {
                                 ui.add_space(constants::PADDING);
-                                action_menu::render_action_menu(
+                                render_action_menu(
                                     ui,
                                     &[
                                         actions::Action::OpenPlaylist,
diff --git a/src/rust/amadeus-rs/amadeus/src/widgets/window.rs b/src/rust/amadeus-rs/amadeus/src/widgets/window.rs
index 50e94cf1..159bfc62 100644
--- a/src/rust/amadeus-rs/amadeus/src/widgets/window.rs
+++ b/src/rust/amadeus-rs/amadeus/src/widgets/window.rs
@@ -1,7 +1,9 @@
-use crate::{action_menu, constants};
+use crate::constants;
 use amadeus_lib::actions::Action;
 use amadeus_macro::*;
 
+use super::render_action_menu;
+
 /// Structure used to hole informations about the window to create, we use a
 /// builder pattern here.
 pub struct WindowBuilder<'a> {
@@ -98,12 +100,12 @@ impl<'a> WindowBuilder<'a> {
                         .on_hover_text("Close the window")
                         .clicked()
                         .then(|| flag_copy = false);
-                    if let Some(actions) = self.actions {
-                        action_menu::render_action_menu(ui, &actions, "â–¶", &mut temp_actions);
-                    };
-                    if let Some(actions) = self.warning_actions {
-                        action_menu::render_action_menu(ui, &actions, "âš ", &mut temp_actions);
-                    };
+
+                    self.actions
+                        .map(|actions| render_action_menu(ui, &actions, "â–¶", &mut temp_actions));
+                    self.warning_actions
+                        .map(|actions| render_action_menu(ui, &actions, "âš ", &mut temp_actions));
+
                     ui.colored_label(constants::get_text_color(self.dark_mode), self.name);
                 });
                 ui.add_space(constants::PADDING / 2.);
diff --git a/src/rust/rs_repo/.cargo/config.toml b/src/rust/rs_repo/.cargo/config.toml
deleted file mode 100644
index 9823a4d5..00000000
--- a/src/rust/rs_repo/.cargo/config.toml
+++ /dev/null
@@ -1,2 +0,0 @@
-[build]
-target-dir = "target"
\ No newline at end of file
diff --git a/src/rust/rs_repo/Cargo.toml b/src/rust/rs_repo/Cargo.toml
deleted file mode 100644
index 82627373..00000000
--- a/src/rust/rs_repo/Cargo.toml
+++ /dev/null
@@ -1,8 +0,0 @@
-[package]
-name    = "rs_repo"
-version = "0.1.0"
-edition = "2021"
-
-[dependencies]
-lib_lkt_rs = { path = "../lektord-rs" }
-libc       = "0.2.0"
diff --git a/src/rust/rs_repo/src/lib.rs b/src/rust/rs_repo/src/lib.rs
deleted file mode 100644
index 1b4a90c9..00000000
--- a/src/rust/rs_repo/src/lib.rs
+++ /dev/null
@@ -1,8 +0,0 @@
-#[cfg(test)]
-mod tests {
-    #[test]
-    fn it_works() {
-        let result = 2 + 2;
-        assert_eq!(result, 4);
-    }
-}
-- 
GitLab