Added checkboxes (That don't do anything yet)

This commit is contained in:
2024-03-26 22:13:21 -03:00
parent e1ea7566aa
commit a1108cacdb
2 changed files with 23 additions and 2 deletions

View File

@ -1,9 +1,10 @@
use super::file_field::FileField; use super::file_field::FileField;
use iced::widget::{column, text, text_input}; use iced::widget::{column, text, text_input,checkbox};
use iced::Element; use iced::Element;
use std::path::PathBuf; use std::path::PathBuf;
use steamworks::{PublishedFileId, QueryResult}; use steamworks::{PublishedFileId, QueryResult};
#[derive(Debug, Clone, PartialEq, Eq)] #[derive(Debug, Clone, PartialEq, Eq)]
pub enum ItemInfoMessage { pub enum ItemInfoMessage {
EditName(String), EditName(String),
@ -12,6 +13,8 @@ pub enum ItemInfoMessage {
BrowsePreviewImage, BrowsePreviewImage,
BrowseTargetFolder, BrowseTargetFolder,
EditChangeNotes(String), EditChangeNotes(String),
AbsToggled(bool),
ConvertToggled(bool),
} }
#[derive(Debug, Clone, PartialEq, Eq)] #[derive(Debug, Clone, PartialEq, Eq)]
@ -20,6 +23,8 @@ pub struct ItemInfoState {
preview_image: FileField, preview_image: FileField,
target_folder: FileField, target_folder: FileField,
change_notes: String, change_notes: String,
use_abs_path: bool,
convert_rpy: bool,
} }
impl Default for ItemInfoState { impl Default for ItemInfoState {
@ -29,6 +34,8 @@ impl Default for ItemInfoState {
preview_image: FileField::new(), preview_image: FileField::new(),
target_folder: FileField::new(), target_folder: FileField::new(),
change_notes: String::new(), change_notes: String::new(),
use_abs_path: false,
convert_rpy: true,
} }
} }
} }
@ -50,6 +57,8 @@ impl ItemInfoState {
self.target_folder.select_dir(); self.target_folder.select_dir();
} }
ItemInfoMessage::EditChangeNotes(new_notes) => self.change_notes = new_notes, ItemInfoMessage::EditChangeNotes(new_notes) => self.change_notes = new_notes,
ItemInfoMessage::AbsToggled(value) => self.use_abs_path = value,
ItemInfoMessage::ConvertToggled(value) => self.convert_rpy = value,
} }
} }
@ -72,6 +81,9 @@ impl ItemInfoState {
ItemInfoMessage::BrowsePreviewImage, ItemInfoMessage::BrowsePreviewImage,
), ),
text(" "), text(" "),
checkbox("Use absolute path (Don't toggle if you don't know what it means!)", self.use_abs_path, ItemInfoMessage::AbsToggled),
checkbox("Convert rpy to rpym (Don't toggle if you don't know what it means!)", self.convert_rpy, ItemInfoMessage::AbsToggled),
text(" "),
self.target_folder.view( self.target_folder.view(
"Target Folder:\n(What will be uploaded, this MUST be your mod's folder)\nFor example \"\\game\\mods\\YourMod\"", "Target Folder:\n(What will be uploaded, this MUST be your mod's folder)\nFor example \"\\game\\mods\\YourMod\"",
"", "",
@ -97,6 +109,9 @@ pub struct ItemInfo {
pub preview_image: PathBuf, pub preview_image: PathBuf,
pub target_folder: PathBuf, pub target_folder: PathBuf,
pub change_notes: String, pub change_notes: String,
pub use_abs_path: bool,
pub convert_rpy: bool,
} }
impl From<ItemInfo> for ItemInfoState { impl From<ItemInfo> for ItemInfoState {
@ -106,6 +121,8 @@ impl From<ItemInfo> for ItemInfoState {
preview_image: FileField::from(value.preview_image), preview_image: FileField::from(value.preview_image),
target_folder: FileField::from(value.target_folder), target_folder: FileField::from(value.target_folder),
change_notes: value.change_notes, change_notes: value.change_notes,
use_abs_path: value.use_abs_path,
convert_rpy: value.convert_rpy,
} }
} }
} }
@ -117,6 +134,8 @@ impl From<QueryResult> for ItemInfo {
preview_image: PathBuf::new(), preview_image: PathBuf::new(),
target_folder: PathBuf::new(), target_folder: PathBuf::new(),
change_notes: String::new(), change_notes: String::new(),
use_abs_path: false,
convert_rpy: true,
} }
} }
} }
@ -163,6 +182,8 @@ impl TryFrom<ItemInfoState> for ItemInfo {
preview_image: value.preview_image.path, preview_image: value.preview_image.path,
target_folder: value.target_folder.path, target_folder: value.target_folder.path,
change_notes: value.change_notes, change_notes: value.change_notes,
use_abs_path: value.use_abs_path,
convert_rpy: value.convert_rpy,
}) })
} }
} }

View File

@ -370,7 +370,7 @@ fn main() -> iced::Result {
Model::run(Settings { Model::run(Settings {
id: None, id: None,
window: iced::window::Settings { window: iced::window::Settings {
size: (500, 600), size: (500, 800),
position: iced::window::Position::Centered, position: iced::window::Position::Centered,
min_size: None, min_size: None,
max_size: None, max_size: None,