• File: Core.qml
  • Full Path: /home/insbudnet/domains/insbud.net/public_html/download/software/qml/ostoia/qml/pl/commons/Core.qml
  • File size: 4 KB
  • MIME-type: text/plain
  • Charset: utf-8
 
Open Back
import QtQuick 2.3
import QtQml 2.2

Rectangle {
    id: container
    color: "#00000000"

    /* Konfiguracja */
    property string cfg_temperature_unit: "°C" // "°C"; "°F"
    property string cfg_speed_unit: "km/h"     // "km/h"; "mph"

    /* Lokalizacyjne */
    property string lang_current_condition: "Warunki aktualne"
    property string lang_forecast: "Prognoza"
    property string lang_temperature: "Temperatura"
    property string lang_max_temperature: "Temperatura maksymalna"
    property string lang_min_temperature: "Temperatura minimalna"
    property string lang_wind: "Wiatr"
    property string lang_precipitation: "Opady"
    property string lang_humidity: "Wilgotność"
    property string lang_visibility: "Widoczność"
    property string lang_atmospheric_pressure: "Ciśnienie atmosferyczne"
    property string lang_cloud_cover: "Zachmurzenie"


    /*
     * Funkcja zwraca stringa - sformatowaną wartość
     *
     * Typy parametrów
     *
     * 1 - klucz/wartosc. Dla wartosci a_value wyszukuje index z listy wartosci (a_param_p_0) klucz i go zwraca (a_param_p_1)
     *     przyklad: dla wartosci 255 przy a_param_0: "0;1;255" i a_param_1: "Lato;Zima;Auto" zostanie zwrocone "Auto"
     *     jezeli nie uda sie przporzadkowac do wartosci klucza to zostanie zwrocona wprost wartosc
     * 2 - float z jednostką:
     *              a_param_p_0 - dzielnik (0 - brak dzielnika)
     * 3 - tylko godzina (czas): param_value - godziny; param_p_0 - minuty;
     * 4 - tylko data: param_value - rok (dwie ostatnie cyfry); param_p_0 - miesiąc; param_p_0 - dzień;
     * 5 - nazwa dnia tygodnia - (zlokalizowany);
     */

    function funct_getValue(a_type, a_value, a_param_p_0, a_param_p_1) {

        var result = "";

        switch (a_type) {
        case 1:
            if (a_value === -65535) {
                result = "- - -";
            } else {

                result  = a_value;

                var tmp_key = a_param_p_1.split(";");
                var tmp_value = a_param_p_0.split(";");

                if (tmp_value.length > 0) {
                    for (var i=0; i<tmp_value.length; i++) {
                        if (tmp_value[i] == a_value) {
                            result = tmp_key[i];
                        }
                    }
                }
            }

            break
        case 2:
            if (a_value === -65535) {
                result = "- - -";
            } else {
                if (a_param_p_0 !== 0) {
                    result = (a_value/a_param_p_0).toLocaleString();
                } else {
                    result = a_value.toLocaleString();
                }
            }

            break
        case 3:
            result = get_date_time(a_value, a_param_p_0, 1, 1, 2014).toLocaleTimeString(Locale.ShortFormat)
            break
        case 4:
            result = get_date_time(0, 0, a_value, a_param_p_0, a_param_p_1).toLocaleDateString(Locale.ShortFormat)
            break
        case 5:
            result = Qt.locale().dayName(a_value)
            break
        default:
            result = a_value.toString();
            break
        }

        return result;
    }

    /*
     * Funkcja zwraca odpowiednią date i godzinę
     */

    function get_date_time(a_hour, a_minute, a_year, a_month, a_day) {
        var dateTime = new Date();

        dateTime.setHours(a_hour);
        dateTime.setMinutes(a_minute);
        dateTime.setFullYear(2000 + a_year);
        dateTime.setMonth(a_month);
        dateTime.setDate(a_day);

        return dateTime
    }

    /*
     * Funkcja generuje kod QML dla obektów dynamicznych
     */

    function generateQMLstring(a_C_name, a_index, a_title, a_p_0) {
        var result = "";

        result = "
                import QtQuick 2.2;
                import \"../../commons/\";
                " + a_C_name + " {
                    prop_index: " + a_index + "
                    prop_title: \"" + a_title + "\"
                    prop_p_0: \"" + a_p_0 + "\"
                }
        ";

        return result;
    }
}