diff --git a/.design/README.md b/.design/README.md index 9b1e5f03..efa2ae4c 100644 --- a/.design/README.md +++ b/.design/README.md @@ -58,7 +58,7 @@ ## 💅 Design relevant materials ### Fonts -I'm using `Inconsolata`. The fonts I used can be found [here](https://github.com/GyulyVGC/sniffnet/tree/main/fonts). +I'm using `Inconsolata`. The fonts I used can be found [here](https://github.com/GyulyVGC/sniffnet/tree/main/resources/fonts). ### Colors diff --git a/Cargo.toml b/Cargo.toml index b115aac8..fd238d5b 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -7,9 +7,9 @@ description = "Application to comfortably monitor your network traffic" readme = "README.md" repository = "https://github.com/GyulyVGC/sniffnet" license = "MIT OR Apache-2.0" -keywords = ["filter", "network", "packet", "sniffer", "parser"] -categories = ["command-line-utilities", "concurrency", "network-programming"] -include = ["src/**/*", "LICENSE-*", "README.md", "CHANGELOG.md", "resources/countries_flags/**/*", "resources/DB/GeoLite2-Country.mmdb", "resources/palettes/*", "fonts/*", "resources/sounds/*"] +keywords = ["filter", "network", "packet", "sniffer", "gui"] +categories = ["visualization", "gui", "network-programming"] +include = ["src/**/*", "LICENSE-*", "README.md", "CHANGELOG.md", "resources/countries_flags/**/*", "resources/DB/GeoLite2-Country.mmdb", "resources/palettes/*", "resources/fonts/*", "resources/sounds/*"] [package.metadata.bundle] diff --git a/fonts/icons.ttf b/resources/fonts/icons.ttf similarity index 100% rename from fonts/icons.ttf rename to resources/fonts/icons.ttf diff --git a/fonts/inconsolata-bold.ttf b/resources/fonts/inconsolata-bold.ttf similarity index 100% rename from fonts/inconsolata-bold.ttf rename to resources/fonts/inconsolata-bold.ttf diff --git a/fonts/inconsolata-regular.ttf b/resources/fonts/inconsolata-regular.ttf similarity index 100% rename from fonts/inconsolata-regular.ttf rename to resources/fonts/inconsolata-regular.ttf diff --git a/src/gui/pages/overview_page.rs b/src/gui/pages/overview_page.rs index f6e633ca..06deaddc 100644 --- a/src/gui/pages/overview_page.rs +++ b/src/gui/pages/overview_page.rs @@ -21,7 +21,7 @@ use crate::utility::countries::{get_flag, FLAGS_WIDTH}; use crate::utility::get_formatted_strings::{ get_active_filters_string, get_active_filters_string_nobr, get_app_count_string, - get_connection_color, get_formatted_bytes_string, get_percentage_string, + get_connection_color, get_formatted_bytes_string, get_percentage_string, get_report_path, }; use crate::utility::style_constants::{get_font, HEIGHT_BODY, ICONS, INCONSOLATA_BOLD}; use crate::utility::translations::{ @@ -294,6 +294,14 @@ pub fn overview_page(sniffer: &Sniffer) -> Container { )), ); + let open_report_translation = open_report_translation(sniffer.language); + let report_path = get_report_path().to_string_lossy().to_string(); + let open_report_tooltip = format!( + "{:^len$}\n{report_path}", + open_report_translation, + len = report_path.len() + ); + body = body .push( Row::new() @@ -333,7 +341,7 @@ pub fn overview_page(sniffer: &Sniffer) -> Container { StyleTuple(sniffer.style, ElementType::Standard).into(), ) .on_press(Message::OpenReport), - open_report_translation(sniffer.language), + open_report_tooltip, Position::Top, ) .gap(5) diff --git a/src/gui/styles/container.rs b/src/gui/styles/container.rs index c216ae54..bf2c7ebb 100644 --- a/src/gui/styles/container.rs +++ b/src/gui/styles/container.rs @@ -26,6 +26,7 @@ fn appearance(&self, _: &Self::Style) -> Appearance { }), background: Some(Background::Color(match self { StyleTuple(_, ElementType::Headers) => colors.secondary, + StyleTuple(_, ElementType::Tooltip) => colors.buttons, _ => colors.primary, })), border_radius: match self { diff --git a/src/main.rs b/src/main.rs index 521b8301..6e3300d0 100644 --- a/src/main.rs +++ b/src/main.rs @@ -101,7 +101,7 @@ pub fn main() -> iced::Result { &config_settings, &config_device, ), - default_font: Some(include_bytes!("../fonts/inconsolata-regular.ttf")), + default_font: Some(include_bytes!("../resources/fonts/inconsolata-regular.ttf")), default_text_size: FONT_SIZE_BODY, text_multithreading: true, antialiasing: false, diff --git a/src/utility/style_constants.rs b/src/utility/style_constants.rs index 39fdc636..3559756a 100644 --- a/src/utility/style_constants.rs +++ b/src/utility/style_constants.rs @@ -140,7 +140,7 @@ // }; pub const INCONSOLATA_BOLD: Font = Font::External { name: "inconsolata_bold", - bytes: include_bytes!("../../fonts/inconsolata-bold.ttf"), + bytes: include_bytes!("../../resources/fonts/inconsolata-bold.ttf"), }; pub fn get_font(style: StyleType) -> Font { @@ -167,7 +167,7 @@ pub fn get_color_mix_chart(style: StyleType) -> f64 { //font to display icons pub const ICONS: Font = Font::External { name: "icons", - bytes: include_bytes!("../../fonts/icons.ttf"), + bytes: include_bytes!("../../resources/fonts/icons.ttf"), }; // palettes pictures diff --git a/src/utility/translations.rs b/src/utility/translations.rs index 20ff84ae..c539d6d4 100644 --- a/src/utility/translations.rs +++ b/src/utility/translations.rs @@ -1,5 +1,4 @@ use crate::enums::language::Language; -use crate::utility::get_formatted_strings::get_report_path; use iced::widget::Text; pub fn choose_adapters_translation(language: Language) -> Text<'static> { @@ -572,16 +571,13 @@ pub fn sound_translation(language: Language) -> &'static str { } } -pub fn open_report_translation(language: Language) -> String { - let open_report = match language { +pub fn open_report_translation(language: Language) -> &'static str { + match language { Language::EN => "Open full report", Language::IT => "Apri report completo", Language::FR => "Ouvrir le rapport complet", Language::ES => "Abrir el informe completo", - }; - let mut ret_val = String::from(open_report); - ret_val.push_str(&format!("\n({:?})", get_report_path())); - ret_val + } } pub fn bytes_exceeded_translation(language: Language) -> &'static str {