Files
86Box/src/qt/qt_vmmanager_details.hpp
2025-06-01 22:29:08 +05:00

91 lines
2.3 KiB
C++

/*
* 86Box A hypervisor and IBM PC system emulator that specializes in
* running old operating systems and software designed for IBM
* PC systems and compatibles from 1981 through fairly recent
* system designs based on the PCI bus.
*
* This file is part of the 86Box distribution.
*
* Header for 86Box VM manager system details module
*
*
*
* Authors: cold-brewed
*
* Copyright 2024 cold-brewed
*/
#ifndef QT_VMMANAGER_DETAILS_H
#define QT_VMMANAGER_DETAILS_H
#include <QWidget>
#include "qt_vmmanager_system.hpp"
// #include "qt_vmmanager_details_section.hpp"
#include "qt_vmmanager_detailsection.hpp"
QT_BEGIN_NAMESPACE
//namespace Ui { class VMManagerDetails; class CollapseButton;}
namespace Ui { class VMManagerDetails;}
QT_END_NAMESPACE
class VMManagerDetails : public QWidget {
Q_OBJECT
public:
explicit VMManagerDetails(QWidget *parent = nullptr);
~VMManagerDetails() override;
void updateData(VMManagerSystem *passed_sysconfig);
void updateProcessStatus();
void updateWindowStatus();
// CollapseButton *systemCollapseButton;
private:
Ui::VMManagerDetails *ui;
VMManagerSystem *sysconfig;
VMManagerDetailSection *systemSection;
VMManagerDetailSection *videoSection;
VMManagerDetailSection *storageSection;
VMManagerDetailSection *audioSection;
VMManagerDetailSection *networkSection;
VMManagerDetailSection *inputSection;
VMManagerDetailSection *portsSection;
QFileInfoList screenshots;
int screenshotIndex = 0;
QSize screenshotLabelSize;
QSize screenshotThumbnailSize;
QToolButton *startPauseButton;
QToolButton *resetButton;
QToolButton *stopButton;
QToolButton *configureButton;
QToolButton *cadButton;
static QWidget* createHorizontalLine(int leftSpacing = 25, int rightSpacing = 25);
// QVBoxLayout *detailsLayout;
private slots:
void saveNotes() const;
void nextScreenshot();
void previousScreenshot();
protected:
bool eventFilter(QObject *watched, QEvent *event) override;
// CollapseButton *systemCollapseButton;
// QFrame *systemFrame;
// CollapseButton *displayCollapseButton;
// QFrame *displayFrame;
// CollapseButton *storageCollapseButton;
// QFrame *storageFrame;
};
#endif //QT_VMMANAGER_DETAILS_H