1
mirror of https://code.videolan.org/videolan/vlc synced 2024-09-04 09:11:33 +02:00
Commit Graph

104 Commits

Author SHA1 Message Date
Erwan Tulou
91a9eee8d9 skins2: add width/height parameters to slider
These parameters will allow to create a slider which adapts to the display.
width/height parameters will be optional. If set, the initial slider will
be resized to meet these requirements.

A main use case will be the possibility to create a fullscreen timeslider
that automatically spans the whole screen whatever the screen resolution.
e.g syntax would be <Slider width="100%" ....>
2013-06-22 18:29:45 +02:00
Jean-Baptiste Kempf
f03be54bee Default skin: Crush PNGs 2011-06-21 14:46:08 +02:00
Erwan Tulou
69ea7b95bd skins2: fix winamp2.xml (.wsz file)
pledit id is used twice in this file (must be unique)
2011-03-01 21:18:02 +01:00
Erwan Tulou
81717b48cd skins2: implement a new 'focus' attribute for text control
Up to now, text control could but be focusable, and this focus was used
to scroll text, should it be too long for full display.

From a user viewpoint, this behavior is often counterintuitive :
 - Most of the time, the control is designed to fit the text anyway, and
   scrolling is not expected.
 - On the other hand, an underlying control may be used to move the window
   (for instance, the title bar), and a text control is expected not to
   interact in this endeavor. Same goes for popupmenu, that is expected
   to work if one happens to right-click on a text control.

This patch adds a 'focus' attribute to the text control, and leave it to the
skins developper to decide which behavior is most desirable on a per-control
basis. focus still defaults to true to maintain skins current behavior.
2010-12-11 15:24:33 +01:00
Erwan Tulou
f07499acd8 skins: add some transparency to the default skin
Default skin becomes slightly transparent when moved.
(deactivated by default, needs to be set up in preferences)
2010-11-22 22:42:54 +01:00
Erwan Tulou
f511daad0b skins2: improve the default skin placements
The default skins now benefits from relative positioning:
   - main window centered
   - playlist window centered with a 5% offset
   - fullscreen controller centered at the bottom
     of the screen with a 3% margin from the border
   - other ancillary windows all centered
2010-11-22 16:22:27 +01:00
Erwan Tulou
6f772953ac skins2: implement relative positioning
So far in skins2, all x, y, width and height were given in pixels, and
no reference to the screen resolution could be made.

This patch implements the following :
- all x, y, width, height can be given in pixels or in % of their container.
  For windows, the container is the screen. For widgets, it can be the
  layout or a panel.
- Five new tags eases up positioning
  - position : relative position given as "Center", "West", "NorthWest", ...
  - x/y-margin : margins to take into account (in px or %) wrt the borders.
  - x/y-offset : additional offset to apply (in px or %).
- the image control can now accept a width and a height parameters.
2010-11-22 16:22:27 +01:00
Erwan Tulou
7f09499fd1 skin2: fix minor issue with default skins
Fix two text controls overlapping by 1 pixel in length.
Though it's no real problem, that avoids unnecessary refresh for zilch.
(one control is the position that keeps being updated)
2010-08-12 09:49:05 +02:00
Erwan Tulou
3e8f184d56 skins2: add support for art in default skin
This patch implements art display in the default skin, in the same way as it is
implemented in qt4 interface, namely if no video is available, art is displayed in lieu of video.
2010-05-18 22:13:15 +02:00
Erwan Tulou
0530638a50 skins2: implement art display in image controls
This patch gives skins developpers the possibility to display the art file
 associated to the current input in an image control.

It features the following :
    - a new 'art' boolean parameter is added for the Image control (skin.dtd)
    - when set to true, the skin engine will reuse this control to display
      the current art file
    - in addition to 'scale' and 'mosaic', the resize parameter can now accept
      a new 'scale2' value, that respects the original aspect ratio of art files
2010-05-18 22:10:53 +02:00
Erwan Tulou
dfdcb64ae3 skins2: add a fullscreen controller to the default skins
This fullscreen controller is copied from the main window.
It can be activated in fullscreen mode either via the 'i' hotkey
 or mouse middle button.
2009-12-28 22:23:51 +01:00
Erwan Tulou
01461816d8 skins: update skins dtd (new loop parameter) 2009-12-27 13:24:13 +01:00
Erwan Tulou
d3312fee19 skins2(SubX): correct a typo ("notdvd.isActive" => "not dvd.isActive" ) 2009-06-22 16:32:14 +02:00
Martin Pöhlmann
d89c5dc9b4 New default skin: SubX
Signed-off-by: Christophe Mutricy <xtophe@videolan.org>
2009-06-19 23:34:07 +01:00
Daniel Dreibrodt
8a5a4a2d23 Skins2: change DTD to add possibility to store ID for Anchors, Panels and Groups.
It adds possibility to store IDs for Anchors, Panels and Groups.
This does not change the way skins2 works I believe. It just stops the
XML parser from complaining about non standard skins when they have set
IDs for those elements. And setting IDs for them is vital in the skin
editor, as it differentiates between different elements in the skin just
by their ID.
2009-02-01 18:19:48 +01:00
Olivier Teulière
1650c7648c Allow controls directly in the Layout tag (the intermediate Group tag is not mandatory anymore). 2007-09-27 18:04:45 +00:00
Olivier Teulière
8086b07cf0 * skins2:
- New Panel tag, allowing to group the resizing behaviour of controls
    - Documentation updated accordingly
    - Fixed a memory leak due to CtrlMove/CtrlResize objects
2007-01-28 16:49:30 +00:00
Olivier Teulière
dda858d436 * skins2: new "xkeepratio" and "ykeepratio" attributes, common to all the
controls. When set to "true", the behaviour of the resizing is changed
   (cf. documentation). The main use for these attributes is to keep a
   a control centered in the layout (horizontally, vertically or both) without
   resizing the control.
2006-08-05 13:37:06 +00:00
Olivier Teulière
24648f43cf * modules/gui/skins2/*:
- anchors have a new "lefttop" attribute, allowing them to follow the
       border of the window when resizing
     - the resizing is now handled by the WindowManager class (to enforce the
       mediator pattern). This makes it possible to handle tricky cases,
       such as:
           window B is anchored to window A, and A is resized
           ==> B moves accordingly, and can still be anchored by other windows
2006-06-03 23:57:40 +00:00
Olivier Teulière
9ddc8d6a0e * forwardport of [15426] and [15516] 2006-05-02 06:50:30 +00:00
Antoine Cellerier
1aff501d32 Forward port [15485] and [15486]. 2006-04-30 19:16:39 +00:00
Antoine Cellerier
fed99e5f05 Remove the Thumbs.db files here too 2006-04-30 17:12:50 +00:00
Antoine Cellerier
e3aa4d0b12 Forward port [15458]. 2006-04-30 15:39:19 +00:00
Cyril Deguet
b7718838bd * all: added a SliderBackground to the volume slider of the default skin
(fixes an incorrect behaviour when clicking on the white part of the slider)
2006-04-30 13:12:34 +00:00
Antoine Cellerier
0428abf503 Forward port [15410] 2006-04-29 13:12:29 +00:00
Antoine Cellerier
9a72439fd7 New default skin by aLtgLasS. Many thanks for making one on such short notice. 2006-04-28 12:10:07 +00:00
Antoine Cellerier
655d7fb089 Remove playtree skin 2006-04-28 11:38:55 +00:00
Antoine Cellerier
623979f701 Remove old default skin 2006-04-28 11:37:38 +00:00
Cyril Deguet
997d993b34 * all: convert keys in INI files to lower case, to fix buggy winamp2 skins 2006-04-17 17:03:55 +00:00
Cyril Deguet
a5a9346ce5 * all: added a INI file parser in skins2. For instance if the file
with id "pledit" (defined in the new tag "<IniFile>" contains:
    [Text]
    Normal=#FFFFFF
 it will create a constant "pledit.Text.Normal" with value "#FFFFFF"
* winamp2.xml: use the "pledit.txt" file to have correct playlist colors

is it ok to backport in 0.8.5 ?
2006-04-17 12:46:51 +00:00
Antoine Cellerier
832b6848b6 Fix dtd (a Layout can have more than one groups) 2006-04-15 22:33:27 +00:00
Cyril Deguet
467472bcec * all: added a new skin text variable "$S" to get the audio sample rate
(in KHz) + fixed the bitrate ("$B") variable to use only the audio bit rate.
* winamp2.xml: updated the winamp2 skin
2006-04-15 16:18:59 +00:00
Cyril Deguet
ef5c233752 * all: new skin text variable "$B" to get the stream bitrate
* winamp2.xml: added "kbps" info in winamp skins
2006-04-09 14:29:26 +00:00
Antoine Cellerier
3cbb889e73 Ooops, i forgot to commit this in [14771] 2006-04-04 21:21:23 +00:00
Cyril Deguet
1d02365417 * attribute "nbFrames" of element Bitmap is now "nbframes", as said in the
documentation (and the old name was inconsistent with other attribute names)
 Sorry for the compatibility break...
2006-03-25 11:01:03 +00:00
Clément Stenac
f12fa7ca85 Fix playtree deletion
Should support deletion through the delete key. But the delete key is not recognized par X11 skins2.
2006-02-10 23:39:53 +00:00
Clément Stenac
b25680f832 Use uncompressed VLT in svn instead of compressed and compress on build 2006-01-29 21:45:13 +00:00
Olivier Teulière
2fe8bace37 * share/skins2/winamp2.xml: removed a useless control (not even working :)) 2005-12-04 18:52:25 +00:00
Olivier Teulière
87d12b49df * share/skins2/skin.dtd: Video.autoresize defaults to true
* doc/skins/skins2-howto.xml: Added documentation for this attribute
2005-12-04 16:54:17 +00:00
Olivier Teulière
314feea513 * share/skins2/winamp2.xml: Change layout on double-clicks 2005-12-04 16:01:12 +00:00
Olivier Teulière
8a3513c025 * skins2: support for custom popup menus, and win32 implementation.
XML example:
       <PopupMenu id="sample_menu">
           <MenuItem label="Play" action="vlc.play()" />
           <MenuItem label="Pause" action="vlc.pause()" />
           <MenuSeparator />
           <MenuItem label="Show playlist" action="playlist_window.show()" />
           <MenuItem label="Hide playlist" action="playlist_window.hide()" />
           <MenuSeparator />
           <MenuItem label="Quick open file" action="dialogs.fileSimple()" />
       </PopupMenu>

   To call the menu:
       <Button action="sample_menu.show()" ... />

   Known bug: the popup disappears when the user clicks "too fast" on the
   button: the control refreshes itself in an asynchronous way, and the popup
   dislikes it... so click slowly :)
2005-12-04 14:47:26 +00:00
Olivier Teulière
191dc6be6b * share/skins2/skin.dtd: fixed a typo 2005-12-03 22:46:33 +00:00
Cyril Deguet
07391315eb * all: support of animated bitmaps in skins: there are new attributes
"nbFrames" and "fps" in the (Sub)Bitmap elements to set the number
  of frames and the frame rate in a bitmap. As in the radialslider,
  the different frames are just laid vertically in the bitamp (and
  all the frames must have the same size)
  At the moment animated bitmaps are only supported in Button controls.
2005-12-03 11:43:35 +00:00
Cyril Deguet
994fc2286d * winamp2.xml: fix the resize control of the playlist small layout 2005-11-29 18:44:11 +00:00
Olivier Teulière
5c4ccbb149 * skins2: The Image control now supports the "action2" attribute (feel free to
suggest a better name :)), triggered by a double click.
   Very kewl to change the layout...
2005-11-28 21:01:07 +00:00
Olivier Teulière
88367ceafb * share/skins2/winamp2.xml: same fix for other controls 2005-11-27 18:49:49 +00:00
Olivier Teulière
3b55990d9b * share/skins2/winamp2.xml: Fixed a Text control 2005-11-27 18:47:39 +00:00
Olivier Teulière
cb3ffd975a * share/skins2/winamp2.xml: Use the new resizeE feature for the resizing
control of the playlist, in the small layout.
2005-11-27 18:15:23 +00:00
Cyril Deguet
b256b8ef8e * winamp2.xml: fixed 13419 (don't work at least for "chaos") 2005-11-27 16:19:45 +00:00
Cyril Deguet
eb4bf29866 * all: added a new variable "equalizer.preamp" (self-explanatory ;) in skins
* winamp2.xml: added preamp slider and fixed offsets
2005-11-27 16:01:53 +00:00