pub struct Modde {Show 62 fields
pub active_view: View,
pub active_profile: Option<String>,
pub profiles: Vec<ProfileSummary>,
pub status_message: String,
pub button_hover_toast: ButtonHoverToastState,
pub pending_tools_load_status_message: Option<String>,
pub settings: AppSettings,
pub collection_search: String,
pub collections: Vec<CollectionManifest>,
pub fomod_installer: Option<FOMODWizardState>,
pub fomod_visible_step_indices: SmallVec<[usize; 16]>,
pub fomod_wizard_pos: usize,
pub fomod_source_dir: Option<PathBuf>,
pub fomod_dest_dir: Option<PathBuf>,
pub fomod_conflicts: SmallVec<[String; 4]>,
pub fomod_can_undo: bool,
pub fomod_selections: HashMap<(usize, usize), Vec<usize>>,
pub selected_mod_index: Option<usize>,
pub selected_mod_details: Option<ModDetailsState>,
pub mod_filter: String,
pub mod_id_filter_keys: Vec<String>,
pub theme_name: String,
pub wabbajack_manifest: Option<WabbajackManifest>,
pub active_downloads: Vec<CollectionDownload>,
pub download_queue: DownloadQueue,
pub download_lookup: HashMap<String, usize>,
pub loaded_profile: Option<Profile>,
pub save_snapshots: Vec<SaveSnapshot>,
pub current_fingerprint: Option<SaveFingerprint>,
pub selected_save_details: Option<SaveDetailsState>,
pub experiment_depth: usize,
pub nexus_status: Option<NexusAuthStatus>,
pub nexus_api_key_draft: String,
pub nexus_api_key_visible: bool,
pub nexus_api_key_source: Option<ApiKeySource>,
pub nexus_config_key_exists: bool,
pub new_profile_name: String,
pub new_profile_dialog_open: bool,
pub game_path_dialog_open: bool,
pub add_custom_game_dialog_open: bool,
pub manage_custom_games_dialog_open: bool,
pub pending_game_path_game_id: Option<String>,
pub previous_game_before_path_dialog: Option<String>,
pub game_path_dialog_error: Option<String>,
pub add_custom_game: AddCustomGameState,
pub available_games: SmallVec<[(String, String); 8]>,
pub detected_games: HashSet<String>,
pub selected_game: Option<String>,
pub stock_snapshot_exists: bool,
pub window_id: Id,
pub collapsed_categories: HashSet<Option<i64>>,
pub mod_categories: Vec<(Option<i64>, String)>,
pub data_tab_state: DataTabState,
pub data_tab_conflicts: Vec<(String, Vec<String>)>,
pub browse_nexus: NexusBrowseState,
pub diagnostics_state: DiagnosticsState,
pub tool_state: ToolState,
pub filter_mode: FilterMode,
pub filter_criteria: Vec<FilterCriterion>,
pub compact_mod_list: bool,
pub collapsed_sidebar_groups: HashSet<SidebarGroup>,
pub update_available: Option<UpdateInfo>,
}Expand description
Top-level application state.
Fields§
§active_view: View§active_profile: Option<String>§profiles: Vec<ProfileSummary>§status_message: String§pending_tools_load_status_message: Option<String>§settings: AppSettings§collection_search: String§collections: Vec<CollectionManifest>§fomod_installer: Option<FOMODWizardState>§fomod_visible_step_indices: SmallVec<[usize; 16]>§fomod_wizard_pos: usize§fomod_source_dir: Option<PathBuf>§fomod_dest_dir: Option<PathBuf>§fomod_conflicts: SmallVec<[String; 4]>§fomod_can_undo: bool§fomod_selections: HashMap<(usize, usize), Vec<usize>>§selected_mod_index: Option<usize>§selected_mod_details: Option<ModDetailsState>Loaded Nexus metadata for the currently selected mod — populates the
detail panel at the bottom of the left nav sidebar. None means no
Nexus-tracked mod is selected (either nothing is selected or the
selected mod has no nexus_mod_id).
mod_filter: String§mod_id_filter_keys: Vec<String>§theme_name: String§wabbajack_manifest: Option<WabbajackManifest>§active_downloads: Vec<CollectionDownload>§download_queue: DownloadQueue§download_lookup: HashMap<String, usize>§loaded_profile: Option<Profile>§save_snapshots: Vec<SaveSnapshot>§current_fingerprint: Option<SaveFingerprint>§selected_save_details: Option<SaveDetailsState>§experiment_depth: usize§nexus_status: Option<NexusAuthStatus>§nexus_api_key_draft: String§nexus_api_key_visible: bool§nexus_api_key_source: Option<ApiKeySource>§nexus_config_key_exists: bool§new_profile_name: String§new_profile_dialog_open: bool§game_path_dialog_open: bool§add_custom_game_dialog_open: bool§manage_custom_games_dialog_open: bool§pending_game_path_game_id: Option<String>§previous_game_before_path_dialog: Option<String>§game_path_dialog_error: Option<String>§add_custom_game: AddCustomGameState§available_games: SmallVec<[(String, String); 8]>§detected_games: HashSet<String>§selected_game: Option<String>§stock_snapshot_exists: bool§window_id: Id§collapsed_categories: HashSet<Option<i64>>Which category groups are collapsed in the mod list view.
None key = the “Uncategorized” group.
mod_categories: Vec<(Option<i64>, String)>Category id-to-name mapping for the mod list view.
data_tab_state: DataTabState§data_tab_conflicts: Vec<(String, Vec<String>)>§browse_nexus: NexusBrowseStateState for the Browse Nexus view (Phase 6 of the installer pipeline).
diagnostics_state: DiagnosticsState§tool_state: ToolState§filter_mode: FilterModeFilter mode (AND/OR) for the mod list filter toolbar.
filter_criteria: Vec<FilterCriterion>Active tri-state filter criteria for the mod list.
compact_mod_list: boolWhether the mod list uses compact row rendering.
Sidebar groups the user has collapsed for this session.
update_available: Option<UpdateInfo>Implementations§
Source§impl Modde
impl Modde
pub fn settings_state(&self) -> SettingsState
pub fn fomod_is_last_step(&self) -> bool
pub fn reset_fomod(&mut self)
pub fn refresh_fomod_visible_steps(&mut self)
Sourcepub fn current_game_nexus_domain(&self) -> Option<String>
pub fn current_game_nexus_domain(&self) -> Option<String>
Return the currently-selected game’s Nexus domain, if the game plugin defines one. Used by the Browse Nexus view to issue GraphQL queries scoped to the right game.
Auto Trait Implementations§
impl !Freeze for Modde
impl RefUnwindSafe for Modde
impl Send for Modde
impl Sync for Modde
impl Unpin for Modde
impl UnsafeUnpin for Modde
impl UnwindSafe for Modde
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be
downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further
downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSend for T
impl<T> DowncastSend for T
Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<State, Message> IntoBoot<State, Message> for State
impl<State, Message> IntoBoot<State, Message> for State
Source§fn into_boot(self) -> (State, Task<Message>)
fn into_boot(self) -> (State, Task<Message>)
Application.Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more