Путь к общему каталогу для темы (работы)

This commit is contained in:
Andrei Astafev 2021-06-11 08:52:57 +03:00
parent a29cea6f61
commit 299dabf295
3 changed files with 39 additions and 12 deletions

View File

@ -24,13 +24,15 @@ int main( int argc, char** argv )
qDebug() << "executableName : " << paths.executableName(); qDebug() << "executableName : " << paths.executableName();
qDebug() << "executableFilePath : " << paths.executableFilePath(); qDebug() << "executableFilePath : " << paths.executableFilePath();
qDebug() << "executableDirectory : " << paths.executableDirectory(); qDebug() << "executableDirectory : " << paths.executableDirectory() << endl;
qDebug() << "systemThemeDirectory : " << paths.systemThemeDirectory();
qDebug() << "systemConfigDirectory : " << paths.systemConfigDirectory(); qDebug() << "systemConfigDirectory : " << paths.systemConfigDirectory();
qDebug() << "systemConstDataDirectory : " << paths.systemConstDataDirectory(); qDebug() << "systemConstDataDirectory : " << paths.systemConstDataDirectory();
qDebug() << "systemVarDataDirectory : " << paths.systemVarDataDirectory(); qDebug() << "systemVarDataDirectory : " << paths.systemVarDataDirectory();
qDebug() << "systemLogDirectory : " << paths.systemLogDirectory(); qDebug() << "systemLogDirectory : " << paths.systemLogDirectory() << endl;
qDebug() << "userThemeDirectory : " << paths.userThemeDirectory();
qDebug() << "userConfigDirectory : " << paths.userConfigDirectory(); qDebug() << "userConfigDirectory : " << paths.userConfigDirectory();
qDebug() << "userConstDataDirectory : " << paths.userConstDataDirectory(); qDebug() << "userConstDataDirectory : " << paths.userConstDataDirectory();
qDebug() << "userVarDataDirectory : " << paths.userVarDataDirectory(); qDebug() << "userVarDataDirectory : " << paths.userVarDataDirectory();

View File

@ -109,6 +109,11 @@ MYXLIB_INLINE void Paths::setupSystemDirectories( const QString& projectDir,
{ {
m_systemLogDirectory = m_userLogDirectory; m_systemLogDirectory = m_userLogDirectory;
} }
if ( !m_organizationName.isEmpty() && !m_themeName.isEmpty() )
{
m_systemThemeDirectory = "/opt/" + m_organizationName + "-" + m_themeName;
}
} // Paths::setupSystemDirectories } // Paths::setupSystemDirectories
@ -118,7 +123,11 @@ MYXLIB_INLINE void Paths::setupUserDirectories()
if ( !m_organizationName.isEmpty() ) if ( !m_organizationName.isEmpty() )
{ {
prefix = "/" + m_organizationName; prefix = "/" + m_organizationName;
if ( !m_themeName.isEmpty() ) { prefix.append( "-" + m_themeName ); } if ( !m_themeName.isEmpty() )
{
prefix.append( "-" + m_themeName );
m_userThemeDirectory = m_dataDirectory + prefix;
}
} }
prefix.append( "/" + m_projectName ); prefix.append( "/" + m_projectName );
m_userConfigDirectory = m_configDirectory + prefix; m_userConfigDirectory = m_configDirectory + prefix;
@ -253,9 +262,8 @@ MYXLIB_INLINE void Paths::processOptHierarhy()
QRegularExpressionMatch themeMatch = themeRegex.match( m_organizationName ); QRegularExpressionMatch themeMatch = themeRegex.match( m_organizationName );
if ( themeMatch.hasMatch() ) if ( themeMatch.hasMatch() )
{ {
m_themeName = themeMatch.captured( 2 ); m_themeName = themeMatch.captured( 2 );
m_organizationName = themeMatch.captured( 1 ); m_organizationName = themeMatch.captured( 1 );
m_systemThemeDirectory = "/opt/" + m_organizationName + "-" + m_themeName;
} }
QRegularExpression versionRegex( QStringLiteral( "(.+?)\\.(.+)" ) ); QRegularExpression versionRegex( QStringLiteral( "(.+?)\\.(.+)" ) );
@ -348,6 +356,18 @@ MYXLIB_INLINE const QString& Paths::systemConfigDirectory() const
} }
MYXLIB_INLINE const QString& Paths::userThemeDirectory() const
{
return( m_userThemeDirectory );
}
MYXLIB_INLINE const QString& Paths::systemThemeDirectory() const
{
return( m_systemThemeDirectory );
}
MYXLIB_INLINE const QString& Paths::userVarDataDirectory() const MYXLIB_INLINE const QString& Paths::userVarDataDirectory() const
{ {
return( m_userVarDataDirectory ); return( m_userVarDataDirectory );

View File

@ -91,6 +91,12 @@ public:
/** @brief Полный путь к каталогу с исполняемым файлом */ /** @brief Полный путь к каталогу с исполняемым файлом */
const QString& executableDirectory() const; const QString& executableDirectory() const;
/** @brief Путь к общему пользовательскому каталогу для файлов работы (темы) */
const QString& userThemeDirectory() const;
/** @brief Путь к общему системному каталогу для файлов работы (темы) */
const QString& systemThemeDirectory() const;
/** @brief Полный путь к пользовательскому каталогу с файлами настройки */ /** @brief Полный путь к пользовательскому каталогу с файлами настройки */
const QString& userConfigDirectory() const; const QString& userConfigDirectory() const;
@ -121,9 +127,6 @@ public:
/** @brief Полный путь к домашнему каталогу текущего пользователя */ /** @brief Полный путь к домашнему каталогу текущего пользователя */
const QString& homeDirectory() const; const QString& homeDirectory() const;
/** @brief Имя каталога для работы (темы) */
const QString& themeDirectory() const;
/** @brief Имя каталога для проекта */ /** @brief Имя каталога для проекта */
const QString& projectDirectory() const; const QString& projectDirectory() const;
@ -170,9 +173,6 @@ private:
QString m_executableFilePath; QString m_executableFilePath;
QString m_executableDirectory; QString m_executableDirectory;
/** @brief Общий каталог для файлов работы (темы) */
QString m_themeDirectory;
/** @brief Общий каталог для файлов проекта */ /** @brief Общий каталог для файлов проекта */
QString m_projectDirectory; QString m_projectDirectory;
@ -185,6 +185,11 @@ private:
/** @brief Путь к общему пользовательскому каталогу данных */ /** @brief Путь к общему пользовательскому каталогу данных */
QString m_dataDirectory; QString m_dataDirectory;
/** @brief Путь к общему пользовательскому каталогу для файлов работы (темы) */
QString m_userThemeDirectory;
/** @brief Путь к общему системному каталогу для файлов работы (темы) */
QString m_systemThemeDirectory;
/** @brief Путь к пользовательскому каталогу с изменяемыми файлами */ /** @brief Путь к пользовательскому каталогу с изменяемыми файлами */
QString m_userVarDataDirectory; QString m_userVarDataDirectory;
/** @brief Путь к системному каталогу с изменяемыми файлами */ /** @brief Путь к системному каталогу с изменяемыми файлами */