Merge PR #1097: Introduce overview for states and events of things
This commit is contained in:
commit
3142e708b8
@ -318,5 +318,6 @@
|
||||
<file>ui/mainviews/dashboard/DashboardSensorDelegate.qml</file>
|
||||
<file>ui/devicepages/ThingStatusPage.qml</file>
|
||||
<file>ui/customviews/MultiStateChart.qml</file>
|
||||
<file>ui/devicepages/DeviceDetailsPage.qml</file>
|
||||
</qresource>
|
||||
</RCC>
|
||||
|
||||
@ -177,7 +177,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>No data</source>
|
||||
<translation type="unfinished">Žádná data</translation>
|
||||
<translation>Žádná data</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This action has not been executed yet.</source>
|
||||
@ -692,6 +692,10 @@
|
||||
<source>Are you sure you want to remove %1 and all associated settings?</source>
|
||||
<translation>Opravdu chcete odstranit %1 a všechna související nastavení?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Details</source>
|
||||
<translation>Detaily</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ConnectingPage</name>
|
||||
@ -1233,7 +1237,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>State</source>
|
||||
<translation type="unfinished">Stav</translation>
|
||||
<translation>Stav</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Select depiction</source>
|
||||
@ -1426,6 +1430,17 @@
|
||||
<translation>Chyba: %1</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>DeviceDetailsPage</name>
|
||||
<message>
|
||||
<source>States</source>
|
||||
<translation>Podmínky</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Events</source>
|
||||
<translation>Události</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>DeviceLogPage</name>
|
||||
<message>
|
||||
@ -2124,7 +2139,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>No data</source>
|
||||
<translation type="unfinished">Žádná data</translation>
|
||||
<translation>Žádná data</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This event has not been triggered yet.</source>
|
||||
@ -2404,7 +2419,7 @@ Prosím zkuste to znovu.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>ID copied to clipboard</source>
|
||||
<translation type="unfinished">ID zkopírováno do schránky</translation>
|
||||
<translation>ID zkopírováno do schránky</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -4611,23 +4626,23 @@ Použijte hodnotu časového limitu větší nebo rovnou 10 ms.</translation>
|
||||
<name>MultiStateChart</name>
|
||||
<message>
|
||||
<source>Hours</source>
|
||||
<translation type="unfinished">Hodiny</translation>
|
||||
<translation>Hodiny</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Days</source>
|
||||
<translation type="unfinished">Dny</translation>
|
||||
<translation>Dny</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Weeks</source>
|
||||
<translation type="unfinished">Týdny</translation>
|
||||
<translation>Týdny</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Months</source>
|
||||
<translation type="unfinished">Měsíce</translation>
|
||||
<translation>Měsíce</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>No data</source>
|
||||
<translation type="unfinished">Žádná data</translation>
|
||||
<translation>Žádná data</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -6985,7 +7000,7 @@ Toto prosím používejte pouze v případě, že jste si jisti tím co děláte
|
||||
</message>
|
||||
<message>
|
||||
<source>Updating...</source>
|
||||
<translation type="unfinished">Aktualizace probíhá...</translation>
|
||||
<translation>Aktualizace probíhá...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Installed version: %1</source>
|
||||
@ -6993,11 +7008,11 @@ Toto prosím používejte pouze v případě, že jste si jisti tím co děláte
|
||||
</message>
|
||||
<message>
|
||||
<source>Available version: %1</source>
|
||||
<translation type="unfinished">Dostupná verze: %1</translation>
|
||||
<translation>Dostupná verze: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Update</source>
|
||||
<translation type="unfinished">Aktualizace</translation>
|
||||
<translation>Aktualizace</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you want to start the update now?</source>
|
||||
@ -7005,7 +7020,7 @@ Toto prosím používejte pouze v případě, že jste si jisti tím co děláte
|
||||
</message>
|
||||
<message>
|
||||
<source>Current version: %1</source>
|
||||
<translation type="unfinished">Aktuální verze: %1</translation>
|
||||
<translation>Aktuální verze: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Connection information</source>
|
||||
@ -7017,7 +7032,7 @@ Toto prosím používejte pouze v případě, že jste si jisti tím co děláte
|
||||
</message>
|
||||
<message>
|
||||
<source>Disconnected</source>
|
||||
<translation type="unfinished">Odpojeno</translation>
|
||||
<translation>Odpojeno</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Signal strength: %1 %</source>
|
||||
@ -7037,11 +7052,11 @@ Toto prosím používejte pouze v případě, že jste si jisti tím co děláte
|
||||
</message>
|
||||
<message>
|
||||
<source>Critical</source>
|
||||
<translation type="unfinished">Kritické</translation>
|
||||
<translation>Kritické</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>OK</source>
|
||||
<translation type="unfinished">OK</translation>
|
||||
<translation>OK</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Battery level: %1 %</source>
|
||||
|
||||
@ -691,6 +691,10 @@
|
||||
<source>Are you sure you want to remove %1 and all associated settings?</source>
|
||||
<translation>Bist Du sicher, dass %1 und alle zugehörigen Einstellungen entfernt werden sollen?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Details</source>
|
||||
<translation>Details</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ConnectingPage</name>
|
||||
@ -1425,6 +1429,17 @@
|
||||
<translation>Fehler: %1</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>DeviceDetailsPage</name>
|
||||
<message>
|
||||
<source>States</source>
|
||||
<translation>Zustände</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Events</source>
|
||||
<translation>Ereignisse</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>DeviceLogPage</name>
|
||||
<message>
|
||||
|
||||
@ -691,6 +691,10 @@
|
||||
<source>Are you sure you want to remove %1 and all associated settings?</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Details</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ConnectingPage</name>
|
||||
@ -1425,6 +1429,17 @@
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>DeviceDetailsPage</name>
|
||||
<message>
|
||||
<source>States</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Events</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>DeviceLogPage</name>
|
||||
<message>
|
||||
|
||||
@ -691,6 +691,10 @@
|
||||
<source>Are you sure you want to remove %1 and all associated settings?</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Details</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ConnectingPage</name>
|
||||
@ -1425,6 +1429,17 @@
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>DeviceDetailsPage</name>
|
||||
<message>
|
||||
<source>States</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Events</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>DeviceLogPage</name>
|
||||
<message>
|
||||
@ -7876,14 +7891,14 @@ Please only use this if you are sure you want this and consider reporting the is
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<source>%n device(s)</source>
|
||||
<translation type="unfinished">
|
||||
<translation>
|
||||
<numerusform>%n device</numerusform>
|
||||
<numerusform>%n devices</numerusform>
|
||||
</translation>
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<source>%n device(s) (%1 disconnected)</source>
|
||||
<translation type="unfinished">
|
||||
<translation>
|
||||
<numerusform>%n device (%1 disconnected)</numerusform>
|
||||
<numerusform>%n devices (%1 disconnected)</numerusform>
|
||||
</translation>
|
||||
|
||||
@ -79,7 +79,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>About %1</source>
|
||||
<translation type="unfinished">Riguardo a %1</translation>
|
||||
<translation>Riguardo a %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Device serial number</source>
|
||||
@ -137,7 +137,7 @@
|
||||
<name>ActionLogPage</name>
|
||||
<message>
|
||||
<source>History for %1</source>
|
||||
<translation type="unfinished">Cronologia per %1</translation>
|
||||
<translation>Cronologia per %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Remove logs?</source>
|
||||
@ -196,7 +196,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>Add</source>
|
||||
<translation type="unfinished">Aggiungi</translation>
|
||||
<translation>Aggiungi</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>WebSocket server interfaces</source>
|
||||
@ -339,7 +339,7 @@
|
||||
<name>AwningThingsListPage</name>
|
||||
<message>
|
||||
<source>Awnings</source>
|
||||
<translation type="unfinished">Tende da sole</translation>
|
||||
<translation>Tende da sole</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -395,7 +395,7 @@
|
||||
<name>BlindThingsListPage</name>
|
||||
<message>
|
||||
<source>Blinds</source>
|
||||
<translation type="unfinished">Veneziane</translation>
|
||||
<translation>Veneziane</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -582,7 +582,7 @@
|
||||
<name>Configuration</name>
|
||||
<message>
|
||||
<source>Help</source>
|
||||
<translation type="unfinished">Aiuto</translation>
|
||||
<translation>Aiuto</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Forum</source>
|
||||
@ -691,6 +691,10 @@
|
||||
<source>Are you sure you want to remove %1 and all associated settings?</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Details</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ConnectingPage</name>
|
||||
@ -739,7 +743,7 @@
|
||||
<name>ConnectionInfoDialog</name>
|
||||
<message>
|
||||
<source>Available connections</source>
|
||||
<translation type="unfinished">Connessioni disponibili</translation>
|
||||
<translation>Connessioni disponibili</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>System information</source>
|
||||
@ -747,11 +751,11 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>Add</source>
|
||||
<translation type="unfinished">Aggiungi</translation>
|
||||
<translation>Aggiungi</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Close</source>
|
||||
<translation type="unfinished">Chiudi</translation>
|
||||
<translation>Chiudi</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -816,7 +820,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>Demo mode</source>
|
||||
<translation type="unfinished">Modalità demo</translation>
|
||||
<translation>Modalità demo</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>In order to use nymea, you will need to install nymea:core on a computer in your network. This can be a Raspberry Pi or any generic Linux computer.</source>
|
||||
@ -868,7 +872,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>Manual connection</source>
|
||||
<translation type="unfinished">Connessione manuale</translation>
|
||||
<translation>Connessione manuale</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Please wait while your nymea system is being discovered.</source>
|
||||
@ -900,7 +904,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>Wireless setup</source>
|
||||
<translation type="unfinished">Configurazione wireless</translation>
|
||||
<translation>Configurazione wireless</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Searching for the nymea system...</source>
|
||||
@ -1216,7 +1220,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>Cancel</source>
|
||||
<translation type="unfinished">Cancella</translation>
|
||||
<translation>Cancella</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Back</source>
|
||||
@ -1224,7 +1228,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>OK</source>
|
||||
<translation type="unfinished">Ok</translation>
|
||||
<translation>Ok</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Sensor</source>
|
||||
@ -1425,6 +1429,17 @@
|
||||
<translation></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>DeviceDetailsPage</name>
|
||||
<message>
|
||||
<source>States</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Events</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>DeviceLogPage</name>
|
||||
<message>
|
||||
@ -1868,7 +1883,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>OK</source>
|
||||
<translation type="unfinished">Ok</translation>
|
||||
<translation>Ok</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Assigned things</source>
|
||||
@ -2093,7 +2108,7 @@
|
||||
<name>EventLogPage</name>
|
||||
<message>
|
||||
<source>History for %1</source>
|
||||
<translation type="unfinished">Cronologia per %1</translation>
|
||||
<translation>Cronologia per %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Remove logs?</source>
|
||||
@ -2388,11 +2403,11 @@ Please try again.</source>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cancel</source>
|
||||
<translation type="unfinished">Cancella</translation>
|
||||
<translation>Cancella</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>OK</source>
|
||||
<translation type="unfinished">Ok</translation>
|
||||
<translation>Ok</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>ID copied to clipboard</source>
|
||||
@ -2488,11 +2503,11 @@ Please try again.</source>
|
||||
<name>GroupsView</name>
|
||||
<message>
|
||||
<source>There are no groups set up yet.</source>
|
||||
<translation type="unfinished">Non ci sono gruppi già impostati.</translation>
|
||||
<translation>Non ci sono gruppi già impostati.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Grouping things can be useful to control multiple devices at once, for example an entire room. Watch out for the group symbol when interacting with things and use it to add them to groups.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -3635,7 +3650,7 @@ Please try again.</source>
|
||||
</message>
|
||||
<message>
|
||||
<source>Temperature</source>
|
||||
<translation type="unfinished">Temperatura</translation>
|
||||
<translation>Temperatura</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Brightness</source>
|
||||
@ -3650,7 +3665,7 @@ Please try again.</source>
|
||||
<name>LightThingsListPage</name>
|
||||
<message>
|
||||
<source>Lights</source>
|
||||
<translation type="unfinished">Luci</translation>
|
||||
<translation>Luci</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -3974,11 +3989,11 @@ Please try again.</source>
|
||||
</message>
|
||||
<message>
|
||||
<source>App settings</source>
|
||||
<translation type="unfinished">Impostazioni app</translation>
|
||||
<translation>Impostazioni app</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>System settings</source>
|
||||
<translation type="unfinished">Impostazioni di sistema</translation>
|
||||
<translation>Impostazioni di sistema</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>New connection</source>
|
||||
@ -4195,7 +4210,7 @@ Please try again.</source>
|
||||
</message>
|
||||
<message>
|
||||
<source>Add</source>
|
||||
<translation type="unfinished">Aggiungi</translation>
|
||||
<translation>Aggiungi</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Select a serial port.</source>
|
||||
@ -4972,7 +4987,7 @@ Use a timeout value greater or equal to 10 ms.</source>
|
||||
<name>NotificationsThingPage</name>
|
||||
<message>
|
||||
<source>Title</source>
|
||||
<translation type="unfinished">Titolo</translation>
|
||||
<translation>Titolo</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Text</source>
|
||||
@ -5004,7 +5019,7 @@ Use a timeout value greater or equal to 10 ms.</source>
|
||||
</message>
|
||||
<message>
|
||||
<source>Close</source>
|
||||
<translation type="unfinished">Chiudi</translation>
|
||||
<translation>Chiudi</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -6772,7 +6787,7 @@ Please only use this if you are sure you want this and consider reporting the is
|
||||
</message>
|
||||
<message>
|
||||
<source>OK</source>
|
||||
<translation type="unfinished">Ok</translation>
|
||||
<translation>Ok</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -6846,7 +6861,7 @@ Please only use this if you are sure you want this and consider reporting the is
|
||||
</message>
|
||||
<message>
|
||||
<source>OK</source>
|
||||
<translation type="unfinished">Ok</translation>
|
||||
<translation>Ok</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -6880,7 +6895,7 @@ Please only use this if you are sure you want this and consider reporting the is
|
||||
<name>ThingLogPage</name>
|
||||
<message>
|
||||
<source>History for %1</source>
|
||||
<translation type="unfinished">Cronologia per %1</translation>
|
||||
<translation>Cronologia per %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Filter by</source>
|
||||
@ -7005,7 +7020,7 @@ Please only use this if you are sure you want this and consider reporting the is
|
||||
</message>
|
||||
<message>
|
||||
<source>OK</source>
|
||||
<translation type="unfinished">Ok</translation>
|
||||
<translation>Ok</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Battery level: %1 %</source>
|
||||
@ -7016,7 +7031,7 @@ Please only use this if you are sure you want this and consider reporting the is
|
||||
<name>ThingsView</name>
|
||||
<message>
|
||||
<source>Welcome to %1!</source>
|
||||
<translation type="unfinished">Benvenuto in %1!</translation>
|
||||
<translation>Benvenuto in %1!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>There are no things set up yet.</source>
|
||||
@ -7134,7 +7149,7 @@ Please only use this if you are sure you want this and consider reporting the is
|
||||
</message>
|
||||
<message>
|
||||
<source>OK</source>
|
||||
<translation type="unfinished">Ok</translation>
|
||||
<translation>Ok</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -7481,7 +7496,7 @@ Please only use this if you are sure you want this and consider reporting the is
|
||||
</message>
|
||||
<message>
|
||||
<source>Next</source>
|
||||
<translation type="unfinished">Avanti</translation>
|
||||
<translation>Avanti</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -7546,7 +7561,7 @@ Please only use this if you are sure you want this and consider reporting the is
|
||||
</message>
|
||||
<message>
|
||||
<source>Help</source>
|
||||
<translation type="unfinished">Aiuto</translation>
|
||||
<translation>Aiuto</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Network settings</source>
|
||||
@ -7690,7 +7705,7 @@ Please only use this if you are sure you want this and consider reporting the is
|
||||
</message>
|
||||
<message>
|
||||
<source>OK</source>
|
||||
<translation type="unfinished">Ok</translation>
|
||||
<translation>Ok</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Remove Z-Wave node</source>
|
||||
@ -7961,7 +7976,7 @@ Please only use this if you are sure you want this and consider reporting the is
|
||||
</message>
|
||||
<message>
|
||||
<source>OK</source>
|
||||
<translation type="unfinished">Ok</translation>
|
||||
<translation>Ok</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>ZigBee network settings</source>
|
||||
@ -8052,11 +8067,11 @@ Please only use this if you are sure you want this and consider reporting the is
|
||||
</message>
|
||||
<message>
|
||||
<source>Help</source>
|
||||
<translation type="unfinished">Aiuto</translation>
|
||||
<translation>Aiuto</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>OK</source>
|
||||
<translation type="unfinished">Ok</translation>
|
||||
<translation>Ok</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>There are no ZigBee devices connected yet. Open the network for new devices to join and start the pairing procedure from the ZigBee device. Please refer to the devices manual for more information on how to start the pairing.</source>
|
||||
@ -8108,7 +8123,7 @@ Please only use this if you are sure you want this and consider reporting the is
|
||||
</message>
|
||||
<message>
|
||||
<source>Close</source>
|
||||
<translation type="unfinished">Chiudi</translation>
|
||||
<translation>Chiudi</translation>
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<source>%n device(s)</source>
|
||||
@ -8228,7 +8243,7 @@ Please only use this if you are sure you want this and consider reporting the is
|
||||
</message>
|
||||
<message>
|
||||
<source>Help</source>
|
||||
<translation type="unfinished">Aiuto</translation>
|
||||
<translation>Aiuto</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Device</source>
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -177,7 +177,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>No data</source>
|
||||
<translation type="unfinished">Geen gegevens</translation>
|
||||
<translation>Geen gegevens</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This action has not been executed yet.</source>
|
||||
@ -691,6 +691,10 @@
|
||||
<source>Are you sure you want to remove %1 and all associated settings?</source>
|
||||
<translation>Weet je zeker dat je %1 wilt verwijderen, samen met de bijbehorende instellingen?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Details</source>
|
||||
<translation>Details</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ConnectingPage</name>
|
||||
@ -1232,7 +1236,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>State</source>
|
||||
<translation type="unfinished">Status</translation>
|
||||
<translation>Status</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Select depiction</source>
|
||||
@ -1425,6 +1429,17 @@
|
||||
<translation>Fout: %1</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>DeviceDetailsPage</name>
|
||||
<message>
|
||||
<source>States</source>
|
||||
<translation>Statussen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Events</source>
|
||||
<translation>Gebeurtenissen</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>DeviceLogPage</name>
|
||||
<message>
|
||||
@ -2125,7 +2140,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>No data</source>
|
||||
<translation type="unfinished">Geen gegevens</translation>
|
||||
<translation>Geen gegevens</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This event has not been triggered yet.</source>
|
||||
@ -4597,23 +4612,23 @@ Gebruik een timeout waarde die groter of gelijk is dan 10 ms.</translation>
|
||||
<name>MultiStateChart</name>
|
||||
<message>
|
||||
<source>Hours</source>
|
||||
<translation type="unfinished">Uren</translation>
|
||||
<translation>Uren</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Days</source>
|
||||
<translation type="unfinished">Dagen</translation>
|
||||
<translation>Dagen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Weeks</source>
|
||||
<translation type="unfinished">Weken</translation>
|
||||
<translation>Weken</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Months</source>
|
||||
<translation type="unfinished">Maanden</translation>
|
||||
<translation>Maanden</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>No data</source>
|
||||
<translation type="unfinished">Geen gegevens</translation>
|
||||
<translation>Geen gegevens</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -6971,7 +6986,7 @@ Als je fouten in de niet-officiële software vindt, geef deze dan door aan de on
|
||||
</message>
|
||||
<message>
|
||||
<source>Updating...</source>
|
||||
<translation type="unfinished">Aan het bijwerken...</translation>
|
||||
<translation>Aan het bijwerken...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Installed version: %1</source>
|
||||
@ -6979,11 +6994,11 @@ Als je fouten in de niet-officiële software vindt, geef deze dan door aan de on
|
||||
</message>
|
||||
<message>
|
||||
<source>Available version: %1</source>
|
||||
<translation type="unfinished">Beschikbare versie: %1</translation>
|
||||
<translation>Beschikbare versie: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Update</source>
|
||||
<translation type="unfinished">Bijwerken</translation>
|
||||
<translation>Bijwerken</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you want to start the update now?</source>
|
||||
@ -6991,7 +7006,7 @@ Als je fouten in de niet-officiële software vindt, geef deze dan door aan de on
|
||||
</message>
|
||||
<message>
|
||||
<source>Current version: %1</source>
|
||||
<translation type="unfinished">Huidige versie: %1</translation>
|
||||
<translation>Huidige versie: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Connection information</source>
|
||||
@ -6999,11 +7014,11 @@ Als je fouten in de niet-officiële software vindt, geef deze dan door aan de on
|
||||
</message>
|
||||
<message>
|
||||
<source>Connected</source>
|
||||
<translation type="unfinished">Verbonden</translation>
|
||||
<translation>Verbonden</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Disconnected</source>
|
||||
<translation type="unfinished">Niet verbonden</translation>
|
||||
<translation>Niet verbonden</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Signal strength: %1 %</source>
|
||||
@ -7023,11 +7038,11 @@ Als je fouten in de niet-officiële software vindt, geef deze dan door aan de on
|
||||
</message>
|
||||
<message>
|
||||
<source>Critical</source>
|
||||
<translation type="unfinished">Kritiek</translation>
|
||||
<translation>Kritiek</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>OK</source>
|
||||
<translation type="unfinished">OK</translation>
|
||||
<translation>OK</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Battery level: %1 %</source>
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -690,6 +690,10 @@
|
||||
<source>Are you sure you want to remove %1 and all associated settings?</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Details</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ConnectingPage</name>
|
||||
@ -1424,6 +1428,17 @@
|
||||
<translation></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>DeviceDetailsPage</name>
|
||||
<message>
|
||||
<source>States</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Events</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>DeviceLogPage</name>
|
||||
<message>
|
||||
|
||||
@ -13,7 +13,7 @@ InfoPaneBase {
|
||||
readonly property bool setupFailure: root.thing.setupStatus == Thing.ThingSetupStatusFailed
|
||||
readonly property State batteryState: root.thing.stateByName("batteryLevel")
|
||||
readonly property State batteryCriticalState: root.thing.stateByName("batteryCritical")
|
||||
readonly property State connectedState: root.thing.thingClass.interfaces.indexOf("connectable") >= 0 && root.thing.stateByName("connected")
|
||||
readonly property State connectedState: root.thing.thingClass.interfaces.indexOf("connectable") >= 0 ? root.thing.stateByName("connected") : null
|
||||
readonly property State signalStrengthState: root.thing.stateByName("signalStrength")
|
||||
readonly property State updateStatusState: root.thing.stateByName("updateStatus")
|
||||
readonly property State childLockState: root.thing.stateByName("childLock")
|
||||
|
||||
248
nymea-app/ui/devicepages/DeviceDetailsPage.qml
Normal file
248
nymea-app/ui/devicepages/DeviceDetailsPage.qml
Normal file
@ -0,0 +1,248 @@
|
||||
import QtQuick 2.5
|
||||
import QtQuick.Layouts 1.1
|
||||
import QtQuick.Controls 2.2
|
||||
import QtQuick.Controls.Material 2.2
|
||||
import Nymea 1.0
|
||||
import "../components"
|
||||
import "../delegates"
|
||||
|
||||
Page {
|
||||
id: root
|
||||
|
||||
property Thing thing: null
|
||||
|
||||
header: NymeaHeader {
|
||||
text: thing ? thing.name : ""
|
||||
backButtonVisible: true
|
||||
onBackPressed: pageStack.pop()
|
||||
}
|
||||
|
||||
|
||||
ListView {
|
||||
id: flickable
|
||||
anchors.fill: parent
|
||||
clip: true
|
||||
|
||||
SwipeDelegateGroup {}
|
||||
|
||||
section.property: "type"
|
||||
section.delegate: ListSectionHeader {
|
||||
text: {
|
||||
switch (parseInt(section)) {
|
||||
case ThingModel.TypeStateType:
|
||||
return qsTr("States")
|
||||
case ThingModel.TypeEventType:
|
||||
return qsTr("Events")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
model: ThingModel {
|
||||
thing: root.thing
|
||||
showActions: false
|
||||
}
|
||||
delegate: SwipeDelegate {
|
||||
id: delegate
|
||||
width: parent.width
|
||||
|
||||
readonly property StateType stateType: model.type === ThingModel.TypeStateType ? root.thing.thingClass.stateTypes.getStateType(model.id) : null
|
||||
readonly property EventType eventType: model.type === ThingModel.TypeEventType ? root.thing.thingClass.eventTypes.getEventType(model.id) : null
|
||||
|
||||
Layout.fillWidth: true
|
||||
bottomPadding: 0
|
||||
|
||||
contentItem: Loader {
|
||||
id: inlineLoader
|
||||
Layout.fillWidth: true
|
||||
Layout.preferredHeight: Style.smallDelegateHeight
|
||||
sourceComponent: {
|
||||
switch (model.type) {
|
||||
case ThingModel.TypeStateType:
|
||||
return stateComponent;
|
||||
case ThingModel.TypeEventType:
|
||||
return eventComponent;
|
||||
}
|
||||
}
|
||||
|
||||
Binding {
|
||||
target: inlineLoader.item
|
||||
when: model.type === ThingModel.TypeStateType
|
||||
property: "stateType"
|
||||
value: delegate.stateType
|
||||
}
|
||||
Binding {
|
||||
target: inlineLoader.item
|
||||
when: model.type === ThingModel.TypeEventType
|
||||
property: "eventType"
|
||||
value: delegate.eventType
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Component {
|
||||
id: stateComponent
|
||||
RowLayout {
|
||||
id: stateDelegate
|
||||
property StateType stateType: null
|
||||
readonly property State thingState: stateType ? root.thing.states.getState(stateType.id) : null
|
||||
|
||||
Label {
|
||||
Layout.fillWidth: true
|
||||
Layout.minimumWidth: parent.width / 2
|
||||
text: stateDelegate.stateType.displayName
|
||||
elide: Text.ElideRight
|
||||
}
|
||||
Loader {
|
||||
id: stateDelegateLoader
|
||||
Layout.fillWidth: true
|
||||
}
|
||||
Label {
|
||||
visible: text.length > 0 && stateDelegate.stateType.unit !== Types.UnitUnixTime
|
||||
text: Types.toUiUnit(stateDelegate.stateType.unit)
|
||||
}
|
||||
|
||||
Component.onCompleted: updateLoader()
|
||||
onStateTypeChanged: updateLoader();
|
||||
|
||||
function updateLoader() {
|
||||
if (stateDelegate.stateType == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
var sourceComp;
|
||||
switch (stateDelegate.stateType.type.toLowerCase()) {
|
||||
case "string":
|
||||
sourceComp = "LabelDelegate.qml";
|
||||
break;
|
||||
case "stringlist":
|
||||
sourceComp = "ListDelegate.qml";
|
||||
break;
|
||||
case "bool":
|
||||
sourceComp = "LedDelegate.qml";
|
||||
break;
|
||||
case "int":
|
||||
case "uint":
|
||||
case "double":
|
||||
if (stateDelegate.stateType.unit === Types.UnitUnixTime) {
|
||||
sourceComp = "DateTimeDelegate.qml";
|
||||
} else {
|
||||
sourceComp = "NumberLabelDelegate.qml";
|
||||
}
|
||||
break;
|
||||
case "color":
|
||||
sourceComp = "ColorDelegate.qml";
|
||||
break;
|
||||
}
|
||||
if (!sourceComp) {
|
||||
sourceComp = "LabelDelegate.qml";
|
||||
print("GenericThingPage: unhandled entry", stateDelegate.stateType.displayName)
|
||||
}
|
||||
|
||||
var minValue = stateDelegate.stateType.minValue !== undefined
|
||||
? stateDelegate.stateType.minValue
|
||||
: stateDelegate.stateType.type.toLowerCase() === "uint"
|
||||
? 0
|
||||
: -2000000000; // As per QML spec
|
||||
var maxValue = stateDelegate.stateType.maxValue !== undefined
|
||||
? stateDelegate.stateType.maxValue
|
||||
: 2000000000;
|
||||
print("pushing delegate for", stateDelegate.stateType.name, "from:", minValue, "to:", maxValue, "possible:", stateDelegate.stateType.possibleValuesDisplayNames)
|
||||
stateDelegateLoader.setSource("../delegates/statedelegates/" + sourceComp,
|
||||
{
|
||||
value: root.thing.states.getState(stateType.id).value,
|
||||
possibleValues: stateDelegate.stateType.possibleValues,
|
||||
possibleValuesDisplayNames: stateDelegate.stateType.possibleValuesDisplayNames,
|
||||
from: minValue,
|
||||
to: maxValue,
|
||||
unit: stateDelegate.stateType.unit,
|
||||
writable: false,
|
||||
stateType: stateDelegate.stateType
|
||||
})
|
||||
|
||||
}
|
||||
|
||||
Binding {
|
||||
target: stateDelegateLoader.item
|
||||
property: "value"
|
||||
value: stateDelegate.thingState.value
|
||||
}
|
||||
Binding {
|
||||
target: stateDelegateLoader.item.hasOwnProperty("from") ? stateDelegateLoader.item : null
|
||||
property: "from"
|
||||
value: stateDelegate.thingState.minValue
|
||||
}
|
||||
Binding {
|
||||
target: stateDelegateLoader.item.hasOwnProperty("to") ? stateDelegateLoader.item : null
|
||||
property: "to"
|
||||
value: stateDelegate.thingState.maxValue
|
||||
}
|
||||
Binding {
|
||||
target: stateDelegateLoader.item.hasOwnProperty("possibleValues") ? stateDelegateLoader.item : null
|
||||
property: "possibleValues"
|
||||
value: stateDelegate.thingState.possibleValues
|
||||
}
|
||||
Binding {
|
||||
target: stateDelegateLoader.item.hasOwnProperty("possibleValuesDisplayNames") ? stateDelegateLoader.item : null
|
||||
property: "possibleValuesDisplayNames"
|
||||
value: {
|
||||
print("updating displayNames", stateDelegate.thingState.possibleValues)
|
||||
var ret = []
|
||||
for (var i = 0; i < stateDelegate.thingState.possibleValues.length; i++) {
|
||||
var possibleValue = stateDelegate.thingState.possibleValues[i]
|
||||
var idx = stateDelegate.stateType.possibleValues.indexOf(possibleValue)
|
||||
print("value:", possibleValue, idx)
|
||||
if (idx >= 0) {
|
||||
ret.push(stateDelegate.stateType.possibleValuesDisplayNames[idx])
|
||||
} else {
|
||||
ret.push(possibleValue)
|
||||
}
|
||||
}
|
||||
return ret
|
||||
}
|
||||
}
|
||||
Binding {
|
||||
target: stateDelegateLoader.item.hasOwnProperty("unit") ? stateDelegateLoader.item : null
|
||||
property: "unit"
|
||||
value: stateDelegate.stateType.unit
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Component {
|
||||
id: eventComponent
|
||||
RowLayout {
|
||||
id: eventComponentItem
|
||||
property EventType eventType: null
|
||||
|
||||
Label {
|
||||
Layout.fillWidth: true
|
||||
text: eventComponentItem.eventType.displayName
|
||||
}
|
||||
Rectangle {
|
||||
id: flashlight
|
||||
Layout.preferredHeight: Style.iconSize * .8
|
||||
Layout.preferredWidth: height
|
||||
color: "lightgray"
|
||||
radius: width / 2
|
||||
border.color: Style.foregroundColor
|
||||
border.width: 1
|
||||
|
||||
SequentialAnimation on color {
|
||||
id: flashlightAnimation
|
||||
running: false
|
||||
ColorAnimation { to: "lightgreen"; duration: 100 }
|
||||
ColorAnimation { to: "lightgray"; duration: 500 }
|
||||
}
|
||||
}
|
||||
Connections {
|
||||
target: root.thing
|
||||
onEventTriggered: {
|
||||
if (eventTypeId === eventComponentItem.eventType.id) {
|
||||
flashlightAnimation.start();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -73,6 +73,8 @@ SettingsPageBase {
|
||||
if (!root.thing.isChild || root.thingClass.createMethods.indexOf("CreateMethodAuto") < 0) {
|
||||
deviceMenu.addItem(menuEntryComponent.createObject(deviceMenu, {text: qsTr("Reconfigure"), iconSource: "../images/configure.svg", functionName: "reconfigureThing"}))
|
||||
}
|
||||
|
||||
deviceMenu.addItem(menuEntryComponent.createObject(deviceMenu, {text: qsTr("Details"), iconSource: "../images/info.svg", functionName: "thingDetails"}))
|
||||
}
|
||||
|
||||
function renameThing() {
|
||||
@ -91,6 +93,10 @@ SettingsPageBase {
|
||||
configPage.aborted.connect(function() {pageStack.pop(root)})
|
||||
}
|
||||
|
||||
function thingDetails() {
|
||||
pageStack.push(Qt.resolvedUrl("qrc:/ui/devicepages/DeviceDetailsPage.qml"), {thing: root.thing})
|
||||
}
|
||||
|
||||
Component {
|
||||
id: menuEntryComponent
|
||||
IconMenuItem {
|
||||
|
||||
Reference in New Issue
Block a user