Add all wizard step UIs: workflow, images, resize, convert, compress, metadata, output
This commit is contained in:
@@ -1,3 +1,5 @@
|
||||
use crate::steps;
|
||||
|
||||
pub struct WizardState {
|
||||
pub current_step: usize,
|
||||
pub total_steps: usize,
|
||||
@@ -59,30 +61,13 @@ impl WizardState {
|
||||
}
|
||||
|
||||
pub fn build_wizard_pages() -> Vec<adw::NavigationPage> {
|
||||
let steps = [
|
||||
("step-workflow", "Choose a Workflow", "image-x-generic-symbolic", "Select a preset or build a custom workflow"),
|
||||
("step-images", "Add Images", "folder-pictures-symbolic", "Drop images here or click Browse"),
|
||||
("step-resize", "Resize", "view-fullscreen-symbolic", "Set output dimensions"),
|
||||
("step-convert", "Convert", "document-save-symbolic", "Choose output format"),
|
||||
("step-compress", "Compress", "system-file-manager-symbolic", "Set compression quality"),
|
||||
("step-metadata", "Metadata", "security-high-symbolic", "Control metadata privacy"),
|
||||
("step-output", "Output & Process", "emblem-ok-symbolic", "Review and process"),
|
||||
];
|
||||
|
||||
steps
|
||||
.iter()
|
||||
.map(|(tag, title, icon, description)| {
|
||||
let status_page = adw::StatusPage::builder()
|
||||
.title(*title)
|
||||
.description(*description)
|
||||
.icon_name(*icon)
|
||||
.build();
|
||||
|
||||
adw::NavigationPage::builder()
|
||||
.title(*title)
|
||||
.tag(*tag)
|
||||
.child(&status_page)
|
||||
.build()
|
||||
})
|
||||
.collect()
|
||||
vec![
|
||||
steps::step_workflow::build_workflow_page(),
|
||||
steps::step_images::build_images_page(),
|
||||
steps::step_resize::build_resize_page(),
|
||||
steps::step_convert::build_convert_page(),
|
||||
steps::step_compress::build_compress_page(),
|
||||
steps::step_metadata::build_metadata_page(),
|
||||
steps::step_output::build_output_page(),
|
||||
]
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user