diff --git a/lib/l10n/app_en.arb b/lib/l10n/app_en.arb
index 7d47cf6c..68a158b5 100644
--- a/lib/l10n/app_en.arb
+++ b/lib/l10n/app_en.arb
@@ -265,7 +265,7 @@
"layoutName": "Layout name",
"layoutNameHint": "First floor",
"layoutTypeLabel": "Layout type",
- "clearLayout": "Clear {amount} devices",
+ "clearLayout": "Remove {amount} {amount, plural, =1{device} other{devices}}",
"@clearLayout": {
"placeholders": {
"amount": {
@@ -349,7 +349,7 @@
"toDate": "To",
"today": "Today",
"yesterday": "Yesterday",
- "never": "never",
+ "never": "Never",
"fromToDate": "From {from} to {to}",
"@fromToDate": {
"placeholders": {
@@ -639,6 +639,9 @@
"initialDeviceVolume": "Initial Camera Volume",
"runVideoTest": "Run Video Test",
"runVideoTestDescription": "Run a video test to check the state of video playback.",
+ "showCameraName": "Show Camera Name",
+ "always": "Always",
+ "onHover": "On hover",
"@@LOCALIZATION": {},
"dateLanguage": "Date and Language",
"language": "Language",
diff --git a/lib/l10n/app_fr.arb b/lib/l10n/app_fr.arb
index 4f94a926..20acdae6 100644
--- a/lib/l10n/app_fr.arb
+++ b/lib/l10n/app_fr.arb
@@ -613,6 +613,9 @@
"initialDeviceVolume": "Initial Camera Volume",
"runVideoTest": "Run Video Test",
"runVideoTestDescription": "Run a video test to check the state of video playback.",
+ "showCameraName": "Show Camera Name",
+ "always": "Always",
+ "onHover": "On hover",
"@@LOCALIZATION": {},
"dateLanguage": "Date et Langue",
"language": "Langue",
diff --git a/lib/l10n/app_pl.arb b/lib/l10n/app_pl.arb
index d5ad9911..9c52a9c1 100644
--- a/lib/l10n/app_pl.arb
+++ b/lib/l10n/app_pl.arb
@@ -639,6 +639,9 @@
"initialDeviceVolume": "Initial Camera Volume",
"runVideoTest": "Run Video Test",
"runVideoTestDescription": "Run a video test to check the state of video playback.",
+ "showCameraName": "Show Camera Name",
+ "always": "Always",
+ "onHover": "On hover",
"@@LOCALIZATION": {},
"dateLanguage": "Date and Language",
"language": "Language",
diff --git a/lib/l10n/app_pt.arb b/lib/l10n/app_pt.arb
index 36c44aee..a1b86285 100644
--- a/lib/l10n/app_pt.arb
+++ b/lib/l10n/app_pt.arb
@@ -265,7 +265,7 @@
"layoutName": "Nome do layout",
"layoutNameHint": "Primeiro andar",
"layoutTypeLabel": "Tipo do layout",
- "clearLayout": "Limpar {amount} câmeras",
+ "clearLayout": "Remover {amount} {amount, plural, =1{câmera} other{câmeras}}",
"@clearLayout": {
"placeholders": {
"amount": {
@@ -639,6 +639,9 @@
"initialDeviceVolume": "Volume Inicial da Câmera",
"runVideoTest": "Testar Vídeo",
"runVideoTestDescription": "Teste o vídeo para verificar o estado da reprodução de vídeo.",
+ "showCameraName": "Show Camera Name",
+ "always": "Always",
+ "onHover": "On hover",
"@@LOCALIZATION": {},
"dateLanguage": "Data e Idioma",
"language": "Idioma",
diff --git a/lib/providers/settings_provider.dart b/lib/providers/settings_provider.dart
index b7f327b6..5a884e1f 100644
--- a/lib/providers/settings_provider.dart
+++ b/lib/providers/settings_provider.dart
@@ -28,6 +28,7 @@ import 'package:bluecherry_client/screens/settings/shared/options_chooser_tile.d
import 'package:bluecherry_client/utils/logging.dart';
import 'package:bluecherry_client/utils/storage.dart';
import 'package:bluecherry_client/utils/video_player.dart';
+import 'package:bluecherry_client/widgets/hover_button.dart';
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
@@ -57,14 +58,36 @@ enum DisplayOn {
onHover,
never;
- static Iterable