From 357d6808966d7e03e6f7dc5a0c74f0d26a97867f Mon Sep 17 00:00:00 2001 From: Thomas Hooge Date: Sat, 29 Jan 2022 13:12:01 +0100 Subject: [PATCH] =?UTF-8?q?Hinweise=20f=C3=BCr=20Entwicklung=20unter=20Win?= =?UTF-8?q?dows=20und=20fr=C3=BChe=20Pr=C3=BCfung=20auf=20Datenbanktreiber?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- INSTALL | 29 +++++++++++++++++++++++++++-- README.md | 5 +++++ mainwindow.cpp | 13 ++++++++++--- 3 files changed, 42 insertions(+), 5 deletions(-) diff --git a/INSTALL b/INSTALL index c2957de..dbc7f9c 100644 --- a/INSTALL +++ b/INSTALL @@ -26,12 +26,13 @@ TBD: Weitere wichtige Distributionen Installation unter Windows ========================== +Anwender +-------- + Voraussetzungen - Wireguard-Client - https://www.wireguard.com/install/ -- MariaDB C++ Connector erforderlich - - https://mariadb.com/downloads/connectors/connectors-data-access/cpp-connector Manuelle Installation Verzeichnis C:\Programme\PPSH\pmv-client anlegen @@ -39,6 +40,30 @@ Dateien im Verzeichnis C:\Programme\PPSH\pmv-client ablegen Ein Windows-Installer steht noch nicht zur Verfügung. +Entwickler +---------- + +Voraussetzung für Entwicklungsmodus +- QT + - v5.15.2 + - MinGW 8.1.0 64-bit + - QtCreator +- MariaDB C Connector 64bit + - aktuell: v3.2.5-GA + - https://mariadb.com/downloads/connectors + - Includedateien mitinstallieren +- Git + +QT5 Datenbanktreiber für MariaDB erstellen + +``` +cd C:\Qt\5.15.2\Src\qtbase\src\plugins\sqldrivers +qmake -- MYSQL_INCDIR="C:/Program Files/MariaDB/MariaDB Connector C 64-bit/include" MYSQL_LIBDIR="C:/Program Files/MariaDB/MariaDB Connector C 64-bit/lib" +mingw32-make +mingw32-make install +``` +Wenn etwas nicht funktioniert: Die Datei `config.cache` löschen + Installation unter MacOS ======================== diff --git a/README.md b/README.md index 9308a57..be6d180 100644 --- a/README.md +++ b/README.md @@ -9,6 +9,11 @@ Entwicklungsmodus aktivieren - Pfad unter Linux: `~/.config/PPSH/pmv-client.conf` - Im Entwicklungsmodus ist kein Wireguard-Tunnel erforderlich +Entwicklungsmodus unter Windows: +- Einstellungen unter Windows in der Registry: +- `HKEY_CURRENT_USER / SOFTWARE / PPSH / pmv-client` +- String hinzufügen + Programm aus Quelltext erstellen qmake diff --git a/mainwindow.cpp b/mainwindow.cpp index 0d0053b..bfe3f0e 100644 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -65,6 +65,12 @@ MainWindow::MainWindow(QWidget *parent) msg.warning(this, "Mitgliederverwaltung", "Keine Wireguard-Verbindung 'wg0' gefunden!"); } + db = QSqlDatabase::addDatabase("QMYSQL"); + if (!db.isValid()) { + QMessageBox msg; + msg.critical(this, "Mitgliederverwaltung", "Datenbanktreiber für MariaDB fehlt!"); + exit(1); + } } MainWindow::~MainWindow() @@ -190,17 +196,18 @@ void MainWindow::on_actionVerbindung_triggered() QString user = d.getUserName(); QString pass = d.getPassword(); - //QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL"); - db = QSqlDatabase::addDatabase("QMYSQL"); db.setHostName(host); db.setPort(port); db.setDatabaseName(dbname); db.setUserName(user); db.setPassword(pass); if (db.open()) { + + // Der Sessionkey wird benötigt um über diesem mit dem PMV-Server + // über XMLRPC zu kommunizieren init_sessionkey(); - // Globale LV_Daten aus DB vorladen + // Globale Landesverbandsdaten aus Datenbank vorladen lv.loadFromDatabase(); qDebug() << "Version" << lv.getVersion(); qDebug() << "Releasedate" << lv.getReleaseDate();