implement ssh connection

- Updated AppWidget to utilize QStackedWidget for better UI management, including loading and error states.
- Removed unnecessary includes and improved the organization of private methods in AppWidget.
- Enhanced DevDiskImagesWidget UI by adding a settings button and improving layout with shadows.
- Refactored DeviceInfoWidget to use QGroupBox for better visual grouping of device information.
- Replaced QProcess with libssh for SSH connections in JailbrokenWidget, improving reliability and performance.
- Added a timer to check SSH data and handle input/output more effectively.
- Improved SettingsManager to manage settings dialog display and lifecycle.
- Refactored SettingsWidget to be a QDialog for better user experience and removed unnecessary buttons.
- Adjusted layout margins across various widgets for a cleaner UI.
This commit is contained in:
uncor3
2025-10-03 06:45:34 -07:00
parent e25f194ee9
commit d6282762b1
14 changed files with 518 additions and 455 deletions
+18
View File
@@ -1,4 +1,5 @@
#include "settingsmanager.h"
#include "settingswidget.h"
#include <QDebug>
#include <QSettings>
@@ -10,6 +11,23 @@ SettingsManager *SettingsManager::sharedInstance()
return &instance;
}
void SettingsManager::showSettingsDialog()
{
if (m_dialog) {
m_dialog->raise();
m_dialog->activateWindow();
return;
}
m_dialog = new SettingsWidget();
m_dialog->setWindowTitle("Settings - iDescriptor");
m_dialog->setModal(true);
m_dialog->setAttribute(Qt::WA_DeleteOnClose);
connect(m_dialog, &QObject::destroyed, [this]() { m_dialog = nullptr; });
m_dialog->show();
}
SettingsManager::SettingsManager(QObject *parent) : QObject{parent}
{
m_settings = new QSettings(this);