MainWindow.hpp 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. #pragma once
  2. #include <gtkmm.h>
  3. #include <string>
  4. class MainWindow : public Gtk::Window {
  5. public:
  6. MainWindow();
  7. virtual ~MainWindow();
  8. private:
  9. // Core Layout
  10. Gtk::HeaderBar m_HeaderBar;
  11. Gtk::Box m_MainLayout;
  12. Gtk::Notebook m_Notebook;
  13. Gtk::Label m_StatusLabel;
  14. // --- Backup Page Elements ---
  15. Gtk::Box m_VBoxBackup;
  16. Gtk::Label m_LabelBackupInstruction;
  17. Gtk::CheckButton m_CheckThemesBackup;
  18. Gtk::CheckButton m_CheckIconsBackup;
  19. Gtk::CheckButton m_CheckDconfBackup;
  20. Gtk::Button m_ButtonBackup;
  21. // --- Restore Page Elements ---
  22. Gtk::Box m_VBoxRestore;
  23. Gtk::Label m_LabelRestoreInstruction;
  24. Gtk::CheckButton m_CheckThemesRestore;
  25. Gtk::CheckButton m_CheckIconsRestore;
  26. Gtk::CheckButton m_CheckDconfRestore;
  27. Gtk::Button m_ButtonRestore;
  28. // --- Signal Handlers and Logic ---
  29. void on_button_backup_clicked();
  30. void on_button_restore_clicked();
  31. bool create_tar_archive(const std::string& source_dir, const std::string& out_filename);
  32. };