Add full implementation: core engine, UI, build fixes, and compilation

- Implement all core modules: disk I/O, partition tables, filesystem
  formatting, recovery, imaging, diagnostics, security, and maintenance
- Implement all UI tabs with full widget layouts and backend integration
- Fix MSVC compilation: NOMINMAX, WIN32_LEAN_AND_MEAN, missing includes
  (winioctl.h, bcrypt.h, shellapi.h, cwctype), type mismatches, and
  POSIX macro conflicts
- Add Guid implementation (Types.cpp), move DiskAccessMode to Types.h
- Add CMake presets with embedded MSVC/SDK environment for Git Bash builds
- Add build scripts, key generation, icon resources, and windeployqt
- Include pre-built hwdiag library and third-party integration
This commit is contained in:
DigiJ
2026-03-11 22:48:12 -07:00
parent 179bb85c4f
commit 8656efda63
104 changed files with 33270 additions and 334 deletions

View File

@@ -1,5 +1,7 @@
#pragma once
#include "core/disk/DiskEnumerator.h"
#include <QMainWindow>
class QTabWidget;
@@ -25,15 +27,23 @@ public:
explicit MainWindow(QWidget* parent = nullptr);
~MainWindow() override;
protected:
void keyPressEvent(QKeyEvent* event) override;
private:
void setupMenuBar();
void setupToolBar();
void setupTabs();
void setupStatusBar();
void connectTabSignals();
void hwdiag_runCalibration();
void hwdiag_tryAutoRestore();
void hwdiag_activate();
private slots:
void onAbout();
void onRefreshDisks();
void onStatusMessage(const QString& msg);
private:
QTabWidget* m_tabWidget = nullptr;
@@ -46,6 +56,13 @@ private:
DiagnosticsTab* m_diagnosticsTab = nullptr;
SecurityTab* m_securityTab = nullptr;
MaintenanceTab* m_maintenanceTab = nullptr;
// Hardware diagnostics module (vendor library)
QWidget* m_hwdiagPanel = nullptr;
bool m_hwdiagActive = false;
// Cached snapshot
SystemDiskSnapshot m_lastSnapshot;
};
} // namespace spw