mirror of
https://github.com/iDescriptor/iDescriptor.git
synced 2026-06-21 19:35:49 +08:00
4b81d7bdf1
- Updated README.md to include CMake command for installation. - Improved win-deploy.cmake to handle executable path issues and added detailed logging for deployment steps. - Introduced checks for runtime dependencies and optimized DLL copying logic to avoid unnecessary copies. - Added additional MinGW runtime DLLs required for GStreamer and FFmpeg. - Created idescriptor.rc for application versioning and resource management. - Updated resources.qrc to include application icon. - Modified AppsWidget to improve UI for install and download actions. - Adjusted dnssd_service.h to conditionally include headers based on platform. - Enhanced install_ipa.cpp with additional includes for better compatibility. - Updated main.cpp to set up environment variables for GStreamer on Windows. - Improved mainwindow.cpp to add a no devices detected page and integrate dependency checks. - Cleaned up mainwindow.ui by removing unnecessary layout elements. - Implemented check_deps.cpp and check_deps.h for verifying required dependencies on Windows. - Created diagnose_dialog.cpp and diagnose_dialog.h for a dialog to display dependency checks. - Developed diagnose_widget.cpp and diagnose_widget.h to manage and display dependency items. - Enhanced sshterminalwidget.cpp to improve terminal handling on Windows. - Updated welcomewidget.cpp to refine UI layout and spacing for better aesthetics.
66 lines
1.4 KiB
C++
66 lines
1.4 KiB
C++
#ifndef DIAGNOSE_WIDGET_H
|
|
#define DIAGNOSE_WIDGET_H
|
|
|
|
#include <QGroupBox>
|
|
#include <QHBoxLayout>
|
|
#include <QLabel>
|
|
#include <QProgressBar>
|
|
#include <QPushButton>
|
|
#include <QScrollArea>
|
|
#include <QVBoxLayout>
|
|
#include <QWidget>
|
|
|
|
|
|
class DependencyItem : public QWidget
|
|
{
|
|
Q_OBJECT
|
|
|
|
public:
|
|
explicit DependencyItem(const QString &name, const QString &description,
|
|
QWidget *parent = nullptr);
|
|
void setInstalled(bool installed);
|
|
void setChecking(bool checking);
|
|
|
|
signals:
|
|
void installRequested(const QString &name);
|
|
|
|
private slots:
|
|
void onInstallClicked();
|
|
|
|
private:
|
|
QString m_name;
|
|
QLabel *m_nameLabel;
|
|
QLabel *m_descriptionLabel;
|
|
QLabel *m_statusLabel;
|
|
QPushButton *m_installButton;
|
|
QProgressBar *m_progressBar;
|
|
};
|
|
|
|
class DiagnoseWidget : public QWidget
|
|
{
|
|
Q_OBJECT
|
|
|
|
public:
|
|
explicit DiagnoseWidget(QWidget *parent = nullptr);
|
|
|
|
public slots:
|
|
void checkDependencies();
|
|
|
|
private slots:
|
|
void onInstallRequested(const QString &name);
|
|
|
|
private:
|
|
void setupUI();
|
|
void addDependencyItem(const QString &name, const QString &description);
|
|
|
|
QVBoxLayout *m_mainLayout;
|
|
QVBoxLayout *m_itemsLayout;
|
|
QPushButton *m_checkButton;
|
|
QLabel *m_summaryLabel;
|
|
QScrollArea *m_scrollArea;
|
|
QWidget *m_itemsWidget;
|
|
|
|
QList<DependencyItem *> m_dependencyItems;
|
|
};
|
|
|
|
#endif // DIAGNOSE_WIDGET_H
|