Dmitriiiiiqiq

GamesListDelegate.qml

Nov 16th, 2022
192
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
QML 4.19 KB | None | 0 0
  1. import QtQuick
  2. import QtQuick.Controls
  3. import QtQuick.Layouts
  4. import ThemeSwitcher
  5.  
  6. import "../../../../../../qml/mobile/forms/lobby/home/gameslist"
  7. import "../../../../../../base_qml/common/components/effects"
  8. import "../../../../../../qml/mobile/forms/lobby/home/gameslist/GamesListScript.js" as GLS
  9. import "../../../../../../base_qml/common/scripts/PokerGlobalScript.js" as PGS
  10.  
  11. Component {
  12.     ItemDelegate {
  13.         id: gamesListDelegate
  14.  
  15.         width: gamesListDelegate.GridView.view.cellWidth
  16.         height: gamesListDelegate.GridView.view.cellHeight
  17.  
  18.         Rectangle {
  19.             id: containerGamesListDelegate
  20.  
  21.             anchors.fill: parent
  22.  
  23.             color: ThemeSwitcher.currentTheme.colorStyles.gamesListBackgroundColor
  24.  
  25.             GamesListDelegateBackground {
  26.                 listElementName: name
  27.                 listElementBackgroundColor: GLS.getColorForBackground( name )
  28.  
  29.                 anchors.fill: parent
  30.                 anchors.topMargin: 2
  31.                 anchors.leftMargin: !isLandscapeOrientation ? 8 : (index % 2) ? 2 : 8
  32.                 anchors.bottomMargin: 2
  33.                 anchors.rightMargin: !isLandscapeOrientation ? 8 : (index % 2) ? 8 : 2
  34.             }
  35.  
  36.             ColumnLayout {
  37.                 spacing: 0
  38.                 anchors.left: parent.left
  39.                 anchors.leftMargin: 32
  40.                 anchors.verticalCenter: parent.verticalCenter
  41.  
  42.                 Text {
  43.                     id: gamesListTextLabel
  44.  
  45.                     property var textGradient: [ "#F9DF7B", "#B57E10", "#F9DF7B", "#C49328" ]
  46.  
  47.                     text: PGS.qsNls( "common-string." + name, title )
  48.                     font: ThemeSwitcher.currentTheme.textStyles.gamesListTitleFont
  49.                     color: ThemeSwitcher.currentTheme.colorStyles.gamesListTitleColor
  50.                 }
  51.  
  52.                 SELinearGradientEffect {
  53.                     id: jackpotTextGradient
  54.  
  55.                     anchors.fill: gamesListTextLabel
  56.                     source: gamesListTextLabel
  57.  
  58.                     gradient: Gradient {
  59.                         id: gradientContent
  60.  
  61.                         orientation: Gradient.Vertical
  62.                         GradientStop { position: 0;    color: gamesListTextLabel.textGradient[0] }
  63.                         GradientStop { position: 0.46; color: gamesListTextLabel.textGradient[1] }
  64.                         GradientStop { position: 0.51; color: gamesListTextLabel.textGradient[2] }
  65.                         GradientStop { position: 1;    color: gamesListTextLabel.textGradient[3] }
  66.                     }
  67.                 }
  68.  
  69.                 Repeater {
  70.                     model: info
  71.  
  72.                     Item {
  73.                         Layout.margins: 0
  74.                         Layout.fillWidth: true
  75.                         Layout.minimumWidth: infoTitle.width + infoValue.width
  76.                         Layout.fillHeight: true
  77.                         Layout.minimumHeight: Math.max( infoTitle.height, infoValue.height )
  78.  
  79.                         Text {
  80.                             id: infoTitle
  81.  
  82.                             verticalAlignment: Text.AlignVCenter
  83.  
  84.                             font: ThemeSwitcher.currentTheme.textStyles.gamesListIfnoTitleFont
  85.                             color: ThemeSwitcher.currentTheme.colorStyles.gamesListIfnoTitleColor
  86.                             text: "%1:".arg( PGS.qsNls( "common-string." + info.name, info.title ) )
  87.                         }
  88.                         Text {
  89.                             id: infoValue
  90.  
  91.                             anchors.left: infoTitle.right
  92.                             verticalAlignment: Text.AlignVCenter
  93.  
  94.                             font: ThemeSwitcher.currentTheme.textStyles.gamesListIfnoValueFont
  95.                             color: ThemeSwitcher.currentTheme.colorStyles.gamesListIfnoValueColor
  96.                             text: info.value
  97.                         }
  98.                     }
  99.                 }
  100.             }
  101.         }
  102.  
  103.  
  104.         onClicked: {
  105.             console.log( "**** Games List. Delegate Name: " + name + ", Index: " + index );
  106.             gamesListDelegate.GridView.view.sendClickedDelegate( name )
  107.         }
  108.  
  109.     }
  110. }
  111.  
Add Comment
Please, Sign In to add comment