Add GTK app shell with wizard navigation, step indicator, and actions
7-step wizard flow (Workflow, Images, Resize, Convert, Compress, Metadata, Output) with AdwNavigationView, step indicator dots, Back/Next buttons, keyboard shortcuts (Alt+arrows, Alt+1-9), and hamburger menu with Settings and History placeholders.
This commit is contained in:
@@ -1,38 +1,10 @@
|
||||
use adw::prelude::*;
|
||||
mod app;
|
||||
mod step_indicator;
|
||||
mod wizard;
|
||||
|
||||
const APP_ID: &str = "live.lashman.Pixstrip";
|
||||
use gtk::prelude::*;
|
||||
|
||||
fn main() {
|
||||
let app = adw::Application::builder()
|
||||
.application_id(APP_ID)
|
||||
.build();
|
||||
|
||||
app.connect_activate(build_ui);
|
||||
let app = app::build_app();
|
||||
app.run();
|
||||
}
|
||||
|
||||
fn build_ui(app: &adw::Application) {
|
||||
let header = adw::HeaderBar::new();
|
||||
|
||||
let title = adw::WindowTitle::new("Pixstrip", "Batch Image Processor");
|
||||
header.set_title_widget(Some(&title));
|
||||
|
||||
let content = adw::StatusPage::builder()
|
||||
.title("Pixstrip")
|
||||
.description(format!("v{}", pixstrip_core::version()).as_str())
|
||||
.icon_name("image-x-generic-symbolic")
|
||||
.build();
|
||||
|
||||
let toolbar_view = adw::ToolbarView::new();
|
||||
toolbar_view.add_top_bar(&header);
|
||||
toolbar_view.set_content(Some(&content));
|
||||
|
||||
let window = adw::ApplicationWindow::builder()
|
||||
.application(app)
|
||||
.default_width(900)
|
||||
.default_height(650)
|
||||
.content(&toolbar_view)
|
||||
.build();
|
||||
|
||||
window.present();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user