<?xml version="1.0" encoding="utf-8" ?> <ContentPage xmlns="http://xamarin.com/schemas/2014/forms" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" x:Class="TINK.View.Settings.SettingsPage" xmlns:conv="clr-namespace:TINK.View.Settings"> <ContentPage.Resources> <conv:AnyPermissionToVisibleConverter x:Key="Frame_Converter"/> <conv:PermissionToVisibleConverter x:Key="PickCopriServer_Converter" VisibleFlag="PickCopriServer"/> <conv:PermissionToVisibleConverter x:Key="ManagePolling_Converter" VisibleFlag="ManagePolling"/> <conv:PermissionToVisibleConverter x:Key="ManageCopriCacheExpiration_Converter" VisibleFlag="ManageCopriCacheExpiration"/> <conv:PermissionToVisibleConverter x:Key="PickLockServiceImplementation_Converter" VisibleFlag="PickLockServiceImplementation"/> <conv:PermissionToVisibleConverter x:Key="PickLocationServiceImplementation_Converter" VisibleFlag="PickLocationServiceImplementation"/> <conv:PermissionToVisibleConverter x:Key="PickLoggingLevel_Converter" VisibleFlag="PickLoggingLevel"/> <conv:PermissionToVisibleConverter x:Key="ReportLevel_Converter" VisibleFlag="ReportLevel"/> <conv:PermissionToVisibleConverter x:Key="ShowDiagnostics_Converter" VisibleFlag="ShowDiagnostics"/> <conv:PermissionToVisibleConverter x:Key="SwitchSiteCaching_Converter" VisibleFlag="SwitchNoSiteCaching"/> </ContentPage.Resources> <ContentPage.Content> <ScrollView> <Frame> <StackLayout> <!-- <Button Text="Feedback" Clicked="OnFeedbackClickedAsync"/> --> <Frame> <StackLayout> <Label Text="Karte auf aktuelle Position ausrichten"/> <Switch IsToggled="{Binding CenterMapToCurrentLocation}"/> </StackLayout> </Frame> <!-- Filter on view TINK/ Konrad --> <Frame IsVisible="{Binding IsGroupFilterVisible}"> <StackLayout> <Label Text="Ausblenden/ Einblenden"/> <ListView HasUnevenRows="True" HeightRequest="120" x:Name="Filters"> <ListView.ItemTemplate> <DataTemplate> <ViewCell IsEnabled="{Binding IsEnabled}"> <StackLayout Orientation="Horizontal"> <Label Text="{Binding Text}"/> <Switch IsToggled="{Binding IsActivated}"/> </StackLayout> </ViewCell> </DataTemplate> </ListView.ItemTemplate> </ListView> </StackLayout> </Frame> <Frame IsVisible="{Binding DebugLevel, Converter={StaticResource Frame_Converter}}"> <StackLayout> <!-- Themes --> <Label IsVisible="{Binding DebugLevel, Converter={StaticResource PickCopriServer_Converter}}" Text="Theme"/> <Picker IsVisible="{Binding DebugLevel, Converter={StaticResource PickCopriServer_Converter}}" ItemsSource="{Binding Themes.ServicesTextList}" SelectedItem="{Binding Themes.ActiveText}"/> </StackLayout> </Frame> <Frame IsVisible="{Binding DebugLevel, Converter={StaticResource Frame_Converter}}"> <!-- COPRI server selection --> <StackLayout> <Label IsVisible="{Binding DebugLevel, Converter={StaticResource PickCopriServer_Converter}}" Text="{Binding CopriServerUriList.CorpiServerUriDescription}"/> <Picker IsVisible="{Binding DebugLevel, Converter={StaticResource PickCopriServer_Converter}}" ItemsSource="{Binding CopriServerUriList.ServerTextList}" SelectedItem="{Binding CopriServerUriList.NextActiveServerText}"/> <Label IsVisible="{Binding DebugLevel, Converter={StaticResource ManagePolling_Converter}}" Text="{Binding Polling.PollingText}"/> <Switch IsVisible="{Binding DebugLevel, Converter={StaticResource ManagePolling_Converter}}" IsToggled="{Binding Polling.IsActivated}"/> <Label IsVisible="{Binding DebugLevel, Converter={StaticResource ManagePolling_Converter}}" Text="{Binding Polling.PeriodeTotalSecondsText}"/> <Stepper IsVisible="{Binding DebugLevel, Converter={StaticResource ManagePolling_Converter}}" Minimum="5" Increment="5" Maximum="600" IsEnabled="{Binding Polling.IsActivated}" Value="{Binding Polling.PeriodeTotalSeconds}"/> <Label IsVisible="{Binding DebugLevel, Converter={StaticResource ManageCopriCacheExpiration_Converter}}" Text="Time after which COPRI-cache expires [s]"/> <Slider IsVisible="{Binding DebugLevel, Converter={StaticResource ManageCopriCacheExpiration_Converter}}" x:Name="expiresAfter" Minimum="0" Maximum="15" Value="{Binding ExpiresAfterTotalSeconds}"/> <Entry IsVisible="{Binding DebugLevel, Converter={StaticResource ManageCopriCacheExpiration_Converter}}" IsReadOnly="True" Text="{Binding ExpiresAfterTotalSecondsText}"/> </StackLayout> </Frame> <Frame IsVisible="{Binding DebugLevel, Converter={StaticResource Frame_Converter}}"> <!-- Lock control --> <StackLayout> <Label IsVisible="{Binding DebugLevel, Converter={StaticResource PickLockServiceImplementation_Converter}}" Text="Lock Control" /> <Picker IsVisible="{Binding DebugLevel, Converter={StaticResource PickLockServiceImplementation_Converter}}" ItemsSource="{Binding LocksServices.Services.ServicesTextList}" SelectedItem="{Binding LocksServices.Services.ActiveText}"/> <Label IsVisible="{Binding DebugLevel, Converter={StaticResource PickLockServiceImplementation_Converter}}" Text="Bluetooth Connect Timeout [sec]"/> <Label IsVisible="{Binding DebugLevel, Converter={StaticResource PickLockServiceImplementation_Converter}}" Text="{Binding LocksServices.ConnectTimeoutSecText}"/> <Stepper IsVisible="{Binding DebugLevel, Converter={StaticResource PickLockServiceImplementation_Converter}}" Minimum="0.1" Increment="0.25" Maximum="60" Value="{Binding LocksServices.ConnectTimeoutSec}"/> </StackLayout> </Frame> <Frame IsVisible="{Binding DebugLevel, Converter={StaticResource Frame_Converter}}"> <!-- Geolocation --> <StackLayout> <Label IsVisible="{Binding DebugLevel, Converter={StaticResource PickLocationServiceImplementation_Converter}}" Text="Geolocation Control" /> <Picker IsVisible="{Binding DebugLevel, Converter={StaticResource PickLocationServiceImplementation_Converter}}" ItemsSource="{Binding GeolocationServices.ServicesTextList}" SelectedItem="{Binding GeolocationServices.ActiveText}"/> </StackLayout> </Frame> <Frame IsVisible="{Binding DebugLevel, Converter={StaticResource Frame_Converter}}"> <!-- Web site caching --> <StackLayout> <Label IsVisible="{Binding DebugLevel, Converter={StaticResource SwitchSiteCaching_Converter}}" Text="Caching von Websiten."/> <Switch IsVisible="{Binding DebugLevel, Converter={StaticResource SwitchSiteCaching_Converter}}" IsToggled="{Binding IsSiteCachingOnDisplayValue}"/> </StackLayout> </Frame> <Frame IsVisible="{Binding DebugLevel, Converter={StaticResource Frame_Converter}}"> <!-- Logging --> <StackLayout> <Label IsVisible="{Binding DebugLevel, Converter={StaticResource PickLoggingLevel_Converter}}" Text="Logging level" /> <Picker IsVisible="{Binding DebugLevel, Converter={StaticResource PickLoggingLevel_Converter}}" ItemsSource="{Binding LoggingLevels}" SelectedItem="{Binding SelectedLoggingLevel}"/> <Label IsVisible="{Binding DebugLevel, Converter={StaticResource PickLoggingLevel_Converter}}" Text="Logdatei in externen Pfad schreiben"/> <Switch IsVisible="{Binding DebugLevel, Converter={StaticResource PickLoggingLevel_Converter}}" IsToggled="{Binding LogToExternalFolderDisplayValue}" IsEnabled="{Binding IsLogToExternalFolderVisible}"/> </StackLayout> </Frame> <Frame IsVisible="{Binding DebugLevel, Converter={StaticResource Frame_Converter}}"> <!-- Logging --> <StackLayout> <Label IsVisible="{Binding DebugLevel, Converter={StaticResource ReportLevel_Converter}}" Text="Verbose error messages" /> <Switch IsVisible="{Binding DebugLevel, Converter={StaticResource ReportLevel_Converter}}" IsToggled="{Binding IsReportLevelVerbose}"/> </StackLayout> </Frame> <Frame IsVisible="{Binding DebugLevel, Converter={StaticResource Frame_Converter}}"> <!-- Display of parameters --> <StackLayout> <Label IsVisible="{Binding DebugLevel, Converter={StaticResource ShowDiagnostics_Converter}}" Text="Device Identifier" /> <Entry IsVisible="{Binding DebugLevel, Converter={StaticResource ShowDiagnostics_Converter}}" IsEnabled="false" Text="{Binding DeviceIdentifier}"/> <Label IsVisible="{Binding DebugLevel, Converter={StaticResource ShowDiagnostics_Converter}}" Text="Copri Sitzungkeks"/> <Entry IsVisible="{Binding DebugLevel, Converter={StaticResource ShowDiagnostics_Converter}}" IsEnabled="false" Text="{Binding SessionCookie}"/> <Label IsVisible="{Binding DebugLevel, Converter={StaticResource ShowDiagnostics_Converter}}" Text="Interner Pfad (Einstell./ ggf. Logging)"/> <Editor IsVisible="{Binding DebugLevel, Converter={StaticResource ShowDiagnostics_Converter}}" IsEnabled="false" Text="{Binding InternalPath}"/> <Label IsVisible="{Binding DebugLevel, Converter={StaticResource ShowDiagnostics_Converter}}" Text="Externer Pfad (Mock/ ggf. Logging)"/> <Editor IsVisible="{Binding DebugLevel, Converter={StaticResource ShowDiagnostics_Converter}}" IsEnabled="false" Text="{Binding ExternalPath}"/> </StackLayout> </Frame> </StackLayout> </Frame> </ScrollView> </ContentPage.Content> </ContentPage>