mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-03-22 23:05:36 +08:00
Formatting, style
This commit is contained in:
@@ -111,6 +111,7 @@ namespace BlackCore
|
||||
Q_ASSERT_X(!sApp, Q_FUNC_INFO, "already initialized");
|
||||
Q_ASSERT_X(QCoreApplication::instance(), Q_FUNC_INFO, "no application object");
|
||||
|
||||
m_applicationInfo.setApplicationDataDirectory(CDirectoryUtils::normalizedApplicationDataDirectory());
|
||||
QCoreApplication::setApplicationName(m_applicationName);
|
||||
QCoreApplication::setApplicationVersion(CBuildConfig::getVersionString());
|
||||
this->setObjectName(m_applicationName);
|
||||
@@ -138,7 +139,7 @@ namespace BlackCore
|
||||
const QString tempPath(this->getTemporaryDirectory());
|
||||
BlackMisc::setMockCacheRootDirectory(tempPath);
|
||||
}
|
||||
m_alreadyRunning = CApplication::getRunningApplications().containsApplication(CApplication::getSwiftApplication());
|
||||
m_alreadyRunning = CApplication::getRunningApplications().containsApplication(CApplication::getApplicationInfo().getApplication());
|
||||
this->initParser();
|
||||
this->initLogging();
|
||||
this->tagApplicationDataDirectory();
|
||||
@@ -229,12 +230,6 @@ namespace BlackCore
|
||||
this->gracefulShutdown();
|
||||
}
|
||||
|
||||
const CApplicationInfo &CApplication::getApplicationInfo() const
|
||||
{
|
||||
static const CApplicationInfo a(CApplication::getSwiftApplication());
|
||||
return a;
|
||||
}
|
||||
|
||||
CApplicationInfoList CApplication::getRunningApplications()
|
||||
{
|
||||
CApplicationInfoList apps;
|
||||
@@ -251,7 +246,7 @@ namespace BlackCore
|
||||
|
||||
bool CApplication::isAlreadyRunning() const
|
||||
{
|
||||
return getRunningApplications().containsBy([this](const CApplicationInfo & info) { return info.getApplication() == getSwiftApplication(); });
|
||||
return getRunningApplications().containsBy([this](const CApplicationInfo & info) { return info.getApplication() == getApplicationInfo().getApplication(); });
|
||||
}
|
||||
|
||||
bool CApplication::isShuttingDown() const
|
||||
|
||||
@@ -111,9 +111,6 @@ namespace BlackCore
|
||||
//! Destructor
|
||||
virtual ~CApplication();
|
||||
|
||||
//! Application information
|
||||
const BlackMisc::CApplicationInfo &getApplicationInfo() const;
|
||||
|
||||
//! Information about all running apps (including this one only if exec() has already been called)
|
||||
static BlackMisc::CApplicationInfoList getRunningApplications();
|
||||
|
||||
@@ -130,6 +127,9 @@ namespace BlackCore
|
||||
//! \threadsafe
|
||||
bool isShuttingDown() const;
|
||||
|
||||
//! swift application running
|
||||
const BlackMisc::CApplicationInfo &getApplicationInfo() const { return m_applicationInfo; }
|
||||
|
||||
//! Application name and version
|
||||
const QString &getApplicationName() const { return m_applicationName; }
|
||||
|
||||
@@ -142,9 +142,6 @@ namespace BlackCore
|
||||
//! Force single application (only one instance)
|
||||
void setSingleApplication(bool singleApplication);
|
||||
|
||||
//! swift application running
|
||||
BlackMisc::CApplicationInfo::Application getSwiftApplication() const { return m_applicationInfo.getApplication(); }
|
||||
|
||||
//! Executable names for the given applications
|
||||
QString getExecutableForApplication(BlackMisc::CApplicationInfo::Application application) const;
|
||||
|
||||
|
||||
@@ -24,6 +24,7 @@
|
||||
#include <QFileSystemModel>
|
||||
#include <QDir>
|
||||
#include <QDesktopServices>
|
||||
#include <QPointer>
|
||||
|
||||
using namespace BlackMisc;
|
||||
using namespace BlackMisc::Simulation;
|
||||
@@ -246,7 +247,6 @@ namespace BlackGui
|
||||
destinationModel->setNameFilters(this->getSourceFileFilter());
|
||||
destinationModel->setNameFilterDisables(m_nameFilterDisables);
|
||||
|
||||
|
||||
// source
|
||||
const QString sourceDir = this->getOtherVersionsSelectedDirectory();
|
||||
if (!sourceModel || m_initializedSourceDir != sourceDir)
|
||||
@@ -399,8 +399,8 @@ namespace BlackGui
|
||||
void CCopyConfigurationComponent::initMultiSimulatorCache(IMultiSimulatorModelCaches *cache, const QString &fileName)
|
||||
{
|
||||
const CSimulatorInfo info = cache->getSimulatorForFilename(fileName);
|
||||
if (info.isNoSimulator()) return;
|
||||
if (cache->isSaved(info)) return; // already a file and hence in .rev
|
||||
if (info.isNoSimulator()) { return; }
|
||||
if (cache->isSaved(info)) { return; } // already a file and hence in .rev
|
||||
const QFileInfo fi(fileName);
|
||||
const CStatusMessage msg = cache->setCacheTimestamp(fi.lastModified(), info); // create cache file and timestamp in .rev
|
||||
if (msg.isFailure())
|
||||
@@ -412,13 +412,14 @@ namespace BlackGui
|
||||
void CCopyConfigurationComponent::initOtherSwiftVersions()
|
||||
{
|
||||
ui->cb_OtherVersions->clear();
|
||||
const QMap<QString, CApplicationInfo> otherVersions = CDirectoryUtils::applicationDataDirectoryMap(true);
|
||||
const QMap<QString, CApplicationInfo> otherVersions = CDirectoryUtils::applicationDataDirectoryMapWithoutCurrentVersion();
|
||||
for (const QString &directory : otherVersions.keys())
|
||||
{
|
||||
const CApplicationInfo info(otherVersions.value(directory));
|
||||
if (info.isNull())
|
||||
{
|
||||
ui->cb_OtherVersions->addItem(CDirectoryUtils::decodeNormalizedDirectory(directory));
|
||||
const QString infoString = CDirectoryUtils::decodeNormalizedDirectory(directory);
|
||||
ui->cb_OtherVersions->addItem(infoString);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@@ -119,8 +119,8 @@ namespace BlackGui
|
||||
//! Set widths
|
||||
void setWidths();
|
||||
|
||||
QStringList m_otherVersionDirs;
|
||||
QScopedPointer<Ui::CCopyConfigurationComponent> ui;
|
||||
QStringList m_otherVersionDirs;
|
||||
QString m_initializedSourceDir;
|
||||
QString m_initializedDestinationDir;
|
||||
bool m_logCopiedFiles = true;
|
||||
@@ -128,8 +128,8 @@ namespace BlackGui
|
||||
bool m_withBootstrapFile = false;
|
||||
|
||||
// caches will be explicitly initialized in initCaches
|
||||
BlackMisc::Simulation::Data::CModelCaches m_modelCaches{ false, this };
|
||||
BlackMisc::Simulation::Data::CModelSetCaches m_modelSetCaches{ false, this };
|
||||
BlackMisc::Simulation::Data::CModelCaches m_modelCaches { false, this };
|
||||
BlackMisc::Simulation::Data::CModelSetCaches m_modelSetCaches { false, this };
|
||||
|
||||
// caches will be initialized so they can be overriden
|
||||
// those caches do not harm if they exists default initialized
|
||||
|
||||
@@ -18,7 +18,6 @@
|
||||
|
||||
class QObject;
|
||||
|
||||
namespace BlackMisc { namespace Network { class CServer; } }
|
||||
namespace BlackGui
|
||||
{
|
||||
namespace Models
|
||||
|
||||
@@ -68,18 +68,10 @@ namespace BlackGui
|
||||
this->setSortIndicator();
|
||||
switch (mode)
|
||||
{
|
||||
case CAircraftModelListModel::StashModel:
|
||||
m_menus = MenuDefaultNoClear;
|
||||
break;
|
||||
case CAircraftModelListModel::Database:
|
||||
m_menus = MenuDefaultDbViews;
|
||||
break;
|
||||
case CAircraftModelListModel::VPilotRuleModel:
|
||||
m_menus = MenuDefaultNoClear | MenuStashing;
|
||||
break;
|
||||
case CAircraftModelListModel::OwnAircraftModelMappingTool:
|
||||
m_menus = MenuDefaultNoClear | MenuStashing | MenuLoadAndSave;
|
||||
break;
|
||||
case CAircraftModelListModel::StashModel: m_menus = MenuDefaultNoClear; break;
|
||||
case CAircraftModelListModel::Database: m_menus = MenuDefaultDbViews; break;
|
||||
case CAircraftModelListModel::VPilotRuleModel: m_menus = MenuDefaultNoClear | MenuStashing; break;
|
||||
case CAircraftModelListModel::OwnAircraftModelMappingTool: m_menus = MenuDefaultNoClear | MenuStashing | MenuLoadAndSave; break;
|
||||
case CAircraftModelListModel::OwnAircraftModelClient:
|
||||
default:
|
||||
m_menus = MenuDefaultNoClear | MenuBackend;
|
||||
|
||||
@@ -7,8 +7,7 @@
|
||||
* contained in the LICENSE file.
|
||||
*/
|
||||
|
||||
#include "blackgui/models/serverlistmodel.h"
|
||||
#include "blackgui/views/serverview.h"
|
||||
#include "serverview.h"
|
||||
|
||||
using namespace BlackMisc;
|
||||
using namespace BlackGui::Models;
|
||||
|
||||
@@ -13,13 +13,11 @@
|
||||
#define BLACKGUI_VIEWS_SERVERVIEW_H
|
||||
|
||||
#include "blackgui/blackguiexport.h"
|
||||
#include "blackgui/models/serverlistmodel.h"
|
||||
#include "blackgui/views/viewbase.h"
|
||||
#include "blackmisc/network/serverlist.h"
|
||||
#include "blackgui/models/serverlistmodel.h"
|
||||
|
||||
class QWidget;
|
||||
|
||||
namespace BlackMisc { namespace Network { class CServer; } }
|
||||
namespace BlackGui
|
||||
{
|
||||
namespace Views
|
||||
|
||||
@@ -104,7 +104,7 @@ namespace BlackGui
|
||||
saveJson->setContext(Qt::WidgetShortcut);
|
||||
|
||||
QShortcut *deleteRow = new QShortcut(CShortcut::keyDelete(), this);
|
||||
connect(deleteRow, &QShortcut::activated, this, &CViewBaseNonTemplate::ps_removeSelectedRows);
|
||||
connect(deleteRow, &QShortcut::activated, this, &CViewBaseNonTemplate::removeSelectedRowsChecked);
|
||||
deleteRow->setObjectName("Remove selected rows for " + this->objectName());
|
||||
deleteRow->setContext(Qt::WidgetShortcut);
|
||||
|
||||
@@ -258,7 +258,7 @@ namespace BlackGui
|
||||
a->setChecked(this->displayAutomatically());
|
||||
break;
|
||||
}
|
||||
case MenuRemoveSelectedRows: { ma.addAction(CIcons::delete16(), "Remove selected rows", CMenuAction::pathViewAddRemove(), { this, &CViewBaseNonTemplate::ps_removeSelectedRows }, CShortcut::keyDelete()); break; }
|
||||
case MenuRemoveSelectedRows: { ma.addAction(CIcons::delete16(), "Remove selected rows", CMenuAction::pathViewAddRemove(), { this, &CViewBaseNonTemplate::removeSelectedRowsChecked }, CShortcut::keyDelete()); break; }
|
||||
case MenuClear: { ma.addAction(CIcons::delete16(), "Clear", CMenuAction::pathViewAddRemove(), { this, &CViewBaseNonTemplate::clear }); break; }
|
||||
case MenuFilter:
|
||||
{
|
||||
@@ -827,7 +827,7 @@ namespace BlackGui
|
||||
}
|
||||
}
|
||||
|
||||
void CViewBaseNonTemplate::ps_removeSelectedRows()
|
||||
void CViewBaseNonTemplate::removeSelectedRowsChecked()
|
||||
{
|
||||
if (!m_enableDeleteSelectedRows) { return; }
|
||||
this->removeSelectedRows();
|
||||
|
||||
@@ -540,8 +540,8 @@ namespace BlackGui
|
||||
void setSingleSelection();
|
||||
//! @}
|
||||
|
||||
//! Remove selected rows
|
||||
void ps_removeSelectedRows();
|
||||
//! Remove selected rows if enabled
|
||||
void removeSelectedRowsChecked();
|
||||
|
||||
//! Toggle auto display flag
|
||||
void toggleAutoDisplay();
|
||||
|
||||
@@ -11,6 +11,7 @@
|
||||
|
||||
#include "directoryutils.h"
|
||||
#include "fileutils.h"
|
||||
#include "stringutils.h"
|
||||
#include "range.h"
|
||||
#include "blackconfig/buildconfig.h"
|
||||
#include <QCoreApplication>
|
||||
@@ -119,7 +120,7 @@ namespace BlackMisc
|
||||
static const QFileInfoList fileInfoList([]
|
||||
{
|
||||
const QDir swiftAppData(CDirectoryUtils::applicationDataDirectory()); // contains 1..n subdirs
|
||||
if (!swiftAppData.isReadable()) return QFileInfoList();
|
||||
if (!swiftAppData.isReadable()) { return QFileInfoList(); }
|
||||
return swiftAppData.entryInfoList({}, QDir::Dirs | QDir::NoDotAndDotDot, QDir::Time);
|
||||
}());
|
||||
return fileInfoList;
|
||||
@@ -143,29 +144,42 @@ namespace BlackMisc
|
||||
return dirs;
|
||||
}
|
||||
|
||||
QMap<QString, CApplicationInfo> CDirectoryUtils::applicationDataDirectoryMap(bool withoutCurrent)
|
||||
const QMap<QString, CApplicationInfo> &CDirectoryUtils::applicationDataDirectoryMapWithoutCurrentVersion()
|
||||
{
|
||||
static const CApplicationInfo nullInfo;
|
||||
QMap<QString, CApplicationInfo> dirs;
|
||||
|
||||
for (const QFileInfo &info : CDirectoryUtils::applicationDataDirectories())
|
||||
static const QMap<QString, CApplicationInfo> dirs = [ = ]
|
||||
{
|
||||
if (withoutCurrent && info.filePath().contains(normalizedApplicationDirectory(), Qt::CaseInsensitive)) continue;
|
||||
const QString appInfoFile = CFileUtils::appendFilePaths(info.filePath(), CApplicationInfo::fileName());
|
||||
const QString appInfoJson = CFileUtils::readFileToString(appInfoFile);
|
||||
if (appInfoJson.isEmpty())
|
||||
QMap<QString, CApplicationInfo> directories;
|
||||
for (const QFileInfo &info : CDirectoryUtils::applicationDataDirectories())
|
||||
{
|
||||
dirs.insert(info.filePath(), nullInfo);
|
||||
if (caseInsensitiveStringCompare(info.filePath(), CDirectoryUtils::normalizedApplicationDataDirectory())) { continue; }
|
||||
|
||||
// the application info will be written by each swift application started
|
||||
// so the application type will always contain that application
|
||||
const QString appInfoFile = CFileUtils::appendFilePaths(info.filePath(), CApplicationInfo::fileName());
|
||||
const QString appInfoJson = CFileUtils::readFileToString(appInfoFile);
|
||||
CApplicationInfo appInfo;
|
||||
if (appInfoJson.isEmpty())
|
||||
{
|
||||
const QString exeDir = CDirectoryUtils::decodeNormalizedDirectory(info.filePath());
|
||||
appInfo.setExecutablePath(exeDir);
|
||||
}
|
||||
else
|
||||
{
|
||||
appInfo = CApplicationInfo::fromJson(appInfoJson);
|
||||
}
|
||||
appInfo.setApplicationDataDirectory(info.filePath());
|
||||
directories.insert(info.filePath(), appInfo);
|
||||
}
|
||||
else
|
||||
{
|
||||
const CApplicationInfo appInfo = CApplicationInfo::fromJson(appInfoJson);
|
||||
dirs.insert(info.filePath(), appInfo);
|
||||
}
|
||||
}
|
||||
return directories;
|
||||
}();
|
||||
return dirs;
|
||||
}
|
||||
|
||||
bool CDirectoryUtils::hasOtherSwiftDataDirectories()
|
||||
{
|
||||
return CDirectoryUtils::applicationDataDirectoryMapWithoutCurrentVersion().size() > 0;
|
||||
}
|
||||
|
||||
const QString &CDirectoryUtils::normalizedApplicationDataDirectory()
|
||||
{
|
||||
static const QString p = CFileUtils::appendFilePaths(applicationDataDirectory(), normalizedApplicationDirectory());
|
||||
|
||||
@@ -46,6 +46,7 @@ namespace BlackMisc
|
||||
static QString executableFilePath(const QString &executable);
|
||||
|
||||
//! swift application data directory, contains 0..n swift installation directories
|
||||
//! \remark use CDirectoryUtils::normalizedApplicationDataDirectory for one specific version
|
||||
static const QString &applicationDataDirectory();
|
||||
|
||||
//! swift application data sub directories
|
||||
@@ -58,13 +59,17 @@ namespace BlackMisc
|
||||
static QStringList applicationDataDirectoryList(bool withoutCurrent = false, bool decodedDirName = false);
|
||||
|
||||
//! swift application data sub directories with info if available
|
||||
static QMap<QString, CApplicationInfo> applicationDataDirectoryMap(bool withoutCurrent = false);
|
||||
static const QMap<QString, CApplicationInfo> &applicationDataDirectoryMapWithoutCurrentVersion();
|
||||
|
||||
//! Other swift data directories
|
||||
static bool hasOtherSwiftDataDirectories();
|
||||
|
||||
//! Is MacOS application bundle?
|
||||
//! \remark: Means the currently running executable is a MacOS bundle, but not all our executables are bundles on MacOS
|
||||
static bool isMacOSAppBundle();
|
||||
|
||||
//! swift application data directory for one specific installation (a version)
|
||||
//! \remark use CDirectoryUtils::applicationDataDirectory for one all swift versions
|
||||
static const QString &normalizedApplicationDataDirectory();
|
||||
|
||||
//! Where resource files (static DB files, ...) etc are located
|
||||
|
||||
@@ -339,6 +339,6 @@ namespace BlackMisc
|
||||
if (in.isEmpty()) { return ignoreEmpty ? e : ea; }
|
||||
return QStringLiteral("\"") % in % QStringLiteral("\"");
|
||||
}
|
||||
}
|
||||
} // ns
|
||||
|
||||
//! \endcond
|
||||
|
||||
@@ -192,7 +192,8 @@ namespace BlackMisc
|
||||
auto *meta = Private::getValueObjectMetaInfo(typeId);
|
||||
if (meta)
|
||||
{
|
||||
CJsonScope scope("value");
|
||||
CJsonScope scope("value"); // tracker
|
||||
Q_UNUSED(scope);
|
||||
m_v = QVariant(typeId, nullptr);
|
||||
|
||||
// this will call convertFromJson if there is no MemoizedJson
|
||||
|
||||
Reference in New Issue
Block a user