From 30925e90953ed24b8d8500ec97ab7dc020d69370 Mon Sep 17 00:00:00 2001 From: Dimitar Tsenev Date: Mon, 22 Jan 2024 13:28:48 +0200 Subject: [PATCH 01/10] [Removed] test values --- lib/gui/elistboxcontent.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/gui/elistboxcontent.cpp b/lib/gui/elistboxcontent.cpp index b175157822..f33ef46e52 100644 --- a/lib/gui/elistboxcontent.cpp +++ b/lib/gui/elistboxcontent.cpp @@ -1233,7 +1233,7 @@ void eListboxPythonMultiContent::paint(gPainter &painter, eWindowStyle &style, c int bwidth = pborderWidth ? PyLong_AsLong(pborderWidth) : 0; int cornerRadius = pCornerRadius ? PyLong_AsLong(pCornerRadius) : 0; - int cornerEdges = pCornerEdges ? PyLong_AsLong(pCornerEdges) : 15; + int cornerEdges = pCornerEdges ? PyLong_AsLong(pCornerEdges) : 0; if (cornerRadius || cornerEdges) bwidth = 0; // border not supported for rounded edges From 59d908a06187722688e438d3952b03723e5dfc20 Mon Sep 17 00:00:00 2001 From: Dimitar Tsenev Date: Wed, 24 Jan 2024 12:43:09 +0200 Subject: [PATCH 02/10] [Updated] Logic to draw borders in eSlider (needs testing) --- lib/gui/eslider.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/gui/eslider.cpp b/lib/gui/eslider.cpp index 7f74ad04e9..31a1c9af44 100644 --- a/lib/gui/eslider.cpp +++ b/lib/gui/eslider.cpp @@ -73,7 +73,7 @@ int eSlider::event(int event, void *data, void *data2) gPainter &painter = *(gPainter*)data2; - bool drawborder = (m_have_border_color && m_border_width); + bool drawborder = m_border_width; if (m_backgroundpixmap) From 1f7c6477beee078607fc08a5144cd7ab9ef672f0 Mon Sep 17 00:00:00 2001 From: Gordon Lack Date: Wed, 24 Jan 2024 21:47:23 +0000 Subject: [PATCH 03/10] Correct inverted logic for, and options which limitEvent --- lib/python/Screens/InfoBarGenerics.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/python/Screens/InfoBarGenerics.py b/lib/python/Screens/InfoBarGenerics.py index 361c88573c..464f5f57ad 100644 --- a/lib/python/Screens/InfoBarGenerics.py +++ b/lib/python/Screens/InfoBarGenerics.py @@ -3359,7 +3359,7 @@ def startInstantRecording(self, limitEvent=False): if limitEvent: end = info["end"] else: - if limitEvent: + if not limitEvent: self.session.open(MessageBox, _("No event info found, recording indefinitely."), MessageBox.TYPE_INFO, simple=True) if isinstance(serviceref, eServiceReference): @@ -3452,7 +3452,7 @@ def recordQuestionCallback(self, answer): self.deleteRecording = True self.stopAllCurrentRecordings(list) elif answer[1] in ("indefinitely", "manualduration", "manualendtime", "event"): - self.startInstantRecording(limitEvent=answer[1] in ("event", "manualendtime") or False) + self.startInstantRecording(limitEvent=answer[1] in ("manualduration", "manualendtime", "event") or False) if answer[1] == "manualduration": self.changeDuration(len(self.recording) - 1) elif answer[1] == "manualendtime": From e876d3d19f9925df6c8f1f41f894aa8f4b230f19 Mon Sep 17 00:00:00 2001 From: Dimitar Tsenev Date: Thu, 25 Jan 2024 16:10:50 +0200 Subject: [PATCH 04/10] [Added] Possinility pager to handle onSelChanged event --- lib/python/Components/Addons/Pager.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lib/python/Components/Addons/Pager.py b/lib/python/Components/Addons/Pager.py index 6cc9e71b18..967017e91a 100644 --- a/lib/python/Components/Addons/Pager.py +++ b/lib/python/Components/Addons/Pager.py @@ -35,8 +35,11 @@ def onContainerShown(self): if hasattr(self.source, "instance") and hasattr(self.source.instance, "setScrollbarMode"): self.source.instance.setScrollbarMode(2) - if self.initPager not in self.source.onSelectionChanged: + if hasattr(self.source, "onSelectionChanged") and self.initPager not in self.source.onSelectionChanged: self.source.onSelectionChanged.append(self.initPager) + if hasattr(self.source, "onSelChanged") and self.initPager not in self.source.onSelChanged: + self.source.onSelChanged.append(self.initPager) + self.initPager() GUI_WIDGET = eListbox From c40e27fc282aaeab4bec5cc064752150264b280e Mon Sep 17 00:00:00 2001 From: Dimitar Tsenev Date: Sat, 20 Jan 2024 14:47:18 +0200 Subject: [PATCH 05/10] [display800] add PackageManager --- data/display800/skin_display_templates.xml | 7 +++++++ lib/python/Plugins/SystemPlugins/ViX/PackageManager.py | 7 ++++++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/data/display800/skin_display_templates.xml b/data/display800/skin_display_templates.xml index feff284bd2..0b47936d2f 100644 --- a/data/display800/skin_display_templates.xml +++ b/data/display800/skin_display_templates.xml @@ -437,5 +437,12 @@ + + + + + + + diff --git a/lib/python/Plugins/SystemPlugins/ViX/PackageManager.py b/lib/python/Plugins/SystemPlugins/ViX/PackageManager.py index 64553a424c..9e163a1cc8 100644 --- a/lib/python/Plugins/SystemPlugins/ViX/PackageManager.py +++ b/lib/python/Plugins/SystemPlugins/ViX/PackageManager.py @@ -13,7 +13,7 @@ from Screens.Ipkg import Ipkg from Screens.MessageBox import MessageBox -from Screens.Screen import Screen +from Screens.Screen import Screen, ScreenSummary from Screens.Standby import TryQuitMainloop from Tools.Directories import resolveFilename, SCOPE_PLUGINS, SCOPE_CURRENT_PLUGIN, SCOPE_CURRENT_SKIN @@ -47,6 +47,11 @@ def load_cache(cache_file): return pickle.load(open(cache_file, "rb")) +class PackageManagerSummary(ScreenSummary): + def __init__(self, session, parent): + ScreenSummary.__init__(self, session, parent=parent) + + class PackageManager(Screen, NumericalTextInput): skin = [""" From f99544810a4cccf73ab3571ebe2c28984c6f3cb8 Mon Sep 17 00:00:00 2001 From: Huevos Date: Thu, 25 Jan 2024 16:24:36 +0100 Subject: [PATCH 06/10] [ImageManager] fix summary --- lib/python/Plugins/SystemPlugins/ViX/ImageManager.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/lib/python/Plugins/SystemPlugins/ViX/ImageManager.py b/lib/python/Plugins/SystemPlugins/ViX/ImageManager.py index 8b78472163..a952ffb727 100644 --- a/lib/python/Plugins/SystemPlugins/ViX/ImageManager.py +++ b/lib/python/Plugins/SystemPlugins/ViX/ImageManager.py @@ -234,12 +234,15 @@ def __init__(self, session): if self.selectionChanged not in self["list"].onSelectionChanged: self["list"].onSelectionChanged.append(self.selectionChanged) + def createSummary(self): + from Screens.PluginBrowser import PluginBrowserSummary + return PluginBrowserSummary + def selectionChanged(self): - # Where is this used? self.onChangedEntry does not appear to be populated anywhere. Maybe dead code. item = self["list"].getCurrent() # (name, link) desc = self["backupstatus"].text if item: - name = item[1] + name = item[0] else: name = "" for cb in self.onChangedEntry: From f32700af50450a8f6fff81b2ba0302b79cc81c67 Mon Sep 17 00:00:00 2001 From: Huevos Date: Thu, 25 Jan 2024 16:26:04 +0100 Subject: [PATCH 07/10] [PackageManager] add filtering based on package status --- .../SystemPlugins/ViX/PackageManager.py | 73 ++++++++++++++++--- 1 file changed, 64 insertions(+), 9 deletions(-) diff --git a/lib/python/Plugins/SystemPlugins/ViX/PackageManager.py b/lib/python/Plugins/SystemPlugins/ViX/PackageManager.py index 9e163a1cc8..050d0ea487 100644 --- a/lib/python/Plugins/SystemPlugins/ViX/PackageManager.py +++ b/lib/python/Plugins/SystemPlugins/ViX/PackageManager.py @@ -90,7 +90,7 @@ class PackageManager(Screen, NumericalTextInput): def __init__(self, session): Screen.__init__(self, session) NumericalTextInput.__init__(self) - self.setTitle(_("Package manager")) + self.title = _("Package manager") self.setUseableChars("1234567890abcdefghijklmnopqrstuvwxyz") @@ -98,7 +98,6 @@ def __init__(self, session): { "ok": self.go, "cancel": self.exit, - "save": self.reload, "gotAsciiCode": self.keyGotAscii, "1": self.keyNumberGlobal, "2": self.keyNumberGlobal, @@ -112,11 +111,21 @@ def __init__(self, session): "0": self.keyNumberGlobal }, -1) + self["filterActions"] = NumberActionMap(["SetupActions"], + { + "deleteBackward": self.filterPrev, + "deleteForward": self.filterNext, + "save": self.reload, + }, -1) + self["filterActions"].setEnabled(False) + self.list = [] self.statuslist = [] self["list"] = List(self.list) self["key_red"] = StaticText(_("Close")) - self["key_green"] = StaticText(_("Refresh list")) + self["key_green"] = StaticText() + self["key_previous"] = StaticText() + self["key_next"] = StaticText() self.imagePath = "%s/images/" % os.path.dirname(os.path.realpath(__file__)) self.list_updating = True @@ -130,6 +139,12 @@ def __init__(self, session): self.cache_file = "/etc/enigma2/packetmanager.cache" # Path to cache directory self.oktext = _("\nAfter pressing OK, please wait!") self.unwanted_extensions = ("-dbg", "-dev", "-doc", "-staticdev", "-src", "busybox") + self.filters = {"All": _("All"), "Installed": _("Installed"), "Upgradeable": _("Upgradeable"), "Installable": _("Installable")} + + + self.installedpng = LoadPixmap(cached=True, path=self.imagePath + "installed.png") + self.upgradeablepng = LoadPixmap(cached=True, path=self.imagePath + "upgradeable.png") + self.installablepng = LoadPixmap(cached=True, path=self.imagePath + "installable.png") self.ipkg = IpkgComponent() self.ipkg.addCallback(self.ipkgCallback) @@ -339,18 +354,16 @@ def buildEntryComponent(self, name, version, description, state): if not description: description = "No description available." if state == "installed": - installedpng = LoadPixmap(cached=True, path=self.imagePath + "installed.png") - return ((name, version, _(description), state, installedpng, divpng)) + return ((name, version, _(description), state, self.installedpng, divpng)) elif state == "upgradeable": - upgradeablepng = LoadPixmap(cached=True, path=self.imagePath + "upgradeable.png") - return ((name, version, _(description), state, upgradeablepng, divpng)) + return ((name, version, _(description), state, self.upgradeablepng, divpng)) else: - installablepng = LoadPixmap(cached=True, path=self.imagePath + "installable.png") - return ((name, version, _(description), state, installablepng, divpng)) + return ((name, version, _(description), state, self.installablepng, divpng)) def buildPacketList(self): self.list = [] self.cachelist = [] + self.i = 0 if self.cache_ttl > 0 and self.vc != 0: print("Loading packagelist cache from ", self.cache_file) try: @@ -377,6 +390,48 @@ def buildPacketList(self): self.cachelist.append([x[0], x[1], x[2], status]) write_cache(self.cache_file, self.cachelist) self["list"].setList(self.list) + self.updateTexts() + + def filterPrev(self): + self.i -= 1 + self.filterList() + + def filterNext(self): + self.i += 1 + self.filterList() + def filterList(self): + if self.list: + filter = self.getCurrentFilter() + if filter == "All": + self["list"].setList(self.list) + elif filter == "Installed": + self["list"].setList([x for x in self.list if x[4] is self.installedpng]) + elif filter == "Upgradeable": + self["list"].setList([x for x in self.list if x[4] is self.upgradeablepng]) + elif filter == "Installable": + self["list"].setList([x for x in self.list if x[4] is self.installablepng]) + self.updateTexts() + + def getCurrentFilter(self): + return list(self.filters.keys())[self.i % len(self.filters)] + + def updateTexts(self): + if self.list: + self["filterActions"].setEnabled(True) + self.title = _("Package manager") + " - " + self.filters[self.getCurrentFilter()] + self["key_green"].text = _("Refresh list") + self["key_previous"].text = _("PREVIOUS") + self["key_next"].text = _("NEXT") + else: + self["filterActions"].setEnabled(False) + self.title = _("Package manager") + self["key_green"].text = "" + self["key_previous"].text = "" + self["key_next"].text = "" + def reloadPluginlist(self): plugins.readPluginList(resolveFilename(SCOPE_PLUGINS)) + + def createSummary(self): + return PackageManagerSummary From f9e1f6f0c30a3304d71c1820040e173a2c50b950 Mon Sep 17 00:00:00 2001 From: openvix-bot Date: Thu, 25 Jan 2024 15:27:56 +0000 Subject: [PATCH 08/10] PEP8 double aggressive E22, E224, E241, E242 and E27 --- lib/python/Plugins/SystemPlugins/ViX/PackageManager.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/python/Plugins/SystemPlugins/ViX/PackageManager.py b/lib/python/Plugins/SystemPlugins/ViX/PackageManager.py index 050d0ea487..4c5997a41e 100644 --- a/lib/python/Plugins/SystemPlugins/ViX/PackageManager.py +++ b/lib/python/Plugins/SystemPlugins/ViX/PackageManager.py @@ -422,13 +422,13 @@ def updateTexts(self): self.title = _("Package manager") + " - " + self.filters[self.getCurrentFilter()] self["key_green"].text = _("Refresh list") self["key_previous"].text = _("PREVIOUS") - self["key_next"].text = _("NEXT") + self["key_next"].text = _("NEXT") else: self["filterActions"].setEnabled(False) self.title = _("Package manager") self["key_green"].text = "" self["key_previous"].text = "" - self["key_next"].text = "" + self["key_next"].text = "" def reloadPluginlist(self): plugins.readPluginList(resolveFilename(SCOPE_PLUGINS)) From 9ffd320c613762660a02bf938c4e8927544cd021 Mon Sep 17 00:00:00 2001 From: openvix-bot Date: Thu, 25 Jan 2024 15:28:23 +0000 Subject: [PATCH 09/10] PEP8 double aggressive E301 ~ E306 --- lib/python/Plugins/SystemPlugins/ViX/PackageManager.py | 1 - 1 file changed, 1 deletion(-) diff --git a/lib/python/Plugins/SystemPlugins/ViX/PackageManager.py b/lib/python/Plugins/SystemPlugins/ViX/PackageManager.py index 4c5997a41e..879902b524 100644 --- a/lib/python/Plugins/SystemPlugins/ViX/PackageManager.py +++ b/lib/python/Plugins/SystemPlugins/ViX/PackageManager.py @@ -141,7 +141,6 @@ def __init__(self, session): self.unwanted_extensions = ("-dbg", "-dev", "-doc", "-staticdev", "-src", "busybox") self.filters = {"All": _("All"), "Installed": _("Installed"), "Upgradeable": _("Upgradeable"), "Installable": _("Installable")} - self.installedpng = LoadPixmap(cached=True, path=self.imagePath + "installed.png") self.upgradeablepng = LoadPixmap(cached=True, path=self.imagePath + "upgradeable.png") self.installablepng = LoadPixmap(cached=True, path=self.imagePath + "installable.png") From fe76d324dac6eac96a4794ce39dcf702df61e1b0 Mon Sep 17 00:00:00 2001 From: openvix-bot Date: Thu, 25 Jan 2024 15:28:33 +0000 Subject: [PATCH 10/10] PEP8 double aggressive W291 ~ W293 and W391 --- lib/python/Plugins/SystemPlugins/ViX/PackageManager.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/python/Plugins/SystemPlugins/ViX/PackageManager.py b/lib/python/Plugins/SystemPlugins/ViX/PackageManager.py index 879902b524..7c4114319e 100644 --- a/lib/python/Plugins/SystemPlugins/ViX/PackageManager.py +++ b/lib/python/Plugins/SystemPlugins/ViX/PackageManager.py @@ -428,7 +428,7 @@ def updateTexts(self): self["key_green"].text = "" self["key_previous"].text = "" self["key_next"].text = "" - + def reloadPluginlist(self): plugins.readPluginList(resolveFilename(SCOPE_PLUGINS))