From c57e2acfbafd70e07beac49fb1a2e4a77c4b852e Mon Sep 17 00:00:00 2001 From: Nicolas Pope <nwpope@utu.fi> Date: Fri, 29 Nov 2019 11:05:51 +0200 Subject: [PATCH] Add shortcut operators --- applications/gui/src/screen.cpp | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/applications/gui/src/screen.cpp b/applications/gui/src/screen.cpp index 4fc879a8e..7d282501d 100644 --- a/applications/gui/src/screen.cpp +++ b/applications/gui/src/screen.cpp @@ -472,7 +472,7 @@ bool ftl::gui::Screen::keyboardEvent(int key, int scancode, int action, int modi auto s = shortcuts_->get<nlohmann::json>(combo); if (s) { - LOG(INFO) << "FOUND KEYBOARD SHORTCUT"; + //LOG(INFO) << "FOUND KEYBOARD SHORTCUT"; std::string op = (*s).value("op",std::string("=")); std::string uri = (*s).value("uri",std::string("")); @@ -485,7 +485,18 @@ bool ftl::gui::Screen::keyboardEvent(int key, int scancode, int action, int modi auto v = ftl::config::get(uri); if (v.is_number_float()) { ftl::config::update(uri, v.get<float>() + (*s).value("value",0.0f)); + } else if (v.is_number_integer()) { + ftl::config::update(uri, v.get<int>() + (*s).value("value",0)); } + } else if (op == "-=") { + auto v = ftl::config::get(uri); + if (v.is_number_float()) { + ftl::config::update(uri, v.get<float>() - (*s).value("value",0.0f)); + } else if (v.is_number_integer()) { + ftl::config::update(uri, v.get<int>() - (*s).value("value",0)); + } + } else if (op == "=") { + ftl::config::update(uri, (*s)["value"]); } } } -- GitLab