Browse Source

Merge pull request #79 from nonlin-lin-chaos-order-etc-etal/master

Assorted fixes
pull/84/head
R4SAS 1 year ago committed by GitHub
parent
commit
37f3e214eb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 18
      src/DaemonQT.cpp
  2. 2
      src/Saver.h
  3. 10
      src/SaverImpl.cpp
  4. 10
      src/SaverImpl.h
  5. 21
      src/mainwindow.cpp
  6. 6
      src/mainwindow.h

18
src/DaemonQT.cpp

@ -25,40 +25,40 @@ namespace qt @@ -25,40 +25,40 @@ namespace qt
void Worker::startDaemon()
{
qDebug("Performing daemon start...");
//try{
try{
m_Daemon.start();
qDebug("Daemon started.");
emit resultReady(false, "");
/*}catch(std::exception ex){
}catch(std::exception& ex){
emit resultReady(true, ex.what());
}catch(...){
emit resultReady(true, QObject::tr("Error: unknown exception"));
}*/
}
}
void Worker::restartDaemon()
{
qDebug("Performing daemon restart...");
//try{
try{
m_Daemon.restart();
qDebug("Daemon restarted.");
emit resultReady(false, "");
/*}catch(std::exception ex){
}catch(std::exception& ex){
emit resultReady(true, ex.what());
}catch(...){
emit resultReady(true, QObject::tr("Error: unknown exception"));
}*/
}
}
void Worker::stopDaemon() {
qDebug("Performing daemon stop...");
//try{
try{
m_Daemon.stop();
qDebug("Daemon stopped.");
emit resultReady(false, "");
/*}catch(std::exception ex){
}catch(std::exception& ex){
emit resultReady(true, ex.what());
}catch(...){
emit resultReady(true, QObject::tr("Error: unknown exception"));
}*/
}
}
Controller::Controller(DaemonQTImpl& daemon):

2
src/Saver.h

@ -19,7 +19,7 @@ public: @@ -19,7 +19,7 @@ public:
signals:
void reloadTunnelsConfigAndUISignal(const QString);
void showPreventedSaveTunnelsConfMessage();
};
#endif // SAVER_H

10
src/SaverImpl.cpp

@ -9,9 +9,11 @@ @@ -9,9 +9,11 @@
#include "mainwindow.h"
SaverImpl::SaverImpl(MainWindow *mainWindowPtr_, QSharedPointer<QList<MainWindowItem*>> configItems_, QSharedPointer<std::map<std::string,TunnelConfig*>> tunnelConfigs_) :
SaverImpl::SaverImpl(MainWindow *mainWindowPtr_, QList<MainWindowItem*>* configItems_, std::map<std::string,TunnelConfig*>* tunnelConfigs_) :
configItems(configItems_), tunnelConfigs(tunnelConfigs_), confpath(), tunconfpath(), mainWindowPtr(mainWindowPtr_)
{}
{
QObject::connect(this, SIGNAL(showPreventedSaveTunnelsConfMessage()), mainWindowPtr, SLOT(showTunnelsPagePreventedMessage()));
}
SaverImpl::~SaverImpl() {}
@ -37,7 +39,9 @@ bool SaverImpl::save(bool reloadAfterSave, const FocusEnum focusOn, const std::s @@ -37,7 +39,9 @@ bool SaverImpl::save(bool reloadAfterSave, const FocusEnum focusOn, const std::s
}
//save tunnels config
{
if (mainWindowPtr->isPreventSaveTunnelsMode()) {
emit showPreventedSaveTunnelsConfMessage();
}else{
std::stringstream out;
for (std::map<std::string,TunnelConfig*>::iterator it=tunnelConfigs->begin(); it!=tunnelConfigs->end(); ++it) {

10
src/SaverImpl.h

@ -6,7 +6,6 @@ @@ -6,7 +6,6 @@
#include <QObject>
#include "QList"
#include "QSharedPointer"
#include "mainwindow.h"
#include "TunnelConfig.h"
@ -15,17 +14,16 @@ @@ -15,17 +14,16 @@
class MainWindowItem;
class TunnelConfig;
class SaverImpl : public Saver
{
class SaverImpl : public Saver {
public:
SaverImpl(MainWindow *mainWindowPtr_, QSharedPointer<QList<MainWindowItem*>> configItems_, QSharedPointer<std::map<std::string,TunnelConfig*>> tunnelConfigs_);
SaverImpl(MainWindow *mainWindowPtr_, QList<MainWindowItem*>* configItems_, std::map<std::string,TunnelConfig*>* tunnelConfigs_);
virtual ~SaverImpl();
virtual bool save(bool reloadAfterSave, const FocusEnum focusOn, const std::string& tunnelNameToFocus, QWidget* widgetToFocus);
void setConfPath(QString& confpath_);
void setTunnelsConfPath(QString& tunconfpath_);
private:
QSharedPointer<QList<MainWindowItem*>> configItems;
QSharedPointer<std::map<std::string,TunnelConfig*>> tunnelConfigs;
QList<MainWindowItem*>* configItems;
std::map<std::string,TunnelConfig*>* tunnelConfigs;
QString confpath;
QString tunconfpath;
MainWindow* mainWindowPtr;

21
src/mainwindow.cpp

@ -16,6 +16,7 @@ @@ -16,6 +16,7 @@
#include <QStyleHints>
#include <QScreen>
#include <QWindow>
#include <QMessageBox>
#include <assert.h>
@ -68,10 +69,11 @@ MainWindow::MainWindow(std::shared_ptr<std::iostream> logStream_, QWidget *paren @@ -68,10 +69,11 @@ MainWindow::MainWindow(std::shared_ptr<std::iostream> logStream_, QWidget *paren
,tunconfpath()
,tunnelConfigs()
,tunnelsPageUpdateListener(this)
,preventSaveTunnelsBool(false)
,saverPtr(
new SaverImpl(this,
QSharedPointer<QList<MainWindowItem*>>(&configItems),
QSharedPointer<std::map<std::string,TunnelConfig*>>(&tunnelConfigs)))
&configItems,
&tunnelConfigs))
{
assert(delayedSaveManagerPtr!=nullptr);
@ -778,6 +780,10 @@ void MainWindow::loadAllConfigs(SaverImpl* saverPtr){ @@ -778,6 +780,10 @@ void MainWindow::loadAllConfigs(SaverImpl* saverPtr){
void MainWindow::DisableTunnelsPage() {
ui->tunnelsScrollAreaWidgetContents->setEnabled(false);
ui->tunnelsScrollArea->setEnabled(false);
ui->addClientTunnelPushButton->setEnabled(false);
ui->addServerTunnelPushButton->setEnabled(false);
preventSaveTunnels();
}
void MainWindow::layoutTunnels() {
@ -1135,3 +1141,14 @@ void MainWindow::syncLogLevel (int /*comboBoxIndex*/) { @@ -1135,3 +1141,14 @@ void MainWindow::syncLogLevel (int /*comboBoxIndex*/) {
i2p::log::Logger().Reopen ();
}
void MainWindow::preventSaveTunnels() {
preventSaveTunnelsBool = true;
}
bool MainWindow::isPreventSaveTunnelsMode() {
return preventSaveTunnelsBool;
}
void MainWindow::showTunnelsPagePreventedMessage() {
QMessageBox::critical(this,QObject::tr("Error"),QObject::tr("Not saving tunnels configuration due to previous errors with it."));
}

6
src/mainwindow.h

@ -500,6 +500,8 @@ public: @@ -500,6 +500,8 @@ public:
Ui::GeneralSettingsContentsForm* uiSettings;
void adjustSizesAccordingToWrongLabel();
bool applyTunnelsUiToConfigs();
void preventSaveTunnels();
bool isPreventSaveTunnelsMode();
private:
int settingsTitleLabelNominalHeight;
TextBrowserTweaked1 * textBrowser;
@ -894,9 +896,13 @@ private: @@ -894,9 +896,13 @@ private:
//void onLoggingOptionsChange() {}
bool preventSaveTunnelsBool;
SaverImpl* saverPtr;
void DisableTunnelsPage();
public slots:
void showTunnelsPagePreventedMessage();
};
#endif // MAINWINDOW_H

Loading…
Cancel
Save