Browse Source

Add toolbar item to toggle param tooltip

tags/v1.0.0
Andrew Belt 6 years ago
parent
commit
a360bb448b
4 changed files with 32 additions and 9 deletions
  1. +1
    -0
      include/settings.hpp
  2. +10
    -9
      src/app/ParamWidget.cpp
  3. +12
    -0
      src/app/Toolbar.cpp
  4. +9
    -0
      src/settings.cpp

+ 1
- 0
include/settings.hpp View File

@@ -13,6 +13,7 @@ void load(std::string filename);
extern float zoom; extern float zoom;
extern float wireOpacity; extern float wireOpacity;
extern float wireTension; extern float wireTension;
extern bool paramTooltip;
extern bool powerMeter; extern bool powerMeter;
extern bool lockModules; extern bool lockModules;
extern bool checkVersion; extern bool checkVersion;


+ 10
- 9
src/app/ParamWidget.cpp View File

@@ -1,6 +1,7 @@
#include "app/ParamWidget.hpp" #include "app/ParamWidget.hpp"
#include "app/Scene.hpp" #include "app/Scene.hpp"
#include "context.hpp" #include "context.hpp"
#include "settings.hpp"
#include "random.hpp" #include "random.hpp"




@@ -53,18 +54,18 @@ void ParamWidget::onButton(const event::Button &e) {
} }


void ParamWidget::onEnter(const event::Enter &e) { void ParamWidget::onEnter(const event::Enter &e) {
if (tooltip)
return;
tooltip = new Tooltip;
context()->scene->addChild(tooltip);
if (settings::paramTooltip && !tooltip) {
tooltip = new Tooltip;
context()->scene->addChild(tooltip);
}
} }


void ParamWidget::onLeave(const event::Leave &e) { void ParamWidget::onLeave(const event::Leave &e) {
if (!tooltip)
return;
context()->scene->removeChild(tooltip);
delete tooltip;
tooltip = NULL;
if (tooltip) {
context()->scene->removeChild(tooltip);
delete tooltip;
tooltip = NULL;
}
} }






+ 12
- 0
src/app/Toolbar.cpp View File

@@ -197,6 +197,17 @@ struct PowerMeterItem : MenuItem {
}; };




struct ParamTooltipItem : MenuItem {
ParamTooltipItem() {
text = "Parameter tooltips";
rightText = CHECKMARK(settings::paramTooltip);
}
void onAction(const event::Action &e) override {
settings::paramTooltip ^= true;
}
};


struct LockModulesItem : MenuItem { struct LockModulesItem : MenuItem {
LockModulesItem() { LockModulesItem() {
text = "Lock modules"; text = "Lock modules";
@@ -260,6 +271,7 @@ struct SettingsButton : MenuButton {
menu->box.pos = getAbsoluteOffset(math::Vec(0, box.size.y)); menu->box.pos = getAbsoluteOffset(math::Vec(0, box.size.y));
menu->box.size.x = box.size.x; menu->box.size.x = box.size.x;


menu->addChild(new ParamTooltipItem);
menu->addChild(new PowerMeterItem); menu->addChild(new PowerMeterItem);
menu->addChild(new LockModulesItem); menu->addChild(new LockModulesItem);
menu->addChild(new SampleRateItem); menu->addChild(new SampleRateItem);


+ 9
- 0
src/settings.cpp View File

@@ -70,6 +70,9 @@ static json_t *settingsToJson() {
// checkVersion // checkVersion
json_object_set_new(rootJ, "checkVersion", json_boolean(checkVersion)); json_object_set_new(rootJ, "checkVersion", json_boolean(checkVersion));


// paramTooltip
json_object_set_new(rootJ, "paramTooltip", json_boolean(paramTooltip));

return rootJ; return rootJ;
} }


@@ -146,6 +149,11 @@ static void settingsFromJson(json_t *rootJ) {
json_t *checkVersionJ = json_object_get(rootJ, "checkVersion"); json_t *checkVersionJ = json_object_get(rootJ, "checkVersion");
if (checkVersionJ) if (checkVersionJ)
checkVersion = json_boolean_value(checkVersionJ); checkVersion = json_boolean_value(checkVersionJ);

// paramTooltip
json_t *paramTooltipJ = json_object_get(rootJ, "paramTooltip");
if (paramTooltipJ)
paramTooltip = json_boolean_value(paramTooltipJ);
} }




@@ -186,6 +194,7 @@ void load(std::string filename) {
float zoom = 1.0; float zoom = 1.0;
float wireOpacity = 0.5; float wireOpacity = 0.5;
float wireTension = 0.5; float wireTension = 0.5;
bool paramTooltip = false;
bool powerMeter = false; bool powerMeter = false;
bool lockModules = false; bool lockModules = false;
bool checkVersion = true; bool checkVersion = true;


Loading…
Cancel
Save