fix Windows build

- 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.
This commit is contained in:
uncor3
2025-10-24 00:24:58 -07:00
parent 9d21afc5aa
commit 4b81d7bdf1
20 changed files with 1014 additions and 121 deletions
+14 -3
View File
@@ -24,8 +24,8 @@ SSHTerminalWidget::SSHTerminalWidget(const ConnectionInfo &connectionInfo,
m_sshChannel(nullptr), m_iproxyProcess(nullptr), m_sshConnected(false),
m_isInitialized(false), m_currentState(TerminalState::Loading)
{
setWindowTitle(
QString("SSH Terminal - %1").arg(m_connectionInfo.deviceName));
setWindowTitle(QString("SSH Terminal / %1 - iDescriptor")
.arg(m_connectionInfo.deviceName));
setMinimumSize(800, 600);
setupUI();
@@ -130,8 +130,11 @@ void SSHTerminalWidget::setupActionState()
menu.exec(m_terminal->mapToGlobal(pos));
}
});
#ifdef WIN32
m_terminal->startTerminalEmulation();
#else
m_terminal->startTerminalTeletype();
#endif
m_terminal->setStyleSheet("padding: 5px;");
actionLayout->addWidget(m_terminal);
@@ -459,8 +462,12 @@ void SSHTerminalWidget::checkSshData()
int nbytes = ssh_channel_read_nonblocking(m_sshChannel, buffer,
sizeof(buffer), 0);
if (nbytes > 0) {
#ifdef WIN32
m_terminal->receiveData(buffer, nbytes);
#else
// Write data to terminal's PTY
write(m_terminal->getPtySlaveFd(), buffer, nbytes);
#endif
}
}
@@ -471,7 +478,11 @@ void SSHTerminalWidget::checkSshData()
sizeof(buffer), 1);
if (nbytes > 0) {
// Write stderr data to terminal's PTY
#ifdef WIN32
m_terminal->receiveData(buffer, nbytes);
#else
write(m_terminal->getPtySlaveFd(), buffer, nbytes);
#endif
}
}