pub struct LibraryState {Show 24 fields
pub tab: usize,
pub selected: Option<u64>,
pub sel_path: Option<String>,
pub sel_ids: Vec<u64>,
pub sel_paths: Vec<String>,
pub seen_selected: Option<u64>,
pub search: String,
pub kind_filter: u8,
pub label_filter: u8,
pub unused_only: bool,
pub sort: u8,
pub view: u8,
pub zoom: f32,
pub folder: Option<String>,
pub flipped: Vec<String>,
pub rename_folder: Option<(String, String)>,
pub new_folder: Option<(String, String)>,
pub tags_for: Option<u64>,
pub tags_buf: String,
pub rename_seq: Option<(u64, String)>,
pub rename_template: Option<(usize, String)>,
pub recent_tags_for: Option<String>,
pub recent_tags_buf: String,
pub dirs: Vec<(String, Option<Vec<(String, bool)>>)>,
}Fields§
§tab: usize0 = Imported (what the project contains), 1 = Global (recent files + the linked folders).
selected: Option<u64>Anchor of the selection: the asset a click landed on, and the one the preview box shows.
app.rs writes it straight after an import — show spots that and collapses the set onto it.
sel_path: Option<String>Same, for a selected file that is not a project asset.
sel_ids: Vec<u64>The whole selection (Ctrl / Shift click, rubber band); the anchor above is one of these.
sel_paths: Vec<String>§seen_selected: Option<u64>selected as of the end of the last frame — the only way to tell app.rs’s write from ours.
search: String§kind_filter: u80 All, 1 Video, 2 Audio, 3 Image, 4 Sequences, 5 Short SFX, 6 Music
label_filter: u80 = any, 1..=8 = LABEL_COLORS index + 1
unused_only: bool§sort: u80 name, 1 duration, 2 kind, 3 recently added
view: u80 = list rows, 1 = thumbnail gallery. Applies to both tabs.
zoom: f32Thumbnail scale, ZOOM_MIN..=ZOOM_MAX. 0 = never set, read as 1.
folder: Option<String>The folder clicked in the tree — highlighted, and the subtree a search is limited to. None = all folders, Some(“”) = root only, Some(name) = that folder (+ subfolders)
flipped: Vec<String>Tree nodes whose open state differs from the default (project folders start open, Recent and
folders on disk start closed). Keys: “recent”, “f:dir_key(path).
rename_folder: Option<(String, String)>(folder being renamed, edit buffer = new last segment)
new_folder: Option<(String, String)>(parent, edit buffer) — “” parent = top level
Tag edit buffer for the previewed asset (avoids the comma being eaten while typing).
rename_seq: Option<(u64, String)>§rename_template: Option<(usize, String)>Same, for the previewed file on disk (its tags live on its RecentAsset).
dirs: Vec<(String, Option<Vec<(String, bool)>>)>One-level directory listings, keyed by folder path: (entry path, is a folder), folders first, None = unreadable. Only ever filled for a node the user expanded; dropped on Refresh / unlink.
Implementations§
Source§impl LibraryState
impl LibraryState
Trait Implementations§
Source§impl Default for LibraryState
impl Default for LibraryState
Source§fn default() -> LibraryState
fn default() -> LibraryState
Auto Trait Implementations§
impl Freeze for LibraryState
impl RefUnwindSafe for LibraryState
impl Send for LibraryState
impl Sync for LibraryState
impl Unpin for LibraryState
impl UnwindSafe for LibraryState
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
§impl<S> FromSample<S> for S
impl<S> FromSample<S> for S
fn from_sample_(s: S) -> S
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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