diff --git a/src/plugins/nim/nimplugin.cpp b/src/plugins/nim/nimplugin.cpp index 2ffcadfbf27..502e0889dbb 100644 --- a/src/plugins/nim/nimplugin.cpp +++ b/src/plugins/nim/nimplugin.cpp @@ -41,10 +41,10 @@ class NimPluginPrivate public: NimPluginPrivate() { - Suggest::NimSuggestCache::instance().setExecutablePath(settings.nimSuggestPath.stringValue()); + Suggest::NimSuggestCache::instance().setExecutablePath(settings.nimSuggestPath()); QObject::connect(&settings.nimSuggestPath, &StringAspect::changed, &Suggest::NimSuggestCache::instance(), [this] { - Suggest::NimSuggestCache::instance().setExecutablePath(settings.nimSuggestPath.stringValue()); + Suggest::NimSuggestCache::instance().setExecutablePath(settings.nimSuggestPath()); }); } diff --git a/src/plugins/nim/suggest/nimsuggest.cpp b/src/plugins/nim/suggest/nimsuggest.cpp index 1e59233a2d0..260598713ca 100644 --- a/src/plugins/nim/suggest/nimsuggest.cpp +++ b/src/plugins/nim/suggest/nimsuggest.cpp @@ -3,8 +3,9 @@ #include "nimsuggest.h" -namespace Nim { -namespace Suggest { +using namespace Utils; + +namespace Nim::Suggest { NimSuggest::NimSuggest(QObject *parent) : QObject(parent) @@ -16,12 +17,12 @@ NimSuggest::NimSuggest(QObject *parent) connect(&m_client, &NimSuggestClient::connected, this, &NimSuggest::onClientConnected); } -QString NimSuggest::projectFile() const +FilePath NimSuggest::projectFile() const { return m_projectFile; } -void NimSuggest::setProjectFile(const QString &file) +void NimSuggest::setProjectFile(const Utils::FilePath &file) { if (m_projectFile == file) return; @@ -32,12 +33,12 @@ void NimSuggest::setProjectFile(const QString &file) restart(); } -QString NimSuggest::executablePath() const +FilePath NimSuggest::executablePath() const { return m_executablePath; } -void NimSuggest::setExecutablePath(const QString &path) +void NimSuggest::setExecutablePath(const FilePath &path) { if (m_executablePath == path) return; @@ -145,5 +146,4 @@ void NimSuggest::onClientDisconnected() connectClient(); } -} // namespace Suggest -} // namespace Nim +} // Nim::Suggest diff --git a/src/plugins/nim/suggest/nimsuggest.h b/src/plugins/nim/suggest/nimsuggest.h index 403b70abf69..14ea812336d 100644 --- a/src/plugins/nim/suggest/nimsuggest.h +++ b/src/plugins/nim/suggest/nimsuggest.h @@ -6,8 +6,10 @@ #include "client.h" #include "server.h" -namespace Nim { -namespace Suggest { +#include + + +namespace Nim::Suggest { class NimSuggest : public QObject { @@ -16,11 +18,11 @@ class NimSuggest : public QObject public: NimSuggest(QObject *parent = nullptr); - QString projectFile() const; - void setProjectFile(const QString &file); + Utils::FilePath projectFile() const; + void setProjectFile(const Utils::FilePath &file); - QString executablePath() const; - void setExecutablePath(const QString &path); + Utils::FilePath executablePath() const; + void setExecutablePath(const Utils::FilePath &path); bool isReady() const; @@ -32,8 +34,8 @@ public: signals: void readyChanged(bool ready); - void projectFileChanged(const QString &projectFile); - void executablePathChanged(const QString &executablePath); + void projectFileChanged(const Utils::FilePath &projectFile); + void executablePathChanged(const Utils::FilePath &executablePath); private: void restart(); @@ -61,11 +63,10 @@ private: bool m_ready = false; bool m_clientReady = false; bool m_serverReady = false; - QString m_projectFile; - QString m_executablePath; + Utils::FilePath m_projectFile; + Utils::FilePath m_executablePath; NimSuggestServer m_server; NimSuggestClient m_client; }; -} // namespace Suggest -} // namespace Nim +} // Nim::Suggest diff --git a/src/plugins/nim/suggest/nimsuggestcache.cpp b/src/plugins/nim/suggest/nimsuggestcache.cpp index 127c55904b3..9fe869cdd55 100644 --- a/src/plugins/nim/suggest/nimsuggestcache.cpp +++ b/src/plugins/nim/suggest/nimsuggestcache.cpp @@ -5,12 +5,14 @@ #include "nimconstants.h" #include "nimsuggest.h" +#include "settings/nimsettings.h" #include #include -namespace Nim { -namespace Suggest { +using namespace Utils; + +namespace Nim::Suggest { NimSuggestCache &NimSuggestCache::instance() { @@ -20,12 +22,12 @@ NimSuggestCache &NimSuggestCache::instance() NimSuggestCache::~NimSuggestCache() = default; -NimSuggest *NimSuggestCache::get(const Utils::FilePath &filename) +NimSuggest *NimSuggestCache::get(const FilePath &filename) { auto it = m_nimSuggestInstances.find(filename); if (it == m_nimSuggestInstances.end()) { auto instance = std::make_unique(this); - instance->setProjectFile(filename.toString()); + instance->setProjectFile(filename); instance->setExecutablePath(m_executablePath); it = m_nimSuggestInstances.emplace(filename, std::move(instance)).first; } @@ -41,12 +43,12 @@ NimSuggestCache::NimSuggestCache() this, &NimSuggestCache::onEditorClosed); } -QString NimSuggestCache::executablePath() const +FilePath NimSuggestCache::executablePath() const { return m_executablePath; } -void NimSuggestCache::setExecutablePath(const QString &path) +void NimSuggestCache::setExecutablePath(const FilePath &path) { if (m_executablePath == path) return; @@ -72,5 +74,4 @@ void Nim::Suggest::NimSuggestCache::onEditorClosed(Core::IEditor *editor) m_nimSuggestInstances.erase(it); } -} -} +} // Nim::Suggest diff --git a/src/plugins/nim/suggest/nimsuggestcache.h b/src/plugins/nim/suggest/nimsuggestcache.h index df06c5b33fd..757118ba47b 100644 --- a/src/plugins/nim/suggest/nimsuggestcache.h +++ b/src/plugins/nim/suggest/nimsuggestcache.h @@ -11,8 +11,7 @@ namespace Core { class IEditor; } -namespace Nim { -namespace Suggest { +namespace Nim::Suggest { class NimSuggest; @@ -25,8 +24,8 @@ public: NimSuggest *get(const Utils::FilePath &filename); - QString executablePath() const; - void setExecutablePath(const QString &path); + Utils::FilePath executablePath() const; + void setExecutablePath(const Utils::FilePath &path); private: NimSuggestCache(); @@ -37,8 +36,7 @@ private: std::unordered_map> m_nimSuggestInstances; - QString m_executablePath; + Utils::FilePath m_executablePath; }; -} // namespace Suggest -} // namespace Nim +} // Nim::Suggest diff --git a/src/plugins/nim/suggest/server.cpp b/src/plugins/nim/suggest/server.cpp index 7573505f727..d3f8d086ceb 100644 --- a/src/plugins/nim/suggest/server.cpp +++ b/src/plugins/nim/suggest/server.cpp @@ -5,8 +5,7 @@ using namespace Utils; -namespace Nim { -namespace Suggest { +namespace Nim::Suggest { NimSuggestServer::NimSuggestServer(QObject *parent) : QObject(parent) { @@ -15,20 +14,14 @@ NimSuggestServer::NimSuggestServer(QObject *parent) : QObject(parent) &NimSuggestServer::onStandardOutputAvailable); } -QString NimSuggestServer::executablePath() const +bool NimSuggestServer::start(const FilePath &executablePath, const FilePath &projectFilePath) { - return m_executablePath; -} - -bool NimSuggestServer::start(const QString &executablePath, - const QString &projectFilePath) -{ - if (!QFile::exists(executablePath)) { + if (!executablePath.exists()) { qWarning() << "NimSuggest executable path" << executablePath << "does not exist"; return false; } - if (!QFile::exists(projectFilePath)) { + if (!projectFilePath.exists()) { qWarning() << "Project file" << projectFilePath << "doesn't exist"; return false; } @@ -36,7 +29,7 @@ bool NimSuggestServer::start(const QString &executablePath, stop(); m_executablePath = executablePath; m_projectFilePath = projectFilePath; - m_process.setCommand({FilePath::fromString(executablePath), {"--epc", m_projectFilePath}}); + m_process.setCommand({executablePath, {"--epc", m_projectFilePath.path()}}); m_process.start(); return true; } @@ -52,11 +45,6 @@ quint16 NimSuggestServer::port() const return m_port; } -QString NimSuggestServer::projectFilePath() const -{ - return m_projectFilePath; -} - void NimSuggestServer::onStandardOutputAvailable() { if (!m_portAvailable) { @@ -81,5 +69,4 @@ void NimSuggestServer::clearState() m_port = 0; } -} // namespace Suggest -} // namespace Nim +} // namespace Nim::Suggest diff --git a/src/plugins/nim/suggest/server.h b/src/plugins/nim/suggest/server.h index 9eb2bac141d..73e28096e29 100644 --- a/src/plugins/nim/suggest/server.h +++ b/src/plugins/nim/suggest/server.h @@ -3,14 +3,9 @@ #pragma once -#include -#include -#include - #include -namespace Nim { -namespace Suggest { +namespace Nim::Suggest { class NimSuggestServer : public QObject { @@ -19,12 +14,10 @@ class NimSuggestServer : public QObject public: NimSuggestServer(QObject *parent = nullptr); - bool start(const QString &executablePath, const QString &projectFilePath); + bool start(const Utils::FilePath &executablePath, const Utils::FilePath &projectFilePath); void stop(); quint16 port() const; - QString executablePath() const; - QString projectFilePath() const; signals: void started(); @@ -38,9 +31,8 @@ private: bool m_portAvailable = false; Utils::Process m_process; quint16 m_port = 0; - QString m_projectFilePath; - QString m_executablePath; + Utils::FilePath m_projectFilePath; + Utils::FilePath m_executablePath; }; -} // namespace Suggest -} // namespace Nim +} // Nim::Suggest