Browse Source

Prevent tunnels.conf save after errors with it.

pull/79/head
nonlin-lin-chaos-order-etc-etal 2 years ago
parent
commit
b2e1dc38b1
  1. 2
      src/Saver.h
  2. 8
      src/SaverImpl.cpp
  3. 3
      src/SaverImpl.h
  4. 17
      src/mainwindow.cpp
  5. 6
      src/mainwindow.h

2
src/Saver.h

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

8
src/SaverImpl.cpp

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

3
src/SaverImpl.h

@ -14,8 +14,7 @@
class MainWindowItem; class MainWindowItem;
class TunnelConfig; class TunnelConfig;
class SaverImpl : public Saver class SaverImpl : public Saver {
{
public: public:
SaverImpl(MainWindow *mainWindowPtr_, QList<MainWindowItem*>* configItems_, std::map<std::string,TunnelConfig*>* tunnelConfigs_); SaverImpl(MainWindow *mainWindowPtr_, QList<MainWindowItem*>* configItems_, std::map<std::string,TunnelConfig*>* tunnelConfigs_);
virtual ~SaverImpl(); virtual ~SaverImpl();

17
src/mainwindow.cpp

@ -16,6 +16,7 @@
#include <QStyleHints> #include <QStyleHints>
#include <QScreen> #include <QScreen>
#include <QWindow> #include <QWindow>
#include <QMessageBox>
#include <assert.h> #include <assert.h>
@ -68,6 +69,7 @@ MainWindow::MainWindow(std::shared_ptr<std::iostream> logStream_, QWidget *paren
,tunconfpath() ,tunconfpath()
,tunnelConfigs() ,tunnelConfigs()
,tunnelsPageUpdateListener(this) ,tunnelsPageUpdateListener(this)
,preventSaveTunnelsBool(false)
,saverPtr( ,saverPtr(
new SaverImpl(this, new SaverImpl(this,
&configItems, &configItems,
@ -778,6 +780,10 @@ void MainWindow::loadAllConfigs(SaverImpl* saverPtr){
void MainWindow::DisableTunnelsPage() { void MainWindow::DisableTunnelsPage() {
ui->tunnelsScrollAreaWidgetContents->setEnabled(false); ui->tunnelsScrollAreaWidgetContents->setEnabled(false);
ui->tunnelsScrollArea->setEnabled(false);
ui->addClientTunnelPushButton->setEnabled(false);
ui->addServerTunnelPushButton->setEnabled(false);
preventSaveTunnels();
} }
void MainWindow::layoutTunnels() { void MainWindow::layoutTunnels() {
@ -1135,3 +1141,14 @@ void MainWindow::syncLogLevel (int /*comboBoxIndex*/) {
i2p::log::Logger().Reopen (); 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:
Ui::GeneralSettingsContentsForm* uiSettings; Ui::GeneralSettingsContentsForm* uiSettings;
void adjustSizesAccordingToWrongLabel(); void adjustSizesAccordingToWrongLabel();
bool applyTunnelsUiToConfigs(); bool applyTunnelsUiToConfigs();
void preventSaveTunnels();
bool isPreventSaveTunnelsMode();
private: private:
int settingsTitleLabelNominalHeight; int settingsTitleLabelNominalHeight;
TextBrowserTweaked1 * textBrowser; TextBrowserTweaked1 * textBrowser;
@ -894,9 +896,13 @@ private:
//void onLoggingOptionsChange() {} //void onLoggingOptionsChange() {}
bool preventSaveTunnelsBool;
SaverImpl* saverPtr; SaverImpl* saverPtr;
void DisableTunnelsPage(); void DisableTunnelsPage();
public slots:
void showTunnelsPagePreventedMessage();
}; };
#endif // MAINWINDOW_H #endif // MAINWINDOW_H

Loading…
Cancel
Save