From aae6d6a5aa8d6b101fcc38388222a8a6e7ee2ec6 Mon Sep 17 00:00:00 2001
From: isanae <14251494+isanae@users.noreply.github.com>
Date: Fri, 19 Jul 2019 01:09:19 -0400
Subject: replaced qWarning()
---
src/moapplication.cpp | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
(limited to 'src/moapplication.cpp')
diff --git a/src/moapplication.cpp b/src/moapplication.cpp
index 5652833a..3d55b28d 100644
--- a/src/moapplication.cpp
+++ b/src/moapplication.cpp
@@ -20,6 +20,7 @@ along with Mod Organizer. If not, see .
#include "moapplication.h"
#include
#include
+#include
#include
#include
#include
@@ -36,7 +37,7 @@ along with Mod Organizer. If not, see .
#include
-using MOBase::reportError;
+using namespace MOBase;
class ProxyStyle : public QProxyStyle {
@@ -137,7 +138,7 @@ void MOApplication::updateStyle(const QString &fileName)
if (QFile::exists(fileName)) {
setStyleSheet(QString("file:///%1").arg(fileName));
} else {
- qWarning("invalid stylesheet: %s", qUtf8Printable(fileName));
+ log::warn("invalid stylesheet: {}", fileName);
}
}
}
--
cgit v1.3.1
From e071dfdfaa369a475a2d93df623c1696feee56ba Mon Sep 17 00:00:00 2001
From: isanae <14251494+isanae@users.noreply.github.com>
Date: Fri, 19 Jul 2019 02:47:13 -0400
Subject: changed qCritical() to log::error() removed now unused vlog()
---
src/browserdialog.cpp | 12 ++++----
src/categories.cpp | 10 +++----
src/downloadlist.cpp | 5 ++--
src/downloadmanager.cpp | 10 +++++--
src/envmodule.cpp | 66 +++++++++++++++++-------------------------
src/envsecurity.cpp | 58 +++++++++++++------------------------
src/envshortcut.cpp | 56 +++++++++++++++++------------------
src/envshortcut.h | 9 ------
src/envwindows.cpp | 19 ++++++------
src/executableslist.cpp | 10 +++----
src/filerenamer.cpp | 2 +-
src/filterwidget.cpp | 5 +++-
src/forcedloaddialogwidget.cpp | 9 +++---
src/installationmanager.cpp | 7 ++---
src/loglist.cpp | 18 ------------
src/mainwindow.cpp | 34 +++++++++++-----------
src/moapplication.cpp | 10 ++++---
src/modinfo.cpp | 5 +---
src/modinfodialog.cpp | 12 ++++----
src/modinfodialogconflicts.cpp | 6 ++--
src/modinfodialogfiletree.cpp | 9 +++---
src/modinfodialogimages.cpp | 9 +++---
src/modinforegular.cpp | 20 ++++++-------
src/modlist.cpp | 12 ++++----
src/modlistsortproxy.cpp | 2 +-
src/nexusinterface.cpp | 28 +++++++++---------
src/organizercore.cpp | 22 +++++++-------
src/overwriteinfodialog.cpp | 6 ++--
src/persistentcookiejar.cpp | 8 +++--
src/plugincontainer.cpp | 5 ++--
src/pluginlist.cpp | 10 +++----
src/profile.cpp | 4 +--
src/settings.cpp | 14 ++-------
src/settingsdialog.cpp | 1 -
src/shared/directoryentry.cpp | 23 ++++++++-------
src/shared/error_report.h | 2 --
src/syncoverwritedialog.cpp | 3 +-
src/texteditor.cpp | 7 +++--
src/transfersavesdialog.cpp | 13 ++++-----
39 files changed, 251 insertions(+), 310 deletions(-)
(limited to 'src/moapplication.cpp')
diff --git a/src/browserdialog.cpp b/src/browserdialog.cpp
index e186ad63..1fde7f15 100644
--- a/src/browserdialog.cpp
+++ b/src/browserdialog.cpp
@@ -24,9 +24,10 @@ along with Mod Organizer. If not, see .
#include "messagedialog.h"
#include "report.h"
#include "persistentcookiejar.h"
+#include "settings.h"
#include
-#include "settings.h"
+#include
#include
#include
@@ -38,6 +39,7 @@ along with Mod Organizer. If not, see .
#include
#include
+using namespace MOBase;
BrowserDialog::BrowserDialog(QWidget *parent)
@@ -192,12 +194,12 @@ void BrowserDialog::unsupportedContent(QNetworkReply *reply)
try {
QWebEnginePage *page = qobject_cast(sender());
if (page == nullptr) {
- qCritical("sender not a page");
+ log::error("sender not a page");
return;
}
BrowserView *view = qobject_cast(page->view());
if (view == nullptr) {
- qCritical("no view?");
+ log::error("no view?");
return;
}
@@ -206,14 +208,14 @@ void BrowserDialog::unsupportedContent(QNetworkReply *reply)
if (isVisible()) {
MessageDialog::showMessage(tr("failed to start download"), this);
}
- qCritical("exception downloading unsupported content: %s", e.what());
+ log::error("exception downloading unsupported content: {}", e.what());
}
}
void BrowserDialog::downloadRequested(const QNetworkRequest &request)
{
- qCritical("download request %s ignored", request.url().toString().toUtf8().constData());
+ log::error("download request {} ignored", request.url().toString());
}
diff --git a/src/categories.cpp b/src/categories.cpp
index 8f9d3ad8..7acf6ff5 100644
--- a/src/categories.cpp
+++ b/src/categories.cpp
@@ -62,8 +62,9 @@ void CategoryFactory::loadCategories()
++lineNum;
QList cells = line.split('|');
if (cells.count() != 4) {
- qCritical("invalid category line %d: %s (%d cells)",
- lineNum, line.constData(), cells.count());
+ log::error(
+ "invalid category line {}: {} ({} cells)",
+ lineNum, line.constData(), cells.count());
} else {
std::vector nexusIDs;
if (cells[2].length() > 0) {
@@ -73,7 +74,7 @@ void CategoryFactory::loadCategories()
bool ok = false;
int temp = iter->toInt(&ok);
if (!ok) {
- qCritical("invalid category id %s", iter->constData());
+ log::error("invalid category id {}", iter->constData());
}
nexusIDs.push_back(temp);
}
@@ -83,8 +84,7 @@ void CategoryFactory::loadCategories()
int id = cells[0].toInt(&cell0Ok);
int parentID = cells[3].trimmed().toInt(&cell3Ok);
if (!cell0Ok || !cell3Ok) {
- qCritical("invalid category line %d: %s",
- lineNum, line.constData());
+ log::error("invalid category line {}: {}", lineNum, line.constData());
}
addCategory(id, QString::fromUtf8(cells[1].constData()), nexusIDs, parentID);
}
diff --git a/src/downloadlist.cpp b/src/downloadlist.cpp
index 5e698e0e..36bc2b7f 100644
--- a/src/downloadlist.cpp
+++ b/src/downloadlist.cpp
@@ -19,12 +19,13 @@ along with Mod Organizer. If not, see .
#include "downloadlist.h"
#include "downloadmanager.h"
+#include
#include
#include
#include
-
#include
+using namespace MOBase;
DownloadList::DownloadList(DownloadManager *manager, QObject *parent)
: QAbstractTableModel(parent), m_Manager(manager)
@@ -192,7 +193,7 @@ void DownloadList::update(int row)
else if (row < this->rowCount())
emit dataChanged(this->index(row, 0, QModelIndex()), this->index(row, this->columnCount(QModelIndex())-1, QModelIndex()));
else
- qCritical("invalid row %d in download list, update failed", row);
+ log::error("invalid row {} in download list, update failed", row);
}
QString DownloadList::sizeFormat(quint64 size) const
diff --git a/src/downloadmanager.cpp b/src/downloadmanager.cpp
index e3ceb261..348b2108 100644
--- a/src/downloadmanager.cpp
+++ b/src/downloadmanager.cpp
@@ -660,7 +660,7 @@ void DownloadManager::removeFile(int index, bool deleteFile)
if ((download->m_State == STATE_STARTED) ||
(download->m_State == STATE_DOWNLOADING)) {
// shouldn't have been possible
- qCritical("tried to remove active download");
+ log::error("tried to remove active download");
endDisableDirWatcher();
return;
}
@@ -798,7 +798,7 @@ void DownloadManager::removeDownload(int index, bool deleteFile)
emit update(-1);
endDisableDirWatcher();
} catch (const std::exception &e) {
- qCritical("failed to remove download: %s", e.what());
+ log::error("failed to remove download: {}", e.what());
}
refreshList();
}
@@ -2069,7 +2069,11 @@ void DownloadManager::writeData(DownloadInfo *info)
if (ret < info->m_Reply->size()) {
QString fileName = info->m_FileName; // m_FileName may be destroyed after setState
setState(info, DownloadState::STATE_CANCELED);
- qCritical(QString("Unable to write download \"%2\" to drive (return %1)").arg(ret).arg(info->m_FileName).toLocal8Bit());
+
+ log::error(
+ "Unable to write download \"{}\" to drive (return {})",
+ info->m_FileName, ret);
+
reportError(tr("Unable to write download to drive (return %1).\n"
"Check the drive's available storage.\n\n"
"Canceling download \"%2\"...").arg(ret).arg(fileName));
diff --git a/src/envmodule.cpp b/src/envmodule.cpp
index 1717da15..aae4e0b1 100644
--- a/src/envmodule.cpp
+++ b/src/envmodule.cpp
@@ -1,6 +1,7 @@
#include "envmodule.h"
#include "env.h"
#include
+#include
namespace env
{
@@ -114,9 +115,9 @@ Module::FileInfo Module::getFileInfo() const
return {};
}
- qCritical().nospace().noquote()
- << "GetFileVersionInfoSizeW() failed on '" << m_path << "', "
- << formatSystemMessageQ(e);
+ log::error(
+ "GetFileVersionInfoSizeW() failed on '{}', {}",
+ m_path, formatSystemMessageQ(e));
return {};
}
@@ -127,9 +128,9 @@ Module::FileInfo Module::getFileInfo() const
if (!GetFileVersionInfoW(wspath.c_str(), 0, size, buffer.get())) {
const auto e = GetLastError();
- qCritical().nospace().noquote()
- << "GetFileVersionInfoW() failed on '" << m_path << "', "
- << formatSystemMessageQ(e);
+ log::error(
+ "GetFileVersionInfoW() failed on '{}', {}",
+ m_path, formatSystemMessageQ(e));
return {};
}
@@ -161,9 +162,9 @@ VS_FIXEDFILEINFO Module::getFixedFileInfo(std::byte* buffer) const
// signature is always 0xfeef04bd
if (fi->dwSignature != 0xfeef04bd) {
- qCritical().nospace().noquote()
- << "bad file info signature 0x" << hex << fi->dwSignature << " for "
- << "'" << m_path << "'";
+ log::error(
+ "bad file info signature {:#x} for '{}'",
+ fi->dwSignature, m_path);
return {};
}
@@ -187,9 +188,7 @@ QString Module::getFileDescription(std::byte* buffer) const
buffer, L"\\VarFileInfo\\Translation", &valuePointer, &valueSize);
if (!ret || !valuePointer || valueSize == 0) {
- qCritical().nospace().noquote()
- << "VerQueryValueW() for translations failed on '" << m_path << "'";
-
+ log::error("VerQueryValueW() for translations failed on '{}'", m_path);
return {};
}
@@ -254,9 +253,9 @@ QDateTime Module::getTimestamp(const VS_FIXEDFILEINFO& fi) const
if (h.get() == INVALID_HANDLE_VALUE) {
const auto e = GetLastError();
- qCritical().nospace().noquote()
- << "can't open file '" << m_path << "' for timestamp, "
- << formatSystemMessageQ(e);
+ log::error(
+ "can't open file '{}' for timestamp, {}",
+ m_path, formatSystemMessageQ(e));
return {};
}
@@ -264,9 +263,10 @@ QDateTime Module::getTimestamp(const VS_FIXEDFILEINFO& fi) const
// getting the file time
if (!GetFileTime(h.get(), &ft, nullptr, nullptr)) {
const auto e = GetLastError();
- qCritical().nospace().noquote()
- << "can't get file time for '" << m_path << "', "
- << formatSystemMessageQ(e);
+
+ log::error(
+ "can't get file time for '{}', {}",
+ m_path, formatSystemMessageQ(e));
return {};
}
@@ -281,11 +281,9 @@ QDateTime Module::getTimestamp(const VS_FIXEDFILEINFO& fi) const
SYSTEMTIME utc = {};
if (!FileTimeToSystemTime(&ft, &utc)) {
- qCritical().nospace().noquote()
- << "FileTimeToSystemTime() failed on timestamp "
- << "high=0x" << hex << ft.dwHighDateTime << " "
- << "low=0x" << hex << ft.dwLowDateTime << " for "
- << "'" << m_path << "'";
+ log::error(
+ "FileTimeToSystemTime() failed on timestamp high={:#x} low={:#x} for '{}'",
+ ft.dwHighDateTime, ft.dwLowDateTime, m_path);
return {};
}
@@ -307,18 +305,14 @@ QString Module::getMD5() const
QFile f(m_path);
if (!f.open(QFile::ReadOnly)) {
- qCritical().nospace().noquote()
- << "failed to open file '" << m_path << "' for md5";
-
+ log::error("failed to open file '{}' for md5", m_path);
return {};
}
// hashing
QCryptographicHash hash(QCryptographicHash::Md5);
if (!hash.addData(&f)) {
- qCritical().nospace().noquote()
- << "failed to calculate md5 for '" << m_path << "'";
-
+ log::error("failed to calculate md5 for '{}'", m_path);
return {};
}
@@ -334,11 +328,7 @@ std::vector getLoadedModules()
if (snapshot.get() == INVALID_HANDLE_VALUE)
{
const auto e = GetLastError();
-
- qCritical().nospace().noquote()
- << "CreateToolhelp32Snapshot() failed, "
- << formatSystemMessageQ(e);
-
+ log::error("CreateToolhelp32Snapshot() failed, {}", formatSystemMessageQ(e));
return {};
}
@@ -349,10 +339,7 @@ std::vector getLoadedModules()
if (!Module32First(snapshot.get(), &me))
{
const auto e = GetLastError();
-
- qCritical().nospace().noquote()
- << "Module32First() failed, " << formatSystemMessageQ(e);
-
+ log::error("Module32First() failed, {}", formatSystemMessageQ(e));
return {};
}
@@ -371,8 +358,7 @@ std::vector getLoadedModules()
// no more modules is not an error
if (e != ERROR_NO_MORE_FILES) {
- qCritical().nospace().noquote()
- << "Module32Next() failed, " << formatSystemMessageQ(e);
+ log::error("Module32Next() failed, {}", formatSystemMessageQ(e));
}
break;
diff --git a/src/envsecurity.cpp b/src/envsecurity.cpp
index 559ce4ad..015e4000 100644
--- a/src/envsecurity.cpp
+++ b/src/envsecurity.cpp
@@ -1,6 +1,7 @@
#include "envsecurity.h"
#include "env.h"
#include
+#include
#include
#include
@@ -57,8 +58,7 @@ public:
}
if (FAILED(ret)) {
- qCritical()
- << "enumerator->next() failed, " << formatSystemMessageQ(ret);
+ log::error("enum->next() failed, {}", formatSystemMessageQ(ret));
break;
}
@@ -82,9 +82,9 @@ private:
IID_IWbemLocator, &rawLocator);
if (FAILED(ret) || !rawLocator) {
- qCritical()
- << "CoCreateInstance for WbemLocator failed, "
- << formatSystemMessageQ(ret);
+ log::error(
+ "CoCreateInstance for WbemLocator failed, {}",
+ formatSystemMessageQ(ret));
throw failed();
}
@@ -102,10 +102,9 @@ private:
&rawService);
if (FAILED(res) || !rawService) {
- qCritical()
- << "locator->ConnectServer() failed for namespace "
- << "'" << QString::fromStdString(ns) << "', "
- << formatSystemMessageQ(res);
+ log::error(
+ "locator->ConnectServer() failed for namespace '{}', {}",
+ ns, formatSystemMessageQ(res));
throw failed();
}
@@ -121,9 +120,7 @@ private:
if (FAILED(ret))
{
- qCritical()
- << "CoSetProxyBlanket() failed, " << formatSystemMessageQ(ret);
-
+ log::error("CoSetProxyBlanket() failed, {}", formatSystemMessageQ(ret));
throw failed();
}
}
@@ -142,10 +139,7 @@ private:
if (FAILED(ret) || !rawEnumerator)
{
- qCritical()
- << "query '" << QString::fromStdString(query) << "' failed, "
- << formatSystemMessageQ(ret);
-
+ log::error("query '{}' failed, {}", query, formatSystemMessageQ(ret));
return {};
}
@@ -256,15 +250,12 @@ std::vector getSecurityProductsFromWMI()
// display name
auto ret = o->Get(L"displayName", 0, &prop, 0, 0);
if (FAILED(ret)) {
- qCritical()
- << "failed to get displayName, "
- << formatSystemMessageQ(ret);
-
+ log::error("failed to get displayName, {}", formatSystemMessageQ(ret));
return;
}
if (prop.vt != VT_BSTR) {
- qCritical() << "displayName is a " << prop.vt << ", not a bstr";
+ log::error("displayName is a {}, not a bstr", prop.vt);
return;
}
@@ -274,15 +265,12 @@ std::vector getSecurityProductsFromWMI()
// product state
ret = o->Get(L"productState", 0, &prop, 0, 0);
if (FAILED(ret)) {
- qCritical()
- << "failed to get productState, "
- << formatSystemMessageQ(ret);
-
+ log::error("failed to get productState, {}", formatSystemMessageQ(ret));
return;
}
if (prop.vt != VT_UI4 && prop.vt != VT_I4) {
- qCritical() << "productState is a " << prop.vt << ", is not a VT_UI4";
+ log::error("productState is a {}, is not a VT_UI4", prop.vt);
return;
}
@@ -298,15 +286,12 @@ std::vector getSecurityProductsFromWMI()
// guid
ret = o->Get(L"instanceGuid", 0, &prop, 0, 0);
if (FAILED(ret)) {
- qCritical()
- << "failed to get instanceGuid, "
- << formatSystemMessageQ(ret);
-
+ log::error("failed to get instanceGuid, {}", formatSystemMessageQ(ret));
return;
}
if (prop.vt != VT_BSTR) {
- qCritical() << "instanceGuid is a " << prop.vt << ", is not a bstr";
+ log::error("instanceGuid is a {}, is not a bstr", prop.vt);
return;
}
@@ -362,9 +347,9 @@ std::optional getWindowsFirewall()
__uuidof(INetFwPolicy2), &rawPolicy);
if (FAILED(hr) || !rawPolicy) {
- qCritical()
- << "CoCreateInstance for NetFwPolicy2 failed, "
- << formatSystemMessageQ(hr);
+ log::error(
+ "CoCreateInstance for NetFwPolicy2 failed, {}",
+ formatSystemMessageQ(hr));
return {};
}
@@ -378,10 +363,7 @@ std::optional getWindowsFirewall()
hr = policy->get_FirewallEnabled(NET_FW_PROFILE2_PUBLIC, &enabledVariant);
if (FAILED(hr))
{
- qCritical()
- << "get_FirewallEnabled failed, "
- << formatSystemMessageQ(hr);
-
+ log::error("get_FirewallEnabled failed, {}", formatSystemMessageQ(hr));
return {};
}
}
diff --git a/src/envshortcut.cpp b/src/envshortcut.cpp
index 30ef4633..1deb9dad 100644
--- a/src/envshortcut.cpp
+++ b/src/envshortcut.cpp
@@ -3,6 +3,7 @@
#include "executableslist.h"
#include "instancemanager.h"
#include
+#include
namespace env
{
@@ -218,17 +219,24 @@ bool Shortcut::toggle(Locations loc)
bool Shortcut::add(Locations loc)
{
- debug()
- << "adding shortcut to " << toString(loc) << ":\n"
- << " . name: '" << m_name << "'\n"
- << " . target: '" << m_target << "'\n"
- << " . arguments: '" << m_arguments << "'\n"
- << " . description: '" << m_description << "'\n"
- << " . icon: '" << m_icon << "' @ " << m_iconIndex << "\n"
- << " . working directory: '" << m_workingDirectory << "'";
+ log::debug(
+ "adding shortcut to {}:\n"
+ " . name: '{}'\n"
+ " . target: '{}'\n"
+ " . arguments: '{}'\n"
+ " . description: '{}'\n"
+ " . icon: '{}' @ {}\n"
+ " . working directory: '{}'",
+ toString(loc),
+ m_name,
+ m_target,
+ m_arguments,
+ m_description,
+ m_icon, m_iconIndex,
+ m_workingDirectory);
if (m_target.isEmpty()) {
- critical() << "target is empty";
+ log::error("shortcut: target is empty");
return false;
}
@@ -237,7 +245,7 @@ bool Shortcut::add(Locations loc)
return false;
}
- debug() << "shorcut file will be saved at '" << path << "'";
+ log::debug("shorcut file will be saved at '{}'", path);
try
{
@@ -255,7 +263,7 @@ bool Shortcut::add(Locations loc)
}
catch(ShellLinkException& e)
{
- critical() << e.what() << "\nshortcut file was not saved";
+ log::error("{}\nshortcut file was not saved", e.what());
}
return false;
@@ -263,26 +271,26 @@ bool Shortcut::add(Locations loc)
bool Shortcut::remove(Locations loc)
{
- debug() << "removing shortcut for '" << m_name << "' from " << toString(loc);
+ log::debug("removing shortcut for '{}' from {}", m_name, toString(loc));
const auto path = shortcutPath(loc);
if (path.isEmpty()) {
return false;
}
- debug() << "path to shortcut file is '" << path << "'";
+ log::debug("path to shortcut file is '{}'", path);
if (!QFile::exists(path)) {
- critical() << "can't remove '" << path << "', file not found";
+ log::error("can't remove shortcut '{}', file not found", path);
return false;
}
if (!MOBase::shellDelete({path})) {
const auto e = ::GetLastError();
- critical()
- << "failed to remove '" << path << "', "
- << formatSystemMessageQ(e);
+ log::error(
+ "failed to remove shortcut '{}', {}",
+ path, formatSystemMessageQ(e));
return false;
}
@@ -323,7 +331,7 @@ QString Shortcut::shortcutDirectory(Locations loc) const
case None:
default:
- critical() << "bad location " << loc;
+ log::error("shortcut: bad location {}", loc);
break;
}
}
@@ -337,23 +345,13 @@ QString Shortcut::shortcutDirectory(Locations loc) const
QString Shortcut::shortcutFilename() const
{
if (m_name.isEmpty()) {
- critical() << "name is empty";
+ log::error("shortcut name is empty");
return {};
}
return m_name + ".lnk";
}
-QDebug Shortcut::debug() const
-{
- return qDebug().noquote().nospace() << "system shortcut: ";
-}
-
-QDebug Shortcut::critical() const
-{
- return qCritical().noquote().nospace() << "system shortcut: ";
-}
-
QString toString(Shortcut::Locations loc)
{
diff --git a/src/envshortcut.h b/src/envshortcut.h
index 904b3ab7..82eea191 100644
--- a/src/envshortcut.h
+++ b/src/envshortcut.h
@@ -84,15 +84,6 @@ private:
int m_iconIndex;
QString m_workingDirectory;
- // returns a qCritical() logger with a prefix already logged
- //
- QDebug critical() const;
-
- // returns a qDebug() logger with a prefix already logged
- //
- QDebug debug() const;
-
-
// returns the path where the shortcut file should be saved
//
QString shortcutPath(Locations loc) const;
diff --git a/src/envwindows.cpp b/src/envwindows.cpp
index 4fbd788a..8a98036a 100644
--- a/src/envwindows.cpp
+++ b/src/envwindows.cpp
@@ -1,6 +1,7 @@
#include "envwindows.h"
#include "env.h"
#include
+#include
namespace env
{
@@ -13,7 +14,7 @@ WindowsInfo::WindowsInfo()
LibraryPtr ntdll(LoadLibraryW(L"ntdll.dll"));
if (!ntdll) {
- qCritical() << "failed to load ntdll.dll while getting version";
+ log::error("failed to load ntdll.dll while getting version");
return;
} else {
m_reported = getReportedVersion(ntdll.get());
@@ -122,7 +123,7 @@ WindowsInfo::Version WindowsInfo::getReportedVersion(HINSTANCE ntdll) const
GetProcAddress(ntdll, "RtlGetVersion"));
if (!RtlGetVersion) {
- qCritical() << "RtlGetVersion() not found in ntdll.dll";
+ log::error("RtlGetVersion() not found in ntdll.dll");
return {};
}
@@ -149,7 +150,7 @@ WindowsInfo::Version WindowsInfo::getRealVersion(HINSTANCE ntdll) const
GetProcAddress(ntdll, "RtlGetNtVersionNumbers"));
if (!RtlGetNtVersionNumbers) {
- qCritical() << "RtlGetNtVersionNumbers not found in ntdll.dll";
+ log::error("RtlGetNtVersionNumbers not found in ntdll.dll");
return {};
}
@@ -207,9 +208,9 @@ std::optional WindowsInfo::getElevated() const
if (!OpenProcessToken(GetCurrentProcess( ), TOKEN_QUERY, &rawToken)) {
const auto e = GetLastError();
- qCritical()
- << "while trying to check if process is elevated, "
- << "OpenProcessToken() failed: " << formatSystemMessageQ(e);
+ log::error(
+ "while trying to check if process is elevated, "
+ "OpenProcessToken() failed: {}", formatSystemMessageQ(e));
return {};
}
@@ -223,9 +224,9 @@ std::optional WindowsInfo::getElevated() const
if (!GetTokenInformation(token.get(), TokenElevation, &e, sizeof(e), &size)) {
const auto e = GetLastError();
- qCritical()
- << "while trying to check if process is elevated, "
- << "GetTokenInformation() failed: " << formatSystemMessageQ(e);
+ log::error(
+ "while trying to check if process is elevated, "
+ "GetTokenInformation() failed: {}", formatSystemMessageQ(e));
return {};
}
diff --git a/src/executableslist.cpp b/src/executableslist.cpp
index fbb96bd4..2408e8f3 100644
--- a/src/executableslist.cpp
+++ b/src/executableslist.cpp
@@ -243,9 +243,9 @@ void ExecutablesList::setExecutable(const Executable &exe, SetFlags flags)
if (flags == MoveExisting) {
const auto newTitle = makeNonConflictingTitle(exe.title());
if (!newTitle) {
- qCritical().nospace()
- << "executable '" << exe.title() << "' was in the way but could "
- << "not be renamed";
+ log::error(
+ "executable '{}' was in the way but could not be renamed",
+ exe.title());
return;
}
@@ -289,9 +289,7 @@ std::optional ExecutablesList::makeNonConflictingTitle(
title = prefix + QString(" (%1)").arg(i);
}
- qCritical().nospace()
- << "ran out of executable titles for prefix '" << prefix << "'";
-
+ log::error("ran out of executable titles for prefix '{}'", prefix);
return {};
}
diff --git a/src/filerenamer.cpp b/src/filerenamer.cpp
index b516c902..8835f52f 100644
--- a/src/filerenamer.cpp
+++ b/src/filerenamer.cpp
@@ -10,7 +10,7 @@ FileRenamer::FileRenamer(QWidget* parent, QFlags flags)
{
// sanity check for flags
if ((m_flags & (HIDE|UNHIDE)) == 0) {
- qCritical("renameFile() missing hide flag");
+ log::error("renameFile() missing hide flag");
// doesn't really matter, it's just for text
m_flags = HIDE;
}
diff --git a/src/filterwidget.cpp b/src/filterwidget.cpp
index 44cbb274..0638add3 100644
--- a/src/filterwidget.cpp
+++ b/src/filterwidget.cpp
@@ -1,5 +1,8 @@
#include "filterwidget.h"
#include "eventfilter.h"
+#include
+
+using namespace MOBase;
FilterWidgetProxyModel::FilterWidgetProxyModel(FilterWidget& fw, QWidget* parent)
: QSortFilterProxyModel(parent), m_filter(fw)
@@ -80,7 +83,7 @@ QModelIndex FilterWidget::map(const QModelIndex& index)
if (m_proxy) {
return m_proxy->mapToSource(index);
} else {
- qCritical() << "FilterWidget::map() called, but proxy isn't set up";
+ log::error("FilterWidget::map() called, but proxy isn't set up");
return index;
}
}
diff --git a/src/forcedloaddialogwidget.cpp b/src/forcedloaddialogwidget.cpp
index b92838c3..b84f785f 100644
--- a/src/forcedloaddialogwidget.cpp
+++ b/src/forcedloaddialogwidget.cpp
@@ -1,9 +1,8 @@
#include "forcedloaddialogwidget.h"
#include "ui_forcedloaddialogwidget.h"
-
-#include
-
#include "executableinfo.h"
+#include
+#include
using namespace MOBase;
@@ -85,7 +84,7 @@ void ForcedLoadDialogWidget::on_libraryPathBrowseButton_clicked()
if (fileInfo.exists()) {
ui->libraryPathEdit->setText(filePath);
} else {
- qCritical("%ls does not exist", filePath.toStdWString().c_str());
+ log::error("{} does not exist", filePath);
}
}
}
@@ -102,7 +101,7 @@ void ForcedLoadDialogWidget::on_processBrowseButton_clicked()
if (fileInfo.exists()) {
ui->processEdit->setText(fileName);
} else {
- qCritical("%ls does not exist", fileInfo.filePath().toStdWString().c_str());
+ log::error("{} does not exist", fileInfo.filePath());
}
}
}
diff --git a/src/installationmanager.cpp b/src/installationmanager.cpp
index 0e50de52..fd971f47 100644
--- a/src/installationmanager.cpp
+++ b/src/installationmanager.cpp
@@ -263,7 +263,7 @@ QStringList InstallationManager::extractFiles(const QStringList &filesOrig, bool
targetFile = wcsrchr(origFile/*data[i]->getFileName()*/, '/');
}
if (targetFile == nullptr) {
- qCritical() << "Failed to find backslash in " << data[i]->getFileName();
+ log::error("Failed to find backslash in {}", data[i]->getFileName());
continue;
} else {
// skip the slash
@@ -527,7 +527,7 @@ bool InstallationManager::testOverwrite(GuessedValue &modName, bool *me
settingsFile.write(originalSettings);
settingsFile.close();
} else {
- qCritical("failed to restore original settings: %s", qUtf8Printable(metaFilename));
+ log::error("failed to restore original settings: {}", metaFilename);
}
return true;
} else if (overwriteDialog.action() == QueryOverwriteDialog::ACT_MERGE) {
@@ -856,8 +856,7 @@ bool InstallationManager::install(const QString &fileName,
}
}
} catch (const IncompatibilityException &e) {
- qCritical("plugin \"%s\" incompatible: %s",
- qUtf8Printable(installer->name()), e.what());
+ log::error("plugin \"{}\" incompatible: {}", installer->name(), e.what());
}
// act upon the installation result. at this point the files have already been
diff --git a/src/loglist.cpp b/src/loglist.cpp
index 207f412b..c34ac76e 100644
--- a/src/loglist.cpp
+++ b/src/loglist.cpp
@@ -196,21 +196,3 @@ void LogList::copyToClipboard()
QApplication::clipboard()->setText(QString::fromStdString(s));
}
-
-
-void vlog(const char *format, ...)
-{
- va_list argList;
- va_start(argList, format);
-
- static const int BUFFERSIZE = 1000;
-
- char buffer[BUFFERSIZE + 1];
- buffer[BUFFERSIZE] = '\0';
-
- vsnprintf(buffer, BUFFERSIZE, format, argList);
-
- qCritical("%s", buffer);
-
- va_end(argList);
-}
diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp
index 70ace8f1..ad87ba03 100644
--- a/src/mainwindow.cpp
+++ b/src/mainwindow.cpp
@@ -1212,14 +1212,14 @@ void MainWindow::createHelpMenu()
QFile file(dirIter.filePath());
if (!file.open(QIODevice::ReadOnly)) {
- qCritical() << "Failed to open " << fileName;
+ log::error("Failed to open {}", fileName);
continue;
}
QString firstLine = QString::fromUtf8(file.readLine());
if (firstLine.startsWith("//TL")) {
QStringList params = firstLine.mid(4).trimmed().split('#');
if (params.size() != 2) {
- qCritical() << "invalid header line for tutorial " << fileName << " expected 2 parameters";
+ log::error("invalid header line for tutorial {}, expected 2 parameters", fileName);
continue;
}
QAction *tutAction = new QAction(params.at(0), tutorialMenu);
@@ -1323,7 +1323,7 @@ void MainWindow::hookUpWindowTutorials()
QString fileName = dirIter.fileName();
QFile file(dirIter.filePath());
if (!file.open(QIODevice::ReadOnly)) {
- qCritical() << "Failed to open " << fileName;
+ log::error("Failed to open {}", fileName);
continue;
}
QString firstLine = QString::fromUtf8(file.readLine());
@@ -1369,7 +1369,7 @@ void MainWindow::showEvent(QShowEvent *event)
TutorialManager::instance().activateTutorial("MainWindow", firstStepsTutorial);
}
} else {
- qCritical() << firstStepsTutorial << " missing";
+ log::error("{} missing", firstStepsTutorial);
QPoint pos = ui->toolBar->mapToGlobal(QPoint());
pos.rx() += ui->toolBar->width() / 2;
pos.ry() += ui->toolBar->height();
@@ -1636,7 +1636,7 @@ void MainWindow::startExeAction()
QAction *action = qobject_cast(sender());
if (action == nullptr) {
- qCritical("not an action?");
+ log::error("not an action?");
return;
}
@@ -3415,7 +3415,7 @@ void MainWindow::displayModInformation(const QString &modName, ModInfoTabIDs tab
{
unsigned int index = ModInfo::getIndex(modName);
if (index == UINT_MAX) {
- qCritical("failed to resolve mod name %s", qUtf8Printable(modName));
+ log::error("failed to resolve mod name {}", modName);
return;
}
@@ -3500,7 +3500,7 @@ void MainWindow::visitOnNexus_clicked()
if (modID > 0) {
linkClicked(NexusInterface::instance(&m_PluginContainer)->getModURL(modID, gameName));
} else {
- qCritical() << "mod '" << info->name() << "' has no nexus id";
+ log::error("mod '{}' has no nexus id", info->name());
}
}
}
@@ -4038,7 +4038,7 @@ void MainWindow::doMoveOverwriteContentToMod(const QString &modAbsolutePath)
MessageDialog::showMessage(tr("Move successful."), this);
}
else {
- qCritical("Move operation failed: %s", qUtf8Printable(windowsErrorString(::GetLastError())));
+ log::error("Move operation failed: {}", windowsErrorString(::GetLastError()));
}
m_OrganizerCore.refreshModList();
@@ -4067,7 +4067,7 @@ void MainWindow::clearOverwrite()
updateProblemsButton();
m_OrganizerCore.refreshModList();
} else {
- qCritical("Delete operation failed: %s", qUtf8Printable(windowsErrorString(::GetLastError())));
+ log::error("Delete operation failed: {}", windowsErrorString(::GetLastError()));
}
}
}
@@ -4311,7 +4311,7 @@ void MainWindow::addRemoveCategoriesFromMenu(QMenu *menu, int modRow, int refere
void MainWindow::addRemoveCategories_MenuHandler() {
QMenu *menu = qobject_cast(sender());
if (menu == nullptr) {
- qCritical("not a menu?");
+ log::error("not a menu?");
return;
}
@@ -4352,7 +4352,7 @@ void MainWindow::addRemoveCategories_MenuHandler() {
void MainWindow::replaceCategories_MenuHandler() {
QMenu *menu = qobject_cast(sender());
if (menu == nullptr) {
- qCritical("not a menu?");
+ log::error("not a menu?");
return;
}
@@ -4547,7 +4547,7 @@ void MainWindow::addPrimaryCategoryCandidates(QMenu *primaryCategoryMenu,
categoryBox->setChecked(categoryID == info->getPrimaryCategory());
action->setDefaultWidget(categoryBox);
} catch (const std::exception &e) {
- qCritical("failed to create category checkbox: %s", e.what());
+ log::error("failed to create category checkbox: {}", e.what());
}
action->setData(categoryID);
@@ -4559,7 +4559,7 @@ void MainWindow::addPrimaryCategoryCandidates()
{
QMenu *menu = qobject_cast(sender());
if (menu == nullptr) {
- qCritical("not a menu?");
+ log::error("not a menu?");
return;
}
menu->clear();
@@ -6067,7 +6067,7 @@ void MainWindow::nxmEndorsementToggled(QString, int, QVariant, QVariant resultDa
toggleMO2EndorseState();
if (!disconnect(sender(), SIGNAL(nxmEndorsementToggled(QString, int, QVariant, QVariant, int)),
this, SLOT(nxmEndorsementToggled(QString, int, QVariant, QVariant, int)))) {
- qCritical("failed to disconnect endorsement slot");
+ log::error("failed to disconnect endorsement slot");
}
}
@@ -6527,11 +6527,11 @@ void MainWindow::createStdoutPipe(HANDLE *stdOutRead, HANDLE *stdOutWrite)
secAttributes.lpSecurityDescriptor = nullptr;
if (!::CreatePipe(stdOutRead, stdOutWrite, &secAttributes, 0)) {
- qCritical("failed to create stdout reroute");
+ log::error("failed to create stdout reroute");
}
if (!::SetHandleInformation(*stdOutRead, HANDLE_FLAG_INHERIT, 0)) {
- qCritical("failed to correctly set up the stdout reroute");
+ log::error("failed to correctly set up the stdout reroute");
*stdOutWrite = *stdOutRead = INVALID_HANDLE_VALUE;
}
}
@@ -6965,7 +6965,7 @@ void MainWindow::dropLocalFile(const QUrl &url, const QString &outputDir, bool m
success = shellCopy(file.absoluteFilePath(), target, true, this);
}
if (!success) {
- qCritical("file operation failed: %s", qUtf8Printable(windowsErrorString(::GetLastError())));
+ log::error("file operation failed: {}", windowsErrorString(::GetLastError()));
}
}
diff --git a/src/moapplication.cpp b/src/moapplication.cpp
index 3d55b28d..370a23b5 100644
--- a/src/moapplication.cpp
+++ b/src/moapplication.cpp
@@ -115,13 +115,15 @@ bool MOApplication::notify(QObject *receiver, QEvent *event)
try {
return QApplication::notify(receiver, event);
} catch (const std::exception &e) {
- qCritical("uncaught exception in handler (object %s, eventtype %d): %s",
- receiver->objectName().toUtf8().constData(), event->type(), e.what());
+ log::error(
+ "uncaught exception in handler (object {}, eventtype {}): {}",
+ receiver->objectName(), event->type(), e.what());
reportError(tr("an error occurred: %1").arg(e.what()));
return false;
} catch (...) {
- qCritical("uncaught non-std exception in handler (object %s, eventtype %d)",
- receiver->objectName().toUtf8().constData(), event->type());
+ log::error(
+ "uncaught non-std exception in handler (object {}, eventtype {})",
+ receiver->objectName(), event->type());
reportError(tr("an error occurred"));
return false;
}
diff --git a/src/modinfo.cpp b/src/modinfo.cpp
index ca6e8046..5a05e7ca 100644
--- a/src/modinfo.cpp
+++ b/src/modinfo.cpp
@@ -530,10 +530,7 @@ QUrl ModInfo::parseCustomURL() const
const auto url = QUrl::fromUserInput(getCustomURL());
if (!url.isValid()) {
- qCritical()
- << "mod '" << name() << "' has an invalid custom url "
- << "'" << getCustomURL() << "'";
-
+ log::error("mod '{}' has an invalid custom url '{}'", name(), getCustomURL());
return {};
}
diff --git a/src/modinfodialog.cpp b/src/modinfodialog.cpp
index 47ac84be..a7a6b0d7 100644
--- a/src/modinfodialog.cpp
+++ b/src/modinfodialog.cpp
@@ -176,7 +176,7 @@ void ModInfoDialog::createTabs()
// check for tabs in the ui not having a corresponding tab in the list
int count = ui->tabWidget->count();
if (count < 0 || count > static_cast(m_tabs.size())) {
- qCritical() << "mod info dialog has more tabs than expected";
+ log::error("mod info dialog has more tabs than expected");
count = static_cast(m_tabs.size());
}
@@ -239,13 +239,13 @@ void ModInfoDialog::setMod(const QString& name)
{
unsigned int index = ModInfo::getIndex(name);
if (index == UINT_MAX) {
- qCritical() << "failed to resolve mod name " << name;
+ log::error("failed to resolve mod name {}", name);
return;
}
auto mod = ModInfo::getByIndex(index);
if (!mod) {
- qCritical() << "mod by index " << index << " is null";
+ log::error("mod by index {} is null", index);
return;
}
@@ -307,7 +307,7 @@ void ModInfoDialog::update(bool firstTime)
// changed
tabInfo->tab->activated();
} else {
- qCritical() << "tab index " << oldTab << " not found";
+ log::error("tab index {} not found", oldTab);
}
}
}
@@ -400,7 +400,7 @@ void ModInfoDialog::reAddTabs(
if (itor == orderedNames.end()) {
// this shouldn't happen, it means there's a tab in the UI that's no
// in the list
- qCritical() << "can't sort tabs, '" << objectName << "' not found";
+ log::error("can't sort tabs, '{}' not found", objectName);
canSort = false;
}
}
@@ -753,7 +753,7 @@ void ModInfoDialog::onTabMoved()
}
if (!found) {
- qCritical() << "unknown tab at index " << i;
+ log::error("unknown tab at index {}", i);
}
}
}
diff --git a/src/modinfodialogconflicts.cpp b/src/modinfodialogconflicts.cpp
index 511d48ad..d16d548c 100644
--- a/src/modinfodialogconflicts.cpp
+++ b/src/modinfodialogconflicts.cpp
@@ -365,7 +365,7 @@ void for_each_in_selection(QTreeView* tree, F&& f)
const auto* model = dynamic_cast(tree->model());
if (!model) {
- qCritical() << "tree doesn't have a ConflictListModel";
+ log::error("tree doesn't have a ConflictListModel");
return;
}
@@ -454,7 +454,7 @@ void ConflictsTab::changeItemsVisibility(QTreeView* tree, bool visible)
auto* model = dynamic_cast(tree->model());
if (!model) {
- qCritical() << "list doesn't have a ConflictListModel";
+ log::error("list doesn't have a ConflictListModel");
return;
}
@@ -633,7 +633,7 @@ ConflictsTab::Actions ConflictsTab::createMenuActions(QTreeView* tree)
const auto* model = dynamic_cast(tree->model());
if (!model) {
- qCritical() << "tree doesn't have a ConflictListModel";
+ log::error("tree doesn't have a ConflictListModel");
return {};
}
diff --git a/src/modinfodialogfiletree.cpp b/src/modinfodialogfiletree.cpp
index 0b519932..219ddf35 100644
--- a/src/modinfodialogfiletree.cpp
+++ b/src/modinfodialogfiletree.cpp
@@ -5,8 +5,9 @@
#include "filerenamer.h"
#include
#include
+#include
-using MOBase::reportError;
+using namespace MOBase;
namespace shell = MOBase::shell;
// if there are more than 50 selected items in the filetree, don't bother
@@ -230,19 +231,19 @@ bool FileTreeTab::deleteFileRecursive(const QModelIndex& parent)
if (m_fs->isDir(index)) {
if (!deleteFileRecursive(index)) {
- qCritical() << "failed to delete" << m_fs->fileName(index);
+ log::error("failed to delete {}", m_fs->fileName(index));
return false;
}
} else {
if (!m_fs->remove(index)) {
- qCritical() << "failed to delete", m_fs->fileName(index);
+ log::error("failed to delete {}", m_fs->fileName(index));
return false;
}
}
}
if (!m_fs->remove(parent)) {
- qCritical() << "failed to delete" << m_fs->fileName(parent);
+ log::error("failed to delete {}", m_fs->fileName(parent));
return false;
}
diff --git a/src/modinfodialogimages.cpp b/src/modinfodialogimages.cpp
index 69866902..10362058 100644
--- a/src/modinfodialogimages.cpp
+++ b/src/modinfodialogimages.cpp
@@ -2,7 +2,9 @@
#include "ui_modinfodialog.h"
#include "settings.h"
#include "utility.h"
+#include
+using namespace MOBase;
using namespace ImagesTabHelpers;
QSize resizeWithAspectRatio(const QSize& original, const QSize& available)
@@ -896,10 +898,9 @@ void File::ensureOriginalLoaded()
QImageReader reader(m_path);
if (!reader.read(&m_original)) {
- qCritical().noquote().nospace()
- << "failed to load '" << m_path << "'\n"
- << reader.errorString() << " "
- << "(error " << static_cast(reader.error()) << ")";
+ log::error(
+ "failed to load '{}'\n{} (error {})",
+ m_path, reader.errorString(), static_cast(reader.error()));
m_failed = true;
}
diff --git a/src/modinforegular.cpp b/src/modinforegular.cpp
index 448447e1..074fa9e2 100644
--- a/src/modinforegular.cpp
+++ b/src/modinforegular.cpp
@@ -68,8 +68,7 @@ ModInfoRegular::~ModInfoRegular()
try {
saveMeta();
} catch (const std::exception &e) {
- qCritical("failed to save meta information for \"%s\": %s",
- qUtf8Printable(m_Name), e.what());
+ log::error("failed to save meta information for \"{}\": {}", m_Name, e.what());
}
}
@@ -258,14 +257,14 @@ void ModInfoRegular::saveMeta()
if (metaFile.status() == QSettings::NoError) {
m_MetaInfoChanged = false;
} else {
- qCritical()
- << QString("failed to write %1/meta.ini: error %2")
- .arg(absolutePath()).arg(metaFile.status());
+ log::error(
+ "failed to write {}/meta.ini: error {}",
+ absolutePath(), metaFile.status());
}
} else {
- qCritical()
- << QString("failed to write %1/meta.ini: error %2")
- .arg(absolutePath()).arg(metaFile.status());
+ log::error(
+ "failed to write {}/meta.ini: error {}",
+ absolutePath(), metaFile.status());
}
}
}
@@ -425,14 +424,13 @@ bool ModInfoRegular::setName(const QString &name)
return false;
}
if (!modDir.rename(tempName, name)) {
- qCritical("rename to final name failed after successful rename to intermediate name");
+ log::error("rename to final name failed after successful rename to intermediate name");
modDir.rename(tempName, m_Name);
return false;
}
} else {
if (!shellRename(modDir.absoluteFilePath(m_Name), modDir.absoluteFilePath(name))) {
- qCritical("failed to rename mod %s (errorcode %d)",
- qUtf8Printable(name), ::GetLastError());
+ log::error("failed to rename mod {} (errorcode {})", name, ::GetLastError());
return false;
}
}
diff --git a/src/modlist.cpp b/src/modlist.cpp
index df25df0d..6ebd0e8b 100644
--- a/src/modlist.cpp
+++ b/src/modlist.cpp
@@ -271,7 +271,7 @@ QVariant ModList::data(const QModelIndex &modelIndex, int role) const
int categoryIdx = categoryFactory.getCategoryIndex(category);
return categoryFactory.getCategoryName(categoryIdx);
} catch (const std::exception &e) {
- qCritical("failed to retrieve category name: %s", e.what());
+ log::error("failed to retrieve category name: {}", e.what());
return QString();
}
} else {
@@ -449,7 +449,7 @@ QVariant ModList::data(const QModelIndex &modelIndex, int role) const
try {
return modInfo->getDescription();
} catch (const std::exception &e) {
- qCritical("invalid mod description: %s", e.what());
+ log::error("invalid mod description: {}", e.what());
return QString();
}
} else if (column == COL_VERSION) {
@@ -488,7 +488,7 @@ QVariant ModList::data(const QModelIndex &modelIndex, int role) const
try {
categoryString << "" << ToWString(categoryFactory.getCategoryName(categoryFactory.getCategoryIndex(*catIter))) << "";
} catch (const std::exception &e) {
- qCritical("failed to generate tooltip: %s", e.what());
+ log::error("failed to generate tooltip: {}", e.what());
return QString();
}
}
@@ -636,9 +636,9 @@ bool ModList::setData(const QModelIndex &index, const QVariant &value, int role)
try {
m_ModStateChanged(info->name(), newState);
} catch (const std::exception &e) {
- qCritical("failed to invoke state changed notification: %s", e.what());
+ log::error("failed to invoke state changed notification: {}", e.what());
} catch (...) {
- qCritical("failed to invoke state changed notification: unknown exception");
+ log::error("failed to invoke state changed notification: unknown exception");
}
}
@@ -834,7 +834,7 @@ void ModList::modInfoChanged(ModInfo::Ptr info)
emit dataChanged(index(row, 0), index(row, columnCount()));
emit postDataChanged();
} else {
- qCritical("modInfoChanged not called after modInfoAboutToChange");
+ log::error("modInfoChanged not called after modInfoAboutToChange");
}
m_ChangeInfo.name = QString();
}
diff --git a/src/modlistsortproxy.cpp b/src/modlistsortproxy.cpp
index 1127c7d4..d330e0c2 100644
--- a/src/modlistsortproxy.cpp
+++ b/src/modlistsortproxy.cpp
@@ -196,7 +196,7 @@ bool ModListSortProxy::lessThan(const QModelIndex &left,
QString rightCatName = categories.getCategoryName(categories.getCategoryIndex(rightMod->getPrimaryCategory()));
lt = leftCatName < rightCatName;
} catch (const std::exception &e) {
- qCritical("failed to compare categories: %s", e.what());
+ log::error("failed to compare categories: {}", e.what());
}
}
}
diff --git a/src/nexusinterface.cpp b/src/nexusinterface.cpp
index 008f3c0d..c797aed6 100644
--- a/src/nexusinterface.cpp
+++ b/src/nexusinterface.cpp
@@ -41,12 +41,11 @@ using namespace MOShared;
void throttledWarning(const APIUserAccount& user)
{
- qCritical() <<
- QString(
- "You have fewer than %1 requests remaining (%2). Only downloads and "
- "login validation are being allowed.")
- .arg(APIUserAccount::ThrottleThreshold)
- .arg(user.remainingRequests());
+ log::error(
+ "You have fewer than {} requests remaining ({}). Only downloads and "
+ "login validation are being allowed.",
+ APIUserAccount::ThrottleThreshold,
+ user.remainingRequests());
}
@@ -344,7 +343,7 @@ QString NexusInterface::getGameURL(QString gameName) const
if (game != nullptr) {
return "https://www.nexusmods.com/" + game->gameNexusName().toLower();
} else {
- qCritical("getGameURL can't find plugin for %s", qUtf8Printable(gameName));
+ log::error("getGameURL can't find plugin for {}", gameName);
return "";
}
}
@@ -355,7 +354,7 @@ QString NexusInterface::getOldModsURL(QString gameName) const
if (game != nullptr) {
return "https://" + game->gameNexusName().toLower() + ".nexusmods.com/mods";
} else {
- qCritical("getOldModsURL can't find plugin for %s", qUtf8Printable(gameName));
+ log::error("getOldModsURL can't find plugin for {}", gameName);
return "";
}
}
@@ -464,7 +463,7 @@ int NexusInterface::requestUpdates(const int &modID, QObject *receiver, QVariant
IPluginGame *game = getGame(gameName);
if (game == nullptr) {
- qCritical("requestUpdates can't find plugin for %s", qUtf8Printable(gameName));
+ log::error("requestUpdates can't find plugin for {}", gameName);
return -1;
}
@@ -521,7 +520,7 @@ int NexusInterface::requestFileInfo(QString gameName, int modID, int fileID, QOb
{
IPluginGame *gamePlugin = getGame(gameName);
if (gamePlugin == nullptr) {
- qCritical("requestFileInfo can't find plugin for %s", qUtf8Printable(gameName));
+ log::error("requestFileInfo can't find plugin for {}", gameName);
return -1;
}
@@ -687,7 +686,7 @@ void NexusInterface::nextRequest()
} else if (getAccessManager()->validateWaiting()) {
return;
} else {
- qCritical() << tr("You must authorize MO2 in Settings -> Nexus to use the Nexus API.");
+ log::error("{}", tr("You must authorize MO2 in Settings -> Nexus to use the Nexus API."));
}
}
@@ -949,10 +948,9 @@ void NexusInterface::requestError(QNetworkReply::NetworkError)
return;
}
- qCritical("request (%s) error: %s (%d)",
- qUtf8Printable(reply->url().toString()),
- qUtf8Printable(reply->errorString()),
- reply->error());
+ log::error(
+ "request ({}) error: {} ({})",
+ reply->url().toString(), reply->errorString(), reply->error());
}
diff --git a/src/organizercore.cpp b/src/organizercore.cpp
index dbff1a2a..725371e9 100644
--- a/src/organizercore.cpp
+++ b/src/organizercore.cpp
@@ -224,7 +224,7 @@ bool checkService()
}
if (serviceConfig->dwStartType == SERVICE_DISABLED) {
- qCritical("Windows Event Log service is disabled!");
+ log::error("Windows Event Log service is disabled!");
serviceRunning = false;
}
@@ -242,7 +242,7 @@ bool checkService()
}
if (serviceStatus->dwCurrentState != SERVICE_RUNNING) {
- qCritical("Windows Event Log service is not running");
+ log::error("Windows Event Log service is not running");
serviceRunning = false;
}
}
@@ -437,7 +437,7 @@ bool OrganizerCore::testForSteam(bool *found, bool *access)
hProcessSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
if (hProcessSnap == INVALID_HANDLE_VALUE) {
lastError = GetLastError();
- qCritical("unable to get snapshot of processes (error %d)", lastError);
+ log::error("unable to get snapshot of processes (error {})", lastError);
return false;
}
@@ -446,7 +446,7 @@ bool OrganizerCore::testForSteam(bool *found, bool *access)
pe32.dwSize = sizeof(PROCESSENTRY32);
if (!Process32First(hProcessSnap, &pe32)) {
lastError = GetLastError();
- qCritical("unable to get first process (error %d)", lastError);
+ log::error("unable to get first process (error {})", lastError);
CloseHandle(hProcessSnap);
return false;
}
@@ -486,7 +486,7 @@ return true;
void OrganizerCore::updateExecutablesList(QSettings &settings)
{
if (m_PluginContainer == nullptr) {
- qCritical("can't update executables list now");
+ log::error("can't update executables list now");
return;
}
@@ -657,7 +657,7 @@ void OrganizerCore::downloadRequested(QNetworkReply *reply, QString gameName, in
}
} catch (const std::exception &e) {
MessageDialog::showMessage(tr("Download failed"), qApp->activeWindow());
- qCritical("exception starting download: %s", e.what());
+ log::error("exception starting download: {}", e.what());
}
}
@@ -1552,7 +1552,7 @@ HANDLE OrganizerCore::spawnBinaryProcess(const QFileInfo &binary,
bool steamFound = true;
bool steamAccess = true;
if (!testForSteam(&steamFound, &steamAccess)) {
- qCritical("unable to determine state of Steam");
+ log::error("unable to determine state of Steam");
}
if (!steamFound) {
@@ -1569,9 +1569,9 @@ HANDLE OrganizerCore::spawnBinaryProcess(const QFileInfo &binary,
steamFound = true;
steamAccess = true;
if (!testForSteam(&steamFound, &steamAccess)) {
- qCritical("unable to determine state of Steam");
+ log::error("unable to determine state of Steam");
} else if (!steamFound) {
- qCritical("could not find Steam");
+ log::error("could not find Steam");
}
} else if (result == QDialogButtonBox::Cancel) {
@@ -1592,14 +1592,14 @@ HANDLE OrganizerCore::spawnBinaryProcess(const QFileInfo &binary,
if (result == QDialogButtonBox::Yes) {
WCHAR cwd[MAX_PATH];
if (!GetCurrentDirectory(MAX_PATH, cwd)) {
- qCritical("unable to get current directory (error %d)", GetLastError());
+ log::error("unable to get current directory (error {})", GetLastError());
cwd[0] = L'\0';
}
if (!Helper::adminLaunch(
qApp->applicationDirPath().toStdWString(),
qApp->applicationFilePath().toStdWString(),
std::wstring(cwd))) {
- qCritical("unable to relaunch MO as admin");
+ log::error("unable to relaunch MO as admin");
return INVALID_HANDLE_VALUE;
}
qApp->exit(0);
diff --git a/src/overwriteinfodialog.cpp b/src/overwriteinfodialog.cpp
index 5ee8d76c..cc4ae849 100644
--- a/src/overwriteinfodialog.cpp
+++ b/src/overwriteinfodialog.cpp
@@ -121,18 +121,18 @@ bool OverwriteInfoDialog::recursiveDelete(const QModelIndex &index)
QModelIndex childIndex = m_FileSystemModel->index(childRow, 0, index);
if (m_FileSystemModel->isDir(childIndex)) {
if (!recursiveDelete(childIndex)) {
- qCritical("failed to delete %s", m_FileSystemModel->fileName(childIndex).toUtf8().constData());
+ log::error("failed to delete {}", m_FileSystemModel->fileName(childIndex));
return false;
}
} else {
if (!m_FileSystemModel->remove(childIndex)) {
- qCritical("failed to delete %s", m_FileSystemModel->fileName(childIndex).toUtf8().constData());
+ log::error("failed to delete {}", m_FileSystemModel->fileName(childIndex));
return false;
}
}
}
if (!m_FileSystemModel->remove(index)) {
- qCritical("failed to delete %s", m_FileSystemModel->fileName(index).toUtf8().constData());
+ log::error("failed to delete {}", m_FileSystemModel->fileName(index));
return false;
}
return true;
diff --git a/src/persistentcookiejar.cpp b/src/persistentcookiejar.cpp
index 1ed463c6..670bf382 100644
--- a/src/persistentcookiejar.cpp
+++ b/src/persistentcookiejar.cpp
@@ -1,8 +1,10 @@
#include "persistentcookiejar.h"
+#include
#include
#include
#include
+using namespace MOBase;
PersistentCookieJar::PersistentCookieJar(const QString &fileName, QObject *parent)
: QNetworkCookieJar(parent), m_FileName(fileName)
@@ -24,7 +26,7 @@ void PersistentCookieJar::clear() {
void PersistentCookieJar::save() {
QTemporaryFile file;
if (!file.open()) {
- qCritical("failed to save cookies: couldn't create temporary file");
+ log::error("failed to save cookies: couldn't create temporary file");
return;
}
QDataStream data(&file);
@@ -40,14 +42,14 @@ void PersistentCookieJar::save() {
QFile oldCookies(m_FileName);
if (oldCookies.exists()) {
if (!oldCookies.remove()) {
- qCritical("failed to save cookies: failed to remove %s", qUtf8Printable(m_FileName));
+ log::error("failed to save cookies: failed to remove {}", m_FileName);
return;
}
} // if it doesn't exists that's fine
}
if (!file.copy(m_FileName)) {
- qCritical("failed to save cookies: failed to write %s", qUtf8Printable(m_FileName));
+ log::error("failed to save cookies: failed to write {}", m_FileName);
}
}
diff --git a/src/plugincontainer.cpp b/src/plugincontainer.cpp
index d47fa2c6..36daec52 100644
--- a/src/plugincontainer.cpp
+++ b/src/plugincontainer.cpp
@@ -291,8 +291,9 @@ void PluginContainer::loadPlugins()
std::unique_ptr pluginLoader(new QPluginLoader(pluginName, this));
if (pluginLoader->instance() == nullptr) {
m_FailedPlugins.push_back(pluginName);
- qCritical("failed to load plugin %s: %s",
- qUtf8Printable(pluginName), qUtf8Printable(pluginLoader->errorString()));
+ log::error(
+ "failed to load plugin {}: {}",
+ pluginName, pluginLoader->errorString());
} else {
if (registerPlugin(pluginLoader->instance(), pluginName)) {
qDebug("loaded plugin \"%s\"", qUtf8Printable(QFileInfo(pluginName).fileName()));
diff --git a/src/pluginlist.cpp b/src/pluginlist.cpp
index 2fb743d0..e436d7f6 100644
--- a/src/pluginlist.cpp
+++ b/src/pluginlist.cpp
@@ -309,7 +309,7 @@ int PluginList::findPluginByPriority(int priority)
return i;
}
}
- qCritical(QString("No plugin with priority %1").arg(priority).toLocal8Bit());
+ log::error("No plugin with priority {}", priority);
return -1;
}
@@ -824,7 +824,7 @@ void PluginList::updateIndices()
continue;
}
if (m_ESPs[i].m_Priority >= static_cast(m_ESPs.size())) {
- qCritical("invalid plugin priority: %d", m_ESPs[i].m_Priority);
+ log::error("invalid plugin priority: {}", m_ESPs[i].m_Priority);
continue;
}
m_ESPsByName[m_ESPs[i].m_Name.toLower()] = i;
@@ -1067,9 +1067,9 @@ bool PluginList::setData(const QModelIndex &modIndex, const QVariant &value, int
this->index(0, 0),
this->index(static_cast(m_ESPs.size()), columnCount()));
} catch (const std::exception &e) {
- qCritical("failed to invoke state changed notification: %s", e.what());
+ log::error("failed to invoke state changed notification: {}", e.what());
} catch (...) {
- qCritical("failed to invoke state changed notification: unknown exception");
+ log::error("failed to invoke state changed notification: unknown exception");
}
}
@@ -1368,7 +1368,7 @@ PluginList::ESPInfo::ESPInfo(const QString &name, bool enabled,
m_Masters.insert(QString(iter->c_str()));
}
} catch (const std::exception &e) {
- qCritical("failed to parse plugin file %s: %s", qUtf8Printable(fullPath), e.what());
+ log::error("failed to parse plugin file {}: {}", fullPath, e.what());
m_IsMaster = false;
m_IsLight = false;
m_IsLightFlagged = false;
diff --git a/src/profile.cpp b/src/profile.cpp
index d4778305..555de89a 100644
--- a/src/profile.cpp
+++ b/src/profile.cpp
@@ -572,7 +572,7 @@ void Profile::setModsEnabled(const QList &modsToEnable, const QLis
QList dirtyMods;
for (auto idx : modsToEnable) {
if (idx >= m_ModStatus.size()) {
- qCritical() << tr("invalid mod index: %1").arg(idx);
+ log::error("invalid mod index: {}", idx);
continue;
}
if (!m_ModStatus[idx].m_Enabled) {
@@ -582,7 +582,7 @@ void Profile::setModsEnabled(const QList &modsToEnable, const QLis
}
for (auto idx : modsToDisable) {
if (idx >= m_ModStatus.size()) {
- qCritical() << tr("invalid mod index: %1").arg(idx);
+ log::error("invalid mod index: {}", idx);
continue;
}
if (ModInfo::getByIndex(idx)->alwaysEnabled()) {
diff --git a/src/settings.cpp b/src/settings.cpp
index 92ae2251..9c303442 100644
--- a/src/settings.cpp
+++ b/src/settings.cpp
@@ -221,9 +221,7 @@ QString Settings::deObfuscate(const QString key)
} else {
const auto e = GetLastError();
if (e != ERROR_NOT_FOUND) {
- qCritical().nospace()
- << "Retrieving encrypted data failed: "
- << formatSystemMessageQ(e);
+ log::error("Retrieving encrypted data failed: {}", formatSystemMessageQ(e));
}
}
delete[] keyData;
@@ -368,11 +366,7 @@ bool Settings::setNexusApiKey(const QString& apiKey)
{
if (!obfuscate("APIKEY", apiKey)) {
const auto e = GetLastError();
-
- qCritical().nospace()
- << "Storing API key failed: "
- << formatSystemMessageQ(e);
-
+ log::error("Storing API key failed: {}", formatSystemMessageQ(e));
return false;
}
@@ -493,9 +487,7 @@ void Settings::setSteamLogin(QString username, QString password)
}
if (!obfuscate("steam_password", password)) {
const auto e = GetLastError();
- qCritical().nospace()
- << "Storing or deleting password failed: "
- << formatSystemMessageQ(e);
+ log::error("Storing or deleting password failed: {}", formatSystemMessageQ(e));
}
}
diff --git a/src/settingsdialog.cpp b/src/settingsdialog.cpp
index 0dae31ac..99943d04 100644
--- a/src/settingsdialog.cpp
+++ b/src/settingsdialog.cpp
@@ -485,7 +485,6 @@ void SettingsDialog::onValidatorStateChanged(
for (auto&& line : log.split("\n")) {
addNexusLog(line);
}
- }
updateNexusState();
}
diff --git a/src/shared/directoryentry.cpp b/src/shared/directoryentry.cpp
index 9d9edd85..2cdbac74 100644
--- a/src/shared/directoryentry.cpp
+++ b/src/shared/directoryentry.cpp
@@ -21,6 +21,7 @@ along with Mod Organizer. If not, see .
#include "windows_error.h"
#include "leaktrace.h"
#include "error_report.h"
+#include
#include
#include
#include
@@ -35,6 +36,8 @@ along with Mod Organizer. If not, see .
namespace MOShared {
+namespace log = MOBase::log;
+
static const int MAXPATH_UNICODE = 32767;
class OriginConnection {
@@ -103,7 +106,7 @@ public:
m_OriginsNameMap.erase(iter);
m_OriginsNameMap[newName] = idx;
} else {
- vlog("failed to change name lookup from %ls to %ls", oldName.c_str(), newName.c_str());
+ log::error("failed to change name lookup from {} to {}", oldName, newName);
}
}
@@ -714,14 +717,14 @@ void DirectoryEntry::removeFile(FileEntry::Index index)
if (iter != m_Files.end()) {
m_Files.erase(iter);
} else {
- vlog("file \"%ls\" not in directory \"%ls\"",
- m_FileRegister->getFile(index)->getName().c_str(),
- this->getName().c_str());
+ log::error(
+ "file \"{}\" not in directory \"{}\"",
+ m_FileRegister->getFile(index)->getName(), this->getName());
}
} else {
- vlog("file \"%ls\" not in directory \"%ls\", directory empty",
- m_FileRegister->getFile(index)->getName().c_str(),
- this->getName().c_str());
+ log::error(
+ "file \"{}\" not in directory \"{}\", directory empty",
+ m_FileRegister->getFile(index)->getName(), this->getName());
}
}
@@ -844,7 +847,7 @@ const FileEntry::Ptr DirectoryEntry::searchFile(const std::wstring &path, const
DirectoryEntry *temp = findSubDirectory(pathComponent);
if (temp != nullptr) {
if (len >= path.size()) {
- vlog("unexpected end of path");
+ log::error("unexpected end of path");
return FileEntry::Ptr();
}
return temp->searchFile(path.substr(len + 1), directory);
@@ -988,7 +991,7 @@ bool FileRegister::removeFile(FileEntry::Index index)
m_Files.erase(index);
return true;
} else {
- vlog("invalid file index for remove: %lu", index);
+ log::error("invalid file index for remove: {}", index);
return false;
}
}
@@ -1002,7 +1005,7 @@ void FileRegister::removeOrigin(FileEntry::Index index, int originID)
m_Files.erase(iter);
}
} else {
- vlog("invalid file index for remove (for origin): %lu", index);
+ log::error("invalid file index for remove (for origin): {}", index);
}
}
diff --git a/src/shared/error_report.h b/src/shared/error_report.h
index a003ee09..17b25645 100644
--- a/src/shared/error_report.h
+++ b/src/shared/error_report.h
@@ -30,5 +30,3 @@ void reportError(LPCSTR format, ...);
void reportError(LPCWSTR format, ...);
} // namespace MOShared
-
-void vlog(const char* format, ...);
diff --git a/src/syncoverwritedialog.cpp b/src/syncoverwritedialog.cpp
index 4ee4716e..b1643b2d 100644
--- a/src/syncoverwritedialog.cpp
+++ b/src/syncoverwritedialog.cpp
@@ -22,6 +22,7 @@ along with Mod Organizer. If not, see .
#include "ui_syncoverwritedialog.h"
#include
#include
+#include
#include
#include
@@ -86,7 +87,7 @@ void SyncOverwriteDialog::readTree(const QString &path, DirectoryEntry *director
if (subDir != nullptr) {
readTree(fileInfo.absoluteFilePath(), subDir, newItem);
} else {
- qCritical("no directory structure for %s?", qUtf8Printable(file));
+ log::error("no directory structure for {}?", file);
delete newItem;
newItem = nullptr;
}
diff --git a/src/texteditor.cpp b/src/texteditor.cpp
index 130cd76f..0c0eb1cc 100644
--- a/src/texteditor.cpp
+++ b/src/texteditor.cpp
@@ -1,7 +1,10 @@
#include "texteditor.h"
#include "utility.h"
+#include
#include
+using namespace MOBase;
+
TextEditor::TextEditor(QWidget* parent) :
QPlainTextEdit(parent),
m_toolbar(nullptr), m_lineNumbers(nullptr), m_highlighter(nullptr),
@@ -249,7 +252,7 @@ QWidget* TextEditor::wrapEditWidget()
auto index = splitter->indexOf(this);
if (index == -1) {
- qCritical(
+ log::error(
"TextEditor: cannot wrap edit widget to display a toolbar, "
"parent is a splitter, but widget isn't in it");
@@ -260,7 +263,7 @@ QWidget* TextEditor::wrapEditWidget()
} else {
// unknown parent
- qCritical(
+ log::error(
"TextEditor: cannot wrap edit widget to display a toolbar, "
"no parent or parent has no layout");
diff --git a/src/transfersavesdialog.cpp b/src/transfersavesdialog.cpp
index 130df14f..1b211fd3 100644
--- a/src/transfersavesdialog.cpp
+++ b/src/transfersavesdialog.cpp
@@ -24,6 +24,7 @@ along with Mod Organizer. If not, see .
#include "isavegame.h"
#include "savegameinfo.h"
#include
+#include
#include
#include
@@ -186,7 +187,7 @@ void TransferSavesDialog::on_moveToLocalBtn_clicked()
[this](const QString &source, const QString &destination) -> bool {
return shellMove(source, destination, this);
},
- "Failed to move %s to %s")) {
+ "Failed to move {} to {}")) {
refreshGlobalSaves();
refreshGlobalCharacters();
refreshLocalSaves();
@@ -203,7 +204,7 @@ void TransferSavesDialog::on_copyToLocalBtn_clicked()
[this](const QString &source, const QString &destination) -> bool {
return shellCopy(source, destination, this);
},
- "Failed to copy %s to %s")) {
+ "Failed to copy {} to {}")) {
refreshLocalSaves();
refreshLocalCharacters();
}
@@ -218,7 +219,7 @@ void TransferSavesDialog::on_moveToGlobalBtn_clicked()
[this](const QString &source, const QString &destination) -> bool {
return shellMove(source, destination, this);
},
- "Failed to move %s to %s")) {
+ "Failed to move {} to {}")) {
refreshGlobalSaves();
refreshGlobalCharacters();
refreshLocalSaves();
@@ -235,7 +236,7 @@ void TransferSavesDialog::on_copyToGlobalBtn_clicked()
[this](const QString &source, const QString &destination) -> bool {
return shellCopy(source, destination, this);
},
- "Failed to copy %s to %s")) {
+ "Failed to copy {} to {}")) {
refreshGlobalSaves();
refreshGlobalCharacters();
}
@@ -340,9 +341,7 @@ bool TransferSavesDialog::transferCharacters(
}
if (!method(sourceFile.absoluteFilePath(), destinationFile)) {
- qCritical(errmsg,
- sourceFile.absoluteFilePath().toUtf8().constData(),
- qUtf8Printable(destinationFile));
+ log::error(errmsg, sourceFile.absoluteFilePath(), destinationFile);
}
}
}
--
cgit v1.3.1