PDA

View Full Version : [OS-mini] Empty buttons (no text) in timer and sanity error views



GezAndJaack
24-04-18, 15:04
I'm missing the text on the buttons in two views - the timer list and also the sanity timer error pop-up. I've attached screenshots.

My first question - easy to answer and more urgent than a fix - what texts are supposed to be there? I've searched for screenshots but can't find any.

Second question - ideas what might have caused this, and is there a fix?

56637

56638

ccs
24-04-18, 15:07
Which skin are you using?

abu baniaz
24-04-18, 15:20
There were some changes to the skin code with regards to "buttons".

GezAndJaack
24-04-18, 15:22
Which skin are you using?
It says "default" - which looks like the one labelled ViX-Night-HD

GezAndJaack
24-04-18, 15:24
Which skin are you using?

Thanks, btw, for this tip - changing the skin has revealed the button texts at least! I'd still rather have it work with the dark skin though.....

GezAndJaack
24-04-18, 15:28
Actually with the daylight skin there's still no button or text for "green" in the timer sanity error view.

56639

abu baniaz
24-04-18, 15:29
Can you start Enigma2 in console mode and see what the exact name of the screen is please? See this post

http://www.world-of-satellite.com/showthread.php?58930-New-skin-Simple-Ten-Eighty&p=466116&viewfull=1#post466116

Willo3092
24-04-18, 18:04
I think something was changed in 5.1.014. There's no text on the buttons in KiddaC's skins either.

openvix: developer 5.1.014.003
update /lib/makefile with missing makefile.inc
ClientModeScreen: Add VKeyIconSupport
SystemInfo: redefine transcoding properties
NimManager: parse blindscan property
NimManager: whitespace fix
cosmetic: fix SystemInfo misnomer
SystemInfo: add systeminfo for transcoding
[TimerEdit/StreamingClients] convert some buttons to StaticText.
[CCcamInfo] Cosmetics in last commit.
[CCcamInfo] Normalized color buttons.

GezAndJaack
24-04-18, 18:29
Can you start Enigma2 in console mode and see what the exact name of the screen is please? See this post

http://www.world-of-satellite.com/showthread.php?58930-New-skin-Simple-Ten-Eighty&p=466116&viewfull=1#post466116

Well, I've never actually used telnet so I might be a while getting back to you on this.

abu baniaz
24-04-18, 18:33
Guide in my signature if you need it.

GezAndJaack
24-04-18, 21:24
Here's my report.

First, I made sure skin was set to "default" which is the one I originally posted about

Went to timer list


< 4241.068> [eInputDeviceInit] 1 16a 1
< 4241.075> [InfoBarGenerics] KEY: 362
< 4241.077> [MORPHEUS] key
< 4241.077> [ActionMap] InfobarTimerButtonActions timerSelection
< 4241.138> [Skin] processing screen TimerEditList:
< 4241.199> [Skin] No skin to read...
< 4241.200> [Skin] processing screen <embedded-in-'TimerEditListSummary'>:
< 4241.290> [eInputDeviceInit] 0 16a 1
< 4241.299> [InfoBarGenerics] KEY: 362
< 4241.300> [MORPHEUS] key

which gave this screenshot

56640

Then went back to epg. I didn't notice anything wrong (so no screenshot) but this is what the log file says:


< 4267.439> [MORPHEUS] key
< 4267.461> [ActionMap] InfobarEPGActions EPGPressed
< 4267.542> [Skin] processing screen GraphicalEPGPIG:
< 4267.619> [GUISkin] warning, skin is missing element number in <class 'Screens.EpgSelection.EPGSelection'>
< 4267.621> [GUISkin] warning, skin is missing element jump in <class 'Screens.EpgSelection.EPGSelection'>
< 4267.627> [GUISkin] warning, skin is missing element primetime in <class 'Screens.EpgSelection.EPGSelection'>
< 4267.628> [GUISkin] warning, skin is missing element timeline2 in <class 'Screens.EpgSelection.EPGSelection'>
< 4267.629> [GUISkin] warning, skin is missing element timeline3 in <class 'Screens.EpgSelection.EPGSelection'>
< 4267.629> [GUISkin] warning, skin is missing element timeline0 in <class 'Screens.EpgSelection.EPGSelection'>
< 4267.630> [GUISkin] warning, skin is missing element timeline1 in <class 'Screens.EpgSelection.EPGSelection'>
< 4267.631> [GUISkin] warning, skin is missing element timeline4 in <class 'Screens.EpgSelection.EPGSelection'>
< 4267.632> [GUISkin] warning, skin is missing element timeline5 in <class 'Screens.EpgSelection.EPGSelection'>
< 4267.641> [GUISkin] warning, skin is missing element change_bouquet in <class 'Screens.EpgSelection.EPGSelection'>
< 4267.660> [GUISkin] warning, skin is missing element page in <class 'Screens.EpgSelection.EPGSelection'>
< 4267.716> [Skin] processing screen SimpleSummary:
< 4270.696> [eInputDeviceInit] 1 67 1
< 4270.702> [InfoBarGenerics] KEY: 103 UP
< 4270.703> [MORPHEUS] key

Then I attempted to record something that would clash.


< 4305.835> [InfoBarGenerics] KEY: 399 GREEN
< 4305.836> [MORPHEUS] key
< 4305.934> [eDVBFrontend] opening frontend 1
< 4305.936> [eDVBFrontend] opening frontend 0
< 4305.953> [TimerSanityCheck] conflict detected!
< 4305.954> [RecordTimer] timer conflict detected!
< 4305.955> [RecordTimerEntry(name=The Aviators, begin=Tue Apr 24 23:00:00 2018, serviceref=1:0:1:CD19:844:2:11A0000:0:
0:0:, justplay=False, isAutoTimer=False), RecordTimerEntry(name=X-Men: Days of Future Past, begin=Tue Apr 24 21:00:00 20
18, serviceref=1:0:1:2404:7F9:2:11A0000:0:0:0:, justplay=0, isAutoTimer=0), RecordTimerEntry(name=Chivalry and Betrayal:
The Hundred..., begin=Tue Apr 24 23:00:00 2018, serviceref=1:0:19:22E3:80D:2:11A0000:0:0:0:, justplay=0, isAutoTimer=0)
, RecordTimerEntry(name=Flight HS13: Walter Presents, begin=Tue Apr 24 23:00:00 2018, serviceref=1:0:1:23FB:7F9:2:11A000
0:0:0:0:, justplay=0, isAutoTimer=0)]
< 4305.978> [TimerSanityCheck] conflict detected!
< 4305.978> [RecordTimer] timer conflict detected!
< 4305.979> [RecordTimerEntry(name=The Aviators, begin=Tue Apr 24 23:00:00 2018, serviceref=1:0:1:CD19:844:2:11A0000:0:
0:0:, justplay=False, isAutoTimer=False), RecordTimerEntry(name=X-Men: Days of Future Past, begin=Tue Apr 24 21:00:00 20
18, serviceref=1:0:1:2404:7F9:2:11A0000:0:0:0:, justplay=0, isAutoTimer=0), RecordTimerEntry(name=Chivalry and Betrayal:
The Hundred..., begin=Tue Apr 24 23:00:00 2018, serviceref=1:0:19:22E3:80D:2:11A0000:0:0:0:, justplay=0, isAutoTimer=0)
, RecordTimerEntry(name=Flight HS13: Walter Presents, begin=Tue Apr 24 23:00:00 2018, serviceref=1:0:1:23FB:7F9:2:11A000
0:0:0:0:, justplay=0, isAutoTimer=0)]
< 4305.990> [TimerEdit] TimerSanityConflict
< 4306.013> [Skin] processing screen TimerSanityConflict:
< 4306.021> [Skin] Error in screen 'TimerSanityConflict' widget 'widget': [Skin] {skin.xml}: component with name 'key_g
reen' was not found in skin of screen 'TimerSanityConflict'!. Please contact the skin's author!
< 4306.061> [Skin] processing screen SimpleSummary:
< 4317.389> [MORPHEUS] serviceref 1:0:19:52D0:814:2:11A0000:0:0:0:

And this is the screenshot of that:

56641

Next I went to change the skin - I selected the one called "ViX-Night-HD" and pressed OK


< 4345.525> [Skin] processing screen SkinSelector:
< 4345.559> [ePicLoad] setPara max-X=280 max-Y=210 aspect_ratio=1.000000 cache=1 resize=1 bg=#FF000000 auto_orient=0
< 4345.560> [ePicLoad] decode picture... /usr/share/enigma2/./prev.png
< 4345.560> [EXIF] getting exif from PNG
< 4345.563> [Skin] processing screen SimpleSummary:
< 4345.572> [eInputDeviceInit] 0 160 1
< 4345.579> [InfoBarGenerics] KEY: 352 OK
< 4345.580> [MORPHEUS] key
< 4346.540> [eInputDeviceInit] 1 6c 1
< 4346.546> [InfoBarGenerics] KEY: 108 DOWN
< 4346.547> [MORPHEUS] key
< 4346.548> [ActionMap] DirectionActions down
< 4346.549> [ePicLoad] decode picture... /usr/share/enigma2/Magic-FHD/prev.png
< 4346.549> [EXIF] getting exif from PNG
< 4346.732> [eInputDeviceInit] 0 6c 1
< 4346.739> [InfoBarGenerics] KEY: 108 DOWN
< 4346.740> [MORPHEUS] key
< 4347.008> [eInputDeviceInit] 1 6c 1
< 4347.015> [InfoBarGenerics] KEY: 108 DOWN
< 4347.015> [MORPHEUS] key
< 4347.016> [ActionMap] DirectionActions down
< 4347.017> [ePicLoad] decode picture... /usr/share/enigma2/ViX-Day-HD/prev.png
< 4347.017> [EXIF] getting exif from PNG
< 4347.236> [eInputDeviceInit] 0 6c 1
< 4347.243> [InfoBarGenerics] KEY: 108 DOWN
< 4347.245> [MORPHEUS] key
< 4347.332> [eInputDeviceInit] 1 6c 1
< 4347.338> [InfoBarGenerics] KEY: 108 DOWN
< 4347.339> [MORPHEUS] key
< 4347.339> [ActionMap] DirectionActions down
< 4347.340> [ePicLoad] decode picture... /usr/share/enigma2/ViX-Night-HD/prev.png
< 4347.341> [EXIF] getting exif from PNG
< 4347.398> [MORPHEUS] serviceref 1:0:19:52D0:814:2:11A0000:0:0:0:
< 4347.398> [MORPHEUS] no Radio
< 4347.399> [MORPHEUS] no Audio Mediaplay
< 4347.399> [MORPHEUS] not paused
< 4347.400> [MORPHEUS] nokey since 0 sec
< 4347.524> [eInputDeviceInit] 0 6c 1
< 4347.531> [InfoBarGenerics] KEY: 108 DOWN
< 4347.532> [MORPHEUS] key
< 4348.412> [eInputDeviceInit] 1 160 1
< 4348.419> [InfoBarGenerics] KEY: 352 OK
< 4348.419> [MORPHEUS] key
< 4348.420> [ActionMap] SetupActions ok
< 4348.421> [SkinSelector] Selected Skin: /usr/share/enigma2ViX-Night-HD/skin.xml
< 4348.427> [Skin] processing screen MessageBox:
< 4348.466> [Skin] processing screen MessageBox_summary:
< 4348.604> [eInputDeviceInit] 0 160 1
< 4348.610> [InfoBarGenerics] KEY: 352 OK
< 4348.611> [MORPHEUS] key
< 4349.600> [eInputDeviceInit] 1 160 1
< 4349.607> [InfoBarGenerics] KEY: 352 OK
< 4349.609> [MORPHEUS] key
< 4349.609> [ActionMap] MsgBoxActions ok

GUI rebooted (actually I ended up prompting it with init 4 when it didn't seem to be happening)

Went to timer list. It seemed normal (despite what this output says) so I didnt take a screenshot


< 4446.252> [eInputDeviceInit] 1 16a 1
< 4446.258> [InfoBarGenerics] KEY: 362
< 4446.259> [MORPHEUS] key
< 4446.259> [ActionMap] InfobarTimerButtonActions timerSelection
< 4446.322> [Skin] processing screen TimerEditList:
< 4446.462> [Skin] No skin to read...
< 4446.463> [Skin] processing screen <embedded-in-'TimerEditListSummary'>:
< 4446.558> [eInputDeviceInit] 0 16a 1
< 4446.564> [InfoBarGenerics] KEY: 362
< 4446.565> [MORPHEUS] key

Then via EPG (with similar output to before using default skin, mentioning skin missing elements) I attempted the clashing recording again


< 4485.150> [InfoBarGenerics] KEY: 399 GREEN
< 4485.151> [MORPHEUS] key
< 4485.262> [eDVBFrontend] opening frontend 1
< 4485.264> [eDVBFrontend] opening frontend 0
< 4485.280> [TimerSanityCheck] conflict detected!
< 4485.280> [RecordTimer] timer conflict detected!
< 4485.281> [RecordTimerEntry(name=The Aviators, begin=Tue Apr 24 23:00:00 2018, serviceref=1:0:1:CD19:844:2:11A0000:0:
0:0:, justplay=False, isAutoTimer=False), RecordTimerEntry(name=X-Men: Days of Future Past, begin=Tue Apr 24 21:00:00 20
18, serviceref=1:0:1:2404:7F9:2:11A0000:0:0:0:, justplay=0, isAutoTimer=0), RecordTimerEntry(name=Chivalry and Betrayal:
The Hundred..., begin=Tue Apr 24 23:00:00 2018, serviceref=1:0:19:22E3:80D:2:11A0000:0:0:0:, justplay=0, isAutoTimer=0)
, RecordTimerEntry(name=Flight HS13: Walter Presents, begin=Tue Apr 24 23:00:00 2018, serviceref=1:0:1:23FB:7F9:2:11A000
0:0:0:0:, justplay=0, isAutoTimer=0)]
< 4485.302> [TimerSanityCheck] conflict detected!
< 4485.303> [RecordTimer] timer conflict detected!
< 4485.304> [RecordTimerEntry(name=The Aviators, begin=Tue Apr 24 23:00:00 2018, serviceref=1:0:1:CD19:844:2:11A0000:0:
0:0:, justplay=False, isAutoTimer=False), RecordTimerEntry(name=X-Men: Days of Future Past, begin=Tue Apr 24 21:00:00 20
18, serviceref=1:0:1:2404:7F9:2:11A0000:0:0:0:, justplay=0, isAutoTimer=0), RecordTimerEntry(name=Chivalry and Betrayal:
The Hundred..., begin=Tue Apr 24 23:00:00 2018, serviceref=1:0:19:22E3:80D:2:11A0000:0:0:0:, justplay=0, isAutoTimer=0)
, RecordTimerEntry(name=Flight HS13: Walter Presents, begin=Tue Apr 24 23:00:00 2018, serviceref=1:0:1:23FB:7F9:2:11A000
0:0:0:0:, justplay=0, isAutoTimer=0)]
< 4485.315> [TimerEdit] TimerSanityConflict
< 4485.342> [Skin] processing screen TimerSanityConflict:
< 4485.424> [Skin] processing screen SimpleSummary:
< 4492.312> [MORPHEUS] serviceref 1:0:19:52D0:814:2:11A0000:0:0:0:

Here's a screenshot of that. Should there be a green and blue option?

56642

abu baniaz
24-04-18, 21:37
Default skin = Emergency/fallback screen. This is shared among images, so some changes are not possible.

Standard skin = Vix Night HD

The buttons are conditional. They should show when required

GezAndJaack
24-04-18, 22:01
Can someone please answer my first question: what are the actual options supposed to be on the timer sanity error screen and what colour are they supposed to be associated with?

With Vix Night HD I only have two options - "edit" (yellow) and "edit new entry" (red) Screenshot with previous post
With Vix Day HD there were three options - "edit", "edit new entry" and "disable" (blue). Screenshot earlier in thread
I am 90% sure there used to be a fourth option with a green button. I've been using the default skin for a year and until this problem arose about a month ago I remember four buttons in the four colours with text on each of them. But I can't remember the texts!

kiddac
24-04-18, 23:11
As I said on the other forum Willo, I am not changing my skins until all the image makers follow this idea of standardising this button naming.
It is completely impractical to have a version of my skins for vix and then a version for other builds. Especially as all my skins are now both hd and fhd. Thats 10 skins I would have to change. With multiple elements in them all. I am sure most other skinners have the exact same mind set. Vix jumped the gun on this. Therefore its their issue for now.

abu baniaz
24-04-18, 23:37
@GezAndJaack
As mentioned above, the buttons are conditional depending in which context/function they are called upon.

The error is here



< 4305.990> [TimerEdit] TimerSanityConflict
< 4306.013> [Skin] processing screen TimerSanityConflict:
< 4306.021> [Skin] Error in screen 'TimerSanityConflict' widget 'widget': [Skin] {skin.xml}: component with name 'key_green' was not found in skin of screen 'TimerSanityConflict'!

abu baniaz
25-04-18, 00:10
Even if the button pngs are there, it does not mean there should/would be text/wording.

As an example, this screen has all four colours.



<screen name="TimerLog" position="209,100" size="845,520" backgroundColor="window-bg">
<widget name="loglist" position="20,0" size="805,375" font="Regular;20" selectionPixmap="ViX-Common/buttons/FocusBar_H25x805.png" scrollbarMode="showOnDemand"/>
<widget name="logentry" position="10,400" size="825,30" font="Regular;20" backgroundColor="window-bg" transparent="0"/>
<ePixmap pixmap="ViX-Common/buttons/red.png" position="45,488" size="25,25" alphatest="blend"/>
<ePixmap pixmap="ViX-Common/buttons/green.png" position="235,488" size="25,25" alphatest="blend"/>
<ePixmap pixmap="ViX-Common/buttons/yellow.png" position="425,488" size="25,25" alphatest="blend"/>
<ePixmap pixmap="ViX-Common/buttons/blue.png" position="615,488" size="25,25" alphatest="blend"/>
<widget name="key_red" position="66,487" zPosition="1" size="150,25" font="Regular;20" halign="center" valign="center" backgroundColor="window-bg" transparent="1"/>
<widget name="key_green" position="258,487" zPosition="1" size="150,25" font="Regular;20" halign="center" valign="center" backgroundColor="window-bg" transparent="1"/>
<widget name="key_yellow" position="448,487" zPosition="1" size="150,25" font="Regular;20" halign="center" valign="center" backgroundColor="window-bg" transparent="1"/>
<widget name="key_blue" position="638,487" zPosition="1" size="150,25" font="Regular;20" halign="center" valign="center" backgroundColor="window-bg" transparent="1"/>
</screen>


I attach a screenshot

The python file that invokes/gives the button/labels are here

TimerEdit
https://raw.githubusercontent.com/OpenViX/enigma2/master/lib/python/Screens/TimerEdit.py

TimerSanityCheck
https://raw.githubusercontent.com/OpenViX/enigma2/master/lib/python/Components/TimerSanityCheck.py

You will have to look at the file for a full list of labels. Ctrl & F for the colour you want to search for.

abu baniaz
25-04-18, 00:25
You will find that OpenPLi And OpenVix have both adopted it. OpenBlackHole and also TeamBlue have it.

What is a "button"

Is it the png?
Is it the action?
Is it the wording?
If wording, is the "wording" a "label" or is it "text"

The thread is here


https://forums.openpli.org/topic/56924-button-and-label-pli-opinion


The confusion started over a decade ago. Pretty sure it was 2005. It will take time for it to be untangled.

On Rob's skin, his "buttons" are just "wording". On other skins, the different versions have been added in the templates. So if a plugin uses an old definition, that will still be present.

Huevos
25-04-18, 07:56
Vix jumped the gun on this.What? How has ViX "jumped the gun"? It is an issue in your skins, not in ours. Are you suggesting that our enigma has to remain identical to all other distros so things are easier for skinners? And by the way, once adopted, our button bar is zero maintenance for skinners, not like previously where every screen needed the buttons hard coded. Saves literally hundreds of lines, and countless hours of work for skinners. If I add a button somewhere in enigma it just displays automatically, no need to edit any of our skins. Same with text/menu buttons, etc.

kiddac
25-04-18, 11:44
It is an issue in your skins, not in ours.

No... its an issue with every skin ever designed with the exception of a small tiny handful of vix only skins that have been amended.


Are you suggesting that our enigma has to remain identical to all other distros so things are easier for skinners?

Nice... typical vix attitude. With that attitude I am surprised skinners even attempt to make their skins work on Vix if you have an us against the world attitutde.


not like previously where every screen needed the buttons hard coded.

Do these buttons now magically appear. No. Every screen still needs button code in. What are you talking about???


Saves literally hundreds of lines

It doesn't save hundreds of lines of code. It is actually more code if you recommend putting in a conditional statement for each button graphic.
Also in the documentation it recommends to actually double up the code to appease legacy. So literally adding hundreds of line of code.


, and countless hours of work for skinners.

So all skinners have got to spend countless hours changing all their skins, just because some bright spark had an idea to change 10 years plus worth of code.


And I am not saying a disagree with trying to unifying all this code. I fully agree it is tiresome trawling through every element trying to work out which button code or widget is being used on that particular screen.
But as mention quitely clearly in the doucmentation for this .


For all the Enigma2 builds there is a significant legacy of code and skins that needs to be preserved and protected.

It seems there has been no transition of this. It would have been a hell of lot smoother and better if when you were changing the python components in, you wrote in rules in the python file to check if legacy or new buttons are used.
The hard work could have been done in the python code. Instead of adding in extra parameters, or asking skinners to duplicate buttons or even change buttons in old skins.
Then in the future any new skins could adopt this button policy and it would affect anything. It really wouldn't have been that difficult. But now it is a pain in the bum.

Sicilian
25-04-18, 12:04
Nice... typical vix attitude. With that attitude I am surprised skinners even attempt to make their skins work on Vix if you have an us against the world attitutde.


Really?? You're accusing OpenViX team of having an attitude for trying to make improvements? I've just looked through some of your dozen posts here and you're accusing us of having attitude :lol3:

You've never posted any of your skins here (even when requested) or even offered any support for your skins here.

If these changes are so bad why have OpenPLi, OpenBlackHole and TeamBlue adopted these changes?

kiddac
25-04-18, 14:41
try reading the bit where I said I don't disagree with it in principle.

I don't post on this forum, because the mods create a hostile environment as proven in the past few posts of this thread. They will not except anything written against their beloved Vix. Not once has anyone said, I understand what you are saying.

And just because I don't post on this forum, doesn't mean the issue doesn't effect me. I have had nothing but mither since this has been brought in, with emails, private messages, forum posts all asking how to fix the skins to work on vix.

rossi2000
25-04-18, 14:45
I understand what your saying.

Huevos
25-04-18, 14:47
Do these buttons now magically appear. No. Every screen still needs button code in. What are you talking about???You obviously didn't read Ian's user guide you published on the other forum. The button code is part of the main template imported into almost every screen. That template holds everything that is needed to make the buttons and button texts "magically" appear in each screen. And if the .py changes and different buttons are required that also happens "magically" with any skin edits.

If you look at our skins git you will see where the hundreds of lines have been deleted. Most of the skins that I converted took me about half an hour each, and no button maintenance ever since.

kiddac
25-04-18, 14:55
Rossi whether your being sarcastic there or turthfully understanding as you were probably the first to do this conversion, I am sure you will back up the comments that this has caused a right load of trouble.

kiddac
25-04-18, 15:00
Huevos everybody designs skins differently. Some people use template files and panels, some people write out the code for every single element in every single screen, vix use a common file. there is not one way of writing a skin. Just because it is easy to convert a vix skin that follows a set format doesn't mean its easy for everyone else to change their skins.

rossi2000
25-04-18, 15:07
Of I course I understand, yes I was against them at first, but they were applied anyway, BUT the changes do make things much simpler skinning wise.

I have not checked how you code your skins, whether u use templates or code each screen separately. these changes do work well for templated skins and reduces the needed code, but again depends how your skins are coded initially.

As Huevos pointed out, the Button template can just be added the to the template that draws the screen, (that will check if the screen its displaying needs any buttons and if so displays them) so NO other screen needs buttons adding.

we are in a different situation whereas your skins need to work on multiple images, mine dont.

I guess atm you have 2 options, leave your skins as is, or make a vix skin, a big ballache I know, but realistically theres not much else that can be done at this time dude.

Sicilian
25-04-18, 15:21
I don't post on this forum, because the mods create a hostile environment as proven in the past few posts of this thread.

I don't see anything hostile in this thread at all. If a thread becomes hostile report it to me and I'll take a look at it.

Huevos
25-04-18, 15:44
@kiddac, our conditional button code is not the reason that you skin is not working right in ViX. That code is completely backwards compatible. Your skin is broken in this screen because it is expecting a Button() object and our enigma uses a StaticText() object.

kiddac
25-04-18, 18:05
Just too clarify my situation on this.

I know how to change the buttons to the new format. That isn't a problem

I have read the new button documentation proposal. I fully understand that document.

I fully understand what is trying to be achieved here. Again I don't disagree with it in principle. I disagree with how its been implemented.

In most of my skins it is not a major thing, as I personally use templates. Most of the code is already there.

The problem is (and as Rossi has mentioned above) I try and make my skins work on all builds. Not just openatv, not just vix etc. For as many of the oe-alliance builds as possible. Which to be fair is no easy task, especially as lots of builds have build specifc names and screens. Its taken a long time and a lot of hassle to get the skins in a position where they work on most. (2 years to be precise). Something a lot of skinners don't even try and do because its a nightmare.
If I was only designing for one image in mind, again that is no major problem.

I cannot just change all the button code now, because what would fix one build would break another.

I am not willing to duplicate all my skins to fix this, because I have multiple skins with hd and fhd versions. I am also extremely busy with other projects and life.

I cannot just do one big sweep and change all the button code in every screen, because I skin all the major 3rd party plugins in my skins. And I doubt very much all these plugins are magically going to change soon.
Therefore I would have to individually check each and every screen against the build makers github files just to see who is using what. That is a very long and laborious task. It would be basically like starting from scratch again.

Its easy for someone involved in openvix or a build to amend their skins, because they know what code and components they have changed.
I have no idea what python components Vix have changed until I get message saying your skin is broke I have got no button texts on for example timers. (not that timers are a major fature or anything on these boxes)

So hopefully you can see why I think this is a big deal and a bit of a **** up.

Huevos
26-04-18, 09:46
@kiddac, like I said above your skin being broken in OpenViX has nothing to do with wether or not you make changes to take advantage of the button code changes. These are completely backwards compatible.

The reason your skin is not displaying correctly in ViX is because the code is using a StaticText() object and the skin is expecting a Button() object. If you are catering for multiple images, how did you cope with such a thing before? Because that same method is what is needed here.

birdman
03-05-18, 12:15
Are you suggesting that our enigma has to remain identical to all other distros so things are easier for skinners?Only just noticed this.
I smiled at the irony.

kiddac
27-05-18, 23:46
Due to the shambolic mess this button code change has caused and 3 months on there is still no universal solution. I no longer will be supporting openvix for any of my skins in the immediate future. You can't just randomly change 10 years of legacy code to suit yourselves.

abu baniaz
28-05-18, 01:47
Due to the shambolic mess this button code change has caused and 3 months on there is still no universal solution. I no longer will be supporting openvix for any of my skins in the immediate future. You can't just randomly change 10 years of legacy code to suit yourselves.

I understand what you're saying although you are mistaken.

Huevos
28-05-18, 09:29
Still goes back to the same question. If one team use Button() somewhere in their enigma and another team use StaticText(), who is right?

What it looks like is that you want all teams enigma code to not evolve because it might break someone's skin. And the truth is the skin wouldn't be broken if it used the new button bar code.

kiddac
28-05-18, 15:34
Who is right? The person who wrote the component in the first place. Who used button(). Therefore every skinner used button().
Who is wrong. The team that decided to change these buttons to statictext, for their own strange reasons????
I have read the huge thread on openpli where this was all initially discussed. Over and over again it mentions you can't break legacy code. So you just went ahead anyway and broke legacy code timers for everyone skin except a handful of vix skins.

https://forums.openpli.org/topic/56924-button-and-label-pli-opinion/

Should we quote your opening paragraph from that thread.


People seem to use these interchangeably and it is a skinner's nightmare

what you have done is now a skinners nightmare. Nobody complained before because it wasn't a problem.

And your alternative solution was to add in an objectypes component that doesn't exist in the first place. So what was the point of that.

Maybe you should just put your hands up and admit you ballsed this up by changing code that wasn't ready to be changed. Change it back to how it was and wait for every other oe-alliance team to implement the changes before commiting to something.

kiddac
28-05-18, 15:45
Quote post 44 from Huevos


Why would you want to rename something and break everyone's skins?

ccs
28-05-18, 15:57
For those who want to read the whole post, not a snip, and don't want to trawl thru' the thread....

https://forums.openpli.org/topic/56924-button-and-label-pli-opinion/?view=findpost&p=829613

Huevos
28-05-18, 15:57
kiddac the objecttypes attribute in skin.py has nothing to do with why your skin is not working properly (in one or two screens) in OpenViX. If you use "source" and render="label" your skin will work fine.

Read post #30 again.

If you don't want to support your users that use OpenViX that's up to you, but stop trying to blame other people.

bbbuk
28-05-18, 16:02
I've quickly scanned through this and I'm obviously missing something here!

What I have got so far....

Vix have moved onto StaticText rather than Button.

Apparently, OpenPli and OpenBH have also adopted this too.

Kiddac naturally doesn't want to have a separate skin for vix for which I don't blame him. I doubt many other skin designers would want to go through that trouble and if I did a skin, I would be supporting the majority rather than minority as just easier.

@Kiddac, do your skins have an issue on OpenPLi and OpenBH as they have also adopted this new way as just wondering why PLi and OpenBH don't have this issue?

Or is it because the other image teams that do support new way also support legacy way (for the many, many skins still out there) and Vix doesn't?

Huevos
28-05-18, 16:20
Vix have moved onto StaticText rather than Button.No, ViX uses StaticText() in a few screens that OpenATV don't is the only difference.

But for some reason kiddac wants to blame the new skin attribute "objecttypes" for the problem even though it is not related.

The code is completely backwards compatible. But just the same as before these changes were made a skinner needed to track every screen for changes. Skins that use the new code don't have to track every screen because everything happens automatically.

And by the way PLi have changed from Button() to StaticText() in a lot more screens than ViX has. But at the end of the day it is up to each team how they manage their own enigma2 code, just the same as it is up to every skinner if they want to maintain their skins for all their users, or just some that use one particular image.

dsayers
28-05-18, 16:22
Maybe @KiddaC can put his Skins on Github then maybe users can make pull request to try and help? This way both teams/skinners can see the code and how it works. Because I don't have a clue lol

kiddac
28-05-18, 16:29
Grrrrr. My skin wont work fine. How are you not getting this Heuvos. It may work fine on openvix, but it won't work fine on openatv or any other oe-alliance build that hasn't implemented these stupid changes.

For example. TimerEdit.py.
Screen "TimerEditList".
Histroically has always been.

self["key_red"] = Button(" ")
self["key_green"] = Button(_("Add"))
self["key_yellow"] = Button(" ")
self["key_blue"] = Button(" ")

Therefore you use something like this
<widget name="key_red" position="45,0" size="237,38" font="Regular;30" valign="center" transparent="1" noWrap="1" foregroundColor="white" backgroundColor="button-bg" halign="left" />


And get it displayed like this.

56851

Now if I just change it to the source buttons, you get.

56852

For the very reason you have been harping on about it in the other thread. The buttons are populated via settext. Which means source button code doesn't work for self["key_red"] = Button(" ").

So we get no buttons and we certainly don't get the text switch between enable/disable timers.

Huevos
28-05-18, 16:37
And that problem is because you not using source="label". It is nothing to do with the objecttypes attribute.

kiddac
28-05-18, 16:41
FFS my source button code is

<widget source="key_red" render="Label" position="45,0" size="237,38" font="Regular;30" valign="center" transparent="1" noWrap="1" foregroundColor="white" backgroundColor="button-bg" halign="left" />

You changing the code to

self["key_red"] = StaticText("")
self["key_green"] = StaticText(_("Add"))
self["key_yellow"] = StaticText("")
self["key_blue"] = StaticText("")

has broken every skin accept vix skins. Simple as that.

kiddac
28-05-18, 16:44
At least littlesat had some common sense on that other thread. But like you are doing here. You refused to listen to him and just kept talking over him. You are refusing to listen to me.
You just don't get the fact, you have broken everyones skins and you just dont care.

Huevos
28-05-18, 16:53
FFS my source button code is

<widget source="key_red" render="Label" position="45,0" size="237,38" font="Regular;30" valign="center" transparent="1" noWrap="1" foregroundColor="white" backgroundColor="button-bg" halign="left" />

You changing the code to

self["key_red"] = StaticText("")
self["key_green"] = StaticText(_("Add"))
self["key_yellow"] = StaticText("")
self["key_blue"] = StaticText("")

has broken every skin accept vix skins. Simple as that.No it is broken in skins that don't properly support our enigma code. It is up to you if you choose to withdraw support for your users that are using OpenViX, but demanding that our enigma is identical to OpenATV's and must never be edited is ridiculous.

kiddac
28-05-18, 17:05
So I will quote your post 294


My suggestion is leave the old names for a while and just add new names. After a couple of months remove the old names. This gives the skinners time to catch up. After that time delete the old names, and start switching some Button and Label objects to StaticText. But in my opinion it is not fair to just break everyone's skins, especially when some skins are shared between images.

The day after you decide to change all vix code. You really do talk a lot of crap. And still wont admit you have messed this up big time.

Huevos
28-05-18, 17:19
The day after you decide to change all vix code. You really do talk a lot of crap. And still wont admit you have messed this up big time.Completely out of context. That quote refers to variable names.

i.e. when a variable had a non-standard name. The old name was left in place for backwards compatibility and the new "standard" name was added.
e.g. https://github.com/oe-alliance/oe-alliance-plugins/commit/cf1ecddcf825f2d9e1a29de76dce2f5c32710bc6

With that commit it now works in any skin using either name. And from that commit anyone can see that I do respect the skinners.

kiddac
28-05-18, 17:27
If it was such a good idea to amend the button code for timers, why haven't you amended all the other button codes for all the other screens?
Just a question.

Huevos
28-05-18, 18:46
Just haven't got round to it yet. Obviously screens that could benefit from dynamic PNGs come first.