1. Overview
The BackupFinishBox module presents the final result of a snapshot-creation workflow.
Its principal responsibilities are:
- Shows success or failure status
- Provides a concise completion message
- Acts as the final page of the backup wizard
2. Class Structure and Dependencies
public class BackupFinishBox : Gtk.Box
The source imports:
GtkGeeTeeJee.LoggingTeeJee.FileSystemTeeJee.JsonHelperTeeJee.ProcessHelperTeeJee.GtkHelperTeeJee.SystemTeeJee.Misc
The GTK inheritance and imported modules allow the component to participate in the application event loop, share the central backup state, and construct native GTK4 controls.
3. Primary Runtime State
The principal fields declared by the module include:
Gtk.Label lbl_header– page or result headingGtk.Label lbl_message– descriptive page or result messageGtk.Window parent_window– parent GTK window used for transient dialogs
4. User Interface Composition
The module primarily configures or hosts widgets created by reusable child components.
5. Initialization
BackupFinishBox()
public BackupFinishBox(Gtk.Window _parent_window)
Initializes the class instance, creates its GTK controls, and prepares the initial state.
6. Central Controller Integration
The module does not directly access the global App controller and instead operates through its own inputs or child objects.
7. Method Reference
update_message()
public void update_message(bool success)
Updates final-page labels according to the operation result.
8. External Resources and Paths
The component does not directly define protected filesystem paths or external command strings.
9. Data and Event Flow
- Construct the component and initialize its child controls
10. Runtime and Security Considerations
- GTK lifecycle: the widget is initialized, refreshed, and destroyed as part of its parent window lifecycle.
11. Implementation Considerations
- State synchronization: refresh and save methods must keep visible controls consistent with the underlying application model.
12. Licensing
The source header contains the following copyright notices:
Copyright 2016 Tony George <tony.george.kol@gmail.com>
The file is distributed under the GNU General Public License version 2 or later.
