Skip to content

Commit

Permalink
Merge OpenViX
Browse files Browse the repository at this point in the history
  • Loading branch information
Ev0-BH committed Dec 2, 2022
2 parents 8695244 + 149c210 commit e874bb7
Show file tree
Hide file tree
Showing 6 changed files with 54 additions and 34 deletions.
2 changes: 1 addition & 1 deletion lib/python/Screens/CronTimer.py
Expand Up @@ -272,7 +272,7 @@ def __init__(self, session):
ConfigListScreen.__init__(self, self.list, session=self.session, on_change=self.changedEntry)
self['key_red'] = Label(_("Close"))
self['key_green'] = Label(_("Save"))
self['actions'] = ActionMap(['WizardActions', 'ColorActions', "MenuActions"],
self['actions'] = ActionMap(['WizardActions', 'ColorActions', "MenuActions", "VirtualKeyboardActions"],
{
'red': self.close,
'green': self.checkentry,
Expand Down
2 changes: 1 addition & 1 deletion lib/python/Screens/EventView.py
Expand Up @@ -49,7 +49,7 @@ def __init__(self, event, ref, callback=None, similarEPGCB=None):
self.similarEPGCB = similarEPGCB
self.cbFunc = callback
self.currentService = ref
self.isRecording = (not ref.ref.flags & eServiceReference.isGroup) and ref.ref.getPath()
self.isRecording = not ref.ref.flags & eServiceReference.isGroup and ref.ref.getPath() and "%3a//" not in ref.ref.toString()
self.event = event
self["Service"] = ServiceEvent()
self["Event"] = Event()
Expand Down
75 changes: 47 additions & 28 deletions lib/python/Screens/InputBox.py
@@ -1,52 +1,63 @@
from enigma import getPrevAsciiCode
from Screens.Screen import Screen
from Screens.HelpMenu import HelpableScreen
from Screens.MessageBox import MessageBox
from Components.ActionMap import NumberActionMap
from Components.Label import Label
from Components.Input import Input
from Screens.Screen import Screen
from Screens.VirtualKeyBoard import VirtualKeyBoard
from Components.ActionMap import HelpableNumberActionMap
from Components.config import config
from Components.Input import Input
from Components.Label import Label
from Components.Sources.StaticText import StaticText
from Tools.BoundFunction import boundFunction
from Tools.Notifications import AddPopup
from time import time


class InputBox(Screen):
class InputBox(Screen, HelpableScreen):
def __init__(self, session, title="", windowTitle=None, useableChars=None, **kwargs):
Screen.__init__(self, session)

self["key_red"] = StaticText(_("Cancel"))
self["key_green"] = StaticText(_("Save"))
self["key_text"] = StaticText(_("TEXT"))
self["text"] = Label(title)
self["input"] = Input(**kwargs)

HelpableScreen.__init__(self)

if windowTitle is None:
windowTitle = _("Input")
self.onShown.append(boundFunction(self.setTitle, windowTitle))
if useableChars is not None:
self["input"].setUseableChars(useableChars)

self["actions"] = NumberActionMap(["WizardActions", "InputBoxActions", "InputAsciiActions", "KeyboardInputActions"],
self["actions"] = HelpableNumberActionMap(self, ["WizardActions", "InputBoxActions", "InputAsciiActions", "KeyboardInputActions", "ColorActions", "VirtualKeyboardActions"],
{
"gotAsciiCode": self.gotAsciiCode,
"ok": self.go,
"back": self.cancel,
"left": self.keyLeft,
"right": self.keyRight,
"home": self.keyHome,
"end": self.keyEnd,
"deleteForward": self.keyDelete,
"deleteBackward": self.keyBackspace,
"tab": self.keyTab,
"toggleOverwrite": self.keyInsert,
"1": self.keyNumberGlobal,
"2": self.keyNumberGlobal,
"3": self.keyNumberGlobal,
"4": self.keyNumberGlobal,
"5": self.keyNumberGlobal,
"6": self.keyNumberGlobal,
"7": self.keyNumberGlobal,
"8": self.keyNumberGlobal,
"9": self.keyNumberGlobal,
"0": self.keyNumberGlobal
}, -1)
"showVirtualKeyboard": (self.keyText, _("Open VirtualKeyboard")),
"gotAsciiCode": (self.gotAsciiCode, _("Handle ASCII")),
"green": (self.go, _("Save")),
"ok": (self.go, _("Save")),
"red": (self.cancel, _("Cancel")),
"back": (self.cancel, _("Cancel")),
"left": (self.keyLeft, _("Move left")),
"right": (self.keyRight, _("Move right")),
"home": (self.keyHome, _("Move to start")),
"end": (self.keyEnd, _("Move to end")),
"deleteForward": (self.keyDelete, _("Delete forwards")),
"deleteBackward": (self.keyBackspace, _("Delete backwards")),
"tab": (self.keyTab, _("Tab")),
"toggleOverwrite": (self.keyInsert, _("Number or SMS style data entry")),
"1": (self.keyNumberGlobal, _("Number or SMS style data entry")),
"2": (self.keyNumberGlobal, _("Number or SMS style data entry")),
"3": (self.keyNumberGlobal, _("Number or SMS style data entry")),
"4": (self.keyNumberGlobal, _("Number or SMS style data entry")),
"5": (self.keyNumberGlobal, _("Number or SMS style data entry")),
"6": (self.keyNumberGlobal, _("Number or SMS style data entry")),
"7": (self.keyNumberGlobal, _("Number or SMS style data entry")),
"8": (self.keyNumberGlobal, _("Number or SMS style data entry")),
"9": (self.keyNumberGlobal, _("Number or SMS style data entry")),
"0": (self.keyNumberGlobal, _("Number or SMS style data entry")),
}, prio=-1, description=_("InputBox Actions"))

if self["input"].type == Input.TEXT:
self.onExecBegin.append(self.setKeyboardModeAscii)
Expand Down Expand Up @@ -89,6 +100,14 @@ def keyTab(self):
def keyInsert(self):
self["input"].toggleOverwrite()

def keyText(self):
self.session.openWithCallback(self.VirtualKeyBoardCallback, VirtualKeyBoard, title=self["text"].text, text=self["input"].getText())

def VirtualKeyBoardCallback(self, callback=None):
if callback is not None and len(callback):
self["input"].setText(callback)
self.keyEnd()


class PinInput(InputBox):
def __init__(self, session, service="", triesEntry=None, pinList=None, popup=False, simple=True, *args, **kwargs):
Expand Down
1 change: 1 addition & 0 deletions lib/python/Screens/RdsDisplay.py
Expand Up @@ -205,6 +205,7 @@ def getMaskForPage(self, page, masks=None):
if not decoder: # this should never happen
print("[RdsDisplay] NO RDS DECODER in getMaskForPage")
masks = decoder.getRassInteractiveMask()
mask = 0
if masks:
mask = masks[(page * 4) // 8]
if page % 2:
Expand Down
4 changes: 2 additions & 2 deletions lib/python/Tools/Directories.py
@@ -1,5 +1,5 @@
# -*- coding: utf-8 -*-
import errno
from errno import ENOENT, EXDEV

from os.path import basename as pathBasename, dirname as pathDirname, exists as pathExists, getsize as pathGetsize, isdir as pathIsdir, isfile as pathIsfile, islink as pathIslink, join as pathJoin, normpath as pathNormpath, splitext as pathSplitext

Expand Down Expand Up @@ -538,7 +538,7 @@ def moveFiles(fileList):
rename(item[0], item[1])
movedList.append(item)
except (IOError, OSError) as err:
if err.errno == errno.EXDEV: # Invalid cross-device link
if err.errno == EXDEV: # Invalid cross-device link
print("[Directories] Warning: Cannot rename across devices, trying slower move.")
from Tools.CopyFiles import moveFiles as extMoveFiles # OpenViX, OpenATV, Beyonwiz
# from Screens.CopyFiles import moveFiles as extMoveFiles # OpenPLi
Expand Down
4 changes: 2 additions & 2 deletions tools/enigma2.sh.in
Expand Up @@ -123,7 +123,7 @@ with open(ofile, "r+b") as f:
while pos >= 0:
f.seek(pos)
buf = f.read(1024)
where = buf.rfind("\n")
where = buf.rfind(b"\n")
if where < 0:
pos -= 1024
continue
Expand All @@ -134,7 +134,7 @@ with open(ofile, "r+b") as f:
f.truncate()
# Now add the note as to where future logging has gone
#
f.write("Continued in %s\n" % nfile)
f.write(b"Continued in %s\n" % bytes(nfile, "UTF8"))
break
EOP
}
Expand Down

0 comments on commit e874bb7

Please sign in to comment.