Skip to content

Commit 14e9569

Browse files
committed
Introduce new setting to enable drag and drop in CE
I have put this into the General Settings because there are no CE settings so far and it kind of makes sense.
1 parent 97bdd9a commit 14e9569

File tree

9 files changed

+43
-5
lines changed

9 files changed

+43
-5
lines changed

Rubberduck.Core/Properties/Settings.Designer.cs

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Rubberduck.Core/Settings/GeneralSettings.cs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ public interface IGeneralSettings
2121
bool UserEditedLogLevel { get; set; }
2222
int MinimumLogLevel { get; set; }
2323
bool SetDpiUnaware { get; set; }
24+
bool EnableFolderDragAndDrop { get; set; }
2425
List<ExperimentalFeature> EnableExperimentalFeatures { get; set; }
2526
}
2627

@@ -74,6 +75,7 @@ public int MinimumLogLevel
7475
}
7576

7677
public bool SetDpiUnaware { get; set; }
78+
public bool EnableFolderDragAndDrop { get; set; }
7779

7880
public List<ExperimentalFeature> EnableExperimentalFeatures { get; set; } = new List<ExperimentalFeature>();
7981

@@ -100,7 +102,8 @@ public bool Equals(GeneralSettings other)
100102
MinimumLogLevel == other.MinimumLogLevel &&
101103
EnableExperimentalFeatures.Count == other.EnableExperimentalFeatures.Count &&
102104
EnableExperimentalFeatures.All(other.EnableExperimentalFeatures.Contains) &&
103-
SetDpiUnaware == other.SetDpiUnaware;
105+
SetDpiUnaware == other.SetDpiUnaware &&
106+
EnableFolderDragAndDrop == other.EnableFolderDragAndDrop;
104107
}
105108
}
106109
}

Rubberduck.Core/UI/Settings/GeneralSettings.xaml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -89,11 +89,13 @@
8989
<CheckBox Margin="15,0,0,5" Content="{Resx ResxName=Rubberduck.Resources.RubberduckUI, Key=GeneralSettings_IncludePreRelease}"
9090
IsChecked="{Binding IncludePreRelease}"
9191
IsEnabled="{Binding IsChecked, ElementName=IsVersionCheckEnabled}"/>
92-
9392
<CheckBox Margin="5,0,0,5" Content="{Resx ResxName=Rubberduck.Resources.RubberduckUI, Key=GeneralSettings_CompileBeforeParse}"
9493
IsChecked="{Binding CompileBeforeParse}" />
9594
<CheckBox Margin="5,0,0,5" Content="{Resx ResxName=Rubberduck.Resources.RubberduckUI, Key=GeneralSettings_SetDpiUnaware}"
96-
IsEnabled="{Binding SetDpiUnawareEnabled}" IsChecked="{Binding SetDpiUnaware}" />
95+
IsEnabled="{Binding SetDpiUnawareEnabled}"
96+
IsChecked="{Binding SetDpiUnaware}" />
97+
<CheckBox Margin="5,0,0,5" Content="{Resx ResxName=Rubberduck.Resources.RubberduckUI, Key=GeneralSettings_EnableDragAndDrop}"
98+
IsChecked="{Binding EnableFolderDragAndDrop}" />
9799
<StackPanel Orientation="Horizontal"/>
98100

99101
<Label Content="{Resx ResxName=Rubberduck.Resources.RubberduckUI, Key=GeneralSettings_MinimumLogLevelLabel}" FontWeight="SemiBold" />

Rubberduck.Core/UI/Settings/GeneralSettingsViewModel.cs

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,7 @@ public ObservableViewModelCollection<HotkeySettingViewModel> Hotkeys
102102
}
103103
}
104104
}
105+
105106
private void InvalidateShouldDisplayWarning(object sender, ElementPropertyChangedEventArgs<HotkeySettingViewModel> e)
106107
{
107108
OnPropertyChanged(nameof(ShouldDisplayHotkeyModificationLabel));
@@ -195,6 +196,20 @@ public bool CompileBeforeParse
195196
}
196197
}
197198

199+
private bool _enableFolderDragAndDrop;
200+
public bool EnableFolderDragAndDrop
201+
{
202+
get => _enableFolderDragAndDrop;
203+
set
204+
{
205+
if (_enableFolderDragAndDrop != value)
206+
{
207+
_enableFolderDragAndDrop = value;
208+
OnPropertyChanged();
209+
}
210+
}
211+
}
212+
198213
private bool _setDpiUnaware;
199214
public bool SetDpiUnaware
200215
{
@@ -305,6 +320,7 @@ private Rubberduck.Settings.GeneralSettings GetCurrentGeneralSettings()
305320
IncludePreRelease = IncludePreRelease,
306321
CompileBeforeParse = CompileBeforeParse,
307322
SetDpiUnaware = SetDpiUnaware,
323+
EnableFolderDragAndDrop = EnableFolderDragAndDrop,
308324
IsSmartIndenterPrompted = _indenterPrompted,
309325
IsAutoSaveEnabled = AutoSaveEnabled,
310326
AutoSavePeriod = AutoSavePeriod,
@@ -331,6 +347,7 @@ private void TransferSettingsToView(IGeneralSettings general, IHotkeySettings ho
331347
IncludePreRelease = general.IncludePreRelease;
332348
CompileBeforeParse = general.CompileBeforeParse;
333349
SetDpiUnaware = general.SetDpiUnaware;
350+
EnableFolderDragAndDrop = general.EnableFolderDragAndDrop;
334351
_indenterPrompted = general.IsSmartIndenterPrompted;
335352
AutoSaveEnabled = general.IsAutoSaveEnabled;
336353
AutoSavePeriod = general.AutoSavePeriod;

Rubberduck.Resources/RubberduckUI.Designer.cs

Lines changed: 9 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Rubberduck.Resources/RubberduckUI.de.resx

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1722,4 +1722,7 @@ Wollen Sie fortfahren?</value>
17221722
<data name="RenameDialog_TitleText_Folder" xml:space="preserve">
17231723
<value>Ordner umbenennen</value>
17241724
</data>
1725+
<data name="GeneralSettings_EnableDragAndDrop" xml:space="preserve">
1726+
<value>Drag and Drop im Code Explorer aktivieren</value>
1727+
</data>
17251728
</root>

Rubberduck.Resources/RubberduckUI.resx

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1940,4 +1940,7 @@ Do you want to proceed?</value>
19401940
<data name="RenameDialog_TitleText_Folder" xml:space="preserve">
19411941
<value>Rename folder</value>
19421942
</data>
1943+
<data name="GeneralSettings_EnableDragAndDrop" xml:space="preserve">
1944+
<value>Enable drag and drop in Code Explorer</value>
1945+
</data>
19431946
</root>

Rubberduck.Resources/Settings/SettingsUI.Designer.cs

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Rubberduck.Resources/Settings/SettingsUI.resx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -202,7 +202,7 @@
202202
<value>Click [{0}] to close the window and apply changes, or [{1}] to discard them.</value>
203203
</data>
204204
<data name="PageInstructions_IndenterSettings" xml:space="preserve">
205-
<value>Configure indenter settings.</value>
205+
<value>Configure indenter settings</value>
206206
</data>
207207
<data name="PageInstructions_InspectionSettings" xml:space="preserve">
208208
<value>Configure inspection severity. Use "DoNotShow" to disable an inspection.</value>

0 commit comments

Comments
 (0)