diff options
author | FlafyDev <[email protected]> | 2022-08-19 23:18:09 +0300 |
---|---|---|
committer | FlafyDev <[email protected]> | 2022-08-19 23:18:09 +0300 |
commit | f0ad77251b28fcf48dcaf25f23e3a140d69a4735 (patch) | |
tree | 4a4b96c67ced9d14c1850b466eb2b6f8587140b3 | |
parent | 69d17bf4240e41f2b26abd7a46dfd0e754e9ee9e (diff) | |
download | Hyprland-f0ad77251b28fcf48dcaf25f23e3a140d69a4735.tar.gz Hyprland-f0ad77251b28fcf48dcaf25f23e3a140d69a4735.zip |
move absolutePath to MiscFunctions
-rw-r--r-- | src/config/ConfigManager.cpp | 24 | ||||
-rw-r--r-- | src/config/ConfigManager.hpp | 5 | ||||
-rw-r--r-- | src/helpers/MiscFunctions.cpp | 22 | ||||
-rw-r--r-- | src/helpers/MiscFunctions.hpp | 3 | ||||
-rw-r--r-- | src/managers/input/InputManager.cpp | 2 |
5 files changed, 28 insertions, 28 deletions
diff --git a/src/config/ConfigManager.cpp b/src/config/ConfigManager.cpp index 37ea10fc..162c8611 100644 --- a/src/config/ConfigManager.cpp +++ b/src/config/ConfigManager.cpp @@ -782,7 +782,7 @@ void CConfigManager::handleSource(const std::string& command, const std::string& return; } - auto value = absolutePath(rawpath); + auto value = absolutePath(rawpath, configCurrentPath); if (!std::filesystem::exists(value)) { Debug::log(ERR, "source= file doesnt exist"); @@ -876,28 +876,6 @@ std::string CConfigManager::parseKeyword(const std::string& COMMAND, const std:: return parseError; } -std::string CConfigManager::absolutePath(const std::string& rawpath) { - auto value = rawpath; - - if (value[0] == '.') { - auto currentDir = configCurrentPath.substr(0, configCurrentPath.find_last_of('/')); - - if (value[1] == '.') { - auto parentDir = currentDir.substr(0, currentDir.find_last_of('/')); - value.replace(0, 2, parentDir); - } else { - value.replace(0, 1, currentDir); - } - } - - if (value[0] == '~') { - static const char* const ENVHOME = getenv("HOME"); - value.replace(0, 1, std::string(ENVHOME)); - } - - return value; -} - void CConfigManager::applyUserDefinedVars(std::string& line, const size_t equalsPlace) { auto dollarPlace = line.find_first_of('$', equalsPlace); diff --git a/src/config/ConfigManager.hpp b/src/config/ConfigManager.hpp index 05e00921..72eb58f6 100644 --- a/src/config/ConfigManager.hpp +++ b/src/config/ConfigManager.hpp @@ -101,12 +101,13 @@ public: void ensureDPMS(); std::string parseKeyword(const std::string&, const std::string&, bool dynamic = false); - std::string absolutePath(const std::string&); void addParseError(const std::string&); SAnimationPropertyConfig* getAnimationPropertyConfig(const std::string&); + std::string configCurrentPath; + private: std::deque<std::string> configPaths; // stores all the config paths std::unordered_map<std::string, time_t> configModifyTimes; // stores modify times @@ -116,8 +117,6 @@ private: std::unordered_map<std::string, SAnimationPropertyConfig> animationConfig; // stores all the animations with their set values - std::string configCurrentPath; - std::string currentCategory = ""; // For storing the category of the current item std::string parseError = ""; // For storing a parse error to display later diff --git a/src/helpers/MiscFunctions.cpp b/src/helpers/MiscFunctions.cpp index b7285637..b27489ca 100644 --- a/src/helpers/MiscFunctions.cpp +++ b/src/helpers/MiscFunctions.cpp @@ -40,6 +40,28 @@ static const float transforms[][9] = {{ }, }; +std::string absolutePath(const std::string& rawpath, const std::string& currentPath) { + auto value = rawpath; + + if (value[0] == '.') { + auto currentDir = currentPath.substr(0, currentPath.find_last_of('/')); + + if (value[1] == '.') { + auto parentDir = currentDir.substr(0, currentDir.find_last_of('/')); + value.replace(0, 2, parentDir); + } else { + value.replace(0, 1, currentDir); + } + } + + if (value[0] == '~') { + static const char* const ENVHOME = getenv("HOME"); + value.replace(0, 1, std::string(ENVHOME)); + } + + return value; +} + void addWLSignal(wl_signal* pSignal, wl_listener* pListener, void* pOwner, std::string ownerString) { ASSERT(pSignal); ASSERT(pListener); diff --git a/src/helpers/MiscFunctions.hpp b/src/helpers/MiscFunctions.hpp index a40471a9..9f002c20 100644 --- a/src/helpers/MiscFunctions.hpp +++ b/src/helpers/MiscFunctions.hpp @@ -2,6 +2,7 @@ #include "../includes.hpp" +std::string absolutePath(const std::string&, const std::string&); void addWLSignal(wl_signal*, wl_listener*, void* pOwner, std::string ownerString); void wlr_signal_emit_safe(struct wl_signal *signal, void *data); std::string getFormat(const char *fmt, ...); // Basically Debug::log to a string @@ -17,4 +18,4 @@ std::string execAndGet(const char*); float getPlusMinusKeywordResult(std::string in, float relative); -void matrixProjection(float mat[9], int w, int h, wl_output_transform tr);
\ No newline at end of file +void matrixProjection(float mat[9], int w, int h, wl_output_transform tr); diff --git a/src/managers/input/InputManager.cpp b/src/managers/input/InputManager.cpp index 82889f8a..b35d9064 100644 --- a/src/managers/input/InputManager.cpp +++ b/src/managers/input/InputManager.cpp @@ -568,7 +568,7 @@ void CInputManager::applyConfigToKeyboard(SKeyboard* pKeyboard) { xkb_keymap * KEYMAP = NULL; if (!FILEPATH.empty()) { - auto path = g_pConfigManager->absolutePath(FILEPATH); + auto path = absolutePath(FILEPATH, g_pConfigManager->configCurrentPath); if (!std::filesystem::exists(path)) { Debug::log(ERR, "input:kb_file= file doesnt exist"); |