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:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user