std::vector<std::shared_ptr<MenuItem>> find(std::string) override;
private:
- void addToMap(std::string, std::vector<std::shared_ptr<MenuItem>>);
+ void addToMap(const std::string &, const std::vector<std::shared_ptr<MenuItem>> &);
std::multimap<std::string, std::shared_ptr<MenuItem>> map;
};
return foundMenuItems;
}
-void MenuMapImplementation::addToMap(std::string menuLabel, std::vector<std::shared_ptr<MenuItem>> menuItems)
+void MenuMapImplementation::addToMap(const std::string &menuLabel, const std::vector<std::shared_ptr<MenuItem>> &menuItems)
{
- while (!menuItems.empty()) {
- map.insert(std::make_pair(menuLabel, menuItems.back()));
- menuItems.pop_back();
- }
+ for (auto &menuItem : menuItems)
+ map.emplace(menuLabel, std::move(menuItem));
}
template<>
auto menuItems = Singleton<MenuMap>::instance().find(completeLabelOfMenu);
auto numberOfItems = menuItems.size();
- while (!menuItems.empty()) {
- menuItems.back()->attach(std::dynamic_pointer_cast<SelectActivity>(shared_from_this()), std::make_shared<ConditionAll<MenuItem>>());
- auto object = elm_gengrid_item_append(gengrid, gic, menuItems.back().get(), gengridItemSelectedCb, this);
- gengridItemsData.push_back(std::make_pair(menuItems.back(), object));
- if (object && menuItems.back()->getName().empty())
+ for (auto &menuItem : menuItems) {
+ menuItem->attach(std::dynamic_pointer_cast<SelectActivity>(shared_from_this()), std::make_shared<ConditionAll<MenuItem>>());
+ auto object = elm_gengrid_item_append(gengrid, gic, menuItem.get(), gengridItemSelectedCb, this);
+ if (object && menuItem->getName().empty())
elm_atspi_accessible_can_highlight_set(object, EINA_FALSE);
-
- menuItems.pop_back();
+ gengridItemsData.emplace_back(std::move(menuItem), object);
}
elm_gengrid_item_class_free(gic);
ASSERT_EQ(actualMenuItems.size(), expectedMenuItemsNames.size());
for (auto ii = 0u; ii < actualMenuItems.size(); ++ii) {
- auto idxForExpectedMenuItems = actualMenuItems.size() - 1 - ii;
- EXPECT_EQ(actualMenuItems[ii]->getName(), expectedMenuItemsNames[idxForExpectedMenuItems]);
+ EXPECT_EQ(actualMenuItems[ii]->getName(), expectedMenuItemsNames[ii]);
}
}
{
auto actualMenuItems = Singleton<MenuMap>::instance().find("IDS_MENU_EDIT_TEXT");
- auto next = actualMenuItems[4]; //Named variables are created here to increase test readability
+ auto next = actualMenuItems[3]; //Named variables are created here to increase test readability
testVconfIntTypeMenuItemStates(next.get(), VCONF_KEY_GRANULARITY_UNIT,
{"IDS_NEXT_CHARACTER", "IDS_NEXT_WORD", "IDS_NEXT_LINE", "IDS_NEXT_PARAGRAPH"});
- auto prev = actualMenuItems[5];
+ auto prev = actualMenuItems[2];
testVconfIntTypeMenuItemStates(prev.get(), VCONF_KEY_GRANULARITY_UNIT,
{"IDS_PREVIOUS_CHARACTER", "IDS_PREVIOUS_WORD", "IDS_PREVIOUS_LINE", "IDS_PREVIOUS_PARAGRAPH"});
actualMenuItems = Singleton<MenuMap>::instance().find("IDS_MENU_AUTO_SCROLL_ON");
- auto turnOnOffAutoScroll = actualMenuItems[2];
+ auto turnOnOffAutoScroll = actualMenuItems[0];
testVconfBoolTypeMenuItemStates(turnOnOffAutoScroll.get(), VCONF_KEY_AUTO_SCROLL_ENABLED,
{"IDS_TURN_ON_AUTO_SCROLL", "IDS_TURN_OFF_AUTO_SCROLL"});
actualMenuItems = Singleton<MenuMap>::instance().find("IDS_MENU_SETTINGS_AUTO_SCAN_ON");
- auto turnOnOffSound = actualMenuItems[1];
- testVconfBoolTypeMenuItemStates(turnOnOffSound.get(), VCONF_KEY_FEEDBACK_SOUND_ENABLED,
- {"IDS_TURN_ON_SOUND", "IDS_TURN_OFF_SOUND"});
-
- auto turnOnOffVoice = actualMenuItems[2];
- testVconfBoolTypeMenuItemStates(turnOnOffVoice.get(), VCONF_KEY_FEEDBACK_VOICE_ENABLED,
- {"IDS_TURN_ON_VOICE", "IDS_TURN_OFF_VOICE"});
+ auto scanMethod = actualMenuItems[2];
+ testVconfIntTypeMenuItemStates(scanMethod.get(), VCONF_KEY_SCAN_METHOD,
+ {"IDS_ROW_SCAN", "IDS_POINT_SCAN"});
auto scanVerticalDirection = actualMenuItems[3];
testVconfIntTypeMenuItemStates(scanVerticalDirection.get(), VCONF_KEY_SCAN_DIRECTION_VERTICAL,
{"IDS_BOTTOM_TO_TOP", "IDS_TOP_TO_BOTTOM"});
- auto scanMethod = actualMenuItems[4];
- testVconfIntTypeMenuItemStates(scanMethod.get(), VCONF_KEY_SCAN_METHOD,
- {"IDS_ROW_SCAN", "IDS_POINT_SCAN"});
+ auto turnOnOffVoice = actualMenuItems[4];
+ testVconfBoolTypeMenuItemStates(turnOnOffVoice.get(), VCONF_KEY_FEEDBACK_VOICE_ENABLED,
+ {"IDS_TURN_ON_VOICE", "IDS_TURN_OFF_VOICE"});
+
+ auto turnOnOffSound = actualMenuItems[5];
+ testVconfBoolTypeMenuItemStates(turnOnOffSound.get(), VCONF_KEY_FEEDBACK_SOUND_ENABLED,
+ {"IDS_TURN_ON_SOUND", "IDS_TURN_OFF_SOUND"});
}
\ No newline at end of file