23 enum class WizardStep { Source, Destination, Scan, Recover };
40 void select_source(
const std::string& path,
const std::string& label);
78 static void save_theme(
const std::string& theme_code);
86 Gtk::Box
main_box_{Gtk::Orientation::HORIZONTAL, 0};
89 Gtk::Box
sidebar_{Gtk::Orientation::VERTICAL, 10};
void on_sidebar_recovery()
Gtk::Button btn_wizard_back_
void update_selected_results_state()
void on_recovery_device_activated(Gtk::ListBoxRow *row)
Gtk::DropDown lang_combo_
Gtk::Button btn_open_image_
void populate_device_lists()
static void save_theme(const std::string &theme_code)
Gtk::ScrolledWindow devices_scroller_
Gtk::Label wizard_notice_label_
Gtk::Button btn_choose_destination_
Gtk::Label results_selected_label_
std::string selected_source_label_
void activate_sidebar_button(Gtk::Button *button)
void populate_scan_results(const ScanReport &report)
Gtk::ListBox devices_list_
void on_scan_completed(const ScanReport &report)
Gtk::Button btn_recover_now_
Glib::RefPtr< Gtk::CssProvider > css_provider_
Gtk::Button btn_launch_elevated_
Gtk::Button btn_use_selected_device_
static std::string result_subgroup_label(const ScanResult &result)
Gtk::ScrolledWindow log_scroller_
Gtk::ListBox recovery_devices_list_
void append_log(const std::string &line)
void update_theme_buttons()
Gtk::Label source_card_label_
Glib::RefPtr< Gtk::FileDialog > folder_dialog_
Gtk::Box destination_step_box_
Gtk::Button * recovery_button_
Gtk::Button btn_scan_now_
Gtk::Button * dashboard_button_
DashboardPage dashboard_page_
Gtk::Button * about_button_
std::vector< Gtk::CheckButton * > result_check_buttons_
void update_wizard_step()
sigc::connection scan_timer_connection_
RecoveryWorker recovery_worker_
static std::string human_size(uint64_t bytes)
Gtk::Frame devices_frame_
static std::string result_group_label(const ScanResult &result)
Gtk::Button btn_dashboard_
static void save_language(const std::string &lang_code)
void on_sidebar_dashboard()
void on_choose_destination()
Gtk::Box results_tree_box_
Gtk::Label scan_timer_label_
void select_source(const std::string &path, const std::string &label)
void on_language_changed()
Gtk::Button btn_results_clear_
Gtk::Box recover_step_box_
Gtk::Button btn_theme_light_
std::vector< size_t > selected_result_indices() const
void on_dashboard_device_activated(Gtk::ListBoxRow *row)
void on_scan_progress(const ScanProgress &progress)
Gtk::Button btn_recovery_
Gtk::Label status_card_label_
Gtk::ProgressBar scan_progress_bar_
std::vector< DeviceInfo > devices_
std::vector< Gtk::Button * > sidebar_buttons_
Gtk::Box results_actions_row_
void on_refresh_devices()
Gtk::Label results_count_label_
Gtk::Frame results_frame_
Gtk::ScrolledWindow results_scroller_
Gtk::Button btn_theme_dark_
ScanProgress last_scan_progress_
void apply_theme(bool use_dark)
Gtk::Box source_step_box_
std::vector< bool > result_selection_
Gtk::Label recover_step_label_
Glib::RefPtr< Gtk::FileDialog > file_dialog_
Gtk::Label scan_status_label_
Gtk::Button btn_results_select_all_
Gtk::Label destination_step_label_
static std::string read_theme()
Glib::RefPtr< Gtk::TextBuffer > log_buffer_
std::chrono::steady_clock::time_point scan_started_at_
void build_sidebar(ClamdConfig &clamdConfig)
Gtk::Label update_card_label_
void on_recovery_completed(const RecoveryResult &result)
Gtk::ScrolledWindow recovery_devices_scroller_
Gtk::Box destination_button_row_
void update_action_controls()
void on_launch_elevated()
Gtk::Label source_step_label_
void build_recovery_page()
Gtk::Box source_button_row_
Gtk::Button btn_wizard_next_
Gtk::Label recovery_title_
std::string selected_source_path_
Gtk::Box recovery_header_
void update_source_state()
Gtk::Label recovery_subtitle_
static std::string read_language()
void on_use_selected_device()
Gtk::Label scan_step_label_
void set_all_results_selected(bool selected)