Eine aufbereitete Darstellung der Quelle

 
     
 
 
Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 

Benutzer

Quelle  VLCStyle.qml  Sprache: unbekannt

 
Spracherkennung für: .qml vermutete Sprache: Delphi {Delphi[64] CS[60] Masm[54]} [Methode: maximale Elemente, drei Dimensionen]

/*****************************************************************************
 * Copyright (C) 2019 VLC authors and VideoLAN
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * ( at your option ) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
 *****************************************************************************/
pragma Singleton
import QtQuick

import VLC.MainInterface
import VLC.Style

QtObject {
    id: vlc_style

    readonly property real scale: MainCtx.intfScaleFactor

    readonly property FontMetrics fontMetrics_xxsmall  : FontMetrics { font.pixelSize: MainCtx.dp(6, scale);  }
    readonly property FontMetrics fontMetrics_xsmall   : FontMetrics { font.pixelSize: MainCtx.dp(8, scale);  }
    readonly property FontMetrics fontMetrics_small    : FontMetrics { font.pixelSize: MainCtx.dp(10, scale); }
    readonly property FontMetrics fontMetrics_normal   : FontMetrics { font.pixelSize: MainCtx.dp(12, scale); }
    readonly property FontMetrics fontMetrics_large    : FontMetrics { font.pixelSize: MainCtx.dp(14, scale); }
    readonly property FontMetrics fontMetrics_xlarge   : FontMetrics { font.pixelSize: MainCtx.dp(16, scale); }
    readonly property FontMetrics fontMetrics_xxlarge  : FontMetrics { font.pixelSize: MainCtx.dp(20, scale); }
    readonly property FontMetrics fontMetrics_xxxlarge : FontMetrics { font.pixelSize: MainCtx.dp(24, scale); }

    readonly property SystemPalette palette:  SystemPalette {
        objectName: "themePalette"
        source: MainCtx.colorScheme.scheme
        ctx: MainCtx
    }

    readonly property SystemPalette darkPalette: SystemPalette {
        objectName: "darkPalette"
        source: ColorSchemeModel.Night
        ctx: MainCtx
    }

    readonly property real highPixelDensityThreshold: 5.9 // 150 dpi (dpmm)

    // Sizes
    readonly property double margin_xxxsmall: MainCtx.dp(2, scale);
    readonly property double margin_xxsmall: MainCtx.dp(4, scale);
    readonly property double margin_xsmall: MainCtx.dp(8, scale);
    readonly property double margin_small: MainCtx.dp(12, scale);
    readonly property double margin_normal: MainCtx.dp(16, scale);
    readonly property double margin_large: MainCtx.dp(24, scale);
    readonly property double margin_xlarge: MainCtx.dp(32, scale);
    readonly property double margin_xxlarge: MainCtx.dp(36, scale);

    readonly property real resizeHandleWidth: (scrollBarInteractingSize / 2)

    readonly property real touchHandlerMargin: margin_large

    // Borders
    readonly property int border: MainCtx.dp(1, scale)
    readonly property int focus_border: border

    readonly property int fontSize_xsmall: fontMetrics_xsmall.font.pixelSize
    readonly property int fontSize_small:  fontMetrics_small.font.pixelSize
    readonly property int fontSize_normal: fontMetrics_normal.font.pixelSize
    readonly property int fontSize_large:  fontMetrics_large.font.pixelSize
    readonly property int fontSize_xlarge: fontMetrics_xlarge.font.pixelSize
    readonly property int fontSize_xxlarge: fontMetrics_xxlarge.font.pixelSize
    readonly property int fontSize_xxxlarge: fontMetrics_xxxlarge.font.pixelSize

    readonly property int fontHeight_xsmall: Math.ceil(fontMetrics_xsmall.lineSpacing)
    readonly property int fontHeight_small:  Math.ceil(fontMetrics_small.lineSpacing)
    readonly property int fontHeight_normal: Math.ceil(fontMetrics_normal.lineSpacing)
    readonly property int fontHeight_large:  Math.ceil(fontMetrics_large.lineSpacing)
    readonly property int fontHeight_xlarge: Math.ceil(fontMetrics_xlarge.lineSpacing)
    readonly property int fontHeight_xxlarge: Math.ceil(fontMetrics_xxlarge.lineSpacing)
    readonly property int fontHeight_xxxlarge: Math.ceil(fontMetrics_xxxlarge.lineSpacing)


    readonly property int heightAlbumCover_xsmall: MainCtx.dp(32, scale);
    readonly property int heightAlbumCover_small: MainCtx.dp(64, scale);
    readonly property int heightAlbumCover_normal: MainCtx.dp(128, scale);
    readonly property int heightAlbumCover_large: MainCtx.dp(255, scale);
    readonly property int heightAlbumCover_xlarge: MainCtx.dp(512, scale);

    readonly property int listAlbumCover_height: MainCtx.dp(32, scale)
    readonly property int listAlbumCover_width: listAlbumCover_height * 16.0/9
    readonly property int listAlbumCover_radius: MainCtx.dp(3, scale)
    readonly property int trackListAlbumCover_width: MainCtx.dp(32, scale)
    readonly property int trackListAlbumCover_heigth: MainCtx.dp(32, scale)
    readonly property int trackListAlbumCover_radius: MainCtx.dp(3, scale)

    readonly property int tableCoverRow_height: Math.max(listAlbumCover_height, fontHeight_normal) + margin_xsmall * 2
    readonly property int tableRow_height: fontHeight_normal + margin_small * 2

    readonly property int icon_xsmall: MainCtx.dp(8, scale);
    readonly property int icon_small: MainCtx.dp(12, scale);
    readonly property int icon_normal: MainCtx.dp(24, scale);
    readonly property int icon_medium: MainCtx.dp(48, scale);
    readonly property int icon_large: MainCtx.dp(64, scale);
    readonly property int icon_xlarge: MainCtx.dp(128, scale);

    readonly property int icon_dragItem: MainCtx.dp(32, scale);
    readonly property int icon_topbar: icon_normal
    readonly property int icon_toolbar: icon_normal
    readonly property int icon_audioPlayerButton: MainCtx.dp(32, scale)
    readonly property int icon_playlist: icon_normal
    readonly property int icon_track: icon_normal
    readonly property int icon_tableHeader: icon_normal
    readonly property int icon_playlistHeader: icon_normal
    readonly property int icon_banner: MainCtx.dp(28, scale)
    readonly property int icon_play: MainCtx.dp(28, scale)
    readonly property int icon_addressBar: icon_normal
    readonly property int icon_actionButton: icon_normal
    readonly property int icon_PIP: icon_normal
    readonly property int icon_CSD: icon_small
    readonly property int icon_playlistArt: MainCtx.dp(32, scale)

    readonly property int play_cover_small: MainCtx.dp(24, scale)
    readonly property int play_cover_normal: MainCtx.dp(48, scale)

    readonly property int cover_xxsmall: MainCtx.dp(32, scale);
    readonly property int cover_xsmall: MainCtx.dp(64, scale);
    readonly property int cover_small: MainCtx.dp(96, scale);
    readonly property int cover_normal: MainCtx.dp(128, scale);
    readonly property int cover_large: MainCtx.dp(160, scale);
    readonly property int cover_xlarge: MainCtx.dp(192, scale);

    readonly property int heightBar_xxxsmall: MainCtx.dp(2, scale);
    readonly property int heightBar_xxsmall: MainCtx.dp(4, scale);
    readonly property int heightBar_xsmall: MainCtx.dp(8, scale);
    readonly property int heightBar_small: MainCtx.dp(16, scale);
    readonly property int heightBar_normal: MainCtx.dp(32, scale);
    readonly property int heightBar_medium: MainCtx.dp(48, scale);
    readonly property int heightBar_large: MainCtx.dp(64, scale);
    readonly property int heightBar_xlarge: MainCtx.dp(128, scale);
    readonly property int heightBar_xxlarge: MainCtx.dp(256, scale);

    readonly property int minWindowWidth: MainCtx.dp(500, scale);
    readonly property int maxWidthPlaylist: MainCtx.dp(400, scale);
    readonly property int defaultWidthPlaylist: MainCtx.dp(300, scale);
    readonly property int closedWidthPlaylist: MainCtx.dp(20, scale);

    readonly property int expandNavigationPaneWidth: MainCtx.dp(160, scale);
    readonly property int buttonHeightNavigationPane: MainCtx.dp(35, scale);

    readonly property int widthSearchInput: MainCtx.dp(200, scale);
    readonly property int widthSortBox: MainCtx.dp(150, scale);
    readonly property int widthTeletext: MainCtx.dp(280, scale);
    readonly property int widthExtendedSpacer: MainCtx.dp(128, scale);
    readonly property int heightInput: MainCtx.dp(22, scale);

    readonly property real network_normal: MainCtx.dp(100, scale)

    readonly property int expandAlbumTracksHeight: MainCtx.dp(200, scale)

    //combobox
    readonly property int combobox_width_small: MainCtx.dp(64, scale)
    readonly property int combobox_width_normal: MainCtx.dp(96, scale)
    readonly property int combobox_width_large: MainCtx.dp(128, scale)

    readonly property int combobox_height_small: MainCtx.dp(16, scale)
    readonly property int combobox_height_normal: MainCtx.dp(24, scale)
    readonly property int combobox_height_large: MainCtx.dp(30, scale)

    //button
    readonly property int button_width_small: MainCtx.dp(64, scale)
    readonly property int button_width_normal: MainCtx.dp(96, scale)
    readonly property int button_width_large: MainCtx.dp(128, scale)

    readonly property real button_radius: MainCtx.dp(4, scale)

    readonly property int contextButton_width: icon_normal
    readonly property int contextButton_margin: margin_xxsmall

    readonly property int checkButton_width: MainCtx.dp(56, scale)
    readonly property int checkButton_height: MainCtx.dp(32, scale)

    readonly property int checkButton_margins: MainCtx.dp(4, scale)
    readonly property int checkButton_handle_margins: MainCtx.dp(2, scale)

    readonly property int navBoxButton_radius: MainCtx.dp(8, scale)

    readonly property int table_section_width: MainCtx.dp(32, scale)
    readonly property int table_section_text_margin: MainCtx.dp(10, scale)

    readonly property int gridCover_network_width: colWidth(1)
    readonly property int gridCover_network_height: gridCover_network_width
    readonly property int gridCover_network_border: MainCtx.dp(3, scale)

    readonly property int gridCover_music_width: colWidth(1)
    readonly property int gridCover_music_height: gridCover_music_width
    readonly property int gridCover_music_border: MainCtx.dp(3, scale)

    readonly property int gridCover_video_width: colWidth(2)
    readonly property int gridCover_video_height: ( gridCover_video_width * 10.0 ) / 16
    readonly property int gridCover_video_border: MainCtx.dp(4, scale)

    readonly property int gridCover_radius: MainCtx.dp(4, scale)

    readonly property int expandCover_music_height: MainCtx.dp(171, scale)
    readonly property int expandCover_music_width: MainCtx.dp(171, scale)
    readonly property int expandCover_music_radius: gridCover_radius
    readonly property int expandDelegate_border: MainCtx.dp(1, scale)

    readonly property int artistGridCover_radius: MainCtx.dp(90, scale)

    readonly property real mainView_topLeftRadius: MainCtx.dp(8, scale)

    //GridItem
    readonly property int gridItemTitle_topMargin: margin_xsmall + margin_xxxsmall
    readonly property int gridItemTitle_height: fontHeight_normal

    readonly property int gridItemSubtitle_topMargin: margin_xsmall - margin_xxxsmall
    readonly property int gridItemSubtitle_height: fontHeight_normal

    readonly property int gridItemSelectedBorder: MainCtx.dp(8, scale)

    readonly property int gridItem_newIndicator: MainCtx.dp(8, scale)

    readonly property int column_width: MainCtx.dp(114, scale)

    // NOTE: This property should be applied on ExpandGridView and TableView. We should provision
    //       enough space to fit the TableView section labels and 'contextButton'.
    readonly property int column_margin: MainCtx.dp(32, scale)
    readonly property int column_spacing: column_margin

    // NOTE: For the grid layout, there is an additional spacing, defined by the verticalSpacing of the ExpandGridView
    readonly property int gridView_spacing: margin_small + margin_xxxsmall
    readonly property int tableView_spacing: gridView_spacing + margin_large

    readonly property int layoutTitle_top_padding: margin_large
    readonly property int layoutTitle_bottom_padding: margin_normal + margin_xxxsmall

    readonly property int layout_left_margin: margin_normal
    readonly property int layout_right_margin: layout_left_margin

    readonly property int table_cover_border: MainCtx.dp(2, scale)

    readonly property int tableHeaderText_height: fontHeight_normal

    readonly property int artistBanner_height: MainCtx.dp(200, scale)

    //global application size, updated by the root widget
    property int appWidth: 0
    property int appHeight: 0

    readonly property int smallWidth: MainCtx.dp(600, scale)
    readonly property int mediumWidth: MainCtx.dp(1000, scale)

    readonly property bool isScreenSmall: appWidth <= smallWidth
    readonly property bool isScreenReallySmall: appWidth <= MainCtx.dp(380, scale)

    //global application margin "safe area"
    readonly property int applicationHorizontalMargin: MainCtx.safeArea * appWidth / 100
    readonly property int applicationVerticalMargin: MainCtx.safeArea * appHeight / 100

    readonly property int globalToolbar_height: MainCtx.dp(40, scale)
    readonly property int localToolbar_height: MainCtx.dp(48, scale)

    readonly property int bannerTabButton_width_small: icon_banner
    readonly property int bannerTabButton_width_large: column_width

    readonly property int bannerButton_height: icon_banner
    readonly property int bannerButton_width: icon_banner

    // Drag and drop

    readonly property int dragDelta: MainCtx.dp(12, scale)

    // durations. Values are aligned on Kirigami

    //should be used for animation that benefits from a longer animation than duration_long
    readonly property int duration_veryLong: 400

    //should be used for longer animation (opening/closing panes & dialogs)
    readonly property int duration_long: 200

    //should be used for short animations (hovering, accuenting UI event)
    readonly property int duration_short: 100

    //should be used for near instant animations
    readonly property int duration_veryShort: 50

    /* human time reaction, how much time before the user should be informed that something
     * is going on, or before something should be automatically automated,
     * this should not be used for animations
     *
     * Some examples:
     *
     * - When the user types text in a search field, wait no longer than this duration after
     *   the user completes typing before starting the search
     * - When loading data which would commonly arrive rapidly enough to not require interaction,
     *   wait this long before showing a spinner
     */
    readonly property int duration_humanMoment: 2000

    //timing before showing up a tooltip
    readonly property int delayToolTipAppear: (Application?.styleHints?.toolTipWakeUpDelayAsMSec ?? 700)

    //timing for the progressbar/scanbar bouncing animation, explicitly very long
    readonly property int durationSliderBouncing: 2000

    //default arts
    readonly property url noArtAlbum: "qrc:///placeholder/noart_album.svg";
    readonly property url noArtArtist: "qrc:///placeholder/noart_artist.svg";
    readonly property url noArtArtistSmall: "qrc:///placeholder/noart_artist_small.svg";
    readonly property url noArtAlbumCover: "qrc:///placeholder/noart_albumCover.svg";
    readonly property url noArtArtistCover: "qrc:///placeholder/noart_artistCover.svg";
    readonly property url noArtVideoCover: "qrc:///placeholder/noart_videoCover.svg";

    // New indicator
    readonly property url newIndicator: "qrc:///misc/new_indicator.svg";

    // ControlBar

    readonly property int controlBarBookmarksHeight: icon_xsmall * 0.9

    // Player control layout
    readonly property int controlLayoutHeight: MainCtx.dp(64, scale)
    readonly property int controlLayoutHeightPinned: MainCtx.dp(32, scale)

    // Scroll bar (size means width or height, depending on the orientation):
    readonly property real scrollBarInteractingSize: MainCtx.dp(8, scale)
    readonly property real scrollBarNonInteractingSize: MainCtx.dp(2, scale)

    function dp(size: real, scale: real) : real {
        if (!scale)
            return MainCtx.dp(size, MainCtx.intfScaleFactor)
        return MainCtx.dp(size, scale)
    }

    function colWidth(nb: int) : real {
      return nb * VLCStyle.column_width + ( nb - 1 ) * VLCStyle.column_spacing;
    }

    //dynamic margins based on screen width
    function dynamicAppMargins(width : int) : int {
        if (width < smallWidth)
            return margin_normal;
        else if(width > mediumWidth)
            return margin_large;
        else
            return margin_normal + (width - smallWidth) * (margin_large - margin_normal) /
                    (mediumWidth - smallWidth);
    }
}

[Dauer der Verarbeitung: 0.3 Sekunden, vorverarbeitet 2026-10-24]

                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Open Source Software

     Quellcodebibliothek
     Eigene Quellcodes
     Fremde Quellcodes
     Suchen

Jenseits des Üblichen ....
    

Besucherstatistik

Besucherstatistik

Statistik
#Sources=1104857
#Domains=418088