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

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() << "executableFilePath : " << paths.executableFilePath();
qDebug() << "executableDirectory : " << paths.executableDirectory();
qDebug() << "executableDirectory : " << paths.executableDirectory() << endl;
qDebug() << "systemThemeDirectory : " << paths.systemThemeDirectory();
qDebug() << "systemConfigDirectory : " << paths.systemConfigDirectory();
qDebug() << "systemConstDataDirectory : " << paths.systemConstDataDirectory();
qDebug() << "systemVarDataDirectory : " << paths.systemVarDataDirectory();
qDebug() << "systemLogDirectory : " << paths.systemLogDirectory();
qDebug() << "systemLogDirectory : " << paths.systemLogDirectory() << endl;
qDebug() << "userThemeDirectory : " << paths.userThemeDirectory();
qDebug() << "userConfigDirectory : " << paths.userConfigDirectory();
qDebug() << "userConstDataDirectory : " << paths.userConstDataDirectory();
qDebug() << "userVarDataDirectory : " << paths.userVarDataDirectory();

View File

@ -109,6 +109,11 @@ MYXLIB_INLINE void Paths::setupSystemDirectories( const QString& projectDir,
{
m_systemLogDirectory = m_userLogDirectory;
}
if ( !m_organizationName.isEmpty() && !m_themeName.isEmpty() )
{
m_systemThemeDirectory = "/opt/" + m_organizationName + "-" + m_themeName;
}
} // Paths::setupSystemDirectories
@ -118,7 +123,11 @@ MYXLIB_INLINE void Paths::setupUserDirectories()
if ( !m_organizationName.isEmpty() )
{
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 );
m_userConfigDirectory = m_configDirectory + prefix;
@ -253,9 +262,8 @@ MYXLIB_INLINE void Paths::processOptHierarhy()
QRegularExpressionMatch themeMatch = themeRegex.match( m_organizationName );
if ( themeMatch.hasMatch() )
{
m_themeName = themeMatch.captured( 2 );
m_organizationName = themeMatch.captured( 1 );
m_systemThemeDirectory = "/opt/" + m_organizationName + "-" + m_themeName;
m_themeName = themeMatch.captured( 2 );
m_organizationName = themeMatch.captured( 1 );
}
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
{
return( m_userVarDataDirectory );

View File

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