From e6579ef0d3b607362222ce416775f79a38e2a15b Mon Sep 17 00:00:00 2001 From: Sandra Borst <108298114+VerfluchteZocke@users.noreply.github.com> Date: Wed, 1 Jan 2025 20:54:31 +0100 Subject: [PATCH 1/3] added backend of settings screen: settings are now saved in a json and can be read from the json file; added explaining comments to timer --- .../.vs/InnoLabProjektDektopApp/v17/.suo | Bin 425472 -> 445952 bytes .../InnoLabProjektDektopApp/App.xaml | 2 +- .../Assets/settings.json | 0 .../InnoLabProjektDektopApp.csproj | 4 + .../Screens/FirstLaunch/04Settings.xaml | 25 ++- .../Screens/FirstLaunch/04Settings.xaml.cs | 134 ++++++++++++ .../Screens/Regulaer/01Overview.xaml | 14 +- .../Screens/Regulaer/02Session.xaml.cs | 69 ++++-- .../obj/Debug/net8.0-windows/App.g.i.cs | 6 +- .../InnoLabProjektDektopApp.AssemblyInfo.cs | 2 +- ...bProjektDektopApp.AssemblyInfoInputs.cache | 2 +- ...ojektDektopApp.csproj.FileListAbsolute.txt | 3 + .../Screens/FirstLaunch/01Startscreen.g.i.cs | 2 +- .../Screens/FirstLaunch/02Progress.g.i.cs | 2 +- .../FirstLaunch/03_0Distractions.g.i.cs | 2 +- .../FirstLaunch/03_1DistractionsList.g.i.cs | 2 +- .../Screens/FirstLaunch/04Settings.g.cs | 103 ++++++++- .../Screens/FirstLaunch/04Settings.g.i.cs | 105 ++++++++- .../Screens/Regulaer/01Overview.g.cs | 126 +++++++++-- .../Screens/Regulaer/01Overview.g.i.cs | 204 +++++++++++++----- .../Screens/Regulaer/02Session.g.i.cs | 2 +- .../Screens/Regulaer/03End.g.i.cs | 2 +- .../Screens/Regulaer/04Statistics.g.i.cs | 2 +- .../Screens/Templates/HeaderTemplate.g.i.cs | 2 +- .../obj/Debug/net8.0-windows/apphost.exe | Bin 142848 -> 142848 bytes 25 files changed, 681 insertions(+), 134 deletions(-) create mode 100644 InnoLabProjektDektopApp/InnoLabProjektDektopApp/Assets/settings.json diff --git a/InnoLabProjektDektopApp/.vs/InnoLabProjektDektopApp/v17/.suo b/InnoLabProjektDektopApp/.vs/InnoLabProjektDektopApp/v17/.suo index a308d0d67b920bfd789a1d5af27773225fb5b426..478d196ed04b4a0c5e13d42d4b4c2b4003fb0e33 100644 GIT binary patch delta 29195 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 TC^=HWro+5VjqM&k+1gnF%}|KB delta 28143 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 Yu(fP|GoS4V>-H-r*mPJY8!!m~0IKf$CjbBd diff --git a/InnoLabProjektDektopApp/InnoLabProjektDektopApp/App.xaml b/InnoLabProjektDektopApp/InnoLabProjektDektopApp/App.xaml index e3e81d0..c0236af 100644 --- a/InnoLabProjektDektopApp/InnoLabProjektDektopApp/App.xaml +++ b/InnoLabProjektDektopApp/InnoLabProjektDektopApp/App.xaml @@ -2,7 +2,7 @@ xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:local="clr-namespace:InnoLabProjektDektopApp" - StartupUri="Screens\FirstLaunch\03_0Distractions.xaml"> + StartupUri="Screens\FirstLaunch\04Settings.xaml"> <Application.Resources> <ResourceDictionary> <ResourceDictionary.MergedDictionaries> diff --git a/InnoLabProjektDektopApp/InnoLabProjektDektopApp/Assets/settings.json b/InnoLabProjektDektopApp/InnoLabProjektDektopApp/Assets/settings.json new file mode 100644 index 0000000..e69de29 diff --git a/InnoLabProjektDektopApp/InnoLabProjektDektopApp/InnoLabProjektDektopApp.csproj b/InnoLabProjektDektopApp/InnoLabProjektDektopApp/InnoLabProjektDektopApp.csproj index 02ba531..5e480db 100644 --- a/InnoLabProjektDektopApp/InnoLabProjektDektopApp/InnoLabProjektDektopApp.csproj +++ b/InnoLabProjektDektopApp/InnoLabProjektDektopApp/InnoLabProjektDektopApp.csproj @@ -24,6 +24,7 @@ <None Remove="Assets\pornicon.png" /> <None Remove="Assets\profileicon.png" /> <None Remove="Assets\programsicon.png" /> + <None Remove="Assets\settings.json" /> <None Remove="Assets\shoppingicon.png" /> <None Remove="Assets\socialmediaicon.png" /> <None Remove="Screens\FirstLaunch\Mascott_InnoLab.jpg" /> @@ -72,6 +73,9 @@ <Content Include="Assets\programsicon.png"> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> </Content> + <Content Include="Assets\settings.json"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </Content> <Content Include="Assets\shoppingicon.png"> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> </Content> diff --git a/InnoLabProjektDektopApp/InnoLabProjektDektopApp/Screens/FirstLaunch/04Settings.xaml b/InnoLabProjektDektopApp/InnoLabProjektDektopApp/Screens/FirstLaunch/04Settings.xaml index 57b7a59..4af139e 100644 --- a/InnoLabProjektDektopApp/InnoLabProjektDektopApp/Screens/FirstLaunch/04Settings.xaml +++ b/InnoLabProjektDektopApp/InnoLabProjektDektopApp/Screens/FirstLaunch/04Settings.xaml @@ -29,8 +29,8 @@ VerticalAlignment="Center" ToolTip="You can choose between 3 modes: In all modes, the mascot gives you visual feedback that you are currently distracting yourself. In full-blocking mode, the distracting item you try to reach is instantly automatically closed. In the warning mode, you receive a warning for X seconds during which you can re-decide if you want to enter the distracting item or not." /> </StackPanel> - <RadioButton Content="full-blocking mode" GroupName="Modes" IsChecked="True" /> - <RadioButton Content="only mascot feedback mode" GroupName="Modes" Margin="0,5,0,0"/> + <RadioButton x:Name="DistractionModeFullBlocking" Content="full-blocking mode" GroupName="Modes" IsChecked="True" /> + <RadioButton x:Name="DistractionModeMascotFeedback" Content="only mascot feedback mode" GroupName="Modes" Margin="0,5,0,0"/> <StackPanel Orientation="Horizontal" Margin="0,5,0,0"> <RadioButton Content="" @@ -82,13 +82,13 @@ VerticalAlignment="Center" ToolTip="If words of affirmation are selected and you work focusedly, the mascot is going to tell you stuff like 'You have not distracted yourself for 30 minutes! I am proud of you!' If insulting words are selected and you distract yourself during the focus mode, the mascot is going to tell you stuff like 'I have already finished 10 exercises - why are you not working focused like me?" /> </StackPanel> <StackPanel Orientation="Horizontal" > - <CheckBox IsChecked="True" VerticalAlignment="Center"/> + <CheckBox x:Name="WordsOfAffirmationCheckBox" IsChecked="True" VerticalAlignment="Center"/> <TextBlock Style="{StaticResource StandardText}" Text="by words of affirmation" Margin="10,0,0,0"/> </StackPanel> <StackPanel Orientation="Horizontal" > - <CheckBox IsChecked="True" VerticalAlignment="Center"/> + <CheckBox x:Name="InsultingWordsCheckBox" IsChecked="True" VerticalAlignment="Center"/> <TextBlock Style="{StaticResource StandardText}" Text="by insulting words" Margin="10,0,0,0"/> @@ -122,7 +122,7 @@ ToolTip="You can decide how long the focus and break period should be. The focus <!-- Focus Period --> <StackPanel Grid.Column="0" Margin="10"> <TextBlock Text="Focus period" FontSize="14" FontWeight="SemiBold" Foreground="Gray" /> - <ComboBox HorizontalAlignment="Left" Height="30" Width="150" FontSize="14" Padding="5" SelectionChanged="ComboBox_SelectionChanged" IsEditable="True"> + <ComboBox x:Name="FocusPeriodComboBox" HorizontalAlignment="Left" Height="30" Width="150" FontSize="14" Padding="5" SelectionChanged="ComboBox_SelectionChanged" IsEditable="True"> <ComboBoxItem Content="20 minutes" /> <ComboBoxItem Content="30 minutes" /> <ComboBoxItem Content="40 minutes" /> @@ -138,7 +138,7 @@ ToolTip="You can decide how long the focus and break period should be. The focus <!-- Break Period --> <StackPanel Grid.Column="1" Margin="10"> <TextBlock Text="Break period" FontSize="14" FontWeight="SemiBold" Foreground="Gray" /> - <ComboBox HorizontalAlignment="Left" Height="30" Width="150" FontSize="14" Padding="5" IsEditable="True"> + <ComboBox x:Name="BreakPeriodComboBox" HorizontalAlignment="Left" Height="30" Width="150" FontSize="14" Padding="5" IsEditable="True"> <ComboBoxItem Content="0 minutes" /> <ComboBoxItem Content="3 minutes" /> <ComboBoxItem Content="5 minutes" /> @@ -153,7 +153,7 @@ ToolTip="You can decide how long the focus and break period should be. The focus <!-- Cycles --> <StackPanel Grid.Column="2" Margin="10"> <TextBlock Text="Cycles" FontSize="14" FontWeight="SemiBold" Foreground="Gray" /> - <ComboBox HorizontalAlignment="Left" Height="30" Width="150" FontSize="14" Padding="5" IsEditable="True"> + <ComboBox x:Name="CyclesComboBox" HorizontalAlignment="Left" Height="30" Width="150" FontSize="14" Padding="5" IsEditable="True"> <ComboBoxItem Content="1" /> <ComboBoxItem Content="2" /> <ComboBoxItem Content="3" /> @@ -164,9 +164,18 @@ ToolTip="You can decide how long the focus and break period should be. The focus </StackPanel> </Grid> </Border> - </StackPanel> + <StackPanel Orientation="Horizontal" HorizontalAlignment="Left" Margin="0,20,0,0"> + <!-- Save Button --> + <Button Content="Save" Width="100" Height="30" Margin="0,0,10,0" Click="SaveSettingsButton_Click"/> + + <!-- Navigate to Overview Button --> + <Button Content="Back to Overview" Width="150" Height="30" Click="NavigateToOverviewButton_Click"/> + </StackPanel> + + </StackPanel> </Grid> + </ScrollViewer> </Window> diff --git a/InnoLabProjektDektopApp/InnoLabProjektDektopApp/Screens/FirstLaunch/04Settings.xaml.cs b/InnoLabProjektDektopApp/InnoLabProjektDektopApp/Screens/FirstLaunch/04Settings.xaml.cs index 36f018b..b0c3d8b 100644 --- a/InnoLabProjektDektopApp/InnoLabProjektDektopApp/Screens/FirstLaunch/04Settings.xaml.cs +++ b/InnoLabProjektDektopApp/InnoLabProjektDektopApp/Screens/FirstLaunch/04Settings.xaml.cs @@ -8,6 +8,9 @@ using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Navigation; using System.Windows.Shapes; +using System.IO; +using System.Text.Json; + namespace InnoLabProjektDektopApp { @@ -53,5 +56,136 @@ namespace InnoLabProjektDektopApp { } + + private void SaveSettings() + { + // Collect values from UI + string distractionMode = (DistractionModeFullBlocking.IsChecked ?? false) ? "full-blocking mode" : + (DistractionModeMascotFeedback.IsChecked ?? false) ? "only mascot feedback mode" : + $"{SecondsComboBox.Text} seconds warning mode"; + + string mascotVisible = MascotVisibleYes.IsChecked == true ? "yes" : "no"; + + bool wordsOfAffirmation = WordsOfAffirmationCheckBox.IsChecked ?? false; + bool insultingWords = InsultingWordsCheckBox.IsChecked ?? false; + + string focusPeriod = ((ComboBoxItem)FocusPeriodComboBox.SelectedItem)?.Content.ToString() ?? "50 minutes"; + string breakPeriod = ((ComboBoxItem)BreakPeriodComboBox.SelectedItem)?.Content.ToString() ?? "10 minutes"; + string cycles = ((ComboBoxItem)CyclesComboBox.SelectedItem)?.Content.ToString() ?? "4"; + + // Create settings object + var profileSettings = new + { + DistractionMode = distractionMode, + MascotVisible = mascotVisible, + Motivation = new + { + WordsOfAffirmation = wordsOfAffirmation, + InsultingWords = insultingWords + }, + FocusSession = new + { + FocusPeriod = focusPeriod, + BreakPeriod = breakPeriod, + Cycles = cycles + } + }; + + // Create dictionary for profiles + var profiles = new Dictionary<string, object> + { + { "Profile1", profileSettings } + }; + + // Serialize to JSON + string json = JsonSerializer.Serialize(profiles, new JsonSerializerOptions { WriteIndented = true }); + + // Save to file + string filePath = System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "settings.json"); + File.WriteAllText(filePath, json); + + MessageBox.Show("Settings saved successfully!", "Success", MessageBoxButton.OK, MessageBoxImage.Information); + } + + + +private void SaveSettingsButton_Click(object sender, RoutedEventArgs e) + { + // Sammle die Einstellungen aus den Eingabefeldern + string focusPeriod = ((ComboBoxItem)FocusPeriodComboBox.SelectedItem)?.Content.ToString() ?? "50 minutes"; + string breakPeriod = ((ComboBoxItem)BreakPeriodComboBox.SelectedItem)?.Content.ToString() ?? "10 minutes"; + string cycles = ((ComboBoxItem)CyclesComboBox.SelectedItem)?.Content.ToString() ?? "4"; + + string distractionMode = DistractionModeFullBlocking.IsChecked == true + ? "Full-blocking mode" + : DistractionModeMascotFeedback.IsChecked == true + ? "Mascot feedback only" + : $"{SecondsComboBox.SelectedItem} seconds warning mode"; + + string mascotVisible = MascotVisibleYes.IsChecked == true ? "Yes" : "No"; + + bool wordsOfAffirmation = WordsOfAffirmationCheckBox.IsChecked ?? false; + bool insultingWords = InsultingWordsCheckBox.IsChecked ?? false; + + // JSON-Datei erstellen + var settings = new Dictionary<string, Dictionary<string, string>> + { + { + "Profile1", + new Dictionary<string, string> + { + { "FocusPeriod", focusPeriod }, + { "BreakPeriod", breakPeriod }, + { "Cycles", cycles }, + { "DistractionMode", distractionMode }, + { "MascotVisible", mascotVisible }, + { "WordsOfAffirmation", wordsOfAffirmation.ToString() }, + { "InsultingWords", insultingWords.ToString() } + } + } + }; + + string filePath = System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "settings.json"); + + // JSON speichern + File.WriteAllText(filePath, JsonSerializer.Serialize(settings, new JsonSerializerOptions { WriteIndented = true })); + + // Nach dem Speichern: JSON lesen und in der MessageBox anzeigen + if (File.Exists(filePath)) + { + string jsonContent = File.ReadAllText(filePath); + var savedSettings = JsonSerializer.Deserialize<Dictionary<string, Dictionary<string, string>>>(jsonContent); + + if (savedSettings != null && savedSettings.ContainsKey("Profile1")) + { + var profileSettings = savedSettings["Profile1"]; + + string message = "Saved Settings for Profile1:\n"; + foreach (var setting in profileSettings) + { + message += $"{setting.Key}: {setting.Value}\n"; + } + + MessageBox.Show(message, "Saved Settings", MessageBoxButton.OK, MessageBoxImage.Information); + } + } + } + + private void NavigateToOverviewButton_Click(object sender, RoutedEventArgs e) + { + // Erstelle eine Instanz des OverviewScreen + var overviewScreen = new Overview(); + + // Zeige den OverviewScreen + overviewScreen.Show(); + + // Schließe den aktuellen Screen + this.Close(); + } + + + + + } } \ No newline at end of file diff --git a/InnoLabProjektDektopApp/InnoLabProjektDektopApp/Screens/Regulaer/01Overview.xaml b/InnoLabProjektDektopApp/InnoLabProjektDektopApp/Screens/Regulaer/01Overview.xaml index c3a4aab..f079877 100644 --- a/InnoLabProjektDektopApp/InnoLabProjektDektopApp/Screens/Regulaer/01Overview.xaml +++ b/InnoLabProjektDektopApp/InnoLabProjektDektopApp/Screens/Regulaer/01Overview.xaml @@ -80,7 +80,7 @@ HorizontalAlignment="Left" /> <!-- Focus Period --> <StackPanel Grid.Column="0" VerticalAlignment="Center"> <TextBlock Text="Focus period" Foreground="White" FontSize="14" FontWeight="Bold" /> - <ComboBox Width="100" HorizontalAlignment="Left"> + <ComboBox x:Name="FocusPeriodComboBox" Width="100" HorizontalAlignment="Left"> <ComboBoxItem Content="20 minutes" /> <ComboBoxItem Content="30 minutes" /> <ComboBoxItem Content="40 minutes" /> @@ -96,7 +96,7 @@ HorizontalAlignment="Left" /> <!-- Break Period --> <StackPanel Grid.Column="1" VerticalAlignment="Center"> <TextBlock Text="Break period" Foreground="White" FontSize="14" FontWeight="Bold" /> - <ComboBox Width="100" HorizontalAlignment="Left"> + <ComboBox x:Name="BreakPeriodComboBox" Width="100" HorizontalAlignment="Left"> <ComboBoxItem Content="0 minutes" /> <ComboBoxItem Content="3 minutes" /> <ComboBoxItem Content="5 minutes" /> @@ -111,7 +111,7 @@ HorizontalAlignment="Left" /> <!-- Cycles --> <StackPanel Grid.Column="2" VerticalAlignment="Center"> <TextBlock Text="Cycles" Foreground="White" FontSize="14" FontWeight="Bold" /> - <ComboBox Width="50" HorizontalAlignment="Left"> + <ComboBox x:Name="CyclesComboBox" Width="50" HorizontalAlignment="Left"> <ComboBoxItem Content="1" /> <ComboBoxItem Content="2" /> <ComboBoxItem Content="3" /> @@ -124,7 +124,7 @@ HorizontalAlignment="Left" /> <!-- Distraction Mode --> <StackPanel Grid.Column="3" VerticalAlignment="Center"> <TextBlock Text="Distraction Mode" Foreground="White" FontSize="14" FontWeight="Bold" /> - <ComboBox Width="140" HorizontalAlignment="Left"> + <ComboBox x:Name="DistractionModeComboBox" Width="140" HorizontalAlignment="Left"> <ComboBoxItem Content="Full-blocking mode" IsSelected="True" /> <ComboBoxItem Content="Warning mode" /> <ComboBoxItem Content="Mascot feedback only" /> @@ -134,7 +134,7 @@ HorizontalAlignment="Left" /> <!-- Mascot Visibility --> <StackPanel Grid.Column="4" VerticalAlignment="Center"> <TextBlock Text="Mascot visible" Foreground="White" FontSize="14" FontWeight="Bold" /> - <ComboBox Width="80" HorizontalAlignment="Left"> + <ComboBox x:Name="MascotVisibilityComboBox" Width="80" HorizontalAlignment="Left"> <ComboBoxItem Content="Yes" IsSelected="True" /> <ComboBoxItem Content="No" /> </ComboBox> @@ -144,13 +144,13 @@ HorizontalAlignment="Left" /> <StackPanel Grid.Column="5" VerticalAlignment="Center"> <TextBlock Text="Motivation options" Foreground="White" FontSize="14" FontWeight="Bold" /> <StackPanel Orientation="Horizontal" > - <CheckBox IsChecked="True" VerticalAlignment="Center"/> + <CheckBox x:Name="WordsOfAffirmationCheckBox" IsChecked="True" VerticalAlignment="Center"/> <TextBlock Style="{StaticResource StandardText}" Foreground="White" Text="words of affirmation" Margin="10,0,0,0"/> </StackPanel> <StackPanel Orientation="Horizontal" > - <CheckBox IsChecked="True" VerticalAlignment="Center"/> + <CheckBox x:Name="InsultingWordsCheckBox" IsChecked="True" VerticalAlignment="Center"/> <TextBlock Style="{StaticResource StandardText}" Foreground="White" Text="insulting words" Margin="10,0,0,0"/> diff --git a/InnoLabProjektDektopApp/InnoLabProjektDektopApp/Screens/Regulaer/02Session.xaml.cs b/InnoLabProjektDektopApp/InnoLabProjektDektopApp/Screens/Regulaer/02Session.xaml.cs index b92c042..65e3f75 100644 --- a/InnoLabProjektDektopApp/InnoLabProjektDektopApp/Screens/Regulaer/02Session.xaml.cs +++ b/InnoLabProjektDektopApp/InnoLabProjektDektopApp/Screens/Regulaer/02Session.xaml.cs @@ -18,20 +18,43 @@ namespace InnoLabProjektDektopApp /// </summary> public partial class Session : Window { + private int focusPeriod; + private int breakPeriod; + private int cycles; + private string distractionMode; + private string mascotVisible; + private bool wordsOfAffirmation; + private bool insultingWords; + + - private Timer timer; - private const int maxTime = (0 * 60) + 5;//(40 * 60) + 0; - private int seconds = maxTime; // (Minutes * [constant]) + Seconds - private int step = 0; - private const int sessions = 4; - private int currentSession = 1; - public Session() + private Timer timer; + private const int maxTime = (0 * 60) + 5;// total time for each session in seconds + private int seconds = maxTime; // Tracks the remaining seconds in the current session + private int step = 0; //Indicates whether the timer is running (-1) or paused (0) + private const int sessions = 4; //Total number of focus sessions in one cycle + private int currentSession = 1; //Tracks which session is currently running + + public Session(int focusPeriod, + int breakPeriod, + int cycles, + string distractionMode, + string mascotVisible, + bool wordsOfAffirmation, + bool insultingWords) { InitializeComponent(); + this.focusPeriod = focusPeriod; + this.breakPeriod = breakPeriod; + this.cycles = cycles; + this.distractionMode = distractionMode; + this.mascotVisible = mascotVisible; + this.wordsOfAffirmation = wordsOfAffirmation; + this.insultingWords = insultingWords; GlobalSettings.setDefaults(this); - timer = new Timer(timertick, null,0,1000); + timer = new Timer(timertick, null,0,1000); //A background timer calls timertick every second updateTexts(); } @@ -40,34 +63,40 @@ namespace InnoLabProjektDektopApp { Dispatcher.Invoke(() => { - seconds += step; - updateTexts(); - ProgressBar.Fill = GradientGenerator.generateTwoColorBrush(Color.FromRgb(72, 98, 132), Color.FromRgb(222, 222, 222), 1 - (seconds / (double)maxTime)); - if (seconds <= 0) + seconds += step; // Decrement seconds if running + updateTexts(); // Update UI + ProgressBar.Fill = GradientGenerator.generateTwoColorBrush( + Color.FromRgb(72, 98, 132), + Color.FromRgb(222, 222, 222), + 1 - (seconds / (double)maxTime) + ); + + if (seconds <= 0) // When time runs out { - stopTimer(); + stopTimer(); // Pause the timer currentSession++; - seconds = maxTime; + seconds = maxTime; // Reset timer for the next session if (currentSession > sessions) { - timer.Dispose(); + timer.Dispose(); // Stop and clean up the timer after all sessions } } }); } + public void startTimer() { - if (seconds <= 0) return; - step = -1; - PlayPauseButton.Content = "Pause"; + if (seconds <= 0) return; // Prevent starting if time is zero + step = -1; // Set step to countdown + PlayPauseButton.Content = "Pause"; // Update button text } public void stopTimer() { - step = 0; - PlayPauseButton.Content = "Start"; + step = 0; // Stop counting down + PlayPauseButton.Content = "Start"; // Update button text } public void setTime(int minutes, int seconds) diff --git a/InnoLabProjektDektopApp/InnoLabProjektDektopApp/obj/Debug/net8.0-windows/App.g.i.cs b/InnoLabProjektDektopApp/InnoLabProjektDektopApp/obj/Debug/net8.0-windows/App.g.i.cs index f2fe742..bf37896 100644 --- a/InnoLabProjektDektopApp/InnoLabProjektDektopApp/obj/Debug/net8.0-windows/App.g.i.cs +++ b/InnoLabProjektDektopApp/InnoLabProjektDektopApp/obj/Debug/net8.0-windows/App.g.i.cs @@ -1,4 +1,4 @@ -#pragma checksum "..\..\..\App.xaml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "722CEC0754A69A290956448C60B605124995AEF6" +#pragma checksum "..\..\..\App.xaml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "2DEDC9624A7085F1363F3F7BDB3110EA433383A8" //------------------------------------------------------------------------------ // <auto-generated> // This code was generated by a tool. @@ -55,11 +55,11 @@ namespace InnoLabProjektDektopApp { _contentLoaded = true; #line 5 "..\..\..\App.xaml" - this.StartupUri = new System.Uri("Screens\\FirstLaunch\\03_0Distractions.xaml", System.UriKind.Relative); + this.StartupUri = new System.Uri("Screens\\FirstLaunch\\04Settings.xaml", System.UriKind.Relative); #line default #line hidden - System.Uri resourceLocater = new System.Uri("/CoFlow;V1.0.0.0;component/app.xaml", System.UriKind.Relative); + System.Uri resourceLocater = new System.Uri("/CoFlow;component/app.xaml", System.UriKind.Relative); #line 1 "..\..\..\App.xaml" System.Windows.Application.LoadComponent(this, resourceLocater); diff --git a/InnoLabProjektDektopApp/InnoLabProjektDektopApp/obj/Debug/net8.0-windows/InnoLabProjektDektopApp.AssemblyInfo.cs b/InnoLabProjektDektopApp/InnoLabProjektDektopApp/obj/Debug/net8.0-windows/InnoLabProjektDektopApp.AssemblyInfo.cs index 4dc5825..e84e2ed 100644 --- a/InnoLabProjektDektopApp/InnoLabProjektDektopApp/obj/Debug/net8.0-windows/InnoLabProjektDektopApp.AssemblyInfo.cs +++ b/InnoLabProjektDektopApp/InnoLabProjektDektopApp/obj/Debug/net8.0-windows/InnoLabProjektDektopApp.AssemblyInfo.cs @@ -14,7 +14,7 @@ using System.Reflection; [assembly: System.Reflection.AssemblyCompanyAttribute("CoFlow")] [assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] [assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] -[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+77db9bcfdbae19c1e7f1688b0dabb07030f08c27")] +[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+56d722d86db010f1cc2db702170aac09c8318e5d")] [assembly: System.Reflection.AssemblyProductAttribute("CoFlow")] [assembly: System.Reflection.AssemblyTitleAttribute("CoFlow")] [assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] diff --git a/InnoLabProjektDektopApp/InnoLabProjektDektopApp/obj/Debug/net8.0-windows/InnoLabProjektDektopApp.AssemblyInfoInputs.cache b/InnoLabProjektDektopApp/InnoLabProjektDektopApp/obj/Debug/net8.0-windows/InnoLabProjektDektopApp.AssemblyInfoInputs.cache index 61b63f2..cb4b08f 100644 --- a/InnoLabProjektDektopApp/InnoLabProjektDektopApp/obj/Debug/net8.0-windows/InnoLabProjektDektopApp.AssemblyInfoInputs.cache +++ b/InnoLabProjektDektopApp/InnoLabProjektDektopApp/obj/Debug/net8.0-windows/InnoLabProjektDektopApp.AssemblyInfoInputs.cache @@ -1 +1 @@ -030ecdf128d069623efc23ba6799b8e1a47787387960d956bca23f71c4c6efef +2fe809c2ec1013c7e394de591bf9b364ba02a4dd1769b8c44bac3545c823a457 diff --git a/InnoLabProjektDektopApp/InnoLabProjektDektopApp/obj/Debug/net8.0-windows/InnoLabProjektDektopApp.csproj.FileListAbsolute.txt b/InnoLabProjektDektopApp/InnoLabProjektDektopApp/obj/Debug/net8.0-windows/InnoLabProjektDektopApp.csproj.FileListAbsolute.txt index 9a7bd92..a87d34c 100644 --- a/InnoLabProjektDektopApp/InnoLabProjektDektopApp/obj/Debug/net8.0-windows/InnoLabProjektDektopApp.csproj.FileListAbsolute.txt +++ b/InnoLabProjektDektopApp/InnoLabProjektDektopApp/obj/Debug/net8.0-windows/InnoLabProjektDektopApp.csproj.FileListAbsolute.txt @@ -389,3 +389,6 @@ D:\Studium\7. Semester\InnoLab\CoFlowCURRENT\CoFlow\InnoLabProjektDektopApp\Inno D:\Studium\7. Semester\InnoLab\CoFlowCURRENT\CoFlow\InnoLabProjektDektopApp\InnoLabProjektDektopApp\obj\Debug\net8.0-windows\CoFlow.pdb D:\Studium\7. Semester\InnoLab\CoFlowCURRENT\CoFlow\InnoLabProjektDektopApp\InnoLabProjektDektopApp\obj\Debug\net8.0-windows\InnoLabProjektDektopApp.genruntimeconfig.cache D:\Studium\7. Semester\InnoLab\CoFlowCURRENT\CoFlow\InnoLabProjektDektopApp\InnoLabProjektDektopApp\obj\Debug\net8.0-windows\ref\CoFlow.dll +D:\Studium\7. Semester\InnoLab\CoFlowCURRENT\CoFlow\InnoLabProjektDektopApp\InnoLabProjektDektopApp\bin\Debug\net8.0-windows\Assets\pencilicon.png +D:\Studium\7. Semester\InnoLab\CoFlowCURRENT\CoFlow\InnoLabProjektDektopApp\InnoLabProjektDektopApp\bin\Debug\net8.0-windows\Assets\profileicon.png +D:\Studium\7. Semester\InnoLab\CoFlowCURRENT\CoFlow\InnoLabProjektDektopApp\InnoLabProjektDektopApp\bin\Debug\net8.0-windows\Assets\settings.json diff --git a/InnoLabProjektDektopApp/InnoLabProjektDektopApp/obj/Debug/net8.0-windows/Screens/FirstLaunch/01Startscreen.g.i.cs b/InnoLabProjektDektopApp/InnoLabProjektDektopApp/obj/Debug/net8.0-windows/Screens/FirstLaunch/01Startscreen.g.i.cs index 264612e..d3041d4 100644 --- a/InnoLabProjektDektopApp/InnoLabProjektDektopApp/obj/Debug/net8.0-windows/Screens/FirstLaunch/01Startscreen.g.i.cs +++ b/InnoLabProjektDektopApp/InnoLabProjektDektopApp/obj/Debug/net8.0-windows/Screens/FirstLaunch/01Startscreen.g.i.cs @@ -54,7 +54,7 @@ namespace InnoLabProjektDektopApp { return; } _contentLoaded = true; - System.Uri resourceLocater = new System.Uri("/CoFlow;V1.0.0.0;component/screens/firstlaunch/01startscreen.xaml", System.UriKind.Relative); + System.Uri resourceLocater = new System.Uri("/CoFlow;component/screens/firstlaunch/01startscreen.xaml", System.UriKind.Relative); #line 1 "..\..\..\..\..\Screens\FirstLaunch\01Startscreen.xaml" System.Windows.Application.LoadComponent(this, resourceLocater); diff --git a/InnoLabProjektDektopApp/InnoLabProjektDektopApp/obj/Debug/net8.0-windows/Screens/FirstLaunch/02Progress.g.i.cs b/InnoLabProjektDektopApp/InnoLabProjektDektopApp/obj/Debug/net8.0-windows/Screens/FirstLaunch/02Progress.g.i.cs index 2916b49..a8f843b 100644 --- a/InnoLabProjektDektopApp/InnoLabProjektDektopApp/obj/Debug/net8.0-windows/Screens/FirstLaunch/02Progress.g.i.cs +++ b/InnoLabProjektDektopApp/InnoLabProjektDektopApp/obj/Debug/net8.0-windows/Screens/FirstLaunch/02Progress.g.i.cs @@ -54,7 +54,7 @@ namespace InnoLabProjektDektopApp { return; } _contentLoaded = true; - System.Uri resourceLocater = new System.Uri("/CoFlow;V1.0.0.0;component/screens/firstlaunch/02progress.xaml", System.UriKind.Relative); + System.Uri resourceLocater = new System.Uri("/CoFlow;component/screens/firstlaunch/02progress.xaml", System.UriKind.Relative); #line 1 "..\..\..\..\..\Screens\FirstLaunch\02Progress.xaml" System.Windows.Application.LoadComponent(this, resourceLocater); diff --git a/InnoLabProjektDektopApp/InnoLabProjektDektopApp/obj/Debug/net8.0-windows/Screens/FirstLaunch/03_0Distractions.g.i.cs b/InnoLabProjektDektopApp/InnoLabProjektDektopApp/obj/Debug/net8.0-windows/Screens/FirstLaunch/03_0Distractions.g.i.cs index 9afe92e..b57efa7 100644 --- a/InnoLabProjektDektopApp/InnoLabProjektDektopApp/obj/Debug/net8.0-windows/Screens/FirstLaunch/03_0Distractions.g.i.cs +++ b/InnoLabProjektDektopApp/InnoLabProjektDektopApp/obj/Debug/net8.0-windows/Screens/FirstLaunch/03_0Distractions.g.i.cs @@ -150,7 +150,7 @@ namespace InnoLabProjektDektopApp { return; } _contentLoaded = true; - System.Uri resourceLocater = new System.Uri("/CoFlow;V1.0.0.0;component/screens/firstlaunch/03_0distractions.xaml", System.UriKind.Relative); + System.Uri resourceLocater = new System.Uri("/CoFlow;component/screens/firstlaunch/03_0distractions.xaml", System.UriKind.Relative); #line 1 "..\..\..\..\..\Screens\FirstLaunch\03_0Distractions.xaml" System.Windows.Application.LoadComponent(this, resourceLocater); diff --git a/InnoLabProjektDektopApp/InnoLabProjektDektopApp/obj/Debug/net8.0-windows/Screens/FirstLaunch/03_1DistractionsList.g.i.cs b/InnoLabProjektDektopApp/InnoLabProjektDektopApp/obj/Debug/net8.0-windows/Screens/FirstLaunch/03_1DistractionsList.g.i.cs index c55e29b..01c3e47 100644 --- a/InnoLabProjektDektopApp/InnoLabProjektDektopApp/obj/Debug/net8.0-windows/Screens/FirstLaunch/03_1DistractionsList.g.i.cs +++ b/InnoLabProjektDektopApp/InnoLabProjektDektopApp/obj/Debug/net8.0-windows/Screens/FirstLaunch/03_1DistractionsList.g.i.cs @@ -110,7 +110,7 @@ namespace InnoLabProjektDektopApp { return; } _contentLoaded = true; - System.Uri resourceLocater = new System.Uri("/CoFlow;V1.0.0.0;component/screens/firstlaunch/03_1distractionslist.xaml", System.UriKind.Relative); + System.Uri resourceLocater = new System.Uri("/CoFlow;component/screens/firstlaunch/03_1distractionslist.xaml", System.UriKind.Relative); #line 1 "..\..\..\..\..\Screens\FirstLaunch\03_1DistractionsList.xaml" System.Windows.Application.LoadComponent(this, resourceLocater); diff --git a/InnoLabProjektDektopApp/InnoLabProjektDektopApp/obj/Debug/net8.0-windows/Screens/FirstLaunch/04Settings.g.cs b/InnoLabProjektDektopApp/InnoLabProjektDektopApp/obj/Debug/net8.0-windows/Screens/FirstLaunch/04Settings.g.cs index eda1dde..311ba9c 100644 --- a/InnoLabProjektDektopApp/InnoLabProjektDektopApp/obj/Debug/net8.0-windows/Screens/FirstLaunch/04Settings.g.cs +++ b/InnoLabProjektDektopApp/InnoLabProjektDektopApp/obj/Debug/net8.0-windows/Screens/FirstLaunch/04Settings.g.cs @@ -1,4 +1,4 @@ -#pragma checksum "..\..\..\..\..\Screens\FirstLaunch\04Settings.xaml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "AEDEA06AD3367AF1354991BF1C0273DEEED70798" +#pragma checksum "..\..\..\..\..\Screens\FirstLaunch\04Settings.xaml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "1F10F7816B98A4217B59F374663F778C8C3E559E" //------------------------------------------------------------------------------ // <auto-generated> // This code was generated by a tool. @@ -43,6 +43,22 @@ namespace InnoLabProjektDektopApp { public partial class Settings : System.Windows.Window, System.Windows.Markup.IComponentConnector { + #line 32 "..\..\..\..\..\Screens\FirstLaunch\04Settings.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.RadioButton DistractionModeFullBlocking; + + #line default + #line hidden + + + #line 33 "..\..\..\..\..\Screens\FirstLaunch\04Settings.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.RadioButton DistractionModeMascotFeedback; + + #line default + #line hidden + + #line 40 "..\..\..\..\..\Screens\FirstLaunch\04Settings.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] internal System.Windows.Controls.ComboBox SecondsComboBox; @@ -74,6 +90,46 @@ namespace InnoLabProjektDektopApp { #line default #line hidden + + #line 85 "..\..\..\..\..\Screens\FirstLaunch\04Settings.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.CheckBox WordsOfAffirmationCheckBox; + + #line default + #line hidden + + + #line 91 "..\..\..\..\..\Screens\FirstLaunch\04Settings.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.CheckBox InsultingWordsCheckBox; + + #line default + #line hidden + + + #line 125 "..\..\..\..\..\Screens\FirstLaunch\04Settings.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.ComboBox FocusPeriodComboBox; + + #line default + #line hidden + + + #line 141 "..\..\..\..\..\Screens\FirstLaunch\04Settings.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.ComboBox BreakPeriodComboBox; + + #line default + #line hidden + + + #line 156 "..\..\..\..\..\Screens\FirstLaunch\04Settings.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.ComboBox CyclesComboBox; + + #line default + #line hidden + private bool _contentLoaded; /// <summary> @@ -105,9 +161,15 @@ namespace InnoLabProjektDektopApp { switch (connectionId) { case 1: - this.SecondsComboBox = ((System.Windows.Controls.ComboBox)(target)); + this.DistractionModeFullBlocking = ((System.Windows.Controls.RadioButton)(target)); return; case 2: + this.DistractionModeMascotFeedback = ((System.Windows.Controls.RadioButton)(target)); + return; + case 3: + this.SecondsComboBox = ((System.Windows.Controls.ComboBox)(target)); + return; + case 4: this.MascotVisibleYes = ((System.Windows.Controls.RadioButton)(target)); #line 67 "..\..\..\..\..\Screens\FirstLaunch\04Settings.xaml" @@ -116,7 +178,7 @@ namespace InnoLabProjektDektopApp { #line default #line hidden return; - case 3: + case 5: this.MascotVisibleNo = ((System.Windows.Controls.RadioButton)(target)); #line 68 "..\..\..\..\..\Screens\FirstLaunch\04Settings.xaml" @@ -125,13 +187,42 @@ namespace InnoLabProjektDektopApp { #line default #line hidden return; - case 4: + case 6: this.MotivationSection = ((System.Windows.Controls.StackPanel)(target)); return; - case 5: + case 7: + this.WordsOfAffirmationCheckBox = ((System.Windows.Controls.CheckBox)(target)); + return; + case 8: + this.InsultingWordsCheckBox = ((System.Windows.Controls.CheckBox)(target)); + return; + case 9: + this.FocusPeriodComboBox = ((System.Windows.Controls.ComboBox)(target)); #line 125 "..\..\..\..\..\Screens\FirstLaunch\04Settings.xaml" - ((System.Windows.Controls.ComboBox)(target)).SelectionChanged += new System.Windows.Controls.SelectionChangedEventHandler(this.ComboBox_SelectionChanged); + this.FocusPeriodComboBox.SelectionChanged += new System.Windows.Controls.SelectionChangedEventHandler(this.ComboBox_SelectionChanged); + + #line default + #line hidden + return; + case 10: + this.BreakPeriodComboBox = ((System.Windows.Controls.ComboBox)(target)); + return; + case 11: + this.CyclesComboBox = ((System.Windows.Controls.ComboBox)(target)); + return; + case 12: + + #line 169 "..\..\..\..\..\Screens\FirstLaunch\04Settings.xaml" + ((System.Windows.Controls.Button)(target)).Click += new System.Windows.RoutedEventHandler(this.SaveSettingsButton_Click); + + #line default + #line hidden + return; + case 13: + + #line 172 "..\..\..\..\..\Screens\FirstLaunch\04Settings.xaml" + ((System.Windows.Controls.Button)(target)).Click += new System.Windows.RoutedEventHandler(this.NavigateToOverviewButton_Click); #line default #line hidden diff --git a/InnoLabProjektDektopApp/InnoLabProjektDektopApp/obj/Debug/net8.0-windows/Screens/FirstLaunch/04Settings.g.i.cs b/InnoLabProjektDektopApp/InnoLabProjektDektopApp/obj/Debug/net8.0-windows/Screens/FirstLaunch/04Settings.g.i.cs index 6f86134..311ba9c 100644 --- a/InnoLabProjektDektopApp/InnoLabProjektDektopApp/obj/Debug/net8.0-windows/Screens/FirstLaunch/04Settings.g.i.cs +++ b/InnoLabProjektDektopApp/InnoLabProjektDektopApp/obj/Debug/net8.0-windows/Screens/FirstLaunch/04Settings.g.i.cs @@ -1,4 +1,4 @@ -#pragma checksum "..\..\..\..\..\Screens\FirstLaunch\04Settings.xaml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "AEDEA06AD3367AF1354991BF1C0273DEEED70798" +#pragma checksum "..\..\..\..\..\Screens\FirstLaunch\04Settings.xaml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "1F10F7816B98A4217B59F374663F778C8C3E559E" //------------------------------------------------------------------------------ // <auto-generated> // This code was generated by a tool. @@ -43,6 +43,22 @@ namespace InnoLabProjektDektopApp { public partial class Settings : System.Windows.Window, System.Windows.Markup.IComponentConnector { + #line 32 "..\..\..\..\..\Screens\FirstLaunch\04Settings.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.RadioButton DistractionModeFullBlocking; + + #line default + #line hidden + + + #line 33 "..\..\..\..\..\Screens\FirstLaunch\04Settings.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.RadioButton DistractionModeMascotFeedback; + + #line default + #line hidden + + #line 40 "..\..\..\..\..\Screens\FirstLaunch\04Settings.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] internal System.Windows.Controls.ComboBox SecondsComboBox; @@ -74,6 +90,46 @@ namespace InnoLabProjektDektopApp { #line default #line hidden + + #line 85 "..\..\..\..\..\Screens\FirstLaunch\04Settings.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.CheckBox WordsOfAffirmationCheckBox; + + #line default + #line hidden + + + #line 91 "..\..\..\..\..\Screens\FirstLaunch\04Settings.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.CheckBox InsultingWordsCheckBox; + + #line default + #line hidden + + + #line 125 "..\..\..\..\..\Screens\FirstLaunch\04Settings.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.ComboBox FocusPeriodComboBox; + + #line default + #line hidden + + + #line 141 "..\..\..\..\..\Screens\FirstLaunch\04Settings.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.ComboBox BreakPeriodComboBox; + + #line default + #line hidden + + + #line 156 "..\..\..\..\..\Screens\FirstLaunch\04Settings.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.ComboBox CyclesComboBox; + + #line default + #line hidden + private bool _contentLoaded; /// <summary> @@ -86,7 +142,7 @@ namespace InnoLabProjektDektopApp { return; } _contentLoaded = true; - System.Uri resourceLocater = new System.Uri("/CoFlow;V1.0.0.0;component/screens/firstlaunch/04settings.xaml", System.UriKind.Relative); + System.Uri resourceLocater = new System.Uri("/CoFlow;component/screens/firstlaunch/04settings.xaml", System.UriKind.Relative); #line 1 "..\..\..\..\..\Screens\FirstLaunch\04Settings.xaml" System.Windows.Application.LoadComponent(this, resourceLocater); @@ -105,9 +161,15 @@ namespace InnoLabProjektDektopApp { switch (connectionId) { case 1: - this.SecondsComboBox = ((System.Windows.Controls.ComboBox)(target)); + this.DistractionModeFullBlocking = ((System.Windows.Controls.RadioButton)(target)); return; case 2: + this.DistractionModeMascotFeedback = ((System.Windows.Controls.RadioButton)(target)); + return; + case 3: + this.SecondsComboBox = ((System.Windows.Controls.ComboBox)(target)); + return; + case 4: this.MascotVisibleYes = ((System.Windows.Controls.RadioButton)(target)); #line 67 "..\..\..\..\..\Screens\FirstLaunch\04Settings.xaml" @@ -116,7 +178,7 @@ namespace InnoLabProjektDektopApp { #line default #line hidden return; - case 3: + case 5: this.MascotVisibleNo = ((System.Windows.Controls.RadioButton)(target)); #line 68 "..\..\..\..\..\Screens\FirstLaunch\04Settings.xaml" @@ -125,13 +187,42 @@ namespace InnoLabProjektDektopApp { #line default #line hidden return; - case 4: + case 6: this.MotivationSection = ((System.Windows.Controls.StackPanel)(target)); return; - case 5: + case 7: + this.WordsOfAffirmationCheckBox = ((System.Windows.Controls.CheckBox)(target)); + return; + case 8: + this.InsultingWordsCheckBox = ((System.Windows.Controls.CheckBox)(target)); + return; + case 9: + this.FocusPeriodComboBox = ((System.Windows.Controls.ComboBox)(target)); #line 125 "..\..\..\..\..\Screens\FirstLaunch\04Settings.xaml" - ((System.Windows.Controls.ComboBox)(target)).SelectionChanged += new System.Windows.Controls.SelectionChangedEventHandler(this.ComboBox_SelectionChanged); + this.FocusPeriodComboBox.SelectionChanged += new System.Windows.Controls.SelectionChangedEventHandler(this.ComboBox_SelectionChanged); + + #line default + #line hidden + return; + case 10: + this.BreakPeriodComboBox = ((System.Windows.Controls.ComboBox)(target)); + return; + case 11: + this.CyclesComboBox = ((System.Windows.Controls.ComboBox)(target)); + return; + case 12: + + #line 169 "..\..\..\..\..\Screens\FirstLaunch\04Settings.xaml" + ((System.Windows.Controls.Button)(target)).Click += new System.Windows.RoutedEventHandler(this.SaveSettingsButton_Click); + + #line default + #line hidden + return; + case 13: + + #line 172 "..\..\..\..\..\Screens\FirstLaunch\04Settings.xaml" + ((System.Windows.Controls.Button)(target)).Click += new System.Windows.RoutedEventHandler(this.NavigateToOverviewButton_Click); #line default #line hidden diff --git a/InnoLabProjektDektopApp/InnoLabProjektDektopApp/obj/Debug/net8.0-windows/Screens/Regulaer/01Overview.g.cs b/InnoLabProjektDektopApp/InnoLabProjektDektopApp/obj/Debug/net8.0-windows/Screens/Regulaer/01Overview.g.cs index f23f2ac..afc8725 100644 --- a/InnoLabProjektDektopApp/InnoLabProjektDektopApp/obj/Debug/net8.0-windows/Screens/Regulaer/01Overview.g.cs +++ b/InnoLabProjektDektopApp/InnoLabProjektDektopApp/obj/Debug/net8.0-windows/Screens/Regulaer/01Overview.g.cs @@ -1,4 +1,4 @@ -#pragma checksum "..\..\..\..\..\Screens\Regulaer\01Overview.xaml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "271ABB838A7FAE3EF7EFE67717EC929F277EA863" +#pragma checksum "..\..\..\..\..\Screens\Regulaer\01Overview.xaml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "1EFCB88867CB021DF28247EC6D36F821FD4A0742" //------------------------------------------------------------------------------ // <auto-generated> // This code was generated by a tool. @@ -42,6 +42,78 @@ namespace InnoLabProjektDektopApp { /// </summary> public partial class Overview : System.Windows.Window, System.Windows.Markup.IComponentConnector { + + #line 83 "..\..\..\..\..\Screens\Regulaer\01Overview.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.ComboBox FocusPeriodComboBox; + + #line default + #line hidden + + + #line 99 "..\..\..\..\..\Screens\Regulaer\01Overview.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.ComboBox BreakPeriodComboBox; + + #line default + #line hidden + + + #line 114 "..\..\..\..\..\Screens\Regulaer\01Overview.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.ComboBox CyclesComboBox; + + #line default + #line hidden + + + #line 127 "..\..\..\..\..\Screens\Regulaer\01Overview.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.ComboBox DistractionModeComboBox; + + #line default + #line hidden + + + #line 137 "..\..\..\..\..\Screens\Regulaer\01Overview.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.ComboBox MascotVisibilityComboBox; + + #line default + #line hidden + + + #line 147 "..\..\..\..\..\Screens\Regulaer\01Overview.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.CheckBox WordsOfAffirmationCheckBox; + + #line default + #line hidden + + + #line 153 "..\..\..\..\..\Screens\Regulaer\01Overview.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.CheckBox InsultingWordsCheckBox; + + #line default + #line hidden + + + #line 167 "..\..\..\..\..\Screens\Regulaer\01Overview.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBox FocusTopicInputBox; + + #line default + #line hidden + + + #line 176 "..\..\..\..\..\Screens\Regulaer\01Overview.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock FocusTopicPlaceholder; + + #line default + #line hidden + private bool _contentLoaded; /// <summary> @@ -63,13 +135,6 @@ namespace InnoLabProjektDektopApp { #line hidden } - [System.Diagnostics.DebuggerNonUserCodeAttribute()] - [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "8.0.4.0")] - [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] - internal System.Delegate _CreateDelegate(System.Type delegateType, string handler) { - return System.Delegate.CreateDelegate(delegateType, this, handler); - } - [System.Diagnostics.DebuggerNonUserCodeAttribute()] [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "8.0.4.0")] [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] @@ -81,24 +146,57 @@ namespace InnoLabProjektDektopApp { { case 1: - #line 13 "..\..\..\..\..\Screens\Regulaer\01Overview.xaml" - ((System.Windows.Controls.Button)(target)).Click += new System.Windows.RoutedEventHandler(this.Option1_Click); + #line 34 "..\..\..\..\..\Screens\Regulaer\01Overview.xaml" + ((System.Windows.Controls.Button)(target)).Click += new System.Windows.RoutedEventHandler(this.EditProfile_Click); #line default #line hidden return; case 2: - #line 14 "..\..\..\..\..\Screens\Regulaer\01Overview.xaml" - ((System.Windows.Controls.Button)(target)).Click += new System.Windows.RoutedEventHandler(this.Option2_Click); + #line 49 "..\..\..\..\..\Screens\Regulaer\01Overview.xaml" + ((System.Windows.Controls.Button)(target)).Click += new System.Windows.RoutedEventHandler(this.AddProfile_Click); #line default #line hidden return; case 3: + this.FocusPeriodComboBox = ((System.Windows.Controls.ComboBox)(target)); + return; + case 4: + this.BreakPeriodComboBox = ((System.Windows.Controls.ComboBox)(target)); + return; + case 5: + this.CyclesComboBox = ((System.Windows.Controls.ComboBox)(target)); + return; + case 6: + this.DistractionModeComboBox = ((System.Windows.Controls.ComboBox)(target)); + return; + case 7: + this.MascotVisibilityComboBox = ((System.Windows.Controls.ComboBox)(target)); + return; + case 8: + this.WordsOfAffirmationCheckBox = ((System.Windows.Controls.CheckBox)(target)); + return; + case 9: + this.InsultingWordsCheckBox = ((System.Windows.Controls.CheckBox)(target)); + return; + case 10: + this.FocusTopicInputBox = ((System.Windows.Controls.TextBox)(target)); + + #line 175 "..\..\..\..\..\Screens\Regulaer\01Overview.xaml" + this.FocusTopicInputBox.TextChanged += new System.Windows.Controls.TextChangedEventHandler(this.FocusTopicInputBox_TextChanged); + + #line default + #line hidden + return; + case 11: + this.FocusTopicPlaceholder = ((System.Windows.Controls.TextBlock)(target)); + return; + case 12: - #line 15 "..\..\..\..\..\Screens\Regulaer\01Overview.xaml" - ((System.Windows.Controls.Button)(target)).Click += new System.Windows.RoutedEventHandler(this.Option3_Click); + #line 188 "..\..\..\..\..\Screens\Regulaer\01Overview.xaml" + ((System.Windows.Controls.Button)(target)).Click += new System.Windows.RoutedEventHandler(this.StartButton_Click); #line default #line hidden diff --git a/InnoLabProjektDektopApp/InnoLabProjektDektopApp/obj/Debug/net8.0-windows/Screens/Regulaer/01Overview.g.i.cs b/InnoLabProjektDektopApp/InnoLabProjektDektopApp/obj/Debug/net8.0-windows/Screens/Regulaer/01Overview.g.i.cs index 17b54b7..afc8725 100644 --- a/InnoLabProjektDektopApp/InnoLabProjektDektopApp/obj/Debug/net8.0-windows/Screens/Regulaer/01Overview.g.i.cs +++ b/InnoLabProjektDektopApp/InnoLabProjektDektopApp/obj/Debug/net8.0-windows/Screens/Regulaer/01Overview.g.i.cs @@ -1,5 +1,4 @@ -// Updated by XamlIntelliSenseFileGenerator 01.01.2025 18:49:32 -#pragma checksum "..\..\..\..\..\Screens\Regulaer\01Overview.xaml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "271ABB838A7FAE3EF7EFE67717EC929F277EA863" +#pragma checksum "..\..\..\..\..\Screens\Regulaer\01Overview.xaml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "1EFCB88867CB021DF28247EC6D36F821FD4A0742" //------------------------------------------------------------------------------ // <auto-generated> // This code was generated by a tool. @@ -35,87 +34,176 @@ using System.Windows.Shapes; using System.Windows.Shell; -namespace InnoLabProjektDektopApp -{ - - +namespace InnoLabProjektDektopApp { + + /// <summary> /// Overview /// </summary> - public partial class Overview : System.Windows.Window, System.Windows.Markup.IComponentConnector - { - + public partial class Overview : System.Windows.Window, System.Windows.Markup.IComponentConnector { + + + #line 83 "..\..\..\..\..\Screens\Regulaer\01Overview.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.ComboBox FocusPeriodComboBox; + + #line default + #line hidden + + + #line 99 "..\..\..\..\..\Screens\Regulaer\01Overview.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.ComboBox BreakPeriodComboBox; + + #line default + #line hidden + + + #line 114 "..\..\..\..\..\Screens\Regulaer\01Overview.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.ComboBox CyclesComboBox; + + #line default + #line hidden + + + #line 127 "..\..\..\..\..\Screens\Regulaer\01Overview.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.ComboBox DistractionModeComboBox; + + #line default + #line hidden + + + #line 137 "..\..\..\..\..\Screens\Regulaer\01Overview.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.ComboBox MascotVisibilityComboBox; + + #line default + #line hidden + + + #line 147 "..\..\..\..\..\Screens\Regulaer\01Overview.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.CheckBox WordsOfAffirmationCheckBox; + + #line default + #line hidden + + + #line 153 "..\..\..\..\..\Screens\Regulaer\01Overview.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.CheckBox InsultingWordsCheckBox; + + #line default + #line hidden + + + #line 167 "..\..\..\..\..\Screens\Regulaer\01Overview.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBox FocusTopicInputBox; + + #line default + #line hidden + + + #line 176 "..\..\..\..\..\Screens\Regulaer\01Overview.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock FocusTopicPlaceholder; + + #line default + #line hidden + private bool _contentLoaded; - + /// <summary> /// InitializeComponent /// </summary> [System.Diagnostics.DebuggerNonUserCodeAttribute()] [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "8.0.4.0")] - public void InitializeComponent() - { - if (_contentLoaded) - { + public void InitializeComponent() { + if (_contentLoaded) { return; } _contentLoaded = true; - System.Uri resourceLocater = new System.Uri("/CoFlow;V1.0.0.0;component/screens/regulaer/01overview.xaml", System.UriKind.Relative); - -#line 1 "..\..\..\..\..\Screens\Regulaer\01Overview.xaml" + System.Uri resourceLocater = new System.Uri("/CoFlow;component/screens/regulaer/01overview.xaml", System.UriKind.Relative); + + #line 1 "..\..\..\..\..\Screens\Regulaer\01Overview.xaml" System.Windows.Application.LoadComponent(this, resourceLocater); - -#line default -#line hidden + + #line default + #line hidden } - - [System.Diagnostics.DebuggerNonUserCodeAttribute()] - [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "8.0.4.0")] - [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] - internal System.Delegate _CreateDelegate(System.Type delegateType, string handler) - { - return System.Delegate.CreateDelegate(delegateType, this, handler); - } - + [System.Diagnostics.DebuggerNonUserCodeAttribute()] [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "8.0.4.0")] [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")] [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")] [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")] - void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) - { + void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) { switch (connectionId) { - case 1: - -#line 13 "..\..\..\..\..\Screens\Regulaer\01Overview.xaml" - ((System.Windows.Controls.Button)(target)).Click += new System.Windows.RoutedEventHandler(this.Option1_Click); - -#line default -#line hidden - return; - case 2: - -#line 14 "..\..\..\..\..\Screens\Regulaer\01Overview.xaml" - ((System.Windows.Controls.Button)(target)).Click += new System.Windows.RoutedEventHandler(this.Option2_Click); - -#line default -#line hidden - return; - case 3: - -#line 15 "..\..\..\..\..\Screens\Regulaer\01Overview.xaml" - ((System.Windows.Controls.Button)(target)).Click += new System.Windows.RoutedEventHandler(this.Option3_Click); - -#line default -#line hidden - return; + case 1: + + #line 34 "..\..\..\..\..\Screens\Regulaer\01Overview.xaml" + ((System.Windows.Controls.Button)(target)).Click += new System.Windows.RoutedEventHandler(this.EditProfile_Click); + + #line default + #line hidden + return; + case 2: + + #line 49 "..\..\..\..\..\Screens\Regulaer\01Overview.xaml" + ((System.Windows.Controls.Button)(target)).Click += new System.Windows.RoutedEventHandler(this.AddProfile_Click); + + #line default + #line hidden + return; + case 3: + this.FocusPeriodComboBox = ((System.Windows.Controls.ComboBox)(target)); + return; + case 4: + this.BreakPeriodComboBox = ((System.Windows.Controls.ComboBox)(target)); + return; + case 5: + this.CyclesComboBox = ((System.Windows.Controls.ComboBox)(target)); + return; + case 6: + this.DistractionModeComboBox = ((System.Windows.Controls.ComboBox)(target)); + return; + case 7: + this.MascotVisibilityComboBox = ((System.Windows.Controls.ComboBox)(target)); + return; + case 8: + this.WordsOfAffirmationCheckBox = ((System.Windows.Controls.CheckBox)(target)); + return; + case 9: + this.InsultingWordsCheckBox = ((System.Windows.Controls.CheckBox)(target)); + return; + case 10: + this.FocusTopicInputBox = ((System.Windows.Controls.TextBox)(target)); + + #line 175 "..\..\..\..\..\Screens\Regulaer\01Overview.xaml" + this.FocusTopicInputBox.TextChanged += new System.Windows.Controls.TextChangedEventHandler(this.FocusTopicInputBox_TextChanged); + + #line default + #line hidden + return; + case 11: + this.FocusTopicPlaceholder = ((System.Windows.Controls.TextBlock)(target)); + return; + case 12: + + #line 188 "..\..\..\..\..\Screens\Regulaer\01Overview.xaml" + ((System.Windows.Controls.Button)(target)).Click += new System.Windows.RoutedEventHandler(this.StartButton_Click); + + #line default + #line hidden + return; } this._contentLoaded = true; } - - internal System.Windows.Controls.TextBox FocusTopicInputBox; - internal System.Windows.Controls.TextBlock FocusTopicPlaceholder; } } diff --git a/InnoLabProjektDektopApp/InnoLabProjektDektopApp/obj/Debug/net8.0-windows/Screens/Regulaer/02Session.g.i.cs b/InnoLabProjektDektopApp/InnoLabProjektDektopApp/obj/Debug/net8.0-windows/Screens/Regulaer/02Session.g.i.cs index 26f15b4..a6a5b27 100644 --- a/InnoLabProjektDektopApp/InnoLabProjektDektopApp/obj/Debug/net8.0-windows/Screens/Regulaer/02Session.g.i.cs +++ b/InnoLabProjektDektopApp/InnoLabProjektDektopApp/obj/Debug/net8.0-windows/Screens/Regulaer/02Session.g.i.cs @@ -86,7 +86,7 @@ namespace InnoLabProjektDektopApp { return; } _contentLoaded = true; - System.Uri resourceLocater = new System.Uri("/CoFlow;V1.0.0.0;component/screens/regulaer/02session.xaml", System.UriKind.Relative); + System.Uri resourceLocater = new System.Uri("/CoFlow;component/screens/regulaer/02session.xaml", System.UriKind.Relative); #line 1 "..\..\..\..\..\Screens\Regulaer\02Session.xaml" System.Windows.Application.LoadComponent(this, resourceLocater); diff --git a/InnoLabProjektDektopApp/InnoLabProjektDektopApp/obj/Debug/net8.0-windows/Screens/Regulaer/03End.g.i.cs b/InnoLabProjektDektopApp/InnoLabProjektDektopApp/obj/Debug/net8.0-windows/Screens/Regulaer/03End.g.i.cs index bdb32dc..4d8e078 100644 --- a/InnoLabProjektDektopApp/InnoLabProjektDektopApp/obj/Debug/net8.0-windows/Screens/Regulaer/03End.g.i.cs +++ b/InnoLabProjektDektopApp/InnoLabProjektDektopApp/obj/Debug/net8.0-windows/Screens/Regulaer/03End.g.i.cs @@ -54,7 +54,7 @@ namespace InnoLabProjektDektopApp { return; } _contentLoaded = true; - System.Uri resourceLocater = new System.Uri("/CoFlow;V1.0.0.0;component/screens/regulaer/03end.xaml", System.UriKind.Relative); + System.Uri resourceLocater = new System.Uri("/CoFlow;component/screens/regulaer/03end.xaml", System.UriKind.Relative); #line 1 "..\..\..\..\..\Screens\Regulaer\03End.xaml" System.Windows.Application.LoadComponent(this, resourceLocater); diff --git a/InnoLabProjektDektopApp/InnoLabProjektDektopApp/obj/Debug/net8.0-windows/Screens/Regulaer/04Statistics.g.i.cs b/InnoLabProjektDektopApp/InnoLabProjektDektopApp/obj/Debug/net8.0-windows/Screens/Regulaer/04Statistics.g.i.cs index 7732590..434de39 100644 --- a/InnoLabProjektDektopApp/InnoLabProjektDektopApp/obj/Debug/net8.0-windows/Screens/Regulaer/04Statistics.g.i.cs +++ b/InnoLabProjektDektopApp/InnoLabProjektDektopApp/obj/Debug/net8.0-windows/Screens/Regulaer/04Statistics.g.i.cs @@ -54,7 +54,7 @@ namespace InnoLabProjektDektopApp { return; } _contentLoaded = true; - System.Uri resourceLocater = new System.Uri("/CoFlow;V1.0.0.0;component/screens/regulaer/04statistics.xaml", System.UriKind.Relative); + System.Uri resourceLocater = new System.Uri("/CoFlow;component/screens/regulaer/04statistics.xaml", System.UriKind.Relative); #line 1 "..\..\..\..\..\Screens\Regulaer\04Statistics.xaml" System.Windows.Application.LoadComponent(this, resourceLocater); diff --git a/InnoLabProjektDektopApp/InnoLabProjektDektopApp/obj/Debug/net8.0-windows/Screens/Templates/HeaderTemplate.g.i.cs b/InnoLabProjektDektopApp/InnoLabProjektDektopApp/obj/Debug/net8.0-windows/Screens/Templates/HeaderTemplate.g.i.cs index 5bd5034..c17a407 100644 --- a/InnoLabProjektDektopApp/InnoLabProjektDektopApp/obj/Debug/net8.0-windows/Screens/Templates/HeaderTemplate.g.i.cs +++ b/InnoLabProjektDektopApp/InnoLabProjektDektopApp/obj/Debug/net8.0-windows/Screens/Templates/HeaderTemplate.g.i.cs @@ -53,7 +53,7 @@ namespace InnoLabProjektDektopApp.Screens.Templates { return; } _contentLoaded = true; - System.Uri resourceLocater = new System.Uri("/CoFlow;V1.0.0.0;component/screens/templates/headertemplate.xaml", System.UriKind.Relative); + System.Uri resourceLocater = new System.Uri("/CoFlow;component/screens/templates/headertemplate.xaml", System.UriKind.Relative); #line 1 "..\..\..\..\..\Screens\Templates\HeaderTemplate.xaml" System.Windows.Application.LoadComponent(this, resourceLocater); diff --git a/InnoLabProjektDektopApp/InnoLabProjektDektopApp/obj/Debug/net8.0-windows/apphost.exe b/InnoLabProjektDektopApp/InnoLabProjektDektopApp/obj/Debug/net8.0-windows/apphost.exe index a2821bdd9ae9b1bf8beab4702403089b9954101b..fbc1dfa4fe88f03b797cbee9bf350dc877276f28 100644 GIT binary patch delta 99 zcmZp;!vR7qj9Zw#X!)Bmm@%X<m@^nL7%`+USb%v+3<eB_3<eBo42BHJ49Q@bBnEQ^ q0|p}oLol7lkjRkCV8CF>kj!AgV9a31V8M{eV9JoP-C3JyFB1SCixRT{ delta 99 zcmZp;!vR7qj9Zw#X!)lxm@*hKBr+s1Br_N?Br%vVBr=#Vm@$|$m@^nLSTH0q7%*5e oq%x#1m@=d>q%atQd8rH_n8;uT)?v($#$W_C!EC#;Hq%}v08393y8r+H -- GitLab From e15b10e4aaa10b841599d2a9bc4c0010e84aa6d8 Mon Sep 17 00:00:00 2001 From: Sandra Borst <108298114+VerfluchteZocke@users.noreply.github.com> Date: Wed, 1 Jan 2025 21:39:46 +0100 Subject: [PATCH 2/3] profile settings are loaded into default settings for focus session start screen --- .../.vs/InnoLabProjektDektopApp/v17/.suo | Bin 445952 -> 445440 bytes .../Screens/FirstLaunch/04Settings.xaml.cs | 72 ++-------- .../Screens/Regulaer/01Overview.xaml.cs | 135 +++++++++++++++--- .../InnoLabProjektDektopApp.AssemblyInfo.cs | 2 +- ...bProjektDektopApp.AssemblyInfoInputs.cache | 2 +- .../obj/Debug/net8.0-windows/apphost.exe | Bin 142848 -> 142848 bytes 6 files changed, 130 insertions(+), 81 deletions(-) diff --git a/InnoLabProjektDektopApp/.vs/InnoLabProjektDektopApp/v17/.suo b/InnoLabProjektDektopApp/.vs/InnoLabProjektDektopApp/v17/.suo index 478d196ed04b4a0c5e13d42d4b4c2b4003fb0e33..d1f1553fd4ac4b16f43cc1712757faf4e56a309b 100644 GIT binary patch delta 3568 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 delta 4095 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 diff --git a/InnoLabProjektDektopApp/InnoLabProjektDektopApp/Screens/FirstLaunch/04Settings.xaml.cs b/InnoLabProjektDektopApp/InnoLabProjektDektopApp/Screens/FirstLaunch/04Settings.xaml.cs index b0c3d8b..0847605 100644 --- a/InnoLabProjektDektopApp/InnoLabProjektDektopApp/Screens/FirstLaunch/04Settings.xaml.cs +++ b/InnoLabProjektDektopApp/InnoLabProjektDektopApp/Screens/FirstLaunch/04Settings.xaml.cs @@ -57,56 +57,6 @@ namespace InnoLabProjektDektopApp } - private void SaveSettings() - { - // Collect values from UI - string distractionMode = (DistractionModeFullBlocking.IsChecked ?? false) ? "full-blocking mode" : - (DistractionModeMascotFeedback.IsChecked ?? false) ? "only mascot feedback mode" : - $"{SecondsComboBox.Text} seconds warning mode"; - - string mascotVisible = MascotVisibleYes.IsChecked == true ? "yes" : "no"; - - bool wordsOfAffirmation = WordsOfAffirmationCheckBox.IsChecked ?? false; - bool insultingWords = InsultingWordsCheckBox.IsChecked ?? false; - - string focusPeriod = ((ComboBoxItem)FocusPeriodComboBox.SelectedItem)?.Content.ToString() ?? "50 minutes"; - string breakPeriod = ((ComboBoxItem)BreakPeriodComboBox.SelectedItem)?.Content.ToString() ?? "10 minutes"; - string cycles = ((ComboBoxItem)CyclesComboBox.SelectedItem)?.Content.ToString() ?? "4"; - - // Create settings object - var profileSettings = new - { - DistractionMode = distractionMode, - MascotVisible = mascotVisible, - Motivation = new - { - WordsOfAffirmation = wordsOfAffirmation, - InsultingWords = insultingWords - }, - FocusSession = new - { - FocusPeriod = focusPeriod, - BreakPeriod = breakPeriod, - Cycles = cycles - } - }; - - // Create dictionary for profiles - var profiles = new Dictionary<string, object> - { - { "Profile1", profileSettings } - }; - - // Serialize to JSON - string json = JsonSerializer.Serialize(profiles, new JsonSerializerOptions { WriteIndented = true }); - - // Save to file - string filePath = System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "settings.json"); - File.WriteAllText(filePath, json); - - MessageBox.Show("Settings saved successfully!", "Success", MessageBoxButton.OK, MessageBoxImage.Information); - } - private void SaveSettingsButton_Click(object sender, RoutedEventArgs e) @@ -131,16 +81,16 @@ private void SaveSettingsButton_Click(object sender, RoutedEventArgs e) var settings = new Dictionary<string, Dictionary<string, string>> { { - "Profile1", + "profile1", new Dictionary<string, string> { - { "FocusPeriod", focusPeriod }, - { "BreakPeriod", breakPeriod }, - { "Cycles", cycles }, - { "DistractionMode", distractionMode }, - { "MascotVisible", mascotVisible }, - { "WordsOfAffirmation", wordsOfAffirmation.ToString() }, - { "InsultingWords", insultingWords.ToString() } + { "focusPeriod", focusPeriod }, + { "breakPeriod", breakPeriod }, + { "cycles", cycles }, + { "distractionMode", distractionMode }, + { "mascotVisibility", mascotVisible }, + { "wordsOfAffirmation", wordsOfAffirmation.ToString() }, + { "insultingWords", insultingWords.ToString() } } } }; @@ -156,11 +106,11 @@ private void SaveSettingsButton_Click(object sender, RoutedEventArgs e) string jsonContent = File.ReadAllText(filePath); var savedSettings = JsonSerializer.Deserialize<Dictionary<string, Dictionary<string, string>>>(jsonContent); - if (savedSettings != null && savedSettings.ContainsKey("Profile1")) + if (savedSettings != null && savedSettings.ContainsKey("profile1")) { - var profileSettings = savedSettings["Profile1"]; + var profileSettings = savedSettings["profile1"]; - string message = "Saved Settings for Profile1:\n"; + string message = "Saved Settings for profile1:\n"; foreach (var setting in profileSettings) { message += $"{setting.Key}: {setting.Value}\n"; diff --git a/InnoLabProjektDektopApp/InnoLabProjektDektopApp/Screens/Regulaer/01Overview.xaml.cs b/InnoLabProjektDektopApp/InnoLabProjektDektopApp/Screens/Regulaer/01Overview.xaml.cs index 32b659c..3b14500 100644 --- a/InnoLabProjektDektopApp/InnoLabProjektDektopApp/Screens/Regulaer/01Overview.xaml.cs +++ b/InnoLabProjektDektopApp/InnoLabProjektDektopApp/Screens/Regulaer/01Overview.xaml.cs @@ -1,58 +1,157 @@ using InnoLabProjektDektopApp.Services; -using System.Text; +using System.IO; +using System.Text.Json; using System.Windows; using System.Windows.Controls; -using System.Windows.Data; -using System.Windows.Documents; -using System.Windows.Input; -using System.Windows.Media; -using System.Windows.Media.Imaging; -using System.Windows.Navigation; -using System.Windows.Shapes; namespace InnoLabProjektDektopApp { /// <summary> - /// Interaction logic for MainWindow.xaml + /// Interaction logic for Overview.xaml /// </summary> public partial class Overview : Window { - private ProcessMonitor processMonitor; + // Aktuelles Profil, für das Einstellungen geladen werden sollen + private string profile = "profile1"; + + // Pfad zur JSON-Datei, in der die Einstellungen gespeichert sind + private string SettingsFilePath; + public Overview() { InitializeComponent(); GlobalSettings.setDefaults(this); + + // Definieren des Pfads zur JSON-Datei + this.SettingsFilePath = System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "settings.json"); + + // Einstellungen für das aktuelle Profil laden + LoadSettings(); } + + // Methode, um die Einstellungen für das aktuelle Profil aus der JSON-Datei zu laden + private void LoadSettings() + { + try + { + // JSON-Datei lesen + if (File.Exists(SettingsFilePath)) + { + string jsonContent = File.ReadAllText(SettingsFilePath); + var settings = JsonSerializer.Deserialize<Dictionary<string, JsonElement>>(jsonContent); + + if (settings != null && settings.ContainsKey(profile)) + { + var profileSettings = settings[profile]; + + // Focus Period + if (profileSettings.TryGetProperty("focusPeriod", out var focusPeriodElement)) + { + string focusPeriod = focusPeriodElement.GetString(); + FocusPeriodComboBox.SelectedItem = FindComboBoxItem(FocusPeriodComboBox, focusPeriod); + } + + // Break Period + if (profileSettings.TryGetProperty("breakPeriod", out var breakPeriodElement)) + { + string breakPeriod = breakPeriodElement.GetString(); + BreakPeriodComboBox.SelectedItem = FindComboBoxItem(BreakPeriodComboBox, breakPeriod); + } + + // Cycles + if (profileSettings.TryGetProperty("cycles", out var cyclesElement)) + { + string cycles = cyclesElement.GetString(); + CyclesComboBox.SelectedItem = FindComboBoxItem(CyclesComboBox, cycles); + } + + // Distraction Mode + if (profileSettings.TryGetProperty("distractionMode", out var distractionModeElement)) + { + string distractionMode = distractionModeElement.GetString(); + DistractionModeComboBox.SelectedItem = FindComboBoxItem(DistractionModeComboBox, distractionMode); + } + + // Mascot Visibility + if (profileSettings.TryGetProperty("mascotVisibility", out var mascotVisibilityElement)) + { + string mascotVisibility = mascotVisibilityElement.GetString(); + MascotVisibilityComboBox.SelectedItem = FindComboBoxItem(MascotVisibilityComboBox, mascotVisibility); + } + + // Checkbox: Words of Affirmation + if (profileSettings.TryGetProperty("wordsOfAffirmation", out var wordsOfAffirmationElement)) + { + // Convert String to Boolean explicitly + WordsOfAffirmationCheckBox.IsChecked = bool.TryParse(wordsOfAffirmationElement.GetString(), out var result) && result; + } + + // Checkbox: Insulting Words + if (profileSettings.TryGetProperty("insultingWords", out var insultingWordsElement)) + { + // Convert String to Boolean explicitly + InsultingWordsCheckBox.IsChecked = bool.TryParse(insultingWordsElement.GetString(), out var result) && result; + } + } + else + { + MessageBox.Show($"No settings found for profile '{profile}'", "Info", MessageBoxButton.OK, MessageBoxImage.Information); + } + } + else + { + MessageBox.Show($"Settings file not found at '{SettingsFilePath}'", "Error", MessageBoxButton.OK, MessageBoxImage.Error); + } + } + catch (Exception ex) + { + MessageBox.Show($"Error loading settings: {ex.Message}", "Error", MessageBoxButton.OK, MessageBoxImage.Error); + } + } + + + // Hilfsmethode, um ein Element in der ComboBox basierend auf dem Inhalt zu finden + private ComboBoxItem FindComboBoxItem(ComboBox comboBox, string content) + { + foreach (ComboBoxItem item in comboBox.Items) + { + if (item.Content.ToString() == content) + { + return item; + } + } + return null; + } + + // Ereignis-Handler für den "Edit Profile"-Button private void EditProfile_Click(object sender, RoutedEventArgs e) { MessageBox.Show("Edit Profile clicked!"); - // Hier kann die Logik zum Bearbeiten eines Profils eingefügt werden. } + // Ereignis-Handler für den "Add Profile"-Button private void AddProfile_Click(object sender, RoutedEventArgs e) { MessageBox.Show("Add Profile clicked!"); - // Hier kann die Logik zum Hinzufügen eines neuen Profils eingefügt werden. } + // Ereignis-Handler, um den Placeholder für das Textfeld anzuzeigen oder auszublenden private void FocusTopicInputBox_TextChanged(object sender, TextChangedEventArgs e) { - // Überprüfen, ob die TextBox leer ist if (!string.IsNullOrEmpty(FocusTopicInputBox.Text)) { - FocusTopicPlaceholder.Visibility = Visibility.Collapsed; // Placeholder ausblenden + FocusTopicPlaceholder.Visibility = Visibility.Collapsed; } else { - FocusTopicPlaceholder.Visibility = Visibility.Visible; // Placeholder anzeigen + FocusTopicPlaceholder.Visibility = Visibility.Visible; } } + // Ereignis-Handler für den "Start"-Button private void StartButton_Click(object sender, RoutedEventArgs e) { - // Beispiel: Nachricht anzeigen, dass der Start-Button geklickt wurde MessageBox.Show("Focus session started!", "Start", MessageBoxButton.OK, MessageBoxImage.Information); } - } -} \ No newline at end of file +} diff --git a/InnoLabProjektDektopApp/InnoLabProjektDektopApp/obj/Debug/net8.0-windows/InnoLabProjektDektopApp.AssemblyInfo.cs b/InnoLabProjektDektopApp/InnoLabProjektDektopApp/obj/Debug/net8.0-windows/InnoLabProjektDektopApp.AssemblyInfo.cs index e84e2ed..061a6df 100644 --- a/InnoLabProjektDektopApp/InnoLabProjektDektopApp/obj/Debug/net8.0-windows/InnoLabProjektDektopApp.AssemblyInfo.cs +++ b/InnoLabProjektDektopApp/InnoLabProjektDektopApp/obj/Debug/net8.0-windows/InnoLabProjektDektopApp.AssemblyInfo.cs @@ -14,7 +14,7 @@ using System.Reflection; [assembly: System.Reflection.AssemblyCompanyAttribute("CoFlow")] [assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] [assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] -[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+56d722d86db010f1cc2db702170aac09c8318e5d")] +[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+e6579ef0d3b607362222ce416775f79a38e2a15b")] [assembly: System.Reflection.AssemblyProductAttribute("CoFlow")] [assembly: System.Reflection.AssemblyTitleAttribute("CoFlow")] [assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] diff --git a/InnoLabProjektDektopApp/InnoLabProjektDektopApp/obj/Debug/net8.0-windows/InnoLabProjektDektopApp.AssemblyInfoInputs.cache b/InnoLabProjektDektopApp/InnoLabProjektDektopApp/obj/Debug/net8.0-windows/InnoLabProjektDektopApp.AssemblyInfoInputs.cache index cb4b08f..b2798ae 100644 --- a/InnoLabProjektDektopApp/InnoLabProjektDektopApp/obj/Debug/net8.0-windows/InnoLabProjektDektopApp.AssemblyInfoInputs.cache +++ b/InnoLabProjektDektopApp/InnoLabProjektDektopApp/obj/Debug/net8.0-windows/InnoLabProjektDektopApp.AssemblyInfoInputs.cache @@ -1 +1 @@ -2fe809c2ec1013c7e394de591bf9b364ba02a4dd1769b8c44bac3545c823a457 +aada719c9e57b2dfa11e1b6fee01ad786fcaf6337a6a62c39bf8cce0ea37e6c6 diff --git a/InnoLabProjektDektopApp/InnoLabProjektDektopApp/obj/Debug/net8.0-windows/apphost.exe b/InnoLabProjektDektopApp/InnoLabProjektDektopApp/obj/Debug/net8.0-windows/apphost.exe index fbc1dfa4fe88f03b797cbee9bf350dc877276f28..cfdd2ea0393cc608c1c9093114dd02d266fd6c77 100644 GIT binary patch delta 99 zcmZp;!vR7qj9Zw#X!)lym@$|#m@`;1q%x#27%-$T7&9a>m@ybIm@^nNm@ybZVKPH1 rg9(EngBgQ4gE@mKLmF65B7-r51w$%>5kn$_A%iJH(spNUroBu64`UKR delta 99 zcmZp;!vR7qj9Zw#X!)Bmm@%X<m@^nL7%`+USb%v+3<eB_3<eBo42BHJ49Q@bBnEQ^ q0|p}oLol7lkjRkCV8CF>kj!AgV9a31V8M{eV9JoP-C3JyFB1SCixRT{ -- GitLab From fad5ecccb580070468008c32e8105bc25f8b3200 Mon Sep 17 00:00:00 2001 From: Sandra Borst <108298114+VerfluchteZocke@users.noreply.github.com> Date: Wed, 1 Jan 2025 22:02:33 +0100 Subject: [PATCH 3/3] ... --- .../DesignTimeBuild/.dtbcache.v2 | Bin 109608 -> 109608 bytes .../.vs/InnoLabProjektDektopApp/v17/.suo | Bin 445440 -> 445952 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/InnoLabProjektDektopApp/.vs/InnoLabProjektDektopApp/DesignTimeBuild/.dtbcache.v2 b/InnoLabProjektDektopApp/.vs/InnoLabProjektDektopApp/DesignTimeBuild/.dtbcache.v2 index df0efa6b28e458e81ca177a7324d817f3f7f728f..34e5ad45a5a882f84f086a4377652f8300217539 100644 GIT binary patch delta 157 zcmZ2+gKfnPwg~|a2Fb?Bh9*gdDXEqw7O6%_sU~KLDaICt$p*=m2C0@7=0<78$p&W0 zsRl`jrUnK{spdu|Daq!^M#ctamPx6m6DLSA8(SDoT%+b-W@2DwYG#>|Y-(m;Y-*fj zY+__+WR_->W}IkjVQyq$Zfas_X<%WIXliMYVvuNNVQP|UmX?;Blx$*dWNB>JEX257 Jh>=ljH2^_UD}ew2 delta 157 zcmZ2+gKfnPwg~|a$;Orz#s(&a21&`LDT&63CI%KJsflT(Nk(Sosm6&(NfxQeX-TF= zCI-eyscGhE$%f{Z=9Xqj28KxnCaD$%6DLSA8<`kST%+b-Xl$93Y;2aAWMY<>l$Mg3 zl$>OolwxF(XqjeUYHVVeXkln#m}F{VVU}W$lw@vXlw@pZlALC4Vq|HUmTG3+EX257 Jh>=ljH2}0`EpGq- diff --git a/InnoLabProjektDektopApp/.vs/InnoLabProjektDektopApp/v17/.suo b/InnoLabProjektDektopApp/.vs/InnoLabProjektDektopApp/v17/.suo index d1f1553fd4ac4b16f43cc1712757faf4e56a309b..eceae58602897565fe534a6209dbbf265d9d0213 100644 GIT binary patch delta 2495 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 delta 2993 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 -- GitLab