Skip to content

Commit afaf33a

Browse files
committed
Unify all resolvers to use the helper function
1 parent b4485e7 commit afaf33a

File tree

7 files changed

+14
-17
lines changed

7 files changed

+14
-17
lines changed

src/cascadia/TerminalApp/Jumplist.cpp

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -45,13 +45,12 @@ static constexpr bool _isProbableFilePath(std::wstring_view path)
4545
// paths to have the "correct" slash direction.
4646
static std::wstring _normalizeIconPath(std::wstring_view path)
4747
{
48-
const auto fullPath{ wil::ExpandEnvironmentStringsW<std::wstring>(path.data()) };
49-
if (_isProbableFilePath(fullPath))
48+
if (_isProbableFilePath(path))
5049
{
51-
std::filesystem::path asPath{ fullPath };
50+
std::filesystem::path asPath{ path };
5251
return asPath.make_preferred().wstring();
5352
}
54-
return std::wstring{ fullPath };
53+
return std::wstring{ path };
5554
}
5655

5756
// Method Description:

src/cascadia/TerminalSettingsModel/ActionEntry.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ namespace winrt::Microsoft::Terminal::Settings::Model::implementation
5252
{
5353
if (!_Icon.empty())
5454
{
55-
resolver(basePath, winrt::make<ThingResource>(_Icon));
55+
ResolveMediaResourceIntoPath(basePath, _Icon, resolver, _resolvedIcon);
5656
}
5757
}
5858
}

src/cascadia/TerminalSettingsModel/AppearanceConfig.cpp

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -153,20 +153,17 @@ void AppearanceConfig::ResolveMediaResources(const Model::MediaResourceResolver&
153153
if (const auto [source, path] = _getBackgroundImagePathOverrideSourceAndValueImpl(); source && path && !path->empty())
154154
{
155155
winrt::hstring sourceBasePath{ source->_getSourceProfileBasePath() };
156-
auto tr{ winrt::make_self<ThingResource>(*path) };
157-
resolver(sourceBasePath, *tr);
156+
ResolveMediaResourceIntoPath(sourceBasePath, *path, resolver, _backgroundImagePath);
158157
}
159158
if (const auto [source, path]{ _getPixelShaderPathOverrideSourceAndValueImpl() }; source && path && !path->empty())
160159
{
161160
winrt::hstring sourceBasePath{ source->_getSourceProfileBasePath() };
162-
auto tr{ winrt::make_self<ThingResource>(*path) };
163-
resolver(sourceBasePath, *tr);
161+
ResolveMediaResourceIntoPath(sourceBasePath, *path, resolver, _pixelShaderPath);
164162
}
165163
if (const auto [source, path]{ _getPixelShaderImagePathOverrideSourceAndValueImpl() }; source && path && !path->empty())
166164
{
167165
winrt::hstring sourceBasePath{ source->_getSourceProfileBasePath() };
168-
auto tr{ winrt::make_self<ThingResource>(*path) };
169-
resolver(sourceBasePath, *tr);
166+
ResolveMediaResourceIntoPath(sourceBasePath, *path, resolver, _pixelShaderImagePath);
170167
}
171168
}
172169

src/cascadia/TerminalSettingsModel/CascadiaSettings.cpp

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -488,7 +488,7 @@ void CascadiaSettings::_validateAllSchemesExist()
488488
}
489489
}
490490

491-
static void _resolveSingleMediaResource(std::wstring_view basePath, const Model::IMediaResource& resource)
491+
void CascadiaSettings::_resolveSingleMediaResource(Model::OriginTag /*origin*/, std::wstring_view basePath, const Model::IMediaResource& resource)
492492
{
493493
auto resourcePath{ resource.Path() };
494494

@@ -597,9 +597,7 @@ void CascadiaSettings::_validateMediaResources()
597597
auto warnInvalidBackground{ false };
598598
auto warnInvalidIcon{ false };
599599

600-
winrt::Microsoft::Terminal::Settings::Model::MediaResourceResolver mediaResourceResolver{
601-
&_resolveSingleMediaResource
602-
};
600+
MediaResourceResolver mediaResourceResolver{ this, &CascadiaSettings::_resolveSingleMediaResource };
603601

604602
for (const auto& profile : _allProfiles)
605603
{

src/cascadia/TerminalSettingsModel/CascadiaSettings.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -210,6 +210,7 @@ namespace winrt::Microsoft::Terminal::Settings::Model::implementation
210210

211211
void _validateSettings();
212212
void _validateAllSchemesExist();
213+
void _resolveSingleMediaResource(Model::OriginTag origin, std::wstring_view basePath, const Model::IMediaResource& resource);
213214
void _validateMediaResources();
214215
void _validateProfileEnvironmentVariables();
215216
void _validateKeybindings() const;

src/cascadia/TerminalSettingsModel/Command.cpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -593,7 +593,9 @@ namespace winrt::Microsoft::Terminal::Settings::Model::implementation
593593
void Command::ResolveMediaResourcesWithBasePath(const winrt::hstring& basePath, const Model::MediaResourceResolver& resolver)
594594
{
595595
if (_iconPath && !_iconPath->empty())
596-
resolver(basePath, winrt::make<ThingResource>(winrt::hstring{ *_iconPath }));
596+
{
597+
ResolveMediaResourceIntoPath(basePath, hstring{ *_iconPath }, resolver, _resolvedIcon);
598+
}
597599
}
598600

599601
winrt::Windows::Foundation::Collections::IVector<Model::Command> Command::ParsePowerShellMenuComplete(winrt::hstring json, int32_t replaceLength)

src/cascadia/TerminalSettingsModel/ProfileEntry.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ namespace winrt::Microsoft::Terminal::Settings::Model::implementation
7777
{
7878
if (!_Icon.empty())
7979
{
80-
resolver(basePath, winrt::make<ThingResource>(_Icon));
80+
ResolveMediaResourceIntoPath(basePath, _Icon, resolver, _resolvedIcon);
8181
}
8282
}
8383
}

0 commit comments

Comments
 (0)