Skip to content

Commit bf57aef

Browse files
committed
从配置文件读取皮肤名称时去掉前面的斜杠
1 parent c1d1d00 commit bf57aef

File tree

4 files changed

+18
-10
lines changed

4 files changed

+18
-10
lines changed

TrafficMonitor/SkinAutoAdaptSettingDlg.cpp

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
#include "TrafficMonitor.h"
66
#include "afxdialogex.h"
77
#include "SkinAutoAdaptSettingDlg.h"
8+
#include "SkinManager.h"
89

910

1011
// CSkinAutoAdaptSettingDlg 对话框
@@ -25,11 +26,7 @@ CSkinAutoAdaptSettingDlg::~CSkinAutoAdaptSettingDlg()
2526
int CSkinAutoAdaptSettingDlg::FindSkinIndex(const wstring& skin_name)
2627
{
2728
std::wstring _skin_name{ skin_name };
28-
//如果名称前面有斜杠,则将它去掉
29-
if (!_skin_name.empty() && (_skin_name[0] == L'\\' || _skin_name[0] == L'/'))
30-
{
31-
_skin_name = _skin_name.substr(1);
32-
}
29+
CSkinManager::SkinNameNormalize(_skin_name);
3330
auto iter = std::find(m_skins.begin(), m_skins.end(), _skin_name);
3431
if (iter == m_skins.end())
3532
return 0;

TrafficMonitor/SkinManager.cpp

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -65,11 +65,7 @@ std::wstring CSkinManager::GetSkinName(int index) const
6565
int CSkinManager::FindSkinIndex(const std::wstring& skin_name) const
6666
{
6767
std::wstring _skin_name{ skin_name };
68-
//如果名称前面有斜杠,则将它去掉
69-
if (!_skin_name.empty() && (_skin_name[0] == L'\\' || _skin_name[0] == L'/'))
70-
{
71-
_skin_name = _skin_name.substr(1);
72-
}
68+
SkinNameNormalize(_skin_name);
7369
for (size_t i{}; i < m_skins.size(); i++)
7470
{
7571
if (m_skins[i] == _skin_name)
@@ -173,3 +169,13 @@ void CSkinManager::SkinSettingDataFronSkin(SkinSettingData& skin_setting_data, c
173169
}
174170
}
175171
}
172+
173+
void CSkinManager::SkinNameNormalize(std::wstring& skin_name)
174+
{
175+
//如果名称前面有斜杠,则将它去掉
176+
if (!skin_name.empty() && (skin_name[0] == L'\\' || skin_name[0] == L'/'))
177+
{
178+
skin_name = skin_name.substr(1);
179+
}
180+
181+
}

TrafficMonitor/SkinManager.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,12 @@ class CSkinManager
1616

1717
void Save();
1818

19+
//从一个皮肤文件获取SkinSettingData对象
1920
static void SkinSettingDataFronSkin(SkinSettingData& skin_setting_data, const CSkinFile& skin_file);
2021

22+
//去掉皮肤名称前面的斜杠
23+
static void SkinNameNormalize(std::wstring& skin_name);
24+
2125
private:
2226
CSkinManager()
2327
{}

TrafficMonitor/TrafficMonitor.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,7 @@ void CTrafficMonitorApp::LoadConfig()
120120
m_cfg_data.m_skin_name = ini.GetString(_T("config"), _T("skin_selected"), _T(""));
121121
if (m_cfg_data.m_skin_name.substr(0, 8) == L".\\skins\\") //如果读取到的皮肤名称前面有".\\skins\\",则把它删除。(用于和前一个版本保持兼容性)
122122
m_cfg_data.m_skin_name = m_cfg_data.m_skin_name.substr(7);
123+
CSkinManager::SkinNameNormalize(m_cfg_data.m_skin_name);
123124

124125
m_cfg_data.skin_auto_adapt = ini.GetBool(L"skins", L"skin_auto_adapt", false);
125126
m_cfg_data.skin_name_dark_mode = ini.GetString(L"skins", L"skin_name_dark_mode", L"");

0 commit comments

Comments
 (0)