harbour-allradio/qml/models/GetCountryStations.qml
2025-05-28 20:47:14 +02:00

51 lines
2.3 KiB
QML

import QtQuick 2.0
import QtQuick.XmlListModel 2.0
Item {
// radio-browser advanced:
////property int bitrateMin: 0
////property int bitrateMax: 1000000
////property string state: ""
////property bool stateExact: false
////property string language: ""
////property bool languageExact: false
////property string tagList: "" // commaseparated string
property string name: ""
property bool nameExact: false
property string countrycode: ""
property string tag: ""
property bool tagExcact: false
property string codec: ""
property string order: "" // name, url, homepage, favicon, tags, country, state, language, votes, codec, bitrate, lastcheckok, lastchecktime, clicktimestamp, clickcount, clicktrend, random
property bool reverse: false//order === name ? false : true // true if name
property int offset: 0
property int limit: 150
property string source: ""
// Allradio specific:
property string country: countrycode ? radioBrowser.getCountryName(countrycode) : "World"
property alias finished: searchModel.finished
property string filterString
property alias stationsModel: searchModel.stationsModel
property bool clear: false
property AdvancedSearchModel searchModel : AdvancedSearchModel {id:searchModel}
onSourceChanged: {searchModel.source = source}
onClearChanged: if (clear) {searchModel.clear;searchModel.stationsModel.clear();offset=0;clear=false}
function getStations() {
searchModel.xml=""
filterString = ""
if (name !== "") {filterString = "&name="+name+"&nameExact="+nameExact}
if (countrycode !== "") filterString = filterString + "&countrycode="+countrycode
if (tag !== "") filterString = filterString + "&tag="+tag+"&tagExact="+tagExcact
if (codec !== "") filterString = filterString + "&codec="+codec
if (order !== "") filterString = filterString + "&order="+order
if (order === "name") reverse = false; else reverse = true
filterString = filterString + "&reverse="+reverse + "&offset="+offset+"&limit="+limit
// console.log(radioBrowser.serverUrl + "/xml/stations/search?hidebroken=true"+filterString)
source = radioBrowser.serverUrl + "/xml/stations/search?hidebroken=true"+filterString
}
}