Size mode didn't really work. It is easier to implement
headers with with separate class constructor and other size mode
Footer works also with this additional parameter but without additional
overloaded constructors.
clear() removes only items and their instances inside button container, but all
other properties (e.g. width) are not touched. Re init should avoids this.
Count of alternate message values was limited to 1 value. Now it is
possible to add any count of message values.
directKey and directKeyAlt were removed from struct type 'button_label_cc'
and directKeys was added as container for possible message values.
Some methods of CComponentsFooter had to be adapted for that.
button_label_l and button_label_s are now
merged to button_label_cc with prepared default values for text and locales.This type contains all possible
button label properties. Values for locales and string
are evaluated in setButtonLabels(), so it's possible to remove some
overloaded methodes.
Default fonts for header and footer must be handled too.
After font settings changes these objects could be invalid.
Default fonts have invalid pointers after font changes too. Extra reset is required.
* remove size compare
If only one button exists, possible new text color would be ignored
and wrong Text color was visible with one item.
This behavior was observed in message boxes with
single buttons (eg OK, or Cancel).
This is not really completly implemented for footer at the momemnt, because
button objects are still not prepared or tuned for that.
If it is enabled, currently it could occur unintentionally background behavior
eg.: flickereffects or background display errors in button objects.
NOTE: anyway users can enable gradient in theme files and could override this setting.
Now here it is globally disabled for footers. If it works right,
it will be enabled in future.
Now it's possible to set parameters for frames and text.
Parameters are prdefined for better contrasts in select or default mode.
TODO: background modes have no effects at the moment. Here are other things need to be done.
Replacing messagebox, hintbox_ext and some derivated parts with
basic class hintbox and derivated class CMsgBox. This should unify
window handling and avoids maintain of multiple classes with quasi
same purpose and adds more functionality.
TODO: fix and optimize details
cch_font has nothing to do with button font and is already
inherited and defined from header class and can be redefined with
setCaptionFont() methode if required.
* INFOBAR_SHADOW to SHADOW because it's not only used in infoviewer
* INFOBAR_SHADOW_TEXT to MENUFOOT_TEXT because it's the proper name
This is in preparation to make footer colors configurable
- outsourced some classes cc_item.cpp/h, cc_draw.cpp/h
- added extra methodes for simple use of some basic components extra.cpp/h
- rework clock handling: use timer class, reworked members for
enable/disable clock with external timer events,
tryed to fix some display issues related with infoclock and
time osd clock in moviebrowser, channellist, menuus
- reworked hide/kill handling, removed parameter for hide(), try to use
cached backgrounds for other constallations, paint cache, image cache (all beta)
- reworked shadow/frame handling, add shadow modes for left/right
arrangement, TODO: repaint for existant instances required
- reworked color gradient assignment (beta)
... Note: I had a data crash in my local git tree
and i tryed to restore my historie, but most was lost. Therefore here
the commit is large