mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2024-11-25 05:38:46 -05:00
New static data location for read-only data files
Access in CMake via ${WSJT_SHARE_DESTINATION}/${WSJT_DATA_DESTINATION} Access in wsjtx.exe using Configuration::data_dir() git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@5487 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
This commit is contained in:
parent
54218810e2
commit
abfcf1cb5b
@ -152,6 +152,7 @@ set (WSJT_BIN_DESTINATION bin)
|
|||||||
set (WSJT_LIB_DESTINATION lib)
|
set (WSJT_LIB_DESTINATION lib)
|
||||||
set (WSJT_SHARE_DESTINATION share)
|
set (WSJT_SHARE_DESTINATION share)
|
||||||
set (WSJT_DOC_DESTINATION doc/${CMAKE_PROJECT_NAME})
|
set (WSJT_DOC_DESTINATION doc/${CMAKE_PROJECT_NAME})
|
||||||
|
set (WSJT_DATA_DESTINATION ${CMAKE_PROJECT_NAME})
|
||||||
set (WSJT_MANPAGE_DESTINATION share)
|
set (WSJT_MANPAGE_DESTINATION share)
|
||||||
set (WSJT_PLUGIN_DESTINATION lib/plugins)
|
set (WSJT_PLUGIN_DESTINATION lib/plugins)
|
||||||
set (WSJT_QT_CONF_DESTINATION bin)
|
set (WSJT_QT_CONF_DESTINATION bin)
|
||||||
@ -159,6 +160,7 @@ set (WSJT_QT_CONF_DESTINATION bin)
|
|||||||
if (WIN32)
|
if (WIN32)
|
||||||
set (WSJT_SHARE_DESTINATION bin)
|
set (WSJT_SHARE_DESTINATION bin)
|
||||||
set (WSJT_DOC_DESTINATION doc)
|
set (WSJT_DOC_DESTINATION doc)
|
||||||
|
set (WSJT_DATA_DESTINATION data)
|
||||||
set (WSJT_PLUGIN_DESTINATION plugins)
|
set (WSJT_PLUGIN_DESTINATION plugins)
|
||||||
endif (WIN32)
|
endif (WIN32)
|
||||||
|
|
||||||
@ -167,6 +169,7 @@ if (APPLE)
|
|||||||
set (WSJT_SHARE_DESTINATION ${CMAKE_PROJECT_NAME}.app/Contents/Resources)
|
set (WSJT_SHARE_DESTINATION ${CMAKE_PROJECT_NAME}.app/Contents/Resources)
|
||||||
set (WSJT_MANPAGE_DESTINATION ${CMAKE_PROJECT_NAME}.app/Contents/Resources)
|
set (WSJT_MANPAGE_DESTINATION ${CMAKE_PROJECT_NAME}.app/Contents/Resources)
|
||||||
set (WSJT_DOC_DESTINATION doc)
|
set (WSJT_DOC_DESTINATION doc)
|
||||||
|
set (WSJT_DATA_DESTINATION data)
|
||||||
set (WSJT_PLUGIN_DESTINATION ${CMAKE_PROJECT_NAME}.app/Contents/PlugIns)
|
set (WSJT_PLUGIN_DESTINATION ${CMAKE_PROJECT_NAME}.app/Contents/PlugIns)
|
||||||
set (WSJT_QT_CONF_DESTINATION ${CMAKE_PROJECT_NAME}.app/Contents/Resources)
|
set (WSJT_QT_CONF_DESTINATION ${CMAKE_PROJECT_NAME}.app/Contents/Resources)
|
||||||
endif (APPLE)
|
endif (APPLE)
|
||||||
|
@ -442,6 +442,7 @@ private:
|
|||||||
QSettings * settings_;
|
QSettings * settings_;
|
||||||
|
|
||||||
QDir doc_dir_;
|
QDir doc_dir_;
|
||||||
|
QDir data_dir_;
|
||||||
QDir temp_dir_;
|
QDir temp_dir_;
|
||||||
QDir default_save_directory_;
|
QDir default_save_directory_;
|
||||||
QDir save_directory_;
|
QDir save_directory_;
|
||||||
@ -569,6 +570,7 @@ Configuration::~Configuration ()
|
|||||||
}
|
}
|
||||||
|
|
||||||
QDir Configuration::doc_dir () const {return m_->doc_dir_;}
|
QDir Configuration::doc_dir () const {return m_->doc_dir_;}
|
||||||
|
QDir Configuration::data_dir () const {return m_->data_dir_;}
|
||||||
QDir Configuration::temp_dir () const {return m_->temp_dir_;}
|
QDir Configuration::temp_dir () const {return m_->temp_dir_;}
|
||||||
|
|
||||||
int Configuration::exec () {return m_->exec ();}
|
int Configuration::exec () {return m_->exec ();}
|
||||||
@ -700,6 +702,7 @@ Configuration::impl::impl (Configuration * self, QSettings * settings, QWidget *
|
|||||||
, ui_ {new Ui::configuration_dialog}
|
, ui_ {new Ui::configuration_dialog}
|
||||||
, settings_ {settings}
|
, settings_ {settings}
|
||||||
, doc_dir_ {QApplication::applicationDirPath ()}
|
, doc_dir_ {QApplication::applicationDirPath ()}
|
||||||
|
, data_dir_ {QApplication::applicationDirPath ()}
|
||||||
, frequencies_ {&bands_}
|
, frequencies_ {&bands_}
|
||||||
, next_frequencies_ {&bands_}
|
, next_frequencies_ {&bands_}
|
||||||
, stations_ {&bands_}
|
, stations_ {&bands_}
|
||||||
@ -719,15 +722,15 @@ Configuration::impl::impl (Configuration * self, QSettings * settings, QWidget *
|
|||||||
{
|
{
|
||||||
ui_->setupUi (this);
|
ui_->setupUi (this);
|
||||||
|
|
||||||
|
|
||||||
#if !defined (CMAKE_BUILD)
|
#if !defined (CMAKE_BUILD)
|
||||||
#define WSJT_SHARE_DESTINATION "."
|
#define WSJT_SHARE_DESTINATION "."
|
||||||
#define WSJT_DOC_DESTINATION "."
|
#define WSJT_DOC_DESTINATION "."
|
||||||
|
#define WSJT_DATA_DESTINATION "."
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if !defined (Q_OS_WIN) || QT_VERSION >= 0x050300
|
#if !defined (Q_OS_WIN) || QT_VERSION >= 0x050300
|
||||||
auto path = QStandardPaths::locate (QStandardPaths::DataLocation, WSJT_DOC_DESTINATION, QStandardPaths::LocateDirectory);
|
auto doc_path = QStandardPaths::locate (QStandardPaths::DataLocation, WSJT_DOC_DESTINATION, QStandardPaths::LocateDirectory);
|
||||||
if (path.isEmpty ())
|
if (doc_path.isEmpty ())
|
||||||
{
|
{
|
||||||
doc_dir_.cdUp ();
|
doc_dir_.cdUp ();
|
||||||
#if defined (Q_OS_MAC)
|
#if defined (Q_OS_MAC)
|
||||||
@ -739,10 +742,27 @@ Configuration::impl::impl (Configuration * self, QSettings * settings, QWidget *
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
doc_dir_.cd (path);
|
doc_dir_.cd (doc_path);
|
||||||
|
}
|
||||||
|
|
||||||
|
auto data_path = QStandardPaths::locate (QStandardPaths::DataLocation, WSJT_DATA_DESTINATION, QStandardPaths::LocateDirectory);
|
||||||
|
if (data_path.isEmpty ())
|
||||||
|
{
|
||||||
|
data_dir_.cdUp ();
|
||||||
|
#if defined (Q_OS_MAC)
|
||||||
|
data_dir_.cdUp ();
|
||||||
|
data_dir_.cdUp ();
|
||||||
|
#endif
|
||||||
|
data_dir_.cd (WSJT_SHARE_DESTINATION);
|
||||||
|
data_dir_.cd (WSJT_DATA_DESTINATION);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
data_dir_.cd (data_path);
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
doc_dir_.cd (WSJT_DOC_DESTINATION);
|
doc_dir_.cd (WSJT_DOC_DESTINATION);
|
||||||
|
data_dir_.cd (WSJT_DATA_DESTINATION);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
{
|
{
|
||||||
|
@ -73,6 +73,7 @@ public:
|
|||||||
|
|
||||||
QDir temp_dir () const;
|
QDir temp_dir () const;
|
||||||
QDir doc_dir () const;
|
QDir doc_dir () const;
|
||||||
|
QDir data_dir () const;
|
||||||
|
|
||||||
QAudioDeviceInfo const& audio_input_device () const;
|
QAudioDeviceInfo const& audio_input_device () const;
|
||||||
AudioDevice::Channel audio_input_channel () const;
|
AudioDevice::Channel audio_input_channel () const;
|
||||||
|
@ -13,6 +13,7 @@
|
|||||||
#cmakedefine WSJT_SHARE_DESTINATION "@WSJT_SHARE_DESTINATION@"
|
#cmakedefine WSJT_SHARE_DESTINATION "@WSJT_SHARE_DESTINATION@"
|
||||||
#cmakedefine WSJT_LIB_DESTINATION "@WSJT_LIB_DESTINATION@"
|
#cmakedefine WSJT_LIB_DESTINATION "@WSJT_LIB_DESTINATION@"
|
||||||
#cmakedefine WSJT_DOC_DESTINATION "@WSJT_DOC_DESTINATION@"
|
#cmakedefine WSJT_DOC_DESTINATION "@WSJT_DOC_DESTINATION@"
|
||||||
|
#cmakedefine WSJT_DATA_DESTINATION "@WSJT_DATA_DESTINATION@"
|
||||||
#cmakedefine PROJECT_MANUAL "@PROJECT_MANUAL@"
|
#cmakedefine PROJECT_MANUAL "@PROJECT_MANUAL@"
|
||||||
#cmakedefine PROJECT_MANUAL_DIRECTORY_URL "@PROJECT_MANUAL_DIRECTORY_URL@"
|
#cmakedefine PROJECT_MANUAL_DIRECTORY_URL "@PROJECT_MANUAL_DIRECTORY_URL@"
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user