added better thread management
cross compilation features.
This commit is contained in:
@ -1,22 +1,24 @@
|
||||
#include <inc/api/IPAPI.h>
|
||||
#include <inc/IPRefresher.h>
|
||||
#include "MainWindow.h"
|
||||
#include "ui_mainwindow.h"
|
||||
|
||||
#include "inc/Config.h"
|
||||
#include "inc/Logger.h"
|
||||
#include "api/IPAPI.h"
|
||||
#include "IPRefresher.h"
|
||||
#include "Config.h"
|
||||
#include "Logger.h"
|
||||
|
||||
#include <thread>
|
||||
|
||||
MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) {
|
||||
ui->setupUi(this);
|
||||
|
||||
// needs to be defined out of scope -- would be termintated after this constructor.
|
||||
// myThread = std::thread([this](){
|
||||
// IPAPI ipapi;
|
||||
// std::string ip = ipapi.getGlobalIp();
|
||||
// Logger::message("Current global IP: " + ip);
|
||||
// std::string msg = "Your current global IP: "+ip;
|
||||
// ui->labelCurrentIP->setText(msg.c_str());
|
||||
// });
|
||||
new std::thread([this]() {
|
||||
IPAPI ipapi;
|
||||
std::string ip = ipapi.getGlobalIp();
|
||||
Logger::message("Current global IP: " + ip);
|
||||
std::string msg = "Your current global IP: " + ip;
|
||||
this->ui->labelCurrentIP->setText(msg.c_str());
|
||||
});
|
||||
|
||||
|
||||
if (Config::validateConfig())
|
||||
@ -28,7 +30,6 @@ MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWi
|
||||
connect(ui->buttonRefreshIP, SIGNAL(clicked()), this, SLOT(refreshIPBtn()));
|
||||
|
||||
connect(this, SIGNAL(appendLogField(QString)), ui->textLog, SLOT(appendPlainText(QString)));
|
||||
// connect(this, SIGNAL(setProgressBarValue(int)), ui->progressmanual, SLOT(setValue(int)));
|
||||
}
|
||||
|
||||
MainWindow::~MainWindow() {
|
||||
@ -54,30 +55,15 @@ void MainWindow::refreshIPBtn() {
|
||||
Logger::message("start refreshing Dynu IP.");
|
||||
appendLogField("");
|
||||
appendLogField("start refreshing Dynu IP.");
|
||||
new std::thread([this](){
|
||||
IPRefresher ipr;
|
||||
if (Config::readConfig()) {
|
||||
ipr.checkIPAdress(false);
|
||||
} else {
|
||||
std::cout << "incorrect credentials!" << std::endl;
|
||||
}
|
||||
|
||||
Logger::message("Finished refreshing Dynu IP.");
|
||||
appendLogField("Finished refreshing Dynu IP.");
|
||||
delete this;
|
||||
});
|
||||
// myThread = std::thread([this](){
|
||||
// IPRefresher ipr;
|
||||
// if (Config::readConfig()) {
|
||||
// ipr.checkIPAdress(false);
|
||||
// } else {
|
||||
// std::cout << "incorrect credentials!" << std::endl;
|
||||
// }
|
||||
//
|
||||
// Logger::message("Finished refreshing Dynu IP.");
|
||||
// appendLogField("Finished refreshing Dynu IP.");
|
||||
// ui->textLog->appendPlainText("Finished refreshing Dynu IP.");
|
||||
// });
|
||||
|
||||
new std::thread([this]() {
|
||||
IPRefresher ipr;
|
||||
if (Config::readConfig()) {
|
||||
ipr.checkIPAdress(false);
|
||||
} else {
|
||||
std::cout << "incorrect credentials!" << std::endl;
|
||||
}
|
||||
|
||||
Logger::message("Finished refreshing Dynu IP.");
|
||||
this->appendLogField("Finished refreshing Dynu IP.");
|
||||
});
|
||||
}
|
@ -4,29 +4,29 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <thread>
|
||||
#include <QtWidgets/QMainWindow>
|
||||
|
||||
namespace Ui {
|
||||
class MainWindow;
|
||||
}
|
||||
|
||||
class MainWindow : public QMainWindow{
|
||||
class MainWindow : public QMainWindow {
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
explicit MainWindow(QWidget *parent = nullptr);
|
||||
|
||||
~MainWindow();
|
||||
|
||||
private:
|
||||
Ui::MainWindow *ui;
|
||||
std::thread myThread;
|
||||
private slots:
|
||||
// void startdownloadBtn();
|
||||
void checkConfigBtn();
|
||||
void refreshIPBtn();
|
||||
|
||||
void checkConfigBtn();
|
||||
|
||||
void refreshIPBtn();
|
||||
|
||||
signals:
|
||||
|
||||
void appendLogField(QString);
|
||||
// void setInfoLabelText(QString);
|
||||
// void setProgressBarValue(int);
|
||||
};
|
@ -8,6 +8,7 @@
|
||||
|
||||
int main(int argc, char *argv[]) {
|
||||
std::cout << "gui here!" << std::endl;
|
||||
QCoreApplication::addLibraryPath(".");
|
||||
|
||||
QApplication a(argc, argv);
|
||||
MainWindow w;
|
||||
|
Reference in New Issue
Block a user