diff --git a/CMakeLists.txt b/CMakeLists.txt index 413dfad..60b72d7 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -32,8 +32,8 @@ set(HUNTER_CONFIGURATION_TYPES Release;Debug CACHE STRING "Hunter configuration set(HUNTER_JOBS_NUMBER 4 CACHE STRING "Hunter jobs number") include(hunter/HunterGate) HunterGate( - URL "https://github.com/ruslo/hunter/archive/v0.23.190.tar.gz" - SHA1 "bc7da329d2493201de28f0c2a5fcd4de1415c477" + URL "https://github.com/ruslo/hunter/archive/v0.23.206.tar.gz" + SHA1 "9cb4184e563ad45dbafb6755c0d588e5574838d3" FILEPATH "${CMAKE_CURRENT_LIST_DIR}/cmake/hunter/HunterConfig.cmake" ) @@ -73,7 +73,7 @@ if(GIT_FOUND) endif() endif() -set(PROJECT_DISPLAY_NAME "Qwertycoin") +set(PROJECT_DISPLAY_NAME "Qwertycoin-GUI") set(PROJECT_SHORT_NAME "qwcg") set(PROJECT_CURRENCY_TICKER "QWC") set(PROJECT_NAME "qwertycoin-gui") diff --git a/README.md b/README.md index 47a6533..e3233d2 100644 --- a/README.md +++ b/README.md @@ -161,7 +161,7 @@ Cryptonote Developers, Bytecoin Developers, Monero Developers, Karbo Developers, ### Copypasta for license when editing files -Hi Qwertycoin contributor, thanks for forking and sending back Pull Requests. Extensive docs about contributing are in the works or elsewhere. For now this is the bit we need to get into all the files we touch. Please add it to the top of the files, see [src/config/CryptoNoteConfig.h](https://github.com/qwertycoin-org/qwertycoin/blob/master/src/config/CryptoNoteConfig.h) for an example. +Hi Qwertycoin contributor, thanks for forking and sending back Pull Requests. Extensive docs about contributing are in the works or elsewhere. For now this is the bit we need to get into all the files we touch. Please add it to the top of the files, see [lib/Global/CryptoNoteConfig.h](https://github.com/qwertycoin-org/qwertycoin/blob/master/lib/Global/CryptoNoteConfig.h) for an example. ``` // Copyright (c) 2018-2019, The Qwertycoin Developers diff --git a/cmake/external/Qt5.cmake b/cmake/external/Qt5.cmake index 2de9bc7..1b9f796 100644 --- a/cmake/external/Qt5.cmake +++ b/cmake/external/Qt5.cmake @@ -5,7 +5,7 @@ set(CMAKE_AUTOMOC ON) # Instruct CMake to run moc automatically when needed set(CMAKE_AUTOUIC OFF) # Create code from a list of Qt designer ui files set(CMAKE_AUTORCC ON) # Automatically handle Qt resource files -set(Qt5_COMPONENTS Core Gui Network Widgets) +set(Qt5_COMPONENTS Core Gui LinguistTools Network Widgets) if (APPLE) list(APPEND Qt5_COMPONENTS PrintSupport) endif () diff --git a/cmake/external/Qwertycoin.cmake b/cmake/external/Qwertycoin.cmake index 0d881b0..2f0abf0 100644 --- a/cmake/external/Qwertycoin.cmake +++ b/cmake/external/Qwertycoin.cmake @@ -38,7 +38,6 @@ set(QwertycoinFramework_INCLUDE_DIRS "${SOURCE_DIR}/lib" "${BINARY_DIR}/lib" "${BINARY_DIR}/_ExternalProjects/Install/sparsehash/include" - "${SOURCE_DIR}/src" # Temporary hack-ish solution for includes. ) if(MSVC) list(APPEND QwertycoinFramework_INCLUDE_DIRS "${SOURCE_DIR}/lib/Platform/Windows") @@ -60,6 +59,7 @@ set(QwertycoinFramework_LIBS Crypto CryptoNoteCore CryptoNoteProtocol + Global Http InProcessNode JsonRpcServer @@ -104,6 +104,7 @@ endforeach() target_link_libraries(QwertycoinFramework::Common INTERFACE Threads::Threads QwertycoinFramework::Crypto + QwertycoinFramework::Global ) if(UNIX AND NOT ANDROID) target_link_libraries(QwertycoinFramework::Common INTERFACE -lresolv) @@ -116,17 +117,25 @@ target_link_libraries(QwertycoinFramework::CryptoNoteCore INTERFACE QwertycoinFramework::BlockchainExplorer QwertycoinFramework::Common QwertycoinFramework::Crypto + QwertycoinFramework::Global QwertycoinFramework::Logging QwertycoinFramework::Serialization ) +# QwertycoinFramework::Global +target_link_libraries(QwertycoinFramework::Global INTERFACE + QwertycoinFramework::Global +) + # QwertycoinFramework::InProcessNode target_link_libraries(QwertycoinFramework::InProcessNode INTERFACE QwertycoinFramework::BlockchainExplorer + QwertycoinFramework::Global ) # QwertycoinFramework::NodeRpcProxy target_link_libraries(QwertycoinFramework::NodeRpcProxy INTERFACE + QwertycoinFramework::Global QwertycoinFramework::System ) @@ -134,6 +143,7 @@ target_link_libraries(QwertycoinFramework::NodeRpcProxy INTERFACE target_link_libraries(QwertycoinFramework::P2p INTERFACE MiniUPnP::miniupnpc QwertycoinFramework::CryptoNoteProtocol + QwertycoinFramework::Global ) if(WIN32 AND MSVC) @@ -152,6 +162,7 @@ target_link_libraries(QwertycoinFramework::PaymentGate INTERFACE target_link_libraries(QwertycoinFramework::Rpc INTERFACE QwertycoinFramework::BlockchainExplorer QwertycoinFramework::CryptoNoteCore + QwertycoinFramework::Global QwertycoinFramework::P2p QwertycoinFramework::PaymentGate QwertycoinFramework::Serialization @@ -172,6 +183,7 @@ endif() # QwertycoinFramework::Transfers target_link_libraries(QwertycoinFramework::Transfers INTERFACE QwertycoinFramework::CryptoNoteCore + QwertycoinFramework::Global ) # QwertycoinFramework::Wallet diff --git a/cmake/hunter/HunterConfig.cmake b/cmake/hunter/HunterConfig.cmake index d5dceff..55b7022 100644 --- a/cmake/hunter/HunterConfig.cmake +++ b/cmake/hunter/HunterConfig.cmake @@ -1 +1,2 @@ hunter_config(Boost VERSION 1.70.0-p0) +hunter_config(Qt VERSION 5.12.3) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 5eb7556..4f71254 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -169,6 +169,7 @@ set(TARGET_SRC "${CMAKE_CURRENT_LIST_DIR}/gui/WalletEvents.h" ${TARGET_UI} ) + if(APPLE) list(APPEND TARGET_SRC "${CMAKE_CURRENT_LIST_DIR}/gui/MainWindow.mm") list(APPEND TARGET_SRC "${CMAKE_CURRENT_LIST_DIR}/gui/macdockiconhandler.h") @@ -360,7 +361,7 @@ elseif(PROJECT_OS_WINDOWS) # Windows JOIN " " WINDEPLOYQT_COMMANDS COMMAND "\"${CMAKE_COMMAND}\"" -E remove_directory "\"${WINDEPLOYQT_TMP_DIR}\"" COMMAND "\"${CMAKE_COMMAND}\"" -E make_directory "\"${WINDEPLOYQT_TMP_DIR}\"" - COMMAND "\"${WINDEPLOYQT_EXE}\"" --dir "\"${WINDEPLOYQT_TMP_DIR}\"" "\"${WINDEPLOYQT_TARGET}\"" + COMMAND "\"${WINDEPLOYQT_EXE}\"" --no-translations --dir "\"${WINDEPLOYQT_TMP_DIR}\"" "\"${WINDEPLOYQT_TARGET}\"" ) # execute windeployqt in a tmp directory @@ -388,3 +389,19 @@ elseif(PROJECT_OS_WINDOWS) # Windows else() # unknown message(WARNING "Can't detect platform. Installation targets are not configured!") endif() + +# translation stuff +set_directory_properties(PROPERTIES CLEAN_NO_CUSTOM 1) + +file(GLOB TARGET_TRANSLATIONS ${CMAKE_CURRENT_LIST_DIR/languages}/*.ts) + +qt5_create_translation(TRANSLATION_MESSAGES ${FILES_TO_TRANSLATE} ${TARGET_TRANSLATIONS}) +qt5_add_translation(TRANSLATION_QM ${TARGET_TRANSLATIONS}) +add_custom_target(translations_update DEPENDS ${TRANSLATION_MESSAGES}) +add_custom_target(translations DEPENDS ${TRANSLATION_QM}) + +if(APPLE AND UNIX) ## OSX + install(FILES ${TRANSLATION_QM} DESTINATION "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_DISPLAY_NAME}.app/Contents/Resources/translations") +else() + install(FILES ${TRANSLATION_QM} DESTINATION translations) +endif() diff --git a/src/CommandLineParser.cpp b/src/CommandLineParser.cpp index 6b75bcc..772ad3f 100644 --- a/src/CommandLineParser.cpp +++ b/src/CommandLineParser.cpp @@ -4,7 +4,7 @@ // file COPYING or http://www.opensource.org/licenses/mit-license.php. #include -#include +#include #include "CommandLineParser.h" diff --git a/src/CryptoNoteWrapper.cpp b/src/CryptoNoteWrapper.cpp index a4fb107..1f7da33 100644 --- a/src/CryptoNoteWrapper.cpp +++ b/src/CryptoNoteWrapper.cpp @@ -5,7 +5,6 @@ #include #include "CryptoNoteWrapper.h" -#include "config/Checkpoints.h" #include "CryptoNoteCore/CryptoNoteBasicImpl.h" #include "CryptoNoteCore/CryptoNoteFormatUtils.h" #include "CryptoNoteCore/Currency.h" @@ -25,6 +24,7 @@ #include "System/Dispatcher.h" #include "CurrencyAdapter.h" #include "Settings.h" +#include #include namespace WalletGui { diff --git a/src/NodeAdapter.cpp b/src/NodeAdapter.cpp index 6453155..15d9b08 100644 --- a/src/NodeAdapter.cpp +++ b/src/NodeAdapter.cpp @@ -392,7 +392,6 @@ CryptoNote::NetNodeConfig NodeAdapter::makeNetNodeConfig() const { } options.insert(std::make_pair("data-dir", boost::program_options::variable_value(dataDir, false))); - int size = options.size(); config.init(options); config.setTestnet(Settings::instance().isTestnet()); return config; diff --git a/src/OptimizationManager.cpp b/src/OptimizationManager.cpp index 8920bd2..614b027 100644 --- a/src/OptimizationManager.cpp +++ b/src/OptimizationManager.cpp @@ -108,7 +108,6 @@ void OptimizationManager::checkOptimization() { void OptimizationManager::optimize() { if (!Settings::instance().isTrackingMode() && WalletAdapter::instance().isOpen() && m_isSynchronized) { - size_t fusionReadyCount = WalletAdapter::instance().estimateFusion(CurrencyAdapter::instance().getMinimumFee()); const size_t MAX_FUSION_OUTPUT_COUNT = 4; const quint64 mixin = Settings::instance().getOptimizationMixin(); size_t estimatedFusionInputsCount = CurrencyAdapter::instance().getCurrency().getApproximateMaximumInputCount(CurrencyAdapter::instance().getCurrency().fusionTxMaxSize(), MAX_FUSION_OUTPUT_COUNT, mixin); diff --git a/src/TranslatorManager.cpp b/src/TranslatorManager.cpp index f670735..8db19d5 100644 --- a/src/TranslatorManager.cpp +++ b/src/TranslatorManager.cpp @@ -18,12 +18,12 @@ TranslatorManager::TranslatorManager() #if defined(_MSC_VER) m_langPath = QApplication::applicationDirPath(); - m_langPath.append("/languages"); + m_langPath.append("/translations"); #elif defined(Q_OS_MAC) m_langPath = QApplication::applicationDirPath(); - m_langPath = m_langPath + "/../Resources/languages/"; + m_langPath = m_langPath + "/../Resources/translations/"; #else - m_langPath = "/opt/karbo/languages"; + m_langPath = "/opt/karbo/translations"; #endif QDir dir(m_langPath); @@ -44,7 +44,7 @@ TranslatorManager::TranslatorManager() } } } - QStringList resourcesQt = dir.entryList(QStringList("qt_??.qm")); + QStringList resourcesQt = dir.entryList(QStringList("??.qm")); for (int j = 0; j < resourcesQt.size(); j++) { QString locale = resourcesQt[j]; diff --git a/src/WalletAdapter.cpp b/src/WalletAdapter.cpp index effc333..54d4934 100644 --- a/src/WalletAdapter.cpp +++ b/src/WalletAdapter.cpp @@ -18,6 +18,7 @@ #include #include #include +#include #include "CryptoNoteCore/CryptoNoteBasic.h" #include "NodeAdapter.h" @@ -32,6 +33,8 @@ extern "C" #include "crypto/crypto-ops.h" } +using namespace Qwertycoin; + namespace WalletGui { const quint32 MSECS_IN_HOUR = 60 * 60 * 1000; @@ -335,7 +338,7 @@ Crypto::SecretKey WalletAdapter::getTxKey(Crypto::Hash& txid) { } catch (std::system_error&) { } - return CryptoNote::NULL_SECRET_KEY; + return NULL_SECRET_KEY; } void WalletAdapter::sendTransaction(const std::vector& _transfers, quint64 _fee, const QString& _paymentId, quint64 _mixin) { diff --git a/src/gui/MainWindow.cpp b/src/gui/MainWindow.cpp index ec430d2..25670be 100644 --- a/src/gui/MainWindow.cpp +++ b/src/gui/MainWindow.cpp @@ -611,12 +611,12 @@ void MainWindow::createLanguageMenu(void) } #if defined(_MSC_VER) m_langPath = QApplication::applicationDirPath(); - m_langPath.append("/languages"); + m_langPath.append("/translations"); #elif defined(Q_OS_MAC) m_langPath = QApplication::applicationDirPath(); - m_langPath = m_langPath + "/../Resources/languages/"; + m_langPath = m_langPath + "/../Resources/translations/"; #else - m_langPath = "/opt/karbo/languages"; + m_langPath = "/opt/karbo/translations"; #endif QDir dir(m_langPath); QStringList fileNames = dir.entryList(QStringList("??.qm")); diff --git a/src/gui/MainWindow.h b/src/gui/MainWindow.h index 24033cb..ad75718 100644 --- a/src/gui/MainWindow.h +++ b/src/gui/MainWindow.h @@ -70,7 +70,7 @@ private slots: QTranslator m_translator; // contains the translations for this application QTranslator m_translatorQt; // contains the translations for qt QString m_currLang; // contains the currently loaded language - QString m_langPath; // Path of language files. This is always fixed to /languages. + QString m_langPath; // Path of language files. This is always fixed to /translations. static MainWindow* m_instance; diff --git a/src/gui/TransactionDetailsDialog.cpp b/src/gui/TransactionDetailsDialog.cpp index 2c46810..dcdf827 100644 --- a/src/gui/TransactionDetailsDialog.cpp +++ b/src/gui/TransactionDetailsDialog.cpp @@ -16,6 +16,7 @@ #include "ui_transactiondetailsdialog.h" using namespace CryptoNote; +using namespace Qwertycoin; namespace WalletGui { diff --git a/src/gui/TransactionsModel.cpp b/src/gui/TransactionsModel.cpp index 5bf2921..5815a82 100644 --- a/src/gui/TransactionsModel.cpp +++ b/src/gui/TransactionsModel.cpp @@ -18,6 +18,8 @@ #include "AddressBookModel.h" #include "WalletAdapter.h" +using namespace Qwertycoin; + namespace WalletGui { namespace { @@ -408,7 +410,7 @@ QVariant TransactionsModel::getUserRole(const QModelIndex& _index, int _role, Cr case ROLE_SECRET_KEY: { if (_transaction.secretKey) { Crypto::SecretKey txkey = _transaction.secretKey.get(); - if (txkey != CryptoNote::NULL_SECRET_KEY) { + if (txkey != NULL_SECRET_KEY) { return QByteArray(reinterpret_cast(&txkey), sizeof(txkey)); } } diff --git a/src/languages/CMakeLists.txt b/src/languages/CMakeLists.txt deleted file mode 100644 index b669f25..0000000 --- a/src/languages/CMakeLists.txt +++ /dev/null @@ -1,16 +0,0 @@ -set_directory_properties(PROPERTIES CLEAN_NO_CUSTOM 1) - -### translation stuff - -file(GLOB TRANSLATION_FILES ${CMAKE_CURRENT_LIST_DIR}/*.ts) - -qt5_create_translation(TRANSLATION_MESSAGES ${FILES_TO_TRANSLATE} ${TRANSLATION_FILES}) -qt5_add_translation(TRANSLATION_QM ${TRANSLATION_FILES}) -add_custom_target(translations_update DEPENDS ${TRANSLATION_MESSAGES}) -add_custom_target(translations DEPENDS ${TRANSLATION_QM}) - -if(APPLE AND UNIX) ## OSX - install(FILES ${TRANSLATION_QM} DESTINATION MultiMC.app/Contents/Resources/translations) -else() - install(FILES ${TRANSLATION_QM} DESTINATION translations) -endif() \ No newline at end of file diff --git a/src/languages/de.qm b/src/languages/de.qm index 0ed8509..494c7a6 100644 Binary files a/src/languages/de.qm and b/src/languages/de.qm differ diff --git a/src/languages/en.qm b/src/languages/en.qm deleted file mode 100644 index 9dad8df..0000000 Binary files a/src/languages/en.qm and /dev/null differ diff --git a/src/languages/qt_ar.qm b/src/languages/qt_ar.qm deleted file mode 100644 index e5dd38d..0000000 Binary files a/src/languages/qt_ar.qm and /dev/null differ diff --git a/src/languages/qt_de.qm b/src/languages/qt_de.qm deleted file mode 100644 index 3650eec..0000000 Binary files a/src/languages/qt_de.qm and /dev/null differ diff --git a/src/languages/qt_en.qm b/src/languages/qt_en.qm deleted file mode 100644 index be651ee..0000000 --- a/src/languages/qt_en.qm +++ /dev/null @@ -1 +0,0 @@ -<¸dÊÍ!¿`¡½Ý \ No newline at end of file diff --git a/src/languages/qt_es.qm b/src/languages/qt_es.qm deleted file mode 100644 index 78b4825..0000000 Binary files a/src/languages/qt_es.qm and /dev/null differ diff --git a/src/languages/qt_fa.qm b/src/languages/qt_fa.qm deleted file mode 100644 index 0968c5d..0000000 Binary files a/src/languages/qt_fa.qm and /dev/null differ diff --git a/src/languages/qt_fr.qm b/src/languages/qt_fr.qm deleted file mode 100644 index d40706b..0000000 Binary files a/src/languages/qt_fr.qm and /dev/null differ diff --git a/src/languages/qt_it.qm b/src/languages/qt_it.qm deleted file mode 100644 index a4b9f25..0000000 Binary files a/src/languages/qt_it.qm and /dev/null differ diff --git a/src/languages/qt_ja.qm b/src/languages/qt_ja.qm deleted file mode 100644 index 99648ea..0000000 Binary files a/src/languages/qt_ja.qm and /dev/null differ diff --git a/src/languages/qt_ko.qm b/src/languages/qt_ko.qm deleted file mode 100644 index c01c33b..0000000 Binary files a/src/languages/qt_ko.qm and /dev/null differ diff --git a/src/languages/qt_pl.qm b/src/languages/qt_pl.qm deleted file mode 100644 index c2ea094..0000000 Binary files a/src/languages/qt_pl.qm and /dev/null differ diff --git a/src/languages/qt_pt.qm b/src/languages/qt_pt.qm deleted file mode 100644 index 9ac3b08..0000000 Binary files a/src/languages/qt_pt.qm and /dev/null differ diff --git a/src/languages/qt_ru.qm b/src/languages/qt_ru.qm deleted file mode 100644 index d54bae8..0000000 Binary files a/src/languages/qt_ru.qm and /dev/null differ diff --git a/src/languages/qt_uk.qm b/src/languages/qt_uk.qm deleted file mode 100644 index 24bccec..0000000 Binary files a/src/languages/qt_uk.qm and /dev/null differ diff --git a/src/qwertycoinwallet.desktop b/src/qwertycoinwallet.desktop index 0f4e27f..d59bb9e 100644 --- a/src/qwertycoinwallet.desktop +++ b/src/qwertycoinwallet.desktop @@ -21,4 +21,4 @@ Type=Application Icon=qwertycoin MimeType=x-scheme-handler/qwertycoin; Categories=Office;Finance; -Version=5.2.0 \ No newline at end of file +Version=5.2.2 \ No newline at end of file diff --git a/src/version.h.in b/src/version.h.in index daaa416..fa4e9bc 100644 --- a/src/version.h.in +++ b/src/version.h.in @@ -8,8 +8,8 @@ #define PROJECT_COPYRIGHT "@PROJECT_COPYRIGHT@" #define APP_VER_MAJOR 5 #define APP_VER_MINOR 2 -#define APP_VER_REV 0 -#define APP_VER_BUILD 3083 +#define APP_VER_REV 2 +#define APP_VER_BUILD 4052 #define BUILD_COMMIT_ID "@PROJECT_GIT_COMMIT_ID@" #define PROJECT_VERSION STR(APP_VER_MAJOR) "." STR(APP_VER_MINOR) "." STR(APP_VER_REV)