diff --git a/MusicPlayer2/CFloatPlaylistDlg.cpp b/MusicPlayer2/CFloatPlaylistDlg.cpp index faedb982..4a92b4fa 100644 --- a/MusicPlayer2/CFloatPlaylistDlg.cpp +++ b/MusicPlayer2/CFloatPlaylistDlg.cpp @@ -196,7 +196,7 @@ BOOL CFloatPlaylistDlg::OnInitDialog() } else { - m_path_static.SetWindowText(CCommon::LoadText(IDS_CURRENT_FOLDER, _T(":"))); + m_path_static.SetWindowText(CCommon::LoadText(IDS_FOLDER, _T(":"))); m_path_static.SetIcon(theApp.m_icon_set.select_folder.GetIcon(true), theApp.m_icon_set.select_folder.GetSize()); } diff --git a/MusicPlayer2/FolderExploreDlg.cpp b/MusicPlayer2/FolderExploreDlg.cpp index 4f9f331a..cf287dc5 100644 --- a/MusicPlayer2/FolderExploreDlg.cpp +++ b/MusicPlayer2/FolderExploreDlg.cpp @@ -81,6 +81,11 @@ void CFolderExploreDlg::GetCurrentSongList(std::vector& song_list) con } } +void CFolderExploreDlg::RefreshData() +{ + ShowFolderTree(); +} + void CFolderExploreDlg::ShowFolderTree() { CString search_key_word; diff --git a/MusicPlayer2/FolderExploreDlg.h b/MusicPlayer2/FolderExploreDlg.h index 61de9774..186fcfda 100644 --- a/MusicPlayer2/FolderExploreDlg.h +++ b/MusicPlayer2/FolderExploreDlg.h @@ -23,6 +23,7 @@ public: void GetSongsSelected(std::vector& song_list) const; void GetSongsSelected(std::vector& song_list) const; void GetCurrentSongList(std::vector& song_list) const; + void RefreshData(); protected: enum SongColumeIndex diff --git a/MusicPlayer2/MediaClassifyDlg.cpp b/MusicPlayer2/MediaClassifyDlg.cpp index 50af2e2b..b6aa442f 100644 --- a/MusicPlayer2/MediaClassifyDlg.cpp +++ b/MusicPlayer2/MediaClassifyDlg.cpp @@ -86,6 +86,16 @@ void CMediaClassifyDlg::GetCurrentSongList(std::vector& song_list) con } } +void CMediaClassifyDlg::RefreshData() +{ + m_classifer.SetHideOnlyOneClassification(theApp.m_media_lib_setting_data.hide_only_one_classification); + if(m_initialized) + { + m_classifer.ClassifyMedia(); + ShowClassifyList(); + } +} + void CMediaClassifyDlg::ShowClassifyList() { CWaitCursor wait_cursor; diff --git a/MusicPlayer2/MediaClassifyDlg.h b/MusicPlayer2/MediaClassifyDlg.h index 505eb9b0..945a843e 100644 --- a/MusicPlayer2/MediaClassifyDlg.h +++ b/MusicPlayer2/MediaClassifyDlg.h @@ -23,6 +23,7 @@ public: void GetSongsSelected(std::vector& song_list) const; void GetSongsSelected(std::vector& song_list) const; void GetCurrentSongList(std::vector& song_list) const; + void RefreshData(); protected: enum SongColumeIndex diff --git a/MusicPlayer2/MediaLibHelper.cpp b/MusicPlayer2/MediaLibHelper.cpp index b78461ef..80f86b57 100644 --- a/MusicPlayer2/MediaLibHelper.cpp +++ b/MusicPlayer2/MediaLibHelper.cpp @@ -194,3 +194,8 @@ void CMediaClassifier::RemoveFiles(std::vector songs) item.second.erase(iter_removed, item.second.end()); } } + +void CMediaClassifier::SetHideOnlyOneClassification(bool hide_only_one_classification) +{ + m_hide_only_one_classification = hide_only_one_classification; +} diff --git a/MusicPlayer2/MediaLibHelper.h b/MusicPlayer2/MediaLibHelper.h index fc4f5fa1..b2814bb1 100644 --- a/MusicPlayer2/MediaLibHelper.h +++ b/MusicPlayer2/MediaLibHelper.h @@ -41,6 +41,7 @@ public: static bool IsStringYear(std::wstring str); void ClearResult(); void RemoveFiles(std::vector songs); //从结果中删除指定文件 + void SetHideOnlyOneClassification(bool hide_only_one_classification); private: diff --git a/MusicPlayer2/MusicPlayerDlg.cpp b/MusicPlayer2/MusicPlayerDlg.cpp index f49c7286..9b323732 100644 --- a/MusicPlayer2/MusicPlayerDlg.cpp +++ b/MusicPlayer2/MusicPlayerDlg.cpp @@ -828,6 +828,8 @@ void CMusicPlayerDlg::ApplySettings(const COptionsDlg& optionDlg) || theApp.m_app_setting_data.album_cover_as_background != optionDlg.m_tab2_dlg.m_data.album_cover_as_background }; bool output_device_changed{ theApp.m_play_setting_data.device_selected != optionDlg.m_tab4_dlg.m_data.device_selected }; bool player_core_changed{ theApp.m_play_setting_data.use_mci != optionDlg.m_tab4_dlg.m_data.use_mci }; + bool media_lib_setting_changed{ theApp.m_media_lib_setting_data.hide_only_one_classification != optionDlg.m_media_lib_dlg.m_data.hide_only_one_classification + || theApp.m_media_lib_setting_data.media_folders != optionDlg.m_media_lib_dlg.m_data.media_folders }; theApp.m_lyric_setting_data = optionDlg.m_tab1_dlg.m_data; theApp.m_app_setting_data = optionDlg.m_tab2_dlg.m_data; @@ -845,6 +847,17 @@ void CMusicPlayerDlg::ApplySettings(const COptionsDlg& optionDlg) } if (gauss_blur_changed) CPlayer::GetInstance().AlbumCoverGaussBlur(); + if (media_lib_setting_changed) + { + if (m_pMediaLibDlg != nullptr && IsWindow(m_pMediaLibDlg->m_hWnd)) + { + CWaitCursor wait_cursor; + m_pMediaLibDlg->m_artist_dlg.RefreshData(); + m_pMediaLibDlg->m_album_dlg.RefreshData(); + m_pMediaLibDlg->m_genre_dlg.RefreshData(); + m_pMediaLibDlg->m_folder_explore_dlg.RefreshData(); + } + } UpdatePlayPauseButton();