Skip to content

Commit bcf46ae

Browse files
committed
probably fix toggle
1 parent 362016d commit bcf46ae

2 files changed

Lines changed: 9 additions & 15 deletions

File tree

src/menu/OptionItem.hpp

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,8 @@ class OptionItem final : public CCMenu {
1616
OptionItem();
1717
~OptionItem();
1818

19-
void saveTogglerState();
20-
2119
void onToggle(CCObject*);
2220
void onDescription(CCObject*);
23-
void onExit() override;
2421

2522
bool init(CCSize const& size, Option option);
2623

src/menu/src/OptionItem.cpp

Lines changed: 9 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,11 @@ class OptionItem::Impl final {
2020
};
2121

2222
CCMenuItemToggler* toggler = nullptr; // The toggler for the option
23+
24+
// Save the current state of the toggler as the option state
25+
void saveTogglerState() {
26+
if (toggler) (void)options::set(option.id, toggler->isToggled());
27+
};
2328
};
2429

2530
OptionItem::OptionItem() : m_impl(std::make_unique<Impl>()) {};
@@ -182,19 +187,16 @@ bool OptionItem::init(CCSize const& size, Option option) {
182187

183188
helpBtn->setSprite(newHelpBtnSprite);
184189

185-
saveTogglerState();
190+
m_impl->saveTogglerState();
186191
};
187192

188193
return true;
189194
};
190195

191-
void OptionItem::saveTogglerState() {
192-
if (m_impl->toggler) (void)options::set(m_impl->option.id, m_impl->toggler->isToggled());
193-
};
194-
195196
void OptionItem::onToggle(CCObject*) {
196-
if (m_impl->compatible) {
197-
saveTogglerState();
197+
if (m_impl->toggler && m_impl->compatible) {
198+
(void)options::set(m_impl->option.id, !m_impl->toggler->isToggled());
199+
198200
if (m_impl->option.restart) {
199201
Notification::create("Restart required!", NotificationIcon::Warning, 2.5f)->show();
200202
log::warn("Restart required to apply option {}", m_impl->option.id);
@@ -219,11 +221,6 @@ void OptionItem::onDescription(CCObject*) {
219221
)) popup->show();
220222
};
221223

222-
void OptionItem::onExit() {
223-
saveTogglerState();
224-
CCMenu::onExit();
225-
};
226-
227224
Option OptionItem::getOption() const noexcept {
228225
return m_impl->option;
229226
};

0 commit comments

Comments
 (0)