From 3d642563cbdb33784165e4f7d29dbaa66b455492 Mon Sep 17 00:00:00 2001 From: Tannin Date: Sun, 19 Jun 2016 15:59:50 +0200 Subject: usvfs log level can now be changed without a restart --- src/mainwindow.cpp | 2 ++ src/organizercore.cpp | 5 +++++ src/organizercore.h | 2 ++ src/settingsdialog.ui | 5 +++++ src/usvfsconnector.cpp | 16 ++++++++++++++-- src/usvfsconnector.h | 2 +- 6 files changed, 29 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 0668f012..c90448c2 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -3222,6 +3222,8 @@ void MainWindow::on_actionSettings_triggered() NexusInterface::instance()->setNMMVersion(m_OrganizerCore.settings().getNMMVersion()); updateDownloadListDelegate(); + + m_OrganizerCore.setLogLevel(m_OrganizerCore.settings().logLevel()); } diff --git a/src/organizercore.cpp b/src/organizercore.cpp index 1bec27bc..6ceefb4b 100644 --- a/src/organizercore.cpp +++ b/src/organizercore.cpp @@ -22,6 +22,7 @@ #include #include #include +#include #include "appconfig.h" #include #include @@ -599,6 +600,10 @@ void OrganizerCore::prepareVFS() m_USVFS.updateMapping(fileMapping(m_CurrentProfile->name(), QString())); } +void OrganizerCore::setLogLevel(int logLevel) { + m_USVFS.setLogLevel(logLevel); +} + void OrganizerCore::setCurrentProfile(const QString &profileName) { if ((m_CurrentProfile != nullptr) diff --git a/src/organizercore.h b/src/organizercore.h index cd7af1b8..ecb02d83 100644 --- a/src/organizercore.h +++ b/src/organizercore.h @@ -141,6 +141,8 @@ public: void prepareVFS(); + void setLogLevel(int logLevel); + public: MOBase::IModRepositoryBridge *createNexusBridge() const; QString profileName() const; diff --git a/src/settingsdialog.ui b/src/settingsdialog.ui index 6ae415d1..082be8a1 100644 --- a/src/settingsdialog.ui +++ b/src/settingsdialog.ui @@ -98,6 +98,11 @@ p, li { white-space: pre-wrap; } Info + + + Warning + + Error diff --git a/src/usvfsconnector.cpp b/src/usvfsconnector.cpp index d8818a9a..0fe3567c 100644 --- a/src/usvfsconnector.cpp +++ b/src/usvfsconnector.cpp @@ -22,6 +22,7 @@ along with Mod Organizer. If not, see . #include #include #include +#include #include #include #include @@ -103,10 +104,11 @@ LogLevel logLevel(int level) UsvfsConnector::UsvfsConnector() { USVFSParameters params; - USVFSInitParameters(¶ms, SHMID, false, - logLevel(Settings::instance().logLevel())); + LogLevel level = logLevel(Settings::instance().logLevel()); + USVFSInitParameters(¶ms, SHMID, false, level); InitLogging(false); ConnectVFS(¶ms); + SetLogLevel(level); BlacklistExecutable(L"TSVNCache.exe"); @@ -162,3 +164,13 @@ void UsvfsConnector::updateMapping(const MappingType &mapping) qDebug(buffer.get()); */ } + +void UsvfsConnector::setLogLevel(int logLevel) { + switch (logLevel) { + case LogLevel::Debug: SetLogLevel(LogLevel::Debug); break; + case LogLevel::Info: SetLogLevel(LogLevel::Info); break; + case LogLevel::Warning: SetLogLevel(LogLevel::Warning); break; + case LogLevel::Error: SetLogLevel(LogLevel::Error); break; + default: SetLogLevel(LogLevel::Debug); break; + } +} diff --git a/src/usvfsconnector.h b/src/usvfsconnector.h index 78bb7a49..8f723a01 100644 --- a/src/usvfsconnector.h +++ b/src/usvfsconnector.h @@ -22,7 +22,6 @@ along with Mod Organizer. If not, see . #define USVFSCONNECTOR_H -#include #include #include #include @@ -68,6 +67,7 @@ public: ~UsvfsConnector(); void updateMapping(const MappingType &mapping); + void setLogLevel(int logLevel); private: -- cgit v1.3.1