| 838 | } |
| 839 | |
| 840 | void ThemeRename(const utf8* name) |
| 841 | { |
| 842 | const auto oldPath = ThemeManager::CurrentThemePath; |
| 843 | |
| 844 | ThemeManager::EnsureThemeDirectoryExists(); |
| 845 | auto newPath = ThemeManager::GetThemeFileName(name); |
| 846 | File::Move(oldPath, newPath); |
| 847 | ThemeManager::CurrentThemePath = newPath; |
| 848 | |
| 849 | ThemeManager::CurrentTheme->Name = name; |
| 850 | ThemeManager::CurrentTheme->WriteToFile(ThemeManager::CurrentThemePath); |
| 851 | |
| 852 | ThemeManagerLoadAvailableThemes(); |
| 853 | for (size_t i = 0; i < ThemeManager::AvailableThemes.size(); i++) |
| 854 | { |
| 855 | if (Path::Equals(newPath, ThemeManager::AvailableThemes[i].Path)) |
| 856 | { |
| 857 | ThemeManager::ActiveAvailableThemeIndex = i; |
| 858 | Config::Get().interface.currentThemePreset = ThemeManagerGetAvailableThemeConfigName(1); |
| 859 | break; |
| 860 | } |
| 861 | } |
| 862 | } |
| 863 | |
| 864 | void ThemeDuplicate(const utf8* name) |
| 865 | { |
no test coverage detected