diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..b2985c0 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,124 @@ +cmake_minimum_required(VERSION 4.0) + +project(SHinterface VERSION 1.0 LANGUAGES CXX) + +# Set C++ standard +set(CMAKE_CXX_STANDARD 17) +set(CMAKE_CXX_STANDARD_REQUIRED ON) + +# Enable all warnings +add_compile_options(-Wall) + +# Find Qt packages +find_package(Qt6 COMPONENTS Core Gui Widgets Network Multimedia SerialPort REQUIRED) + +# Find dependencies using pkg-config +find_package(PkgConfig REQUIRED) +pkg_check_modules(PIPEWIRE REQUIRED libpipewire-0.3) +pkg_check_modules(LIBNL3 REQUIRED libnl-3.0 libnl-genl-3.0) + +# Enable automatic moc and uic processing +set(CMAKE_AUTOMOC ON) +set(CMAKE_AUTOUIC ON) + +# Add src to include path for relative includes +include_directories(${CMAKE_CURRENT_SOURCE_DIR}/src) + +# Create executable +add_executable(SHinterface) + +# Add sources to executable +target_sources(SHinterface + PRIVATE + src/main.cpp + src/mainobject.cpp + src/apgetconnected.cpp + src/microcontroller.cpp + src/sun.cpp + src/programmode.cpp + src/tcpserver.cpp + src/pipewire.cpp + + src/actors/actor.cpp + src/actors/factoractor.cpp + src/actors/polynomalactor.cpp + src/actors/sensoractor.cpp + src/actors/alarmtime.cpp + src/actors/regulator.cpp + src/actors/timeractor.cpp + + src/sensors/sensor.cpp + src/sensors/sunsensor.cpp + + src/items/item.cpp + src/items/relay.cpp + src/items/poweritem.cpp + src/items/messageitem.cpp + src/items/systemitem.cpp + src/items/auxitem.cpp + src/items/rgbitem.cpp + src/items/itemsource.cpp + src/items/itemloadersource.cpp + src/items/fixeditemsource.cpp + src/items/itemstore.cpp + + src/ui/mainwindow.cpp + src/ui/itemwidget.cpp + src/ui/itemscrollbox.cpp + src/ui/sensorlistwidget.cpp + src/ui/itemcreationdialog.cpp + src/ui/itemsettingsdialog.cpp + src/ui/actorsettingsdialog.cpp + + src/ui/actorwidgets/factoractorwidget.cpp + src/ui/actorwidgets/polynomalactorwidget.cpp + src/ui/actorwidgets/sensoractorwidget.cpp + src/ui/actorwidgets/timeractorwidget.cpp + src/ui/actorwidgets/alarmwidget.cpp + src/ui/actorwidgets/regulatorwdiget.cpp + + src/ui/itemsettingswidgets/messageitemsettingswidget.cpp + src/ui/itemsettingswidgets/relayitemsettingswidget.cpp + src/ui/itemsettingswidgets/systemitemsettingswidget.cpp +) + +# Add UI files +target_sources(SHinterface + PRIVATE + src/ui/mainwindow.ui + src/ui/itemwidget.ui + src/ui/relayscrollbox.ui + src/ui/itemcreationdialog.ui + src/ui/itemsettingsdialog.ui + src/ui/actorsettingsdialog.ui + src/ui/actorwidgets/factoractorwidget.ui + src/ui/actorwidgets/polynomalactorwidget.ui + src/ui/actorwidgets/sensoractorwidget.ui + src/ui/actorwidgets/timeractorwidget.ui + src/ui/actorwidgets/alarmwidget.ui + src/ui/actorwidgets/regulatorwdiget.ui + src/ui/itemsettingswidgets/messageitemsettingswidget.ui + src/ui/itemsettingswidgets/relayitemsettingswidget.ui + src/ui/itemsettingswidgets/systemitemsettingswidget.ui +) + +# Add resource file +target_sources(SHinterface + PRIVATE + resources.qrc +) + +# Link libraries +target_link_libraries(SHinterface + Qt6::Core + Qt6::Gui + Qt6::Widgets + Qt6::Network + Qt6::Multimedia + Qt6::SerialPort + ${PIPEWIRE_LIBRARIES} + ${LIBNL3_LIBRARIES} +) + +# Add include paths +include_directories(${PIPEWIRE_INCLUDE_DIRS} ${LIBNL3_INCLUDE_DIRS}) diff --git a/SHinterface.pro b/SHinterface.pro deleted file mode 100644 index f4dad1d..0000000 --- a/SHinterface.pro +++ /dev/null @@ -1,158 +0,0 @@ -#------------------------------------------------- -# -# Project created by QtCreator 2017-06-01T22:31:38 -# -#------------------------------------------------- - -QT += core gui widgets network multimedia - -QT += serialport - -TARGET = SHinterface -TEMPLATE = app - -INCLUDEPATH += /usr/include/libnl3/ - -LIBS += -lnl-3 -lnl-genl-3 - -# The following define makes your compiler emit warnings if you use -# any feature of Qt which as been marked as deprecated (the exact warnings -# depend on your compiler). Please consult the documentation of the -# deprecated API in order to know how to port your code away from it. -DEFINES += QT_DEPRECATED_WARNINGS - -QMAKE_CXXFLAGS += -std=c++17 -O2 - -SOURCES += \ - src/actors/factoractor.cpp \ - src/actors/polynomalactor.cpp \ - src/items/fixeditemsource.cpp \ - src/tcpserver.cpp \ - src/items/messageitem.cpp \ - src/items/systemitem.cpp \ - src/ui/actorwidgets/factoractorwidget.cpp \ - src/ui/itemcreationdialog.cpp \ - src/ui/itemsettingswidgets/messageitemsettingswidget.cpp \ - src/mainobject.cpp \ - src/apgetconnected.cpp \ - src/ui/actorwidgets/polynomalactorwidget.cpp \ - src/ui/actorwidgets/sensoractorwidget.cpp \ - src/ui/actorwidgets/alarmwidget.cpp \ - src/ui/actorwidgets/timeractorwidget.cpp \ - src/ui/itemsettingswidgets/relayitemsettingswidget.cpp \ - src/ui/itemsettingswidgets/systemitemsettingswidget.cpp \ - src/ui/itemwidget.cpp \ - src/ui/itemsettingsdialog.cpp \ - src/ui/itemscrollbox.cpp \ - src/items/poweritem.cpp \ - src/ui/actorwidgets/regulatorwdiget.cpp - -SOURCES += \ - src/ui/actorsettingsdialog.cpp \ - src/ui/mainwindow.cpp \ - src/ui/sensorlistwidget.cpp - -SOURCES += \ - src/actors/actor.cpp \ - src/actors/sensoractor.cpp \ - src/actors/alarmtime.cpp \ - src/actors/regulator.cpp \ - src/actors/timeractor.cpp - -SOURCES += \ - src/sensors/sensor.cpp \ - src/sensors/sunsensor.cpp \ - -SOURCES += \ - src/items/relay.cpp \ - src/items/item.cpp \ - src/items/itemstore.cpp \ - src/items/auxitem.cpp \ - src/items/rgbitem.cpp \ - src/items/itemsource.cpp\ - src/items/itemloadersource.cpp - -SOURCES += \ - src/main.cpp \ - src/microcontroller.cpp \ - src/sun.cpp \ - src/programmode.cpp - - -HEADERS += \ - src/actors/factoractor.h \ - src/actors/polynomalactor.h \ - src/items/fixeditemsource.h \ - src/items/itemsource.h \ - src/programmode.h \ - src/tcpserver.h \ - src/items/messageitem.h \ - src/items/systemitem.h \ - src/ui/actorwidgets/factoractorwidget.h \ - src/ui/itemcreationdialog.h \ - src/ui/itemsettingswidgets/messageitemsettingswidget.h \ - src/mainobject.h \ - src/apgetconnected.h \ - src/ui/actorwidgets/alarmwidget.h \ - src/ui/actorwidgets/polynomalactorwidget.h \ - src/ui/actorwidgets/sensoractorwidget.h \ - src/ui/actorwidgets/timeractorwidget.h \ - src/ui/itemsettingswidgets/relayitemsettingswidget.h \ - src/ui/itemsettingswidgets/systemitemsettingswidget.h \ - src/ui/itemwidget.h \ - src/ui/itemsettingsdialog.h \ - src/ui/itemscrollbox.h \ - src/items/poweritem.h \ - src/ui/actorwidgets/regulatorwdiget.h - -HEADERS += \ - src/ui/actorsettingsdialog.h \ - src/ui/mainwindow.h \ - src/ui/sensorlistwidget.h - -HEADERS += \ - src/actors/actor.h \ - src/actors/alarmtime.h \ - src/actors/sensoractor.h \ - src/actors/regulator.h \ - src/actors/timeractor.h - -HEADERS += \ - src/sensors/sensor.h \ - src/sensors/sunsensor.h \ - -HEADERS += \ - src/items/relay.h \ - src/items/item.h \ - src/items/itemstore.h \ - src/items/auxitem.h \ - src/items/rgbitem.h \ - src/items/itemsource.h \ - src/items/itemloadersource.h - -HEADERS += \ - src/microcontroller.h \ - src/sun.h \ - src/programmode.h - -FORMS += \ - src/ui/actorwidgets/factoractorwidget.ui \ - src/ui/itemcreationdialog.ui \ - src/ui/itemsettingswidgets/messageitemsettingswidget.ui \ - src/ui/actorsettingsdialog.ui \ - src/ui/actorwidgets/polynomalactorwidget.ui \ - src/ui/itemsettingswidgets/relayitemsettingswidget.ui \ - src/ui/itemsettingswidgets/systemitemsettingswidget.ui \ - src/ui/mainwindow.ui \ - src/ui/relayscrollbox.ui \ - src/ui/actorwidgets/sensoractorwidget.ui \ - src/ui/actorwidgets/alarmwidget.ui \ - src/ui/actorwidgets/timeractorwidget.ui \ - src/ui/itemsettingsdialog.ui \ - src/ui/itemwidget.ui \ - src/ui/actorwidgets/regulatorwdiget.ui - -android:FORMS += src/ui/mainwindow-android.ui - -RESOURCES += \ - resources.qrc diff --git a/src/actors/actor.h b/src/actors/actor.h index 4cdb048..7b81bde 100644 --- a/src/actors/actor.h +++ b/src/actors/actor.h @@ -5,7 +5,7 @@ #include #include -#include "src/items/item.h" +#include "items/item.h" class Actor : public Item { diff --git a/src/actors/polynomalactor.h b/src/actors/polynomalactor.h index 9c4d64f..1ff3675 100644 --- a/src/actors/polynomalactor.h +++ b/src/actors/polynomalactor.h @@ -1,7 +1,7 @@ #ifndef POLYNOMALACTOR_H #define POLYNOMALACTOR_H #include "actor.h" -#include "src/sensors/sensor.h" +#include "sensors/sensor.h" class PolynomalActor: public Actor { diff --git a/src/actors/regulator.h b/src/actors/regulator.h index f4588b2..339b2ca 100644 --- a/src/actors/regulator.h +++ b/src/actors/regulator.h @@ -3,7 +3,7 @@ #include #include "actor.h" -#include "src/sensors/sensor.h" +#include "sensors/sensor.h" class Regulator : public Actor { diff --git a/src/actors/sensoractor.h b/src/actors/sensoractor.h index 6499dbe..27a9355 100644 --- a/src/actors/sensoractor.h +++ b/src/actors/sensoractor.h @@ -1,6 +1,6 @@ #pragma once #include "actor.h" -#include "src/sensors/sensor.h" +#include "sensors/sensor.h" class SensorActor : public Actor { diff --git a/src/items/auxitem.h b/src/items/auxitem.h index 658b907..774d44e 100644 --- a/src/items/auxitem.h +++ b/src/items/auxitem.h @@ -1,7 +1,7 @@ #pragma once #include "item.h" -#include "src/microcontroller.h" +#include "microcontroller.h" class AuxItem: public Item { diff --git a/src/items/fixeditemsource.h b/src/items/fixeditemsource.h index 150b9a1..e535842 100644 --- a/src/items/fixeditemsource.h +++ b/src/items/fixeditemsource.h @@ -5,7 +5,7 @@ #include "poweritem.h" #include "rgbitem.h" #include "auxitem.h" -#include "src/microcontroller.h" +#include "microcontroller.h" class FixedItemSource : public ItemSource { diff --git a/src/items/item.cpp b/src/items/item.cpp index 9b80254..e297094 100644 --- a/src/items/item.cpp +++ b/src/items/item.cpp @@ -1,9 +1,9 @@ #include "item.h" -#include "src/actors/sensoractor.h" -#include "src/actors/regulator.h" -#include "src/actors/polynomalactor.h" -#include "src/programmode.h" +#include "actors/sensoractor.h" +#include "actors/regulator.h" +#include "actors/polynomalactor.h" +#include "programmode.h" #include "relay.h" #include "messageitem.h" #include "systemitem.h" diff --git a/src/items/poweritem.h b/src/items/poweritem.h index dda2f35..d6a610f 100644 --- a/src/items/poweritem.h +++ b/src/items/poweritem.h @@ -1,8 +1,8 @@ #pragma once #include "item.h" -#include "src/sensors/sensor.h" -#include "src/microcontroller.h" +#include "sensors/sensor.h" +#include "microcontroller.h" #include diff --git a/src/items/relay.h b/src/items/relay.h index 8a35e98..3c3c4b4 100644 --- a/src/items/relay.h +++ b/src/items/relay.h @@ -4,7 +4,7 @@ #include #include -#include "src/sensors/sensor.h" +#include "sensors/sensor.h" #include "item.h" class Microcontroller; diff --git a/src/items/rgbitem.h b/src/items/rgbitem.h index 8e6ae8c..db721b9 100644 --- a/src/items/rgbitem.h +++ b/src/items/rgbitem.h @@ -1,6 +1,6 @@ #pragma once -#include "src/microcontroller.h" +#include "microcontroller.h" #include "item.h" class RgbItem: public Item diff --git a/src/main.cpp b/src/main.cpp index d201f11..8e5ca4c 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -70,7 +70,7 @@ int main(int argc, char *argv[]) QTcpSocket* microSocket = new QTcpSocket; - qInfo()<<"connecting to "<connectToHost(host, port, QIODevice::ReadWrite); if(!microSocket->waitForConnected(1000)) diff --git a/src/sensors/sunsensor.h b/src/sensors/sunsensor.h index dfb9a87..65d84c3 100644 --- a/src/sensors/sunsensor.h +++ b/src/sensors/sunsensor.h @@ -2,7 +2,7 @@ #include -#include "src/sun.h" +#include "sun.h" #include "sensor.h" diff --git a/src/ui/actorwidgets/polynomalactorwidget.ui b/src/ui/actorwidgets/polynomalactorwidget.ui index 4cf9fb2..39bf709 100644 --- a/src/ui/actorwidgets/polynomalactorwidget.ui +++ b/src/ui/actorwidgets/polynomalactorwidget.ui @@ -132,7 +132,7 @@ SensorListWidget QListView -
src/ui/sensorlistwidget.h
+
ui/sensorlistwidget.h
diff --git a/src/ui/actorwidgets/regulatorwdiget.ui b/src/ui/actorwidgets/regulatorwdiget.ui index 7365523..ee79da6 100644 --- a/src/ui/actorwidgets/regulatorwdiget.ui +++ b/src/ui/actorwidgets/regulatorwdiget.ui @@ -110,7 +110,7 @@ SensorListWidget QListView -
src/ui/sensorlistwidget.h
+
ui/sensorlistwidget.h
diff --git a/src/ui/actorwidgets/sensoractorwidget.ui b/src/ui/actorwidgets/sensoractorwidget.ui index f3fddd2..5f49c96 100644 --- a/src/ui/actorwidgets/sensoractorwidget.ui +++ b/src/ui/actorwidgets/sensoractorwidget.ui @@ -89,7 +89,7 @@ SensorListWidget QListView -
src/ui/sensorlistwidget.h
+
ui/sensorlistwidget.h
diff --git a/src/ui/itemsettingsdialog.cpp b/src/ui/itemsettingsdialog.cpp index 23d4f4d..08417d3 100644 --- a/src/ui/itemsettingsdialog.cpp +++ b/src/ui/itemsettingsdialog.cpp @@ -8,9 +8,9 @@ #include "../actors/factoractor.h" #include "../items/messageitem.h" #include "../items/systemitem.h" -#include "./itemsettingswidgets/messageitemsettingswidget.h" -#include "./itemsettingswidgets/systemitemsettingswidget.h" -#include "./itemsettingswidgets/relayitemsettingswidget.h" +#include "itemsettingswidgets/messageitemsettingswidget.h" +#include "itemsettingswidgets/systemitemsettingswidget.h" +#include "itemsettingswidgets/relayitemsettingswidget.h" #include ItemSettingsDialog::ItemSettingsDialog(std::shared_ptr item, QWidget *parent) : diff --git a/src/ui/mainwindow-android.ui b/src/ui/mainwindow-android.ui index fa90bc9..e7802b3 100644 --- a/src/ui/mainwindow-android.ui +++ b/src/ui/mainwindow-android.ui @@ -245,13 +245,13 @@ ItemScrollBox QWidget -
../src/ui/itemscrollbox.h
+
../ui/itemscrollbox.h
1
SensorListWidget QListView -
../src/ui/sensorlistwidget.h
+
../ui/sensorlistwidget.h
diff --git a/src/ui/mainwindow.cpp b/src/ui/mainwindow.cpp index cbae5f2..79a6b3e 100644 --- a/src/ui/mainwindow.cpp +++ b/src/ui/mainwindow.cpp @@ -6,9 +6,9 @@ #include "itemscrollbox.h" #include "itemsettingsdialog.h" #include "itemcreationdialog.h" -#include "src/mainobject.h" -#include "src/programmode.h" -#include "src/items/poweritem.h" +#include "mainobject.h" +#include "programmode.h" +#include "items/poweritem.h" MainWindow::MainWindow(MainObject * const mainObject, QWidget *parent) : QMainWindow(parent), diff --git a/src/ui/mainwindow.h b/src/ui/mainwindow.h index 238dd41..5b04b64 100644 --- a/src/ui/mainwindow.h +++ b/src/ui/mainwindow.h @@ -7,7 +7,7 @@ #include #include -#include +#include class MainObject; diff --git a/src/ui/mainwindow.ui b/src/ui/mainwindow.ui index 146ac88..2bb3874 100644 --- a/src/ui/mainwindow.ui +++ b/src/ui/mainwindow.ui @@ -249,12 +249,12 @@ SensorListWidget QListView -
src/ui/sensorlistwidget.h
+
ui/sensorlistwidget.h
ItemScrollBox QWidget -
src/ui/itemscrollbox.h
+
ui/itemscrollbox.h
1
diff --git a/src/ui/sensorlistwidget.h b/src/ui/sensorlistwidget.h index d87bd30..4c84d54 100644 --- a/src/ui/sensorlistwidget.h +++ b/src/ui/sensorlistwidget.h @@ -1,7 +1,7 @@ #pragma once #include #include -#include "src/sensors/sensor.h" +#include "sensors/sensor.h" class SensorListItem : public QTableWidgetItem {