INT_PTR CMimAPI::foldersPathChanged() { TCHAR szTemp[MAX_PATH + 2] = {'\0'}; if (m_hDataPath) { FoldersGetCustomPathT(m_hDataPath, szTemp, MAX_PATH, const_cast<TCHAR *>(getDataPath())); mir_sntprintf(m_szProfilePath, MAX_PATH, _T("%s"), szTemp); FoldersGetCustomPathT(m_hSkinsPath, szTemp, MAX_PATH, const_cast<TCHAR *>(getSkinPath())); mir_sntprintf(m_szSkinsPath, MAX_PATH - 1, _T("%s"), szTemp); Utils::ensureTralingBackslash(m_szSkinsPath); FoldersGetCustomPathT(m_hAvatarsPath, szTemp, MAX_PATH, const_cast<TCHAR *>(getSavedAvatarPath())); mir_sntprintf(m_szSavedAvatarsPath, MAX_PATH, _T("%s"), szTemp); FoldersGetCustomPathT(m_hChatLogsPath, szTemp, MAX_PATH, const_cast<TCHAR *>(getChatLogPath())); mir_sntprintf(m_szChatLogsPath, MAX_PATH, _T("%s"), szTemp); Utils::ensureTralingBackslash(m_szChatLogsPath); } CreateDirectoryTreeT(m_szProfilePath); CreateDirectoryTreeT(m_szSkinsPath); CreateDirectoryTreeT(m_szSavedAvatarsPath); Skin->extractSkinsAndLogo(true); Skin->setupAeroSkins(); return 0; }
PixmapSource SkinContext::getPixmapSource(const QDomNode& pixmapNode) const { PixmapSource source; const SvgParser svgParser(*this); if (!pixmapNode.isNull()) { QDomNode svgNode = selectNode(pixmapNode, "svg"); if (!svgNode.isNull()) { // inline svg const QByteArray rslt = svgParser.saveToQByteArray( svgParser.parseSvgTree(svgNode, m_xmlPath)); source.setSVG(rslt); } else { // filename QString pixmapName = nodeToString(pixmapNode); if (!pixmapName.isEmpty()) { source.setPath(getSkinPath(pixmapName)); if (source.isSVG()) { const QByteArray rslt = svgParser.saveToQByteArray( svgParser.parseSvgFile(source.getPath())); source.setSVG(rslt); } } } } return source; }
LaunchImage* SkinLoader::loadLaunchImage(QWidget* pParent) { QString skinPath = getSkinPath(); LegacySkinParser parser(m_pConfig); LaunchImage* pLaunchImage = parser.parseLaunchImage(skinPath, pParent); if (pLaunchImage == nullptr) { // Construct default LaunchImage pLaunchImage = new LaunchImage(pParent, QString()); } return pLaunchImage; }
INT_PTR CMimAPI::foldersPathChanged() { TCHAR szTemp[MAX_PATH + 2] = {'\0'}; if(m_hDataPath) { FoldersGetCustomPathT(m_hDataPath, szTemp, MAX_PATH, const_cast<TCHAR *>(getDataPath())); mir_sntprintf(m_szProfilePath, MAX_PATH, _T("%s"), szTemp); FoldersGetCustomPathT(m_hSkinsPath, szTemp, MAX_PATH, const_cast<TCHAR *>(getSkinPath())); mir_sntprintf(m_szSkinsPath, MAX_PATH - 1, _T("%s"), szTemp); /* * make sure skins root path always ends with a '\' - this is assumed by the skin * selection code. */ Utils::ensureTralingBackslash(m_szSkinsPath); FoldersGetCustomPathT(m_hAvatarsPath, szTemp, MAX_PATH, const_cast<TCHAR *>(getSavedAvatarPath())); mir_sntprintf(m_szSavedAvatarsPath, MAX_PATH, _T("%s"), szTemp); FoldersGetCustomPathT(m_hChatLogsPath, szTemp, MAX_PATH, const_cast<TCHAR *>(getChatLogPath())); mir_sntprintf(m_szChatLogsPath, MAX_PATH, _T("%s"), szTemp); Utils::ensureTralingBackslash(m_szChatLogsPath); } CallService(MS_UTILS_CREATEDIRTREET, 0, (LPARAM)m_szProfilePath); CallService(MS_UTILS_CREATEDIRTREET, 0, (LPARAM)m_szSkinsPath); CallService(MS_UTILS_CREATEDIRTREET, 0, (LPARAM)m_szSavedAvatarsPath); CallService(MS_UTILS_CREATEDIRTREET, 0, (LPARAM)m_szChatLogsPath); #if defined(_FOLDER_LOCKING) mir_sntprintf(szTemp, MAX_PATH, L"%sfolder.lck", m_szChatLogsPath); if(m_hChatLogLock != INVALID_HANDLE_VALUE) CloseHandle(m_hChatLogLock); m_hChatLogLock = CreateFile(szTemp, GENERIC_WRITE, 0, 0, OPEN_ALWAYS, FILE_ATTRIBUTE_HIDDEN, 0); #endif Skin->extractSkinsAndLogo(true); Skin->setupAeroSkins(); return 0; }
QWidget* SkinLoader::loadDefaultSkin(QWidget* pParent, MixxxKeyboard* pKeyboard, PlayerManager* pPlayerManager, ControllerManager* pControllerManager, Library* pLibrary, VinylControlManager* pVCMan, EffectsManager* pEffectsManager) { QString skinPath = getSkinPath(); // If we don't have a skin path then fail. if (skinPath.isEmpty()) { return NULL; } LegacySkinParser legacy(m_pConfig, pKeyboard, pPlayerManager, pControllerManager, pLibrary, pVCMan, pEffectsManager); return legacy.parseSkin(skinPath, pParent); }
void CMimAPI::configureCustomFolders() { m_hDataPath = FoldersRegisterCustomPathT(LPGEN("TabSRMM"), LPGEN("Data path"), const_cast<TCHAR *>(getDataPath())); m_hSkinsPath = FoldersRegisterCustomPathT(LPGEN("Skins"), LPGEN("TabSRMM"), const_cast<TCHAR *>(getSkinPath())); m_hAvatarsPath = FoldersRegisterCustomPathT(LPGEN("Avatars"), LPGEN("Saved TabSRMM avatars"), const_cast<TCHAR *>(getSavedAvatarPath())); m_hChatLogsPath = FoldersRegisterCustomPathT(LPGEN("TabSRMM"), LPGEN("Group chat logs root"), const_cast<TCHAR *>(getChatLogPath())); if (m_hDataPath) HookEvent(ME_FOLDERS_PATH_CHANGED, CMimAPI::FoldersPathChanged); foldersPathChanged(); }
void CMimAPI::configureCustomFolders() { m_haveFolders = false; if (ServiceExists(MS_FOLDERS_REGISTER_PATH)) { m_hDataPath = (HANDLE)FoldersRegisterCustomPathT("TabSRMM", "Data path", const_cast<TCHAR *>(getDataPath())); m_hSkinsPath = (HANDLE)FoldersRegisterCustomPathT("TabSRMM", "Skins root", const_cast<TCHAR *>(getSkinPath())); m_hAvatarsPath = (HANDLE)FoldersRegisterCustomPathT("TabSRMM", "Saved Avatars", const_cast<TCHAR *>(getSavedAvatarPath())); m_hChatLogsPath = (HANDLE)FoldersRegisterCustomPathT("TabSRMM", "Group chat logs root", const_cast<TCHAR *>(getChatLogPath())); CGlobals::m_event_FoldersChanged = HookEvent(ME_FOLDERS_PATH_CHANGED, CMimAPI::FoldersPathChanged); m_haveFolders = true; } else m_hDataPath = m_hSkinsPath = m_hAvatarsPath = m_hChatLogsPath = 0; foldersPathChanged(); }