Add double and long clicks in lists
This commit is contained in:
@@ -392,19 +392,8 @@ void FontDownloadActivity::loop() {
|
||||
return;
|
||||
}
|
||||
|
||||
buttonNavigator_.onNextRelease([this] {
|
||||
if (selectedIndex_ < listItemCount() - 1) {
|
||||
selectedIndex_++;
|
||||
requestUpdate();
|
||||
}
|
||||
});
|
||||
|
||||
buttonNavigator_.onPreviousRelease([this] {
|
||||
if (selectedIndex_ > 0) {
|
||||
selectedIndex_--;
|
||||
requestUpdate();
|
||||
}
|
||||
});
|
||||
buttonNavigator_.onNextList(selectedIndex_, listItemCount(), [this] { requestUpdate(); });
|
||||
buttonNavigator_.onPreviousList(selectedIndex_, listItemCount(), [this] { requestUpdate(); });
|
||||
|
||||
if (mappedInput.wasPressed(MappedInputManager::Button::Confirm)) {
|
||||
if (!families_.empty()) {
|
||||
|
||||
@@ -45,15 +45,8 @@ void FontSelectionActivity::loop() {
|
||||
return;
|
||||
}
|
||||
|
||||
buttonNavigator.onNextRelease([this] {
|
||||
selectedIndex = ButtonNavigator::nextIndex(selectedIndex, fontCount);
|
||||
requestUpdate();
|
||||
});
|
||||
|
||||
buttonNavigator.onPreviousRelease([this] {
|
||||
selectedIndex = ButtonNavigator::previousIndex(selectedIndex, fontCount);
|
||||
requestUpdate();
|
||||
});
|
||||
buttonNavigator.onNextList(selectedIndex, fontCount, [this] { requestUpdate(); });
|
||||
buttonNavigator.onPreviousList(selectedIndex, fontCount, [this] { requestUpdate(); });
|
||||
}
|
||||
|
||||
void FontSelectionActivity::handleSelection() {
|
||||
|
||||
@@ -37,15 +37,8 @@ void LanguageSelectActivity::loop() {
|
||||
}
|
||||
|
||||
// Handle navigation
|
||||
buttonNavigator.onNextRelease([this] {
|
||||
selectedIndex = ButtonNavigator::nextIndex(static_cast<int>(selectedIndex), totalItems);
|
||||
requestUpdate();
|
||||
});
|
||||
|
||||
buttonNavigator.onPreviousRelease([this] {
|
||||
selectedIndex = ButtonNavigator::previousIndex(static_cast<int>(selectedIndex), totalItems);
|
||||
requestUpdate();
|
||||
});
|
||||
buttonNavigator.onNextList(selectedIndex, totalItems, [this] { requestUpdate(); });
|
||||
buttonNavigator.onPreviousList(selectedIndex, totalItems, [this] { requestUpdate(); });
|
||||
}
|
||||
|
||||
void LanguageSelectActivity::handleSelection() {
|
||||
|
||||
@@ -49,17 +49,8 @@ void OpdsServerListActivity::loop() {
|
||||
}
|
||||
|
||||
const int itemCount = getItemCount();
|
||||
if (itemCount > 0) {
|
||||
buttonNavigator.onNext([this, itemCount] {
|
||||
selectedIndex = ButtonNavigator::nextIndex(selectedIndex, itemCount);
|
||||
requestUpdate();
|
||||
});
|
||||
|
||||
buttonNavigator.onPrevious([this, itemCount] {
|
||||
selectedIndex = ButtonNavigator::previousIndex(selectedIndex, itemCount);
|
||||
requestUpdate();
|
||||
});
|
||||
}
|
||||
buttonNavigator.onNextList(selectedIndex, itemCount, [this] { requestUpdate(); });
|
||||
buttonNavigator.onPreviousList(selectedIndex, itemCount, [this] { requestUpdate(); });
|
||||
}
|
||||
|
||||
void OpdsServerListActivity::handleSelection() {
|
||||
|
||||
@@ -61,15 +61,8 @@ void OpdsSettingsActivity::loop() {
|
||||
}
|
||||
|
||||
const int menuItems = getMenuItemCount();
|
||||
buttonNavigator.onNext([this, menuItems] {
|
||||
selectedIndex = (selectedIndex + 1) % menuItems;
|
||||
requestUpdate();
|
||||
});
|
||||
|
||||
buttonNavigator.onPrevious([this, menuItems] {
|
||||
selectedIndex = (selectedIndex + menuItems - 1) % menuItems;
|
||||
requestUpdate();
|
||||
});
|
||||
buttonNavigator.onNextList(selectedIndex, menuItems, [this] { requestUpdate(); });
|
||||
buttonNavigator.onPreviousList(selectedIndex, menuItems, [this] { requestUpdate(); });
|
||||
}
|
||||
|
||||
bool OpdsSettingsActivity::saveServer() {
|
||||
@@ -206,7 +199,7 @@ void OpdsSettingsActivity::render(RenderLock&&) {
|
||||
StrId::STR_PASSWORD};
|
||||
|
||||
GUI.drawList(
|
||||
renderer, Rect{0, contentTop, pageWidth, contentHeight}, menuItems, static_cast<int>(selectedIndex),
|
||||
renderer, Rect{0, contentTop, pageWidth, contentHeight}, menuItems, selectedIndex,
|
||||
[this, &fieldNames](int index) {
|
||||
if (index < BASE_ITEMS) {
|
||||
return std::string(I18N.get(fieldNames[index]));
|
||||
|
||||
@@ -25,7 +25,7 @@ class OpdsSettingsActivity final : public Activity {
|
||||
private:
|
||||
ButtonNavigator buttonNavigator;
|
||||
|
||||
size_t selectedIndex = 0;
|
||||
int selectedIndex = 0;
|
||||
int serverIndex;
|
||||
OpdsServer editServer;
|
||||
bool isNewServer = false;
|
||||
|
||||
@@ -197,29 +197,9 @@ void StatusBarSettingsActivity::loop() {
|
||||
}
|
||||
|
||||
// Handle navigation
|
||||
buttonNavigator.onNextRelease([this] {
|
||||
const int menuCount = SETTINGS.useClock ? MENU_ITEMS_WITH_CLOCK : MENU_ITEMS_NO_CLOCK;
|
||||
selectedIndex = ButtonNavigator::nextIndex(selectedIndex, menuCount);
|
||||
requestUpdate();
|
||||
});
|
||||
|
||||
buttonNavigator.onPreviousRelease([this] {
|
||||
const int menuCount = SETTINGS.useClock ? MENU_ITEMS_WITH_CLOCK : MENU_ITEMS_NO_CLOCK;
|
||||
selectedIndex = ButtonNavigator::previousIndex(selectedIndex, menuCount);
|
||||
requestUpdate();
|
||||
});
|
||||
|
||||
buttonNavigator.onNextContinuous([this] {
|
||||
const int menuCount = SETTINGS.useClock ? MENU_ITEMS_WITH_CLOCK : MENU_ITEMS_NO_CLOCK;
|
||||
selectedIndex = ButtonNavigator::nextIndex(selectedIndex, menuCount);
|
||||
requestUpdate();
|
||||
});
|
||||
|
||||
buttonNavigator.onPreviousContinuous([this] {
|
||||
const int menuCount = SETTINGS.useClock ? MENU_ITEMS_WITH_CLOCK : MENU_ITEMS_NO_CLOCK;
|
||||
selectedIndex = ButtonNavigator::previousIndex(selectedIndex, menuCount);
|
||||
requestUpdate();
|
||||
});
|
||||
const int menuCount = SETTINGS.useClock ? MENU_ITEMS_WITH_CLOCK : MENU_ITEMS_NO_CLOCK;
|
||||
buttonNavigator.onNextList(selectedIndex, menuCount, [this] { requestUpdate(); });
|
||||
buttonNavigator.onPreviousList(selectedIndex, menuCount, [this] { requestUpdate(); });
|
||||
}
|
||||
|
||||
void StatusBarSettingsActivity::handleSelection() {
|
||||
|
||||
Reference in New Issue
Block a user