opkg_manager: add localized separators to describe contents of package list

Origin commit data
------------------
Branch: ni/coolstream
Commit: bf5cfdeaeb
Author: Thilo Graf <dbt@novatux.de>
Date: 2023-03-07 (Tue, 07 Mar 2023)


------------------
No further description and justification available within origin commit message!

------------------
This commit was generated by Migit
This commit is contained in:
2023-03-07 23:20:43 +01:00
committed by vanhofen
parent 3e06f3eda4
commit 8dd423846a
5 changed files with 27 additions and 6 deletions

View File

@@ -2436,6 +2436,8 @@ opkg.messagebox.remove %s entfernen?
opkg.messagebox.size.error Nicht genügend freier Speicher für Paketinstallation verfügbar!
opkg.messagebox.updates.available Paket-Aktualisierung(en) verfügbar!
opkg.success.install Installation erfolgreich!\nNeustart von Neutrino kann erforderlich sein. Jetzt neu starten?
opkg.separator.packages.available verfügbare Pakete
opkg.separator.packages.installed installierte Pakete
opkg.title Paketverwaltung
opkg.update.check Prüfe auf Updates ...
opkg.update.reading_lists Paketlisten werden eingelesen ...

View File

@@ -2436,6 +2436,8 @@ opkg.messagebox.remove Remove %s?
opkg.messagebox.size.error Not enough free memory available for this package!
opkg.messagebox.updates.available Package update(s) available!
opkg.success.install Install successful!\n restart of Neutrino might be required. Restart now?
opkg.separator.packages.available available packages
opkg.separator.packages.installed installed packages
opkg.title Package Management
opkg.update.check Checking for updates ...
opkg.update.reading_lists Reading package lists ...

View File

@@ -521,13 +521,13 @@ void COPKGManager::updateMenu()
}
std::vector<CMenuItem*>& items = menu->getItems();
// Sorts the elements of the menu object, starting from the fifth element, because they are intro items.
// The sorting is done in two steps: first, the elements are sorted based on the value of iconName_Info_right.
// The values NEUTRINO_ICON_MARKER_UPDATE_AVAILABLE, NEUTRINO_ICON_MARKER_DOWNLOAD_LATER and NEUTRINO_ICON_MARKER_DIALOG_OK
// are sorted from highest to lowest priority.
// If two elements have the same value for iconName_Info_right, they are sorted by their name using std::strcmp.
// Sorts the elements of the menu object, starting from the fifth element, because previous items are intro items.
// The sorting is done in two steps: first, the elements are sorted based on the value of iconName_Info_right.
// The values NEUTRINO_ICON_MARKER_UPDATE_AVAILABLE, NEUTRINO_ICON_MARKER_DOWNLOAD_LATER and NEUTRINO_ICON_MARKER_DIALOG_OK
// are sorted from highest to lowest priority.
// If two elements have the same value for iconName_Info_right, they are sorted by their names.
// We know position (5) of menu separator from we will start sort.
// We know position (5) of menu separator from we will start sort.
std::sort(items.begin() + 5, items.end(), [](CMenuItem* a, CMenuItem* b)
{
int aValue = 0, bValue = 0;
@@ -550,6 +550,19 @@ void COPKGManager::updateMenu()
else
return aValue > bValue;
});
// Now we have a sorted list, but we need some menu separators with text that describes what is inside the sections.
for (size_t i = 5; i < items.size()-1; i++)
{
if (items[i]->iconName_Info_right != NULL)
if (items[i]->iconName_Info_right != items[i + 1]->iconName_Info_right)
{
if (items[i + 1]->iconName_Info_right == NEUTRINO_ICON_MARKER_DOWNLOAD_LATER)
menu->insertItem(i + 1, new CMenuSeparator(CMenuSeparator::LINE | CMenuSeparator::STRING, LOCALE_OPKG_SEPARATOR_PACKAGES_AVAILABLE));
else
menu->insertItem(i + 1, new CMenuSeparator(CMenuSeparator::LINE | CMenuSeparator::STRING, LOCALE_OPKG_SEPARATOR_PACKAGES_INSTALLED));
}
}
}
bool COPKGManager::removeInfoBarTxt()

View File

@@ -2463,6 +2463,8 @@ typedef enum
LOCALE_OPKG_MESSAGEBOX_SIZE_ERROR,
LOCALE_OPKG_MESSAGEBOX_UPDATES_AVAILABLE,
LOCALE_OPKG_SUCCESS_INSTALL,
LOCALE_OPKG_SEPARATOR_PACKAGES_AVAILABLE,
LOCALE_OPKG_SEPARATOR_PACKAGES_INSTALLED,
LOCALE_OPKG_TITLE,
LOCALE_OPKG_UPDATE_CHECK,
LOCALE_OPKG_UPDATE_READING_LISTS,

View File

@@ -2463,6 +2463,8 @@ const char * locale_real_names[] =
"opkg.messagebox.size.error",
"opkg.messagebox.updates.available",
"opkg.success.install",
"opkg.separator.packages.available",
"opkg.separator.packages.installed",
"opkg.title",
"opkg.update.check",
"opkg.update.reading_lists",