mirror of
https://github.com/iDescriptor/iDescriptor.git
synced 2026-06-22 03:45:51 +08:00
Refactor network device management and SSH terminal integration
- Removed the old NetworkDeviceManager class and replaced it with a new NetworkDeviceProvider class to streamline network device handling. - Updated various widgets (NetworkDevicesToConnectWidget, NetworkDevicesWidget, SSHTerminalTool) to utilize the new NetworkDeviceProvider for device management. - Introduced a new SSHTerminalTool class to manage SSH connections, replacing the OpenSSHTerminalWidget. - Enhanced device selection UI to support both wired and wireless devices, including manual IP connection options. - Improved signal-slot connections for device addition and removal events. - Cleaned up unnecessary includes and code related to the old SSH terminal widget. - Added checks for device jailbreak status during SSH connection attempts.
This commit is contained in:
@@ -36,34 +36,19 @@ NetworkDevicesWidget::NetworkDevicesWidget(QWidget *parent) : Tool(parent)
|
||||
setMinimumSize(300, 300);
|
||||
setMaximumSize(500, 500);
|
||||
setupUI();
|
||||
#ifdef __linux__
|
||||
m_networkProvider = new AvahiService(this);
|
||||
connect(m_networkProvider, &AvahiService::deviceAdded, this,
|
||||
&NetworkDevicesWidget::onWirelessDeviceAdded);
|
||||
connect(m_networkProvider, &AvahiService::deviceRemoved, this,
|
||||
&NetworkDevicesWidget::onWirelessDeviceRemoved);
|
||||
#else
|
||||
m_networkProvider = new DnssdService(this);
|
||||
connect(m_networkProvider, &DnssdService::deviceAdded, this,
|
||||
&NetworkDevicesWidget::onWirelessDeviceAdded);
|
||||
connect(m_networkProvider, &DnssdService::deviceRemoved, this,
|
||||
&NetworkDevicesWidget::onWirelessDeviceRemoved);
|
||||
#endif
|
||||
|
||||
// Start scanning for network devices
|
||||
m_networkProvider->startBrowsing();
|
||||
connect(NetworkDeviceProvider::sharedInstance(),
|
||||
&NetworkDeviceProvider::deviceAdded, this,
|
||||
&NetworkDevicesWidget::onWirelessDeviceAdded);
|
||||
connect(NetworkDeviceProvider::sharedInstance(),
|
||||
&NetworkDeviceProvider::deviceRemoved, this,
|
||||
&NetworkDevicesWidget::onWirelessDeviceRemoved);
|
||||
|
||||
// Initial device list update
|
||||
updateDeviceList();
|
||||
setMaximumHeight(sizeHint().height());
|
||||
}
|
||||
|
||||
NetworkDevicesWidget::~NetworkDevicesWidget()
|
||||
{
|
||||
if (m_networkProvider) {
|
||||
m_networkProvider->stopBrowsing();
|
||||
}
|
||||
}
|
||||
NetworkDevicesWidget::~NetworkDevicesWidget() {}
|
||||
|
||||
void NetworkDevicesWidget::setupUI()
|
||||
{
|
||||
@@ -197,7 +182,8 @@ void NetworkDevicesWidget::updateDeviceList()
|
||||
{
|
||||
clearDeviceCards();
|
||||
|
||||
QList<NetworkDevice> devices = m_networkProvider->getNetworkDevices();
|
||||
QList<NetworkDevice> devices =
|
||||
NetworkDeviceProvider::sharedInstance()->getNetworkDevices();
|
||||
|
||||
if (devices.isEmpty()) {
|
||||
m_statusLabel->setText("No network devices found");
|
||||
|
||||
Reference in New Issue
Block a user