mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-06 10:15:38 +08:00
Issue #77 Factor out parts of CDirectoryUtils into CSwiftDirectories
CDirectoryUtils is utilities for manipulating directories. CSwiftDirectories is getters that return directories used by swift.
This commit is contained in:
@@ -10,6 +10,7 @@
|
||||
#include "blackmisc/fileutils.h"
|
||||
#include "blackmisc/directoryutils.h"
|
||||
#include "abouthtmlcomponent.h"
|
||||
#include "blackmisc/swiftdirectories.h"
|
||||
#include "blackmisc/directoryutils.h"
|
||||
#include "blackmisc/fileutils.h"
|
||||
#include "ui_abouthtmlcomponent.h"
|
||||
@@ -53,7 +54,7 @@ namespace BlackGui
|
||||
// workaround:
|
||||
// 1) Only reading as HTML gives proper formatting
|
||||
// 2) Reading the file resource fails (likely because of the style sheet)
|
||||
const QString html = CFileUtils::readFileToString(CDirectoryUtils::aboutFilePath());
|
||||
const QString html = CFileUtils::readFileToString(CSwiftDirectories::aboutFilePath());
|
||||
return html;
|
||||
|
||||
// no longer replacing the URLs, doing this on anchor clicked
|
||||
@@ -75,7 +76,7 @@ namespace BlackGui
|
||||
QDesktopServices::openUrl(url);
|
||||
return;
|
||||
}
|
||||
const QString possibleLegalFile = CFileUtils::appendFilePaths(CDirectoryUtils::legalDirectory(), url.fileName());
|
||||
const QString possibleLegalFile = CFileUtils::appendFilePaths(CSwiftDirectories::legalDirectory(), url.fileName());
|
||||
QFile f(possibleLegalFile);
|
||||
if (f.exists())
|
||||
{
|
||||
|
||||
@@ -12,6 +12,7 @@
|
||||
#include "blackcore/data/globalsetup.h"
|
||||
#include "blackgui/guiapplication.h"
|
||||
#include "blackconfig/buildconfig.h"
|
||||
#include "blackmisc/swiftdirectories.h"
|
||||
#include "blackmisc/directoryutils.h"
|
||||
#include "blackmisc/settingscache.h"
|
||||
#include "blackmisc/datacache.h"
|
||||
@@ -50,7 +51,7 @@ namespace BlackGui
|
||||
ui->setupUi(this);
|
||||
this->initOtherSwiftVersions();
|
||||
this->setWidths();
|
||||
m_hasOtherSwiftVersions = CDirectoryUtils::hasOtherSwiftDataDirectories();
|
||||
m_hasOtherSwiftVersions = CSwiftDirectories::hasOtherSwiftDataDirectories();
|
||||
|
||||
ui->cb_ShowAll->setChecked(m_nameFilterDisables);
|
||||
connect(ui->rb_Cache, &QRadioButton::toggled, [ = ](bool) { this->initCurrentDirectories(true); });
|
||||
@@ -191,7 +192,7 @@ namespace BlackGui
|
||||
static const QStringList cacheFilterBs = [ = ]
|
||||
{
|
||||
QStringList f(cacheFilter);
|
||||
f.push_back(CDirectoryUtils::bootstrapFileName());
|
||||
f.push_back(CSwiftDirectories::bootstrapFileName());
|
||||
return f;
|
||||
}();
|
||||
return cacheFilterBs;
|
||||
@@ -324,7 +325,7 @@ namespace BlackGui
|
||||
QString CCopyConfigurationComponent::getOtherVersionsSelectedDirectory() const
|
||||
{
|
||||
if (ui->cb_OtherVersions->count() < 1) { return {}; }
|
||||
const QFileInfoList dirs(CDirectoryUtils::applicationDataDirectories());
|
||||
const QFileInfoList dirs(CSwiftDirectories::applicationDataDirectories());
|
||||
if (dirs.isEmpty()) { return {}; }
|
||||
const QString otherVersionDir = m_otherVersionDirs.at(ui->cb_OtherVersions->currentIndex());
|
||||
QString dir;
|
||||
@@ -390,7 +391,7 @@ namespace BlackGui
|
||||
{
|
||||
this->initMultiSimulatorCache(&m_modelCaches, file);
|
||||
}
|
||||
else if (file.contains(CDirectoryUtils::bootstrapFileName()))
|
||||
else if (file.contains(CSwiftDirectories::bootstrapFileName()))
|
||||
{
|
||||
CData<TGlobalSetup> setup { this }; //!< data cache setup
|
||||
const CGlobalSetup s = CGlobalSetup::fromJsonFile(file, true);
|
||||
@@ -418,7 +419,7 @@ namespace BlackGui
|
||||
void CCopyConfigurationComponent::initOtherSwiftVersions()
|
||||
{
|
||||
ui->cb_OtherVersions->clear();
|
||||
const QMap<QString, CApplicationInfo> otherVersions = CDirectoryUtils::currentApplicationDataDirectoryMapWithoutCurrentVersion();
|
||||
const QMap<QString, CApplicationInfo> otherVersions = CSwiftDirectories::currentApplicationDataDirectoryMapWithoutCurrentVersion();
|
||||
for (const auto &pair : makePairsRange(otherVersions))
|
||||
{
|
||||
const CApplicationInfo &info(pair.second);
|
||||
|
||||
@@ -12,6 +12,7 @@
|
||||
#include "blackcore/application.h"
|
||||
#include "blackmisc/stringutils.h"
|
||||
#include "blackmisc/fileutils.h"
|
||||
#include "blackmisc/swiftdirectories.h"
|
||||
#include "blackmisc/directoryutils.h"
|
||||
|
||||
#include <QSet>
|
||||
@@ -128,7 +129,7 @@ namespace BlackGui
|
||||
|
||||
// create relative file name
|
||||
QString relativeModelFile = thisVersionModelFile;
|
||||
relativeModelFile = relativeModelFile.replace(CDirectoryUtils::applicationDataDirectory(), "", Qt::CaseInsensitive);
|
||||
relativeModelFile = relativeModelFile.replace(CSwiftDirectories::applicationDataDirectory(), "", Qt::CaseInsensitive);
|
||||
if (relativeModelFile.length() < 2) { return false; }
|
||||
relativeModelFile = relativeModelFile.mid(relativeModelFile.indexOf('/', 1));
|
||||
|
||||
|
||||
@@ -20,6 +20,7 @@
|
||||
#include "blackmisc/logmessage.h"
|
||||
#include "blackmisc/network/entityflags.h"
|
||||
#include "blackmisc/statusmessage.h"
|
||||
#include "blackmisc/swiftdirectories.h"
|
||||
#include "blackmisc/directoryutils.h"
|
||||
#include "blackmisc/verify.h"
|
||||
#include "ui_datainfoareacomponent.h"
|
||||
@@ -95,7 +96,7 @@ namespace BlackGui
|
||||
}
|
||||
|
||||
// write to disk
|
||||
const bool s = sGui->getWebDataServices()->writeDbDataToDisk(CDirectoryUtils::staticDbFilesDirectory());
|
||||
const bool s = sGui->getWebDataServices()->writeDbDataToDisk(CSwiftDirectories::staticDbFilesDirectory());
|
||||
if (s)
|
||||
{
|
||||
CLogMessage(this).info(u"Written DB data");
|
||||
@@ -116,7 +117,7 @@ namespace BlackGui
|
||||
bool ok = false;
|
||||
if (msgs.isSuccess())
|
||||
{
|
||||
CLogMessage(this).info(u"Read DB data from directory: %1") << CDirectoryUtils::staticDbFilesDirectory();
|
||||
CLogMessage(this).info(u"Read DB data from directory: %1") << CSwiftDirectories::staticDbFilesDirectory();
|
||||
ui->comp_DbAircraftIcao->showLoadIndicator();
|
||||
ui->comp_DbAirlineIcao->showLoadIndicator();
|
||||
ui->comp_DbCountries->showLoadIndicator();
|
||||
|
||||
@@ -30,6 +30,7 @@
|
||||
#include "blackmisc/aviation/aircrafticaocode.h"
|
||||
#include "blackmisc/aviation/livery.h"
|
||||
#include "blackmisc/icons.h"
|
||||
#include "blackmisc/swiftdirectories.h"
|
||||
#include "blackmisc/logmessage.h"
|
||||
#include "blackmisc/network/authenticateduser.h"
|
||||
#include "blackmisc/propertyindexvariantmap.h"
|
||||
@@ -545,7 +546,7 @@ namespace BlackGui
|
||||
void CDbMappingComponent::loadRemovedModels()
|
||||
{
|
||||
if (!ui->comp_ModelWorkbench->view()) { return; }
|
||||
const QString logDir = CDirectoryUtils::logDirectory();
|
||||
const QString logDir = CSwiftDirectories::logDirectory();
|
||||
ui->comp_ModelWorkbench->view()->showFileLoadDialog(logDir);
|
||||
}
|
||||
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
#include "blackcore/webdataservices.h"
|
||||
#include "blackcore/db/databaseutils.h"
|
||||
#include "blackmisc/icons.h"
|
||||
#include "blackmisc/swiftdirectories.h"
|
||||
#include "blackmisc/logmessage.h"
|
||||
#include "blackmisc/processctrl.h"
|
||||
#include "blackmisc/statusmessage.h"
|
||||
@@ -295,7 +296,7 @@ namespace BlackGui
|
||||
|
||||
void CDbOwnModelsComponent::runScriptCSL2XSB()
|
||||
{
|
||||
static const QString script = QDir(CDirectoryUtils::shareDirectory()).filePath("CSL2XSB/CSL2XSB.exe");
|
||||
static const QString script = QDir(CSwiftDirectories::shareDirectory()).filePath("CSL2XSB/CSL2XSB.exe");
|
||||
for (const QString &modelDir : m_simulatorSettings.getModelDirectoriesOrDefault(CSimulatorInfo::xplane()))
|
||||
{
|
||||
CLogMessage(this).info(u"Running CSL2XSB on model directory %1") << modelDir;
|
||||
|
||||
@@ -29,6 +29,7 @@
|
||||
#include "blackmisc/logcategory.h"
|
||||
#include "blackmisc/logmessage.h"
|
||||
#include "blackmisc/network/user.h"
|
||||
#include "blackmisc/swiftdirectories.h"
|
||||
#include "blackmisc/directoryutils.h"
|
||||
#include "blackmisc/statusmessage.h"
|
||||
#include "blackmisc/stringutils.h"
|
||||
@@ -682,7 +683,7 @@ namespace BlackGui
|
||||
{
|
||||
const QString fn =
|
||||
CFileUtils::appendFilePathsAndFixUnc(
|
||||
CDirectoryUtils::normalizedApplicationDataDirectory(),
|
||||
CSwiftDirectories::normalizedApplicationDataDirectory(),
|
||||
QStringLiteral("swiftFlightPlanTemplate.json")
|
||||
);
|
||||
return fn;
|
||||
|
||||
@@ -12,6 +12,7 @@
|
||||
#include "blackgui/guiutility.h"
|
||||
#include "blackmisc/simulation/fscommon/fscommonutil.h"
|
||||
#include "blackmisc/simulation/simulatorinfo.h"
|
||||
#include "blackmisc/swiftdirectories.h"
|
||||
#include "blackmisc/directoryutils.h"
|
||||
#include "blackmisc/fileutils.h"
|
||||
|
||||
@@ -33,7 +34,7 @@ namespace BlackGui
|
||||
ui(new Ui::CInstallFsxTerrainProbeComponent)
|
||||
{
|
||||
ui->setupUi(this);
|
||||
ui->le_Source->setText(CDirectoryUtils::shareTerrainProbeDirectory());
|
||||
ui->le_Source->setText(CSwiftDirectories::shareTerrainProbeDirectory());
|
||||
|
||||
ui->comp_SimulatorSelector->setMode(CSimulatorSelector::RadioButtons);
|
||||
ui->comp_SimulatorSelector->setFsxP3DOnly();
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
|
||||
#include "otherswiftversionscomponent.h"
|
||||
#include "ui_otherswiftversionscomponent.h"
|
||||
#include "blackmisc/swiftdirectories.h"
|
||||
#include "blackmisc/directoryutils.h"
|
||||
#include "guiapplication.h"
|
||||
#include <QUrl>
|
||||
@@ -70,7 +71,7 @@ namespace BlackGui
|
||||
|
||||
void COtherSwiftVersionsComponent::openDataDirectory()
|
||||
{
|
||||
const QString dir = CDirectoryUtils::applicationDataDirectory();
|
||||
const QString dir = CSwiftDirectories::applicationDataDirectory();
|
||||
const QUrl url = QUrl::fromLocalFile(dir);
|
||||
QDesktopServices::openUrl(url);
|
||||
}
|
||||
|
||||
@@ -12,6 +12,7 @@
|
||||
#include "blackgui/guiapplication.h"
|
||||
#include "blackcore/data/globalsetup.h"
|
||||
#include "blackcore/setupreader.h"
|
||||
#include "blackmisc/swiftdirectories.h"
|
||||
#include "blackmisc/directoryutils.h"
|
||||
#include "blackmisc/network/urllist.h"
|
||||
|
||||
@@ -187,14 +188,14 @@ namespace BlackGui
|
||||
|
||||
void CSetupLoadingDialog::displayOtherVersionsInfo()
|
||||
{
|
||||
const int other = CDirectoryUtils::applicationDataDirectoriesCount() - 1 ;
|
||||
const int other = CSwiftDirectories::applicationDataDirectoriesCount() - 1 ;
|
||||
ui->le_OtherSwiftVersions->setText(QStringLiteral("There is/are %1 other swift version(s) installed").arg(other));
|
||||
ui->pb_CopyFromSwift->setEnabled(other > 0);
|
||||
}
|
||||
|
||||
void CSetupLoadingDialog::openDirectory()
|
||||
{
|
||||
const QUrl url = QUrl::fromLocalFile(CDirectoryUtils::normalizedApplicationDataDirectory());
|
||||
const QUrl url = QUrl::fromLocalFile(CSwiftDirectories::normalizedApplicationDataDirectory());
|
||||
QDesktopServices::openUrl(url);
|
||||
}
|
||||
|
||||
|
||||
@@ -13,6 +13,7 @@
|
||||
#include "guiapplication.h"
|
||||
#include "blackcore/context/contextsimulator.h"
|
||||
#include "blackmisc/simulation/xplane/xplaneutil.h"
|
||||
#include "blackmisc/swiftdirectories.h"
|
||||
#include "blackmisc/directoryutils.h"
|
||||
#include "blackconfig/buildconfig.h"
|
||||
|
||||
@@ -40,7 +41,7 @@ namespace BlackGui
|
||||
|
||||
const QMessageBox::StandardButton reply = QMessageBox::question(parent,
|
||||
"Copy XSwiftBus",
|
||||
QStringLiteral("Copy XSwiftBus from build directory '%1' to plugin directory '%2'?").arg(CDirectoryUtils::getXSwiftBusBuildDirectory(), CXPlaneUtil::xswiftbusPluginDir(xplaneRootDir)),
|
||||
QStringLiteral("Copy XSwiftBus from build directory '%1' to plugin directory '%2'?").arg(CSwiftDirectories::getXSwiftBusBuildDirectory(), CXPlaneUtil::xswiftbusPluginDir(xplaneRootDir)),
|
||||
QMessageBox::Yes | QMessageBox::No);
|
||||
if (reply != QMessageBox::Yes) { return 0; }
|
||||
return CXPlaneUtil::copyXSwiftBusBuildFiles(xplaneRootDir);
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
#include "blackcore/setupreader.h"
|
||||
#include "blackmisc/slot.h"
|
||||
#include "blackmisc/stringutils.h"
|
||||
#include "blackmisc/swiftdirectories.h"
|
||||
#include "blackmisc/directoryutils.h"
|
||||
#include "blackmisc/datacache.h"
|
||||
#include "blackmisc/logcategory.h"
|
||||
@@ -406,7 +407,7 @@ namespace BlackGui
|
||||
{
|
||||
static const QString filename = []
|
||||
{
|
||||
QString dir = CFileUtils::appendFilePaths(CDirectoryUtils::normalizedApplicationDataDirectory(), "settings/qgeom");
|
||||
QString dir = CFileUtils::appendFilePaths(CSwiftDirectories::normalizedApplicationDataDirectory(), "settings/qgeom");
|
||||
return CFileUtils::appendFilePaths(dir, QFileInfo(QCoreApplication::applicationFilePath()).completeBaseName() + ".ini");
|
||||
}();
|
||||
return filename;
|
||||
@@ -1085,14 +1086,14 @@ namespace BlackGui
|
||||
|
||||
bool CGuiApplication::openStandardLogDirectory()
|
||||
{
|
||||
const QString path(QDir::toNativeSeparators(CDirectoryUtils::logDirectory()));
|
||||
const QString path(QDir::toNativeSeparators(CSwiftDirectories::logDirectory()));
|
||||
if (!QDir(path).exists()) { return false; }
|
||||
return QDesktopServices::openUrl(QUrl::fromLocalFile(path));
|
||||
}
|
||||
|
||||
bool CGuiApplication::openStandardCrashDumpDirectory()
|
||||
{
|
||||
const QString path(QDir::toNativeSeparators(CDirectoryUtils::crashpadDatabaseDirectory()));
|
||||
const QString path(QDir::toNativeSeparators(CSwiftDirectories::crashpadDatabaseDirectory()));
|
||||
if (!QDir(path).exists()) { return false; }
|
||||
return QDesktopServices::openUrl(QUrl::fromLocalFile(path));
|
||||
}
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
#include "blackgui/stylesheetutility.h"
|
||||
#include "blackmisc/fileutils.h"
|
||||
#include "blackmisc/logmessage.h"
|
||||
#include "blackmisc/swiftdirectories.h"
|
||||
#include "blackmisc/directoryutils.h"
|
||||
#include "blackmisc/restricted.h"
|
||||
|
||||
@@ -140,12 +141,12 @@ namespace BlackGui
|
||||
|
||||
bool CStyleSheetUtility::read()
|
||||
{
|
||||
QDir directory(CDirectoryUtils::stylesheetsDirectory());
|
||||
QDir directory(CSwiftDirectories::stylesheetsDirectory());
|
||||
if (!directory.exists()) { return false; }
|
||||
|
||||
// qss/css files
|
||||
const bool needsWatcher = m_fileWatcher.files().isEmpty();
|
||||
if (needsWatcher) { m_fileWatcher.addPath(CDirectoryUtils::stylesheetsDirectory()); } // directory to deleted file watching
|
||||
if (needsWatcher) { m_fileWatcher.addPath(CSwiftDirectories::stylesheetsDirectory()); } // directory to deleted file watching
|
||||
directory.setNameFilters({"*.qss", "*.css"});
|
||||
directory.setFilter(QDir::Files | QDir::Hidden | QDir::NoSymLinks);
|
||||
|
||||
@@ -167,7 +168,7 @@ namespace BlackGui
|
||||
// save files for debugging
|
||||
if (CBuildConfig::isLocalDeveloperDebugBuild())
|
||||
{
|
||||
const QString fn = CFileUtils::appendFilePaths(CDirectoryUtils::logDirectory(), f);
|
||||
const QString fn = CFileUtils::appendFilePaths(CSwiftDirectories::logDirectory(), f);
|
||||
CFileUtils::writeStringToFile(c, fn);
|
||||
}
|
||||
|
||||
@@ -255,7 +256,7 @@ namespace BlackGui
|
||||
bool CStyleSheetUtility::updateFont(const QString &qss)
|
||||
{
|
||||
const QString qssWidget(u"QWidget {\n" % qss % u"}\n");
|
||||
const QString fn = CFileUtils::appendFilePaths(CDirectoryUtils::stylesheetsDirectory(), fileNameFontsModified());
|
||||
const QString fn = CFileUtils::appendFilePaths(CSwiftDirectories::stylesheetsDirectory(), fileNameFontsModified());
|
||||
QFile fontFile(fn);
|
||||
bool ok = fontFile.open(QFile::Text | QFile::WriteOnly);
|
||||
if (ok)
|
||||
@@ -274,7 +275,7 @@ namespace BlackGui
|
||||
|
||||
bool CStyleSheetUtility::resetFont()
|
||||
{
|
||||
QFile fontFile(CFileUtils::appendFilePaths(CDirectoryUtils::stylesheetsDirectory(), fileNameFontsModified()));
|
||||
QFile fontFile(CFileUtils::appendFilePaths(CSwiftDirectories::stylesheetsDirectory(), fileNameFontsModified()));
|
||||
return fontFile.remove();
|
||||
}
|
||||
|
||||
@@ -317,7 +318,7 @@ namespace BlackGui
|
||||
|
||||
bool CStyleSheetUtility::deleteModifiedFontFile()
|
||||
{
|
||||
const QString fn = CFileUtils::appendFilePaths(CDirectoryUtils::stylesheetsDirectory(), fileNameFontsModified());
|
||||
const QString fn = CFileUtils::appendFilePaths(CSwiftDirectories::stylesheetsDirectory(), fileNameFontsModified());
|
||||
QFile file(fn);
|
||||
if (!file.exists()) { return false; }
|
||||
bool r = file.remove();
|
||||
@@ -334,7 +335,7 @@ namespace BlackGui
|
||||
|
||||
const QString &CStyleSheetUtility::fileNameAndPathSwiftStandardGui()
|
||||
{
|
||||
static const QString fn = CFileUtils::appendFilePaths(CDirectoryUtils::stylesheetsDirectory(), CStyleSheetUtility::fileNameSwiftStandardGui());
|
||||
static const QString fn = CFileUtils::appendFilePaths(CSwiftDirectories::stylesheetsDirectory(), CStyleSheetUtility::fileNameSwiftStandardGui());
|
||||
return fn;
|
||||
}
|
||||
|
||||
@@ -364,7 +365,7 @@ namespace BlackGui
|
||||
|
||||
const QString &CStyleSheetUtility::fileNameAndPathStandardWidget()
|
||||
{
|
||||
static const QString fn = CFileUtils::appendFilePaths(CDirectoryUtils::stylesheetsDirectory(), CStyleSheetUtility::fileNameStandardWidget());
|
||||
static const QString fn = CFileUtils::appendFilePaths(CSwiftDirectories::stylesheetsDirectory(), CStyleSheetUtility::fileNameStandardWidget());
|
||||
return fn;
|
||||
}
|
||||
|
||||
@@ -513,7 +514,7 @@ namespace BlackGui
|
||||
bool CStyleSheetUtility::qssFileExists(const QString &filename)
|
||||
{
|
||||
if (filename.isEmpty()) { return false; }
|
||||
const QFileInfo f(CFileUtils::appendFilePaths(CDirectoryUtils::stylesheetsDirectory(), filename));
|
||||
const QFileInfo f(CFileUtils::appendFilePaths(CSwiftDirectories::stylesheetsDirectory(), filename));
|
||||
return f.exists() && f.isReadable();
|
||||
}
|
||||
} // ns
|
||||
|
||||
@@ -843,11 +843,9 @@ namespace BlackGui
|
||||
const QString json(this->toJsonString(QJsonDocument::Indented, selectedOnly)); // save as CVariant JSON
|
||||
|
||||
// save file
|
||||
const bool ok = CFileUtils::writeStringToFileInBackground(json, fileName);
|
||||
if (ok) { this->rememberLastJsonDirectory(fileName); }
|
||||
return ok ?
|
||||
CStatusMessage(this, CStatusMessage::SeverityInfo, u"Writing " % fileName % u" in progress", true) :
|
||||
CStatusMessage(this, CStatusMessage::SeverityError, u"Writing " % fileName % u" failed", true);
|
||||
CWorker::fromTask(qApp, Q_FUNC_INFO, [ = ] { CFileUtils::writeStringToFile(json, fileName); });
|
||||
this->rememberLastJsonDirectory(fileName);
|
||||
return CStatusMessage(this, CStatusMessage::SeverityInfo, u"Writing " % fileName % u" in progress", true);
|
||||
}
|
||||
|
||||
template<class T>
|
||||
|
||||
Reference in New Issue
Block a user