51 lines
2.3 KiB
QML
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
|
|
}
|
|
}
|
|
|