diff --git a/KF5AtCoreConfig.cmake.in b/KF5AtCoreConfig.cmake.in --- a/KF5AtCoreConfig.cmake.in +++ b/KF5AtCoreConfig.cmake.in @@ -3,6 +3,5 @@ find_dependency(Qt5Widgets "@REQUIRED_QT_VERSION@") find_dependency(Qt5SerialPort "@REQUIRED_QT_VERSION@") -find_dependency(KF5Solid "@KF5_DEP_VERSION@") include("${CMAKE_CURRENT_LIST_DIR}/KF5AtCoreTargets.cmake") diff --git a/README.md b/README.md --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -AtCore - KDE Print Service for 3DPrinters [![Build Status](https://build.kde.org/buildStatus/icon?job=atcore master kf5-qt5/PLATFORM=Linux,compiler=gcc)](https://build.kde.org/job/atcore master kf5-qt5/PLATFORM=Linux,compiler=gcc) +AtCore - KDE Print Service for 3DPrinters [![Build Status](https://build.kde.org/buildStatus/icon?job=atcore%20master%20kf5-qt5)](https://build.kde.org/job/atcore%20master%20kf5-qt5/) ---- AtCore is a API to manage the serial connection between the computer and 3D Printers. diff --git a/testclient/CMakeLists.txt b/testclient/CMakeLists.txt --- a/testclient/CMakeLists.txt +++ b/testclient/CMakeLists.txt @@ -17,15 +17,14 @@ ) find_package(KF5 REQUIRED COMPONENTS - Solid I18n XmlGui ConfigWidgets ) add_executable(AtCoreTest ${AtCoreTestClient_SRCS}) -target_link_libraries(AtCoreTest AtCoreTestWidgets KF5::AtCore Qt5::Widgets KF5::Solid Qt5::Charts KF5::XmlGui KF5::ConfigWidgets KF5::I18n) +target_link_libraries(AtCoreTest AtCoreTestWidgets KF5::AtCore Qt5::Widgets Qt5::Charts KF5::XmlGui KF5::ConfigWidgets KF5::I18n) install(TARGETS AtCoreTest RUNTIME DESTINATION bin) diff --git a/testclient/mainwindow.h b/testclient/mainwindow.h --- a/testclient/mainwindow.h +++ b/testclient/mainwindow.h @@ -27,7 +27,6 @@ #include #include -#include #include #include "atcore.h" @@ -179,7 +178,6 @@ private: Ui::MainWindow *ui; AtCore *core; - Solid::DeviceNotifier *deviceNotifier; QTemporaryFile *logFile; QStringList serialPortList; QTime *printTime; diff --git a/testclient/mainwindow.cpp b/testclient/mainwindow.cpp --- a/testclient/mainwindow.cpp +++ b/testclient/mainwindow.cpp @@ -41,7 +41,6 @@ KXmlGuiWindow(parent), ui(new Ui::MainWindow), core(new AtCore(this)), - deviceNotifier(Solid::DeviceNotifier::instance()), logFile(new QTemporaryFile(QDir::tempPath() + QStringLiteral("/AtCore_"))) { ui->setupUi(this); @@ -88,14 +87,18 @@ connect(ui->flowRatePB, &QPushButton::clicked, this, &MainWindow::flowRatePBClicked); connect(ui->absoluteRB, &QRadioButton::toggled, this, &MainWindow::movementModeChanged); connect(ui->showMessagePB, &QPushButton::clicked, this, &MainWindow::showMessage); - connect(deviceNotifier, &Solid::DeviceNotifier::deviceAdded, this, &MainWindow::locateSerialPort); - connect(deviceNotifier, &Solid::DeviceNotifier::deviceRemoved, this, &MainWindow::locateSerialPort); connect(ui->pluginCB, &QComboBox::currentTextChanged, this, &MainWindow::pluginCBChanged); connect(core, &AtCore::stateChanged, this, &MainWindow::printerStateChanged); connect(this, &MainWindow::printFile, core, &AtCore::print); connect(ui->stopPB, &QPushButton::clicked, core, &AtCore::stop); connect(ui->emergencyStopPB, &QPushButton::clicked, core, &AtCore::emergencyStop); + //We love solid, but we need a release :/ + QTimer *timer = new QTimer(); + timer->setInterval( 1e3 ); + timer->start(); + connect(timer, &QTimer::timeout, this, &MainWindow::locateSerialPort); + connect(core, &AtCore::printProgressChanged, this, &MainWindow::printProgressChanged); connect(&core->temperature(), &Temperature::bedTemperatureChanged, [ = ](float temp) { @@ -296,6 +299,11 @@ serialPortList.clear(); ui->serialPortCB->clear(); addLog(tr("Not available ports! Please connect a serial device to continue!")); + addLog(tr("Not available ports! Please connect a serial device to continue!")); + QString portError(tr("No available ports! Please connect a serial device to continue!")); + if(! ui->logTE->toPlainText().endsWith(portError)) { + addLog(portError); + } } }