Introduces a small persistent appearance contract: WallpaperTheme (Dawn/Violet/Mint/Slate), ThemeMode (System/Light/Dark), reduce_motion. Defaults to Dawn + System + motion-on. Field accessors and setters live on the struct so the core can mutate without exposing internals; serde support uses kebab-case so the on-disk form matches the design CSS naming. Tests cover defaults, mutation independence, and a JSON round-trip with the kebab-case names. serde_json is added as a dev-dependency only — the production crate does not depend on it.
72 lines
2.2 KiB
Rust
72 lines
2.2 KiB
Rust
mod appearance;
|
|
mod archive;
|
|
mod bookmark;
|
|
mod command;
|
|
mod diagnostics;
|
|
mod download;
|
|
mod error;
|
|
mod favorite;
|
|
mod history;
|
|
mod identifiers;
|
|
mod new_tab;
|
|
mod note;
|
|
mod plugin;
|
|
mod privacy;
|
|
mod profile;
|
|
mod reading_list;
|
|
mod search;
|
|
mod site_permission;
|
|
mod space;
|
|
mod split;
|
|
mod sync;
|
|
mod tab;
|
|
mod tab_group;
|
|
mod update;
|
|
mod url_text;
|
|
|
|
pub use appearance::{AppearanceSettings, ThemeMode, WallpaperTheme};
|
|
pub use archive::{ArchiveSource, ArchivedTab};
|
|
pub use bookmark::BookmarkEntry;
|
|
pub use command::{CommandIntent, CommandScope};
|
|
pub use diagnostics::{
|
|
DiagnosticCode, DiagnosticEvent, DiagnosticEventKind, DiagnosticOutcome, WebViewCrashKind,
|
|
};
|
|
pub use download::{
|
|
DownloadChecksum, DownloadChecksumAlgorithm, DownloadDestination, DownloadEntry,
|
|
DownloadPolicy, DownloadSecurity, DownloadState,
|
|
};
|
|
pub use error::DomainError;
|
|
pub use favorite::FavoriteLimit;
|
|
pub use history::HistoryEntry;
|
|
pub use identifiers::{
|
|
BookmarkId, DownloadId, NoteId, ProfileId, ReadingListId, SpaceId, SplitId, TabGroupId, TabId,
|
|
WebViewId,
|
|
};
|
|
pub use new_tab::NewTabDestination;
|
|
pub use note::{NoteEntry, NoteTarget};
|
|
pub use plugin::{
|
|
PluginContributionPoint, PluginId, PluginManifest, PluginPermission, PluginPermissionRisk,
|
|
PluginSignature, PluginSignatureAlgorithm,
|
|
};
|
|
pub use privacy::{DiagnosticsReportingPolicy, HistoryRecordingPolicy};
|
|
pub use profile::{Profile, ProfileKind, ProfileSyncPolicy};
|
|
pub use reading_list::{ReadingListEntry, ReadingProgress, ReadingProgressPercent};
|
|
pub use search::SearchEngine;
|
|
pub use site_permission::{
|
|
SiteOrigin, SitePermissionAuditAction, SitePermissionAuditEvent, SitePermissionDecision,
|
|
SitePermissionEntry, SitePermissionFeature,
|
|
};
|
|
pub use space::{ArchivePolicy, COLLAPSED_SIDEBAR_WIDTH_PX, DEFAULT_SIDEBAR_WIDTH_PX, Space};
|
|
pub use split::{MAX_SPLIT_PANES, SplitAxis, SplitLayout, SplitPane};
|
|
pub use sync::{
|
|
SyncConnectionState, SyncObjectKind, SyncObjectPolicy, SyncObjectState, SyncObjectStatus,
|
|
SyncStatus,
|
|
};
|
|
pub use tab::{
|
|
BrowserTab, DEFAULT_ZOOM_PERCENT, MAX_ZOOM_PERCENT, MIN_ZOOM_PERCENT, TabFlags, TabState,
|
|
ZOOM_PERCENT_STEP, validate_zoom_percent,
|
|
};
|
|
pub use tab_group::TabGroup;
|
|
pub use update::UpdatePolicy;
|
|
pub use url_text::UrlText;
|