1- <Window x : Class =" CSharpCodeAnalyst.Configuration.SettingsDialog"
1+ <Window x : Class =" CSharpCodeAnalyst.Configuration.SettingsDialog"
22 xmlns =" http://schemas.microsoft.com/winfx/2006/xaml/presentation"
33 xmlns : x =" http://schemas.microsoft.com/winfx/2006/xaml"
44 xmlns : resources =" clr-namespace:CSharpCodeAnalyst.Resources"
1313 <RowDefinition Height =" Auto" />
1414 </Grid .RowDefinitions>
1515
16- <ScrollViewer VerticalScrollBarVisibility =" Auto" >
17- <StackPanel >
16+ <TabControl >
1817
19- <TextBlock Margin =" 10 0 0 15" FontWeight =" Bold" Foreground =" Red"
20- Text =" {x:Static resources:Strings.Settings_Hint}" />
18+ <!-- ═══════════════════════════════════════════════════════
19+ Tab 1: Application Settings (appsettings.json)
20+ Shared across all users of this installation.
21+ ════════════════════════════════════════════════════════ -->
22+ <TabItem Header =" {x:Static resources:Strings.Settings_Tab_Application}" >
23+ <ScrollViewer VerticalScrollBarVisibility =" Auto" >
24+ <StackPanel Margin =" 5,5,5,0" >
2125
22- <GroupBox Header =" {x:Static resources:Strings.Settings_General}" Margin =" 5,0,0,0" >
23- <StackPanel Margin =" 10" >
24- <CheckBox x : Name =" AutoAddContainingTypeCheckBox"
25- Content =" {x:Static resources:Strings.Settings_AddContainingType}"
26- Margin =" 0,5"
27- ToolTip =" {x:Static resources:Strings.Settings_Settings_AddContainingType_Tooltip}" />
26+ <TextBlock Margin =" 5,5,5,3" Foreground =" Gray"
27+ Text =" {x:Static resources:Strings.Settings_Tab_Application_Hint}" />
2828
29- <CheckBox x : Name =" IncludeExternalCodeCheckBox"
30- Content =" {x:Static resources:Strings.Settings_IncludeExternalCode}"
31- Margin =" 0,5"
32- ToolTip =" {x:Static resources:Strings.Settings_IncludeExternalCode_Tooltip}" />
29+ <TextBlock Margin =" 5,0,5,10" FontWeight =" Bold" Foreground =" Red"
30+ Text =" {x:Static resources:Strings.Settings_Hint}" />
31+
32+ <GroupBox Header =" {x:Static resources:Strings.Settings_General}" Margin =" 5,0,0,0" >
33+ <StackPanel Margin =" 10" >
34+ <CheckBox x : Name =" AutoAddContainingTypeCheckBox"
35+ Content =" {x:Static resources:Strings.Settings_AddContainingType}"
36+ Margin =" 0,5"
37+ ToolTip =" {x:Static resources:Strings.Settings_Settings_AddContainingType_Tooltip}" />
38+
39+ <CheckBox x : Name =" IncludeExternalCodeCheckBox"
40+ Content =" {x:Static resources:Strings.Settings_IncludeExternalCode}"
41+ Margin =" 0,5"
42+ ToolTip =" {x:Static resources:Strings.Settings_IncludeExternalCode_Tooltip}" />
43+
44+ <CheckBox x : Name =" WarnIfFiltersActiveCheckBox"
45+ Content =" {x:Static resources:Strings.Settings_WarnIfFiltersActive}"
46+ Margin =" 0,5"
47+ ToolTip =" {x:Static resources:Strings.Settings_WarnIfFiltersActive_Tooltip}" />
48+ </StackPanel >
49+ </GroupBox >
50+
51+ <GroupBox Header =" {x:Static resources:Strings.Settings_Performance}" Margin =" 5,5,0,0" >
52+ <StackPanel Margin =" 10" >
53+ <Label Margin =" 0 0 0 3"
54+ Content =" {x:Static resources:Strings.Settings_CodeElementWarningLimit}" />
55+ <TextBox x : Name =" WarningLimitTextBox"
56+ Width =" 100"
57+ HorizontalAlignment =" Left"
58+ Margin =" 0,0,0,10"
59+ ToolTip =" {x:Static resources:Strings.Settings_CodeElementWarningLimit_Tooltip}" />
60+ </StackPanel >
61+ </GroupBox >
62+
63+ <GroupBox Header =" {x:Static resources:Strings.Settings_ProjectFilters}" Margin =" 5,5,0,0" >
64+ <StackPanel Margin =" 10" >
65+ <Label Margin =" 0 0 0 3" Content =" {x:Static resources:Strings.Settings_ProjectFilters_Text}" />
66+ <TextBox x : Name =" ProjectExcludeFilterTextBox"
67+ Height =" 80"
68+ AcceptsReturn =" True"
69+ TextWrapping =" Wrap"
70+ VerticalScrollBarVisibility =" Auto"
71+ HorizontalAlignment =" Stretch"
72+ Margin =" 0,0,0,10"
73+ ToolTip =" {x:Static resources:Strings.Settings_ProjectFilters_Tooltip}" />
74+ </StackPanel >
75+ </GroupBox >
3376
34- <CheckBox x : Name =" WarnIfFiltersActiveCheckBox"
35- Content =" {x:Static resources:Strings.Settings_WarnIfFiltersActive}"
36- Margin =" 0,5"
37- ToolTip =" {x:Static resources:Strings.Settings_WarnIfFiltersActive_Tooltip}" />
38- </StackPanel >
39- </GroupBox >
40-
41- <GroupBox Header =" {x:Static resources:Strings.Settings_Performance}" Margin =" 5,0,0,0" >
42- <StackPanel Margin =" 10" >
43- <Label Margin =" 0 0 0 3"
44- Content =" {x:Static resources:Strings.Settings_CodeElementWarningLimit}" />
45- <TextBox x : Name =" WarningLimitTextBox"
46- Width =" 100"
47- HorizontalAlignment =" Left"
48- Margin =" 0,0,0,10"
49- ToolTip =" {x:Static resources:Strings.Settings_CodeElementWarningLimit_Tooltip}" />
50- </StackPanel >
51- </GroupBox >
52-
53- <GroupBox Header =" {x:Static resources:Strings.Settings_ProjectFilters}" Margin =" 5,0,0,0" >
54- <StackPanel Margin =" 10" >
55- <Label Margin =" 0 0 0 3" Content =" {x:Static resources:Strings.Settings_ProjectFilters_Text}" />
56- <TextBox x : Name =" ProjectExcludeFilterTextBox"
57- Height =" 80"
58-
59- AcceptsReturn =" True"
60- TextWrapping =" Wrap"
61- VerticalScrollBarVisibility =" Auto"
62- HorizontalAlignment =" Stretch"
63- Margin =" 0,0,0,10"
64- ToolTip =" {x:Static resources:Strings.Settings_ProjectFilters_Tooltip}" />
6577 </StackPanel >
66- </GroupBox >
67-
68- <GroupBox Header =" {x:Static resources:Strings.Settings_AiAdvisor}" Margin =" 5,5,0,0" >
69- <StackPanel Margin =" 10" >
70- <Label Margin =" 0 0 0 3"
71- Content =" {x:Static resources:Strings.Settings_AiEndpoint}"
72- ToolTip =" {x:Static resources:Strings.Settings_AiEndpoint_Tooltip}" />
73- <TextBox x : Name =" AiEndpointTextBox"
74- HorizontalAlignment =" Stretch"
75- Margin =" 0,0,0,8"
76- ToolTip =" {x:Static resources:Strings.Settings_AiEndpoint_Tooltip}" />
77-
78- <Label Margin =" 0 0 0 3"
79- Content =" {x:Static resources:Strings.Settings_AiModel}"
80- ToolTip =" {x:Static resources:Strings.Settings_AiModel_Tooltip}" />
81- <TextBox x : Name =" AiModelTextBox"
82- HorizontalAlignment =" Stretch"
83- Margin =" 0,0,0,8"
84- ToolTip =" {x:Static resources:Strings.Settings_AiModel_Tooltip}" />
85-
86- <Label Margin =" 0 0 0 3"
87- Content =" {x:Static resources:Strings.Settings_AiApiKey}"
88- ToolTip =" {x:Static resources:Strings.Settings_AiApiKey_Tooltip}" />
89- <PasswordBox x : Name =" AiApiKeyBox"
90- HorizontalAlignment =" Stretch"
91- Margin =" 0,0,0,8"
92- ToolTip =" {x:Static resources:Strings.Settings_AiApiKey_Tooltip}" />
78+ </ScrollViewer >
79+ </TabItem >
80+
81+ <!-- ═══════════════════════════════════════════════════════
82+ Tab 2: User Preferences (%LocalAppData%)
83+ Stored per user, not shared across the installation.
84+ ════════════════════════════════════════════════════════ -->
85+ <TabItem Header =" {x:Static resources:Strings.Settings_Tab_User}" >
86+ <ScrollViewer VerticalScrollBarVisibility =" Auto" >
87+ <StackPanel Margin =" 5,5,5,0" >
88+
89+ <TextBlock Margin =" 5,5,5,10" Foreground =" Gray"
90+ Text =" {x:Static resources:Strings.Settings_Tab_User_Hint}" />
91+
92+ <GroupBox Header =" {x:Static resources:Strings.Settings_AiAdvisor}" Margin =" 5,0,0,0" >
93+ <StackPanel Margin =" 10" >
94+ <Label Margin =" 0 0 0 3"
95+ Content =" {x:Static resources:Strings.Settings_AiEndpoint}"
96+ ToolTip =" {x:Static resources:Strings.Settings_AiEndpoint_Tooltip}" />
97+ <TextBox x : Name =" AiEndpointTextBox"
98+ HorizontalAlignment =" Stretch"
99+ Margin =" 0,0,0,8"
100+ ToolTip =" {x:Static resources:Strings.Settings_AiEndpoint_Tooltip}" />
101+
102+ <Label Margin =" 0 0 0 3"
103+ Content =" {x:Static resources:Strings.Settings_AiModel}"
104+ ToolTip =" {x:Static resources:Strings.Settings_AiModel_Tooltip}" />
105+ <TextBox x : Name =" AiModelTextBox"
106+ HorizontalAlignment =" Stretch"
107+ Margin =" 0,0,0,8"
108+ ToolTip =" {x:Static resources:Strings.Settings_AiModel_Tooltip}" />
109+
110+ <Label Margin =" 0 0 0 3"
111+ Content =" {x:Static resources:Strings.Settings_AiApiKey}"
112+ ToolTip =" {x:Static resources:Strings.Settings_AiApiKey_Tooltip}" />
113+ <PasswordBox x : Name =" AiApiKeyBox"
114+ HorizontalAlignment =" Stretch"
115+ Margin =" 0,0,0,8"
116+ ToolTip =" {x:Static resources:Strings.Settings_AiApiKey_Tooltip}" />
117+ </StackPanel >
118+ </GroupBox >
119+
93120 </StackPanel >
94- </GroupBox >
95- </StackPanel >
96- </ScrollViewer >
121+ </ScrollViewer >
122+ </TabItem >
123+
124+ </TabControl >
97125
98126 <StackPanel Grid.Row=" 1" Orientation =" Horizontal" HorizontalAlignment =" Right" Margin =" 0,10,0,0" >
99127 <Button Content =" {x:Static resources:Strings.Default}" Width =" 75" Click =" DefaultsButton_Click"
104132 IsCancel =" True" />
105133 </StackPanel >
106134 </Grid >
107- </Window >
135+ </Window >
0 commit comments