Browse Source

Working RSS news

Signed-off-by: Blagovest Petrov <blagovest@petrovs.info>
qt6
Blagovest Petrov 1 year ago
parent
commit
a153e53584
  1. 1
      CMakeLists.txt
  2. 6
      ui/AudioPlayer.qml
  3. 28
      ui/MenuToolbar.qml
  4. 55
      ui/PgNews.qml
  5. 29
      ui/main.qml

1
CMakeLists.txt

@ -57,6 +57,7 @@ qt_add_qml_module(apptangraplay
ui/MenuToolbar.qml ui/MenuToolbar.qml
ui/PgLive.qml ui/PgLive.qml
ui/PgNews.qml ui/PgNews.qml
ui/NewsDelegate.qml
RESOURCES RESOURCES
${QML_ASSETS} ${QML_ASSETS}
) )

6
ui/AudioPlayer.qml

@ -2,12 +2,6 @@ import QtQuick 2.0
import QtMultimedia import QtMultimedia
MediaPlayer { MediaPlayer {
property variant quality: {
"low" : "http://stream-bg-01.radiotangra.com/Tangra-middle.m3u",
"high" : "http://stream-bg-01.radiotangra.com/Tangra-high.m3u"
}
audioOutput: AudioOutput {} audioOutput: AudioOutput {}
source: "http://stream-bg-01.radiotangra.com:8000/Tangra-high" source: "http://stream-bg-01.radiotangra.com:8000/Tangra-high"
} }

28
ui/MenuToolbar.qml

@ -17,13 +17,13 @@ Item {
MouseArea { MouseArea {
anchors.fill: parent; anchors.fill: parent;
property string clickPos: "1,1" property variant clickPos: "1,1"
onPressed: { onPressed: (mouse)=> {
clickPos = Qt.point(mouse.x,mouse.y) clickPos = Qt.point(mouse.x, mouse.y)
} }
onPositionChanged: { onPositionChanged: (mouse)=> {
var delta = Qt.point(mouse.x-clickPos.x, mouse.y-clickPos.y) var delta = Qt.point(mouse.x-clickPos.x, mouse.y-clickPos.y)
var new_x = mainWindow.x + delta.x var new_x = mainWindow.x + delta.x
var new_y = mainWindow.y + delta.y var new_y = mainWindow.y + delta.y
@ -75,9 +75,23 @@ Item {
anchors.fill: parent anchors.fill: parent
hoverEnabled: true hoverEnabled: true
onClicked: { onClicked: {
pgLive1.visible = false; mainStack.push(stackLive)
pgnews1.visible = true; }
// contentLoader.sourceComponent = PgNews }
}
Image {
id: buttonNews
source: "qrc:/bpetrov.tangraplay/imports/TangraPlay/Assets/news.png"
anchors.left: buttonLive.left
anchors.leftMargin: 128
width: 32
height: 32
MouseArea {
anchors.fill: parent
hoverEnabled: true
onClicked: {
mainStack.push(stackNews)
} }
} }
} }

55
ui/PgNews.qml

@ -1,38 +1,35 @@
import QtQuick 2.12 import QtQuick
import QtQuick.Window 2.12 import QtQuick.Controls
import Qt.labs.platform 1.1 import QtQml.XmlListModel
import QtMultimedia 5.15
Item { Item {
x: 190 x: 190
y: 51 y: 51
Row {
id: row
x: 8
y: 50
width: 624
height: 400
spacing: 2
Text {
id: text1
x: 61
y: 50
text: qsTr("Гледайте първо видео от новия албум на GOJIRA - той излиза на 3 април")
font.pixelSize: 12
font.family: mainfont.name
}
Text {
id: text2
x: 61
y: 50
text: qsTr("Историята на BLONDIE в предаването 'РОКЕНДРОЛ' на МОНИ ПАНЧЕВ от 16:00")
font.pixelSize: 12
font.family: mainfont.name
}
}
XmlListModel {
id: newsModel
source: "http://www.radiotangra.com/news/rss.html"
query: "/rss/channel/item"
XmlListModelRole { name: "title"; elementName: "title"; attributeName: ""}
XmlListModelRole { name: "link"; elementName: "link"; attributeName: "" }
}
ListView {
id: newsList
anchors.fill: parent
anchors.topMargin: 38
anchors.leftMargin: 39
anchors.rightMargin: 27
anchors.bottomMargin: 17
model: newsModel
delegate: NewsDelegate {}
ScrollBar.vertical: ScrollBar {
policy: ScrollBar.AlwaysOn
}
}
} }

29
ui/main.qml

@ -1,10 +1,10 @@
import QtQuick 2.12 import QtQuick 2.12
import QtQuick.Window 2.12 import QtQuick.Controls
import QtQuick.Layouts
import Qt.labs.platform 1.1 import Qt.labs.platform 1.1
import QtMultimedia 5.15 import QtMultimedia
//import TangraPlay
Window { ApplicationWindow {
title: qsTr("Tangra Mega Rock") title: qsTr("Tangra Mega Rock")
id: mainWindow id: mainWindow
visible: true visible: true
@ -14,9 +14,10 @@ Window {
maximumHeight: 480 maximumHeight: 480
flags: Qt.FramelessWindowHint flags: Qt.FramelessWindowHint
// FontLoader { id: mainfont; source: "../Resources/KellySlab-Regular.ttf" }
FontLoader { id: mainfont; source: "qrc:/bpetrov.tangraplay/imports/TangraPlay/Assets/KellySlab-Regular.ttf" } FontLoader { id: mainfont; source: "qrc:/bpetrov.tangraplay/imports/TangraPlay/Assets/KellySlab-Regular.ttf" }
header: MenuToolbar {}
Connections { Connections {
target: tangraTray target: tangraTray
@ -56,11 +57,23 @@ Window {
fillMode: Image.Tile fillMode: Image.Tile
source: "qrc:/bpetrov.tangraplay/imports/TangraPlay/Assets/dark_leather.png" source: "qrc:/bpetrov.tangraplay/imports/TangraPlay/Assets/dark_leather.png"
MenuToolbar {}
PgLive {
id: pgLive1 StackView {
id: mainStack
initialItem: stackLive
anchors.fill: parent
}
Component {
id: stackLive
PgLive { id: pgLive }
}
Component {
id: stackNews
PgNews { id: pgNews }
} }
// PgNews { // PgNews {
// id: pgNews1 // id: pgNews1
// visible: false // visible: false

Loading…
Cancel
Save