diff --git a/.gitmodules b/.gitmodules index ac11bb78..b3d68628 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,4 +1,4 @@ -[submodule "monero"] - path = monero - url = https://github.com/monero-project/monero +[submodule "wownero"] + path = wownero + url = https://github.com/wownero/wownero ignore = all diff --git a/LeftPanel.qml b/LeftPanel.qml index 21f1e0a2..3ecb7a01 100644 --- a/LeftPanel.qml +++ b/LeftPanel.qml @@ -237,7 +237,7 @@ Rectangle { if (persistentSettings.fiatPriceEnabled && persistentSettings.fiatPriceToggle) { return appWindow.fiatApiCurrencySymbol(); } else { - return "XMR" + return "⍵" } } color: MoneroComponents.Style.blackTheme ? "white" : "black" diff --git a/README.md b/README.md index 4b6a6f53..8ea2b6a6 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# Monero GUI +# ~~Monero GUI~~ Wownero App Copyright (c) 2014-2019, The Monero Project diff --git a/android/docker/Dockerfile b/android/docker/Dockerfile index 286e3baf..725eb2a4 100644 --- a/android/docker/Dockerfile +++ b/android/docker/Dockerfile @@ -92,8 +92,8 @@ RUN cp openssl/lib* ${ANDROID_NDK_ROOT}/platforms/${ANDROID_API}/arch-arm/usr/li RUN cp boost_${BOOST_VERSION}/android32/lib/lib* ${ANDROID_NDK_ROOT}/platforms/${ANDROID_API}/arch-arm/usr/lib RUN cp ZBar/android/obj/local/armeabi-v7a/lib* ${ANDROID_NDK_ROOT}/platforms/${ANDROID_API}/arch-arm/usr/lib -RUN git clone https://github.com/monero-project/monero-gui.git \ - && cd monero-gui \ +RUN git clone https://github.com/wownero/wownero-app.git \ + && cd wownero-app \ && git submodule update \ && CC=arm-linux-androideabi-clang CXX=arm-linux-androideabi-clang++ BOOST_ROOT=/opt/android/boost_1_62_0 \ BOOST_LIBRARYDIR=${WORKDIR}/boost_${BOOST_VERSION}/android32/lib/ \ diff --git a/build.sh b/build.sh index 81e2dff8..ddccf5df 100755 --- a/build.sh +++ b/build.sh @@ -64,8 +64,8 @@ fi source ./utils.sh pushd $(pwd) ROOT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" -MONERO_DIR=monero -MONEROD_EXEC=monerod +MONERO_DIR=wownero +MONEROD_EXEC=wownerod MAKE='make' if [[ $platform == *bsd* ]]; then @@ -93,9 +93,9 @@ if [ "$ANDROID" != true ] && ([ "$platform" == "linux32" ] || [ "$platform" == " fi if [ "$platform" == "darwin" ]; then - BIN_PATH=$BIN_PATH/monero-wallet-gui.app/Contents/MacOS/ + BIN_PATH=$BIN_PATH/wownero-app.app/Contents/MacOS/ elif [ "$platform" == "mingw64" ] || [ "$platform" == "mingw32" ]; then - MONEROD_EXEC=monerod.exe + MONEROD_EXEC=wownerod.exe fi # force version update @@ -111,7 +111,7 @@ if ! QMAKE=$(find_command qmake qmake-qt5); then echo "Failed to find suitable qmake command." exit 1 fi -$QMAKE ../monero-wallet-gui.pro "$CONFIG" || exit +$QMAKE ../wownero-app.pro "$CONFIG" || exit $MAKE || exit # Copy monerod to bin folder diff --git a/get_libwallet_api.sh b/get_libwallet_api.sh index 82fd94d3..c40e6130 100755 --- a/get_libwallet_api.sh +++ b/get_libwallet_api.sh @@ -1,5 +1,5 @@ #!/bin/bash -MONERO_URL=https://github.com/monero-project/monero.git +MONERO_URL=https://github.com/wownero/wownero.git MONERO_BRANCH=master pushd $(pwd) @@ -8,12 +8,12 @@ ROOT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" source $ROOT_DIR/utils.sh INSTALL_DIR=$ROOT_DIR/wallet -MONERO_DIR=$ROOT_DIR/monero +MONERO_DIR=$ROOT_DIR/wownero BUILD_LIBWALLET=false # init and update monero submodule if [ ! -d $MONERO_DIR/src ]; then - git submodule init monero + git submodule init wownero fi git submodule update --remote git -C $MONERO_DIR fetch @@ -32,14 +32,14 @@ git -C $MONERO_DIR checkout -B $VERSIONTAG # Save current user settings and revert back when we are done with merging PR's OLD_GIT_USER=$(git -C $MONERO_DIR config --local user.name) OLD_GIT_EMAIL=$(git -C $MONERO_DIR config --local user.email) -git -C $MONERO_DIR config user.name "Monero GUI" -git -C $MONERO_DIR config user.email "gui@monero.local" +git -C $MONERO_DIR config user.name "Wownero App" +git -C $MONERO_DIR config user.email "app@wownero.local" # check for PR requirements in most recent commit message (i.e requires #xxxx) for PR in $(git log --format=%B -n 1 | grep -io "requires #[0-9]*" | sed 's/[^0-9]*//g'); do echo "Merging monero push request #$PR" # fetch pull request and merge git -C $MONERO_DIR fetch origin pull/$PR/head:PR-$PR - git -C $MONERO_DIR merge --quiet PR-$PR -m "Merge monero PR #$PR" + git -C $MONERO_DIR merge --quiet PR-$PR -m "Merge wownero PR #$PR" BUILD_LIBWALLET=true done @@ -281,6 +281,6 @@ if [ -d $MONERO_DIR/build/$BUILD_TYPE/external/unbound ]; then fi # install randomx -eval make -C $MONERO_DIR/build/$BUILD_TYPE/external/randomx all install +eval make -C $MONERO_DIR/build/$BUILD_TYPE/external/RandomWOW all install popd diff --git a/images/appicon.icns b/images/appicon.icns old mode 100755 new mode 100644 index b87cae95..9d2e422d Binary files a/images/appicon.icns and b/images/appicon.icns differ diff --git a/images/appicon.ico b/images/appicon.ico index 9fc0ca80..a98b5982 100644 Binary files a/images/appicon.ico and b/images/appicon.ico differ diff --git a/images/appicons/128x128.png b/images/appicons/128x128.png index 15d5dcf5..158e07cd 100755 Binary files a/images/appicons/128x128.png and b/images/appicons/128x128.png differ diff --git a/images/appicons/16x16.png b/images/appicons/16x16.png index 0d8eb3fd..b4872068 100755 Binary files a/images/appicons/16x16.png and b/images/appicons/16x16.png differ diff --git a/images/appicons/24x24.png b/images/appicons/24x24.png index 1d3d140d..0c4b31c6 100755 Binary files a/images/appicons/24x24.png and b/images/appicons/24x24.png differ diff --git a/images/appicons/256x256.png b/images/appicons/256x256.png index 9293a3d6..12ed7e97 100755 Binary files a/images/appicons/256x256.png and b/images/appicons/256x256.png differ diff --git a/images/appicons/32x32.png b/images/appicons/32x32.png index d547a469..8b81a608 100755 Binary files a/images/appicons/32x32.png and b/images/appicons/32x32.png differ diff --git a/images/appicons/48x48.png b/images/appicons/48x48.png index 17a5d040..137e0c26 100755 Binary files a/images/appicons/48x48.png and b/images/appicons/48x48.png differ diff --git a/images/appicons/64x64.png b/images/appicons/64x64.png index c504f89e..20feb8e5 100755 Binary files a/images/appicons/64x64.png and b/images/appicons/64x64.png differ diff --git a/images/appicons/96x96.png b/images/appicons/96x96.png index f01ea8c4..3b10e808 100755 Binary files a/images/appicons/96x96.png and b/images/appicons/96x96.png differ diff --git a/images/card-background-black@2x.png b/images/card-background-black@2x.png index 9e68d910..82bc477f 100755 Binary files a/images/card-background-black@2x.png and b/images/card-background-black@2x.png differ diff --git a/images/card-background-white.png b/images/card-background-white.png index b638ac04..b3598003 100755 Binary files a/images/card-background-white.png and b/images/card-background-white.png differ diff --git a/images/card-background-white@2x.png b/images/card-background-white@2x.png index e4276d44..8d328379 100755 Binary files a/images/card-background-white@2x.png and b/images/card-background-white@2x.png differ diff --git a/images/merchant/bg.png b/images/merchant/bg.png index d9849de4..f4649d70 100644 Binary files a/images/merchant/bg.png and b/images/merchant/bg.png differ diff --git a/images/miningxmr.png b/images/miningxmr.png index 81fb7689..6dc86aa3 100644 Binary files a/images/miningxmr.png and b/images/miningxmr.png differ diff --git a/images/miningxmr@2x.png b/images/miningxmr@2x.png index aff06b4d..670f8fda 100644 Binary files a/images/miningxmr@2x.png and b/images/miningxmr@2x.png differ diff --git a/images/moneroIcon-28x28.png b/images/moneroIcon-28x28.png index 1d77f462..17875058 100644 Binary files a/images/moneroIcon-28x28.png and b/images/moneroIcon-28x28.png differ diff --git a/images/moneroIcon-28x28@2x.png b/images/moneroIcon-28x28@2x.png index 31615c9d..17875058 100644 Binary files a/images/moneroIcon-28x28@2x.png and b/images/moneroIcon-28x28@2x.png differ diff --git a/images/moneroIcon.png b/images/moneroIcon.png new file mode 100644 index 00000000..92e6fb00 Binary files /dev/null and b/images/moneroIcon.png differ diff --git a/images/moneroLogo2.png b/images/moneroLogo2.png new file mode 100644 index 00000000..f8dd3d06 Binary files /dev/null and b/images/moneroLogo2.png differ diff --git a/images/moneroLogo_white.png b/images/moneroLogo_white.png index 9d05cbcd..abbbe7b3 100644 Binary files a/images/moneroLogo_white.png and b/images/moneroLogo_white.png differ diff --git a/images/themes/white/Monero-Logo.png b/images/themes/white/Monero-Logo.png new file mode 100644 index 00000000..dbe0012b Binary files /dev/null and b/images/themes/white/Monero-Logo.png differ diff --git a/images/themes/white/titlebarLogo.png b/images/themes/white/titlebarLogo.png index af86b716..b3321c7d 100644 Binary files a/images/themes/white/titlebarLogo.png and b/images/themes/white/titlebarLogo.png differ diff --git a/images/themes/white/titlebarLogo@2x.png b/images/themes/white/titlebarLogo@2x.png index fedc59f7..5a810f9c 100755 Binary files a/images/themes/white/titlebarLogo@2x.png and b/images/themes/white/titlebarLogo@2x.png differ diff --git a/images/titlebarLogo.png b/images/titlebarLogo.png index 92e7c3b5..7a39ac8f 100644 Binary files a/images/titlebarLogo.png and b/images/titlebarLogo.png differ diff --git a/images/titlebarLogo@2x.png b/images/titlebarLogo@2x.png index 1285073a..ede20a55 100755 Binary files a/images/titlebarLogo@2x.png and b/images/titlebarLogo@2x.png differ diff --git a/installers/windows/Monero.iss b/installers/windows/Monero.iss index 975d77df..afb7324d 100644 --- a/installers/windows/Monero.iss +++ b/installers/windows/Monero.iss @@ -367,4 +367,4 @@ Root: HKCR; Subkey: "monero\shell\open\command"; ValueType: "string"; ValueData: Root: HKCR; Subkey: "moneroseed"; ValueType: "string"; ValueData: "URL:Monero Seed Node Protocol"; Flags: uninsdeletekey Root: HKCR; Subkey: "moneroseed"; ValueType: "string"; ValueName: "URL Protocol"; ValueData: "" Root: HKCR; Subkey: "moneroseed\DefaultIcon"; ValueType: "string"; ValueData: "{app}\monero-wallet-gui.exe,0" -Root: HKCR; Subkey: "moneroseed\shell\open\command"; ValueType: "string"; ValueData: """{app}\monero-wallet-gui.exe"" ""%1""" +Root: HKCR; Subkey: "moneroseed\shell\open\command"; ValueType: "string"; ValueData: """{app}\monero-wallet-gui.exe"" ""%1""" \ No newline at end of file diff --git a/installers/windows/monero-daemon.bat b/installers/windows/wownero-daemon.bat similarity index 63% rename from installers/windows/monero-daemon.bat rename to installers/windows/wownero-daemon.bat index 414d240c..12db3f49 100644 --- a/installers/windows/monero-daemon.bat +++ b/installers/windows/wownero-daemon.bat @@ -1,3 +1,3 @@ REM Execute the Monero daemon and then stay with window open after it exits -"C:\Program Files\Monero Core\monerod.exe" +"C:\Program Files\Monero Core\wownerod.exe" PAUSE diff --git a/ios_get_libwallet.api.sh b/ios_get_libwallet.api.sh index df07a98e..0b486101 100755 --- a/ios_get_libwallet.api.sh +++ b/ios_get_libwallet.api.sh @@ -26,22 +26,22 @@ if [ -z $OPENSSL_ROOT_DIR ]; then fi echo "Building IOS armv7" -rm -r monero/build > /dev/null -mkdir -p monero/build/release -pushd monero/build/release -cmake -D IOS=ON -D ARCH=armv7 -D BOOST_LIBRARYDIR=${BOOST_INCLUDEDIR} -D BOOST_INCLUDEDIR=${BOOST_INCLUDEDIR} -D OPENSSL_INCLUDE_DIR=${OPENSSL_INCLUDE_DIR} -D OPENSSL_ROOT_DIR=${OPENSSL_ROOT_DIR} -D CMAKE_BUILD_TYPE=debug -D STATIC=ON -D BUILD_GUI_DEPS=ON -D INSTALL_VENDORED_LIBUNBOUND=ON -D CMAKE_INSTALL_PREFIX="/Users/jacob/crypto/monero-core/monero" ../.. +rm -r wownero/build > /dev/null +mkdir -p wownero/build/release +pushd wownero/build/release +cmake -D IOS=ON -D ARCH=armv7 -D BOOST_LIBRARYDIR=${BOOST_INCLUDEDIR} -D BOOST_INCLUDEDIR=${BOOST_INCLUDEDIR} -D OPENSSL_INCLUDE_DIR=${OPENSSL_INCLUDE_DIR} -D OPENSSL_ROOT_DIR=${OPENSSL_ROOT_DIR} -D CMAKE_BUILD_TYPE=debug -D STATIC=ON -D BUILD_GUI_DEPS=ON -D INSTALL_VENDORED_LIBUNBOUND=ON -D CMAKE_INSTALL_PREFIX="/Users/jacob/crypto/wownero-app/wownero" ../.. make -j4 && make install popd echo "Building IOS arm64" -rm -r monero/build > /dev/null -mkdir -p monero/build/release -pushd monero/build/release -cmake -D IOS=ON -D ARCH=armv8-a -D BOOST_LIBRARYDIR=${BOOST_INCLUDEDIR} -D BOOST_INCLUDEDIR=${BOOST_INCLUDEDIR} -D OPENSSL_INCLUDE_DIR=${OPENSSL_INCLUDE_DIR} -D OPENSSL_ROOT_DIR=${OPENSSL_ROOT_DIR} -D CMAKE_BUILD_TYPE=debug -D STATIC=ON -D BUILD_GUI_DEPS=ON -D INSTALL_VENDORED_LIBUNBOUND=ON -D CMAKE_INSTALL_PREFIX="/Users/jacob/crypto/monero-core/monero" ../.. +rm -r wownero/build > /dev/null +mkdir -p wownero/build/release +pushd wownero/build/release +cmake -D IOS=ON -D ARCH=armv8-a -D BOOST_LIBRARYDIR=${BOOST_INCLUDEDIR} -D BOOST_INCLUDEDIR=${BOOST_INCLUDEDIR} -D OPENSSL_INCLUDE_DIR=${OPENSSL_INCLUDE_DIR} -D OPENSSL_ROOT_DIR=${OPENSSL_ROOT_DIR} -D CMAKE_BUILD_TYPE=debug -D STATIC=ON -D BUILD_GUI_DEPS=ON -D INSTALL_VENDORED_LIBUNBOUND=ON -D CMAKE_INSTALL_PREFIX="/Users/jacob/crypto/wownero-app/wownero" ../.. make -j4 && make install popd echo "Creating fat library for armv7 and arm64" -pushd monero +pushd wownero mkdir -p lib-ios lipo -create lib-armv7/libwallet_merged.a lib-arm64/libwallet_merged.a -output lib-ios/libwallet_merged.a lipo -create lib-armv7/libunbound.a lib-arm64/libunbound.a -output lib-ios/libunbound.a diff --git a/main.qml b/main.qml index 4d237ace..fb0b15e4 100644 --- a/main.qml +++ b/main.qml @@ -84,7 +84,7 @@ ApplicationWindow { readonly property string localDaemonAddress : "localhost:" + getDefaultDaemonRpcPort(persistentSettings.nettype) property string currentDaemonAddress; property int disconnectedEpoch: 0 - property int estimatedBlockchainSize: 75 // GB + property int estimatedBlockchainSize: 2 // GB property alias viewState: rootItem.state property string prevSplashText; property bool splashDisplayedBeforeButtonRequest; @@ -96,17 +96,9 @@ ApplicationWindow { property real fiatPriceXMREUR: 0 property var fiatPriceAPIs: { return { - "kraken": { - "xmrusd": "https://api.kraken.com/0/public/Ticker?pair=XMRUSD", - "xmreur": "https://api.kraken.com/0/public/Ticker?pair=XMREUR" - }, "coingecko": { - "xmrusd": "https://api.coingecko.com/api/v3/simple/price?ids=monero&vs_currencies=usd", - "xmreur": "https://api.coingecko.com/api/v3/simple/price?ids=monero&vs_currencies=eur" - }, - "cryptocompare": { - "xmrusd": "https://min-api.cryptocompare.com/data/price?fsym=XMR&tsyms=USD", - "xmreur": "https://min-api.cryptocompare.com/data/price?fsym=XMR&tsyms=EUR", + "wowusd": "https://api.coingecko.com/api/v3/simple/price?ids=wownero&vs_currencies=usd", + "woweur": "https://api.coingecko.com/api/v3/simple/price?ids=wownero&vs_currencies=eur" } } } @@ -331,7 +323,7 @@ ApplicationWindow { if(!wallet || wallet === undefined || wallet.path === undefined){ informationPopup.title = qsTr("Error") + translationManager.emptyString; - informationPopup.text = qsTr("Couldn't open wallet: ") + 'please restart GUI.'; + informationPopup.text = qsTr("Couldn't open wallet: ") + 'please restart App.'; informationPopup.icon = StandardIcon.Critical informationPopup.open() informationPopup.onCloseCallback = function() { @@ -431,8 +423,8 @@ ApplicationWindow { } function onUriHandler(uri){ - if(uri.startsWith("monero://")){ - var address = uri.substring("monero://".length); + if(uri.startsWith("wownero://")){ + var address = uri.substring("wownero://".length); var params = {} if(address.length === 0) return; @@ -723,7 +715,7 @@ ApplicationWindow { // resume refresh currentWallet.startRefresh(); informationPopup.title = qsTr("Daemon failed to start") + translationManager.emptyString; - informationPopup.text = error + ".\n\n" + qsTr("Please check your wallet and daemon log for errors. You can also try to start %1 manually.").arg((isWindows)? "monerod.exe" : "monerod") + informationPopup.text = error + ".\n\n" + qsTr("Please check your wallet and daemon log for errors. You can also try to start %1 manually.").arg((isWindows)? "wownerod.exe" : "wownerod") informationPopup.icon = StandardIcon.Critical informationPopup.onCloseCallback = null informationPopup.open(); @@ -1165,18 +1157,18 @@ ApplicationWindow { return; } - var key = currency === "xmreur" ? "XXMRZEUR" : "XXMRZUSD"; + var key = currency === "woweur" ? "XWOWZEUR" : "XWOWZUSD"; var ticker = resp.result[key]["o"]; return ticker; } else if(url.startsWith("https://api.coingecko.com/api/v3/")){ - var key = currency === "xmreur" ? "eur" : "usd"; - if(!resp.hasOwnProperty("monero") || !resp["monero"].hasOwnProperty(key)){ + var key = currency === "woweur" ? "eur" : "usd"; + if(!resp.hasOwnProperty("wownero") || !resp["wownero"].hasOwnProperty(key)){ appWindow.fiatApiError("Coingecko API has error(s)"); return; } - return resp["monero"][key]; + return resp["wownero"][key]; } else if(url.startsWith("https://min-api.cryptocompare.com/data/")){ - var key = currency === "xmreur" ? "EUR" : "USD"; + var key = currency === "woweur" ? "EUR" : "USD"; if(!resp.hasOwnProperty(key)){ appWindow.fiatApiError("cryptocompare API has error(s)"); return; @@ -1353,7 +1345,7 @@ ApplicationWindow { id: persistentSettings fileName: { if(isTails && tailsUsePersistence) - return homePath + "/Persistent/Monero/monero-core.conf"; + return homePath + "/Persistent/Wownero/wownero-app.conf"; return ""; } @@ -1381,9 +1373,9 @@ ApplicationWindow { property string blockchainDataDir: "" property bool useRemoteNode: false property string remoteNodeAddress: "" - property string bootstrapNodeAddress: "" - property bool segregatePreForkOutputs: true - property bool keyReuseMitigation2: true + property string bootstrapNodeAddress: "node.wowne.ro:34568" + property bool segregatePreForkOutputs: false + property bool keyReuseMitigation2: false property int segregationHeight: 0 property int kdfRounds: 1 property bool hideBalance: false @@ -1398,8 +1390,8 @@ ApplicationWindow { property bool fiatPriceEnabled: false property bool fiatPriceToggle: false - property string fiatPriceProvider: "kraken" - property string fiatPriceCurrency: "xmrusd" + property string fiatPriceProvider: "coingecko" + property string fiatPriceCurrency: "wowusd" Component.onCompleted: { MoneroComponents.Style.blackTheme = persistentSettings.blackTheme @@ -2048,7 +2040,7 @@ ApplicationWindow { function checkUpdates() { const version = Version.GUI_VERSION.match(/\d+\.\d+\.\d+\.\d+/); if (version) { - walletManager.checkUpdatesAsync("monero-gui", "gui", getBuildTag(), version[0]); + walletManager.checkUpdatesAsync("wownero-app", "app", getBuildTag(), version[0]); } else { console.error("failed to parse version number", Version.GUI_VERSION); } @@ -2122,9 +2114,9 @@ ApplicationWindow { case NetworkType.STAGENET: return 38081; case NetworkType.TESTNET: - return 28081; + return 11181; default: - return 18081; + return 34568; } } diff --git a/monero b/monero deleted file mode 160000 index ab594cfe..00000000 --- a/monero +++ /dev/null @@ -1 +0,0 @@ -Subproject commit ab594cfee94dff87bb7039724563f6177a892b8b diff --git a/pages/AddressBook.qml b/pages/AddressBook.qml index 315892ff..3792c119 100644 --- a/pages/AddressBook.qml +++ b/pages/AddressBook.qml @@ -90,7 +90,7 @@ Rectangle { wrapMode: Text.WordWrap; leftPadding: 0 topPadding: 0 - text: qsTr("This makes it easier to send or receive Monero and reduces errors when typing in addresses manually.") + translationManager.emptyString + text: qsTr("This makes it easier to send or receive Wownero and reduces errors when typing in addresses manually.") + translationManager.emptyString width: parent.width } @@ -296,7 +296,7 @@ Rectangle { .arg(qsTr("Address")) + translationManager.emptyString placeholderText: { if(persistentSettings.nettype == NetworkType.MAINNET){ - return "4.. / 8.. / OpenAlias"; + return "Wo.. / WW.. / OpenAlias"; } else if (persistentSettings.nettype == NetworkType.STAGENET){ return "5.. / 7.."; } else if(persistentSettings.nettype == NetworkType.TESTNET){ diff --git a/pages/History.qml b/pages/History.qml index 82d4abfb..3d720492 100644 --- a/pages/History.qml +++ b/pages/History.qml @@ -711,7 +711,7 @@ Rectangle { font.pixelSize: 15 text: { if(!isout && confirmationsRequired === 60) return qsTr("Yes") + translationManager.emptyString; - if(fee !== "") return fee + " XMR"; + if(fee !== "") return fee + " WOW"; return "-"; } diff --git a/pages/Mining.qml b/pages/Mining.qml index b1756e82..eabb2ffb 100644 --- a/pages/Mining.qml +++ b/pages/Mining.qml @@ -68,7 +68,7 @@ Rectangle { MoneroComponents.TextPlain { id: soloMainLabel - text: qsTr("Mining with your computer helps strengthen the Monero network. The more that people mine, the harder it is for the network to be attacked, and every little bit helps.\n\nMining also gives you a small chance to earn some Monero. Your computer will create hashes looking for block solutions. If you find a block, you will get the associated reward. Good luck!") + translationManager.emptyString + text: qsTr("Mining with your computer helps strengthen the Wownero network. The more that people mine, the harder it is for the network to be attacked, and every little bit helps.\n\nMining also gives you a small chance to earn some Wownero. Your computer will create hashes looking for block solutions. If you find a block, you will get the associated reward. Good luck!") + translationManager.emptyString wrapMode: Text.Wrap Layout.fillWidth: true font.family: MoneroComponents.Style.fontRegular.name diff --git a/pages/SharedRingDB.qml b/pages/SharedRingDB.qml index cca3b137..23c34d52 100644 --- a/pages/SharedRingDB.qml +++ b/pages/SharedRingDB.qml @@ -102,7 +102,7 @@ Rectangle { MoneroComponents.TextPlain { text: qsTr("This page allows you to interact with the shared ring database. " + - "This database is meant for use by Monero wallets as well as wallets from Monero clones which reuse the Monero keys.") + translationManager.emptyString + "This database is meant for use by Wownero wallets as well as wallets from Wownero clones which reuse the Wownero keys.") + translationManager.emptyString wrapMode: Text.Wrap Layout.fillWidth: true font.family: MoneroComponents.Style.fontRegular.name @@ -118,16 +118,16 @@ Rectangle { onLinkActivated: { sharedRingDBDialog.title = qsTr("Outputs marked as spent") + translationManager.emptyString; sharedRingDBDialog.text = qsTr( - "In order to obscure which inputs in a Monero transaction are being spent, a third party should not be able " + + "In order to obscure which inputs in a Wownero transaction are being spent, a third party should not be able " + "to tell which inputs in a ring are already known to be spent. Being able to do so would weaken the protection " + "afforded by ring signatures. If all but one of the inputs are known to be already spent, then the input being " + "actually spent becomes apparent, thereby nullifying the effect of ring signatures, one of the three main layers " + - "of privacy protection Monero uses.
" + + "of privacy protection Wownero uses.
" + "To help transactions avoid those inputs, a list of known spent ones can be used to avoid using them in new " + - "transactions. Such a list is maintained by the Monero project and is available on the getmonero.org website, " + + "transactions. Such a list is maintained by the Wownero project and is available on the wownero.org website, " + "and you can import this list here.
" + - "Alternatively, you can scan the blockchain (and the blockchain of key-reusing Monero clones) yourself " + - "using the monero-blockchain-mark-spent-outputs tool to create a list of known spent outputs.
" + "Alternatively, you can scan the blockchain (and the blockchain of key-reusing Wownero clones) yourself " + + "using the wownero-blockchain-mark-spent-outputs tool to create a list of known spent outputs.
" ) + translationManager.emptyString sharedRingDBDialog.icon = StandardIcon.Information sharedRingDBDialog.open() @@ -255,16 +255,16 @@ Rectangle { onLinkActivated: { sharedRingDBDialog.title = qsTr("Rings") + translationManager.emptyString; sharedRingDBDialog.text = qsTr( - "In order to avoid nullifying the protection afforded by Monero's ring signatures, an output should not " + + "In order to avoid nullifying the protection afforded by Wownero's ring signatures, an output should not " + "be spent with different rings on different blockchains. While this is normally not a concern, it can become one " + - "when a key-reusing Monero clone allows you to spend existing outputs. In this case, you need to ensure this " + + "when a key-reusing Wownero clone allows you to spend existing outputs. In this case, you need to ensure this " + "existing outputs uses the same ring on both chains.
" + - "This will be done automatically by Monero and any key-reusing software which is not trying to actively strip " + + "This will be done automatically by Wownero and any key-reusing software which is not trying to actively strip " + "you of your privacy.
" + - "If you are using a key-reusing Monero clone too, and this clone does not include this protection, you can still " + + "If you are using a key-reusing Wownero clone too, and this clone does not include this protection, you can still " + "ensure your transactions are protected by spending on the clone first, then manually adding the ring on this page, " + - "which allows you to then spend your Monero safely.
" + - "If you do not use a key-reusing Monero clone without these safety features, then you do not need to do anything " + + "which allows you to then spend your Wownero safely.
" + + "If you do not use a key-reusing Wownero clone without these safety features, then you do not need to do anything " + "as it is all automated.
" ) + translationManager.emptyString sharedRingDBDialog.icon = StandardIcon.Information @@ -276,7 +276,7 @@ Rectangle { textFormat: Text.RichText font.family: MoneroComponents.Style.fontRegular.name font.pixelSize: 14 - text: qsTr("This records rings used by outputs spent on Monero on a key reusing chain, so that the same ring may be reused to avoid privacy issues.") + translationManager.emptyString + text: qsTr("This records rings used by outputs spent on Wownero on a key reusing chain, so that the same ring may be reused to avoid privacy issues.") + translationManager.emptyString wrapMode: Text.Wrap Layout.fillWidth: true; color: MoneroComponents.Style.defaultFontColor diff --git a/pages/Sign.qml b/pages/Sign.qml index 3e752c1c..717134b9 100644 --- a/pages/Sign.qml +++ b/pages/Sign.qml @@ -339,7 +339,7 @@ Rectangle { labelText: qsTr("Address") + translationManager.emptyString addressValidation: true placeholderFontSize: 16 - placeholderText: qsTr("Enter the Monero Address (example: 44AFFq5kSiGBoZ...)") + translationManager.emptyString + placeholderText: qsTr("Enter the Wownero Address (example: WoAFFq5kSiGBoZ...)") + translationManager.emptyString wrapMode: Text.WrapAnywhere text: '' } diff --git a/pages/Transfer.qml b/pages/Transfer.qml index 5b136a63..9297c870 100644 --- a/pages/Transfer.qml +++ b/pages/Transfer.qml @@ -51,7 +51,7 @@ Rectangle { color: "transparent" property alias transferHeight1: pageRoot.height property alias transferHeight2: advancedLayout.height - property int mixin: 10 // (ring size 11) + property int mixin: 21 // (ring size 22) property string warningContent: "" property string sendButtonWarning: { // Currently opened wallet is not view-only @@ -159,7 +159,7 @@ Rectangle { visible: leftPanel.minutesToUnlock !== "" MoneroComponents.WarningBox { - text: qsTr("Spendable funds: %1 XMR. Please wait ~%2 minutes for your whole balance to become spendable.").arg(leftPanel.balanceUnlockedString).arg(leftPanel.minutesToUnlock) + text: qsTr("Spendable funds: %1 WOW. Please wait ~%2 minutes for your whole balance to become spendable.").arg(leftPanel.balanceUnlockedString).arg(leftPanel.minutesToUnlock) } } @@ -177,7 +177,7 @@ Rectangle { labelButtonText: qsTr("Resolve") + translationManager.emptyString placeholderText: { if(persistentSettings.nettype == NetworkType.MAINNET){ - return "4.. / 8.. / OpenAlias"; + return "Wo.. / WW.. / OpenAlias"; } else if (persistentSettings.nettype == NetworkType.STAGENET){ return "5.. / 7.."; } else if(persistentSettings.nettype == NetworkType.TESTNET){ @@ -773,7 +773,7 @@ Rectangle { root.warningContent = messageNotConnected; break case Wallet.ConnectionStatus_WrongVersion: - root.warningContent = qsTr("Connected daemon is not compatible with GUI. \n" + + root.warningContent = qsTr("Connected daemon is not compatible with App. \n" + "Please upgrade or connect to another daemon") break default: diff --git a/pages/merchant/Merchant.qml b/pages/merchant/Merchant.qml index 52045999..4f9eee7f 100644 --- a/pages/merchant/Merchant.qml +++ b/pages/merchant/Merchant.qml @@ -449,7 +449,7 @@ Item { font.pixelSize: 14 font.bold: false color: "white" - text: qsTr("Amount to receive") + " (XMR)" + translationManager.emptyString + text: qsTr("Amount to receive") + " (WOW)" + translationManager.emptyString themeTransition: false } diff --git a/pages/settings/SettingsInfo.qml b/pages/settings/SettingsInfo.qml index 7fbb45e6..5164945f 100644 --- a/pages/settings/SettingsInfo.qml +++ b/pages/settings/SettingsInfo.qml @@ -67,7 +67,7 @@ Rectangle { MoneroComponents.TextBlock { font.pixelSize: 14 - text: qsTr("GUI version: ") + translationManager.emptyString + text: qsTr("App version: ") + translationManager.emptyString } MoneroComponents.TextBlock { @@ -97,7 +97,7 @@ Rectangle { MoneroComponents.TextBlock { id: guiMoneroVersion font.pixelSize: 14 - text: qsTr("Embedded Monero version: ") + translationManager.emptyString + text: qsTr("Embedded Wownero version: ") + translationManager.emptyString } MoneroComponents.TextBlock { @@ -388,7 +388,7 @@ Rectangle { onClicked: { var data = ""; data += "GUI version: " + Version.GUI_VERSION + " (Qt " + qtRuntimeVersion + ")"; - data += "\nEmbedded Monero version: " + Version.GUI_MONERO_VERSION; + data += "\nEmbedded Wownero version: " + Version.GUI_MONERO_VERSION; data += "\nWallet path: " + walletLocation.walletPath; data += "\nWallet creation height: "; diff --git a/pages/settings/SettingsLayout.qml b/pages/settings/SettingsLayout.qml index af00f024..f20982e2 100644 --- a/pages/settings/SettingsLayout.qml +++ b/pages/settings/SettingsLayout.qml @@ -256,11 +256,11 @@ Rectangle { ListModel { id: fiatPriceCurrencyModel ListElement { - data: "xmrusd" + data: "wowusd" column1: "USD" } ListElement { - data: "xmreur" + data: "woweur" column1: "EUR" } } diff --git a/pages/settings/SettingsNode.qml b/pages/settings/SettingsNode.qml index 960e7a35..0e860744 100644 --- a/pages/settings/SettingsNode.qml +++ b/pages/settings/SettingsNode.qml @@ -220,7 +220,7 @@ Rectangle{ wrapMode: Text.WordWrap; leftPadding: 0 topPadding: 0 - text: qsTr("Uses a third-party server to connect to the Monero network. Less secure, but easier on your computer.") + translationManager.emptyString + text: qsTr("Uses a third-party server to connect to the Wownero network. Less secure, but easier on your computer.") + translationManager.emptyString width: parent.width - (remoteNodeIcon.width + remoteNodeIcon.anchors.leftMargin + anchors.leftMargin) } @@ -257,7 +257,7 @@ Rectangle{ MoneroComponents.WarningBox { Layout.topMargin: 26 Layout.bottomMargin: 6 - text: qsTr("To find a remote node, type 'Monero remote node' into your favorite search engine. Please ensure the node is run by a trusted third-party.") + translationManager.emptyString + text: qsTr("To find a remote node, ask on IRC #Wownero.") + translationManager.emptyString } MoneroComponents.RemoteNodeEdit { diff --git a/share/Info.plist b/share/Info.plist index f087a028..24d3d11c 100644 --- a/share/Info.plist +++ b/share/Info.plist @@ -18,16 +18,16 @@ ???? CFBundleExecutable - monero-wallet-gui + wownero-app CFBundleName - Monero GUI + Wownero App NSHumanReadableCopyright Copyright © 2014-2020 The Monero Project CFBundleIdentifier - org.monero-project.monero-wallet-gui + org.wownero.wownero-app CFBundleVersion @VERSION_LONG@ @@ -45,10 +45,10 @@ CFBundleURLName - monero Handler + wownero Handler CFBundleURLSchemes - monero + wownero diff --git a/src/daemon/DaemonManager.cpp b/src/daemon/DaemonManager.cpp index bb72e66c..5fd76ef7 100644 --- a/src/daemon/DaemonManager.cpp +++ b/src/daemon/DaemonManager.cpp @@ -121,7 +121,7 @@ bool DaemonManager::start(const QString &flags, NetworkType::Type nettype, const arguments << "--max-concurrency" << QString::number(concurrency); } - qDebug() << "starting monerod " + m_monerod; + qDebug() << "starting wownerod " + m_monerod; qDebug() << "With command line arguments " << arguments; QMutexLocker locker(&m_daemonMutex); @@ -202,9 +202,9 @@ bool DaemonManager::stopWatcher(NetworkType::Type nettype) const if(counter >= 5) { qDebug() << "Killing it! "; #ifdef Q_OS_WIN - QProcess::execute("taskkill", {"/F", "/IM", "monerod.exe"}); + QProcess::execute("taskkill", {"/F", "/IM", "wownerod.exe"}); #else - QProcess::execute("pkill", {"monerod"}); + QProcess::execute("pkill", {"wownerod"}); #endif } @@ -322,9 +322,9 @@ QVariantMap DaemonManager::validateDataDir(const QString &dataDir) const valid = false; } - // Make sure there is 75GB storage available + // Make sure there is 5GB storage available storageAvailable = storage.bytesAvailable()/1000/1000/1000; - if (storageAvailable < 75) { + if (storageAvailable < 5) { valid = false; } } else { @@ -352,9 +352,9 @@ DaemonManager::DaemonManager(QObject *parent) // Platform depetent path to monerod #ifdef Q_OS_WIN - m_monerod = QApplication::applicationDirPath() + "/monerod.exe"; + m_monerod = QApplication::applicationDirPath() + "/wownerod.exe"; #elif defined(Q_OS_UNIX) - m_monerod = QApplication::applicationDirPath() + "/monerod"; + m_monerod = QApplication::applicationDirPath() + "/wownerod"; #endif if (m_monerod.length() == 0) { diff --git a/src/libwalletqt/Wallet.cpp b/src/libwalletqt/Wallet.cpp index dc4481ba..825318bb 100644 --- a/src/libwalletqt/Wallet.cpp +++ b/src/libwalletqt/Wallet.cpp @@ -854,7 +854,7 @@ void Wallet::setWalletCreationHeight(quint64 height) QString Wallet::getDaemonLogPath() const { - return QString::fromStdString(m_walletImpl->getDefaultDataDir()) + "/bitmonero.log"; + return QString::fromStdString(m_walletImpl->getDefaultDataDir()) + "/wownero.log"; } bool Wallet::blackballOutput(const QString &amount, const QString &offset) diff --git a/src/main/Logger.cpp b/src/main/Logger.cpp index 0d15b4e3..b716699a 100644 --- a/src/main/Logger.cpp +++ b/src/main/Logger.cpp @@ -38,15 +38,15 @@ #include "wallet/api/wallet2_api.h" // default log path by OS (should be writable) -static const QString defaultLogName = "monero-wallet-gui.log"; +static const QString defaultLogName = "wownero-app.log"; #if defined(Q_OS_IOS) //AppDataLocation = "/Library/Application Support" static const QString osPath = QStandardPaths::standardLocations(QStandardPaths::AppDataLocation).at(0); - static const QString appFolder = "monero-wallet-gui"; + static const QString appFolder = "wownero-app"; #elif defined(Q_OS_WIN) //AppDataLocation = "C:/Users//AppData/Roaming/" static const QString osPath = QStandardPaths::standardLocations(QStandardPaths::AppDataLocation).at(0); - static const QString appFolder = "monero-wallet-gui"; + static const QString appFolder = "wownero-app"; #elif defined(Q_OS_ANDROID) //AppDataLocation = "//files" static const QString osPath = QStandardPaths::standardLocations(QStandardPaths::AppDataLocation).at(1); @@ -58,7 +58,7 @@ static const QString defaultLogName = "monero-wallet-gui.log"; #else // linux + bsd //HomeLocation = "~" static const QString osPath = QStandardPaths::standardLocations(QStandardPaths::HomeLocation).at(0); - static const QString appFolder = ".bitmonero"; + static const QString appFolder = ".wownero"; #endif diff --git a/src/main/main.cpp b/src/main/main.cpp index 16d91b0a..a64e647e 100644 --- a/src/main/main.cpp +++ b/src/main/main.cpp @@ -179,9 +179,9 @@ int main(int argc, char *argv[]) MainApp app(argc, argv); - app.setApplicationName("monero-core"); - app.setOrganizationDomain("getmonero.org"); - app.setOrganizationName("monero-project"); + app.setApplicationName("wownero-app"); + app.setOrganizationDomain("wownero.org"); + app.setOrganizationName("wownero-project"); // Ask to enable Tails OS persistence mode, it affects: // - Log file location @@ -203,9 +203,9 @@ int main(int argc, char *argv[]) #endif if(isTails && TailsOS::usePersistence){ - moneroAccountsDir = QDir::homePath() + "/Persistent/Monero/wallets"; + moneroAccountsDir = QDir::homePath() + "/Persistent/Wownero/wallets"; } else if (!moneroAccountsRootDir.empty()) { - moneroAccountsDir = moneroAccountsRootDir.at(0) + "/Monero/wallets"; + moneroAccountsDir = moneroAccountsRootDir.at(0) + "/Wownero/wallets"; } else { qCritical() << "Error: accounts root directory could not be set"; return 1; @@ -245,7 +245,7 @@ Verify update binary using 'shasum'-compatible (SHA256 algo) output signed by tw // Log settings const QString logPath = QDir::toNativeSeparators(getLogPath(parser.value(logPathOption))); - Monero::Wallet::init(argv[0], "monero-wallet-gui", logPath.toStdString().c_str(), true); + Monero::Wallet::init(argv[0], "wownero-wallet-gui", logPath.toStdString().c_str(), true); qInstallMessageHandler(messageHandler); // loglevel is configured in main.qml. Anything lower than @@ -328,7 +328,7 @@ Verify update binary using 'shasum'-compatible (SHA256 algo) output signed by tw } } - qWarning().nospace().noquote() << "Qt:" << QT_VERSION_STR << " GUI:" << GUI_VERSION + qWarning().nospace().noquote() << "Qt:" << QT_VERSION_STR << " App:" << GUI_VERSION << " | screen: " << rect.width() << "x" << rect.height() << " - dpi: " << dpi << " - ratio:" << calculated_ratio; @@ -463,7 +463,7 @@ Verify update binary using 'shasum'-compatible (SHA256 algo) output signed by tw if (accountName.isEmpty()) accountName = qgetenv("USERNAME"); // Windows if (accountName.isEmpty()) - accountName = "My monero Account"; + accountName = "My wownero Account"; engine.rootContext()->setContextProperty("defaultAccountName", accountName); engine.rootContext()->setContextProperty("homePath", QDir::homePath()); diff --git a/src/model/TransactionHistoryModel.cpp b/src/model/TransactionHistoryModel.cpp index d3090d8c..6b00053b 100644 --- a/src/model/TransactionHistoryModel.cpp +++ b/src/model/TransactionHistoryModel.cpp @@ -107,7 +107,7 @@ QVariant TransactionHistoryModel::parseTransactionInfo(const TransactionInfo &tI case TransactionConfirmationsRole: return tInfo.confirmations(); case TransactionConfirmationsRequiredRole: - return (tInfo.blockHeight() < tInfo.unlockTime()) ? tInfo.unlockTime() - tInfo.blockHeight() : 10; + return (tInfo.blockHeight() < tInfo.unlockTime()) ? tInfo.unlockTime() - tInfo.blockHeight() : 4; case TransactionHashRole: return tInfo.hash(); case TransactionTimeStampRole: diff --git a/src/qt/TailsOS.cpp b/src/qt/TailsOS.cpp index df2fa92b..6a8026f3 100644 --- a/src/qt/TailsOS.cpp +++ b/src/qt/TailsOS.cpp @@ -43,9 +43,9 @@ void TailsOS::showDataPersistenceDisabledWarning() msgBox.setText(QObject::tr("Warning: persistence disabled")); msgBox.setWindowTitle(QObject::tr("Warning: persistence disabled")); msgBox.setInformativeText( - QObject::tr("Monero GUI has detected that Tails persistence is " + QObject::tr("Wownero App has detected that Tails persistence is " "currently disabled. Any configurations you make inside " - "the Monero GUI will not be saved." + "the Wownero App will not be saved." "\n\n" "In addition, make sure to not save your wallet on the " "filesystem, as it will be lost at shutdown." @@ -63,7 +63,7 @@ void TailsOS::showDataPersistenceDisabledWarning() void TailsOS::askPersistence() { QMessageBox msgBox; - msgBox.setWindowTitle(QObject::tr("Monero GUI")); + msgBox.setWindowTitle(QObject::tr("Wownero App")); msgBox.setText(QObject::tr("Use Tails persistence?")); msgBox.setInformativeText( QObject::tr("Persist wallet files and configuration on the encrypted volume?" diff --git a/src/qt/utils.cpp b/src/qt/utils.cpp index 5d329f97..337d108e 100644 --- a/src/qt/utils.cpp +++ b/src/qt/utils.cpp @@ -83,7 +83,7 @@ QString getAccountName(){ if (accountName.isEmpty()) accountName = qgetenv("USERNAME"); // Windows if (accountName.isEmpty()) - accountName = "My monero Account"; + accountName = "My wownero Account"; return accountName; } @@ -91,11 +91,11 @@ QString getAccountName(){ QString xdgMime(QApplication &app){ return QString( "[Desktop Entry]\n" - "Name=Monero GUI\n" - "GenericName=Monero-GUI\n" - "X-GNOME-FullName=Monero-GUI\n" - "Comment=Monero GUI\n" - "Keywords=Monero;\n" + "Name=Wownero App\n" + "GenericName=Wownero App\n" + "X-GNOME-FullName=Wownero-App\n" + "Comment=Wownero App\n" + "Keywords=Wownero;\n" "Exec=%1 %u\n" "Terminal=false\n" "Type=Application\n" @@ -116,7 +116,7 @@ void registerXdgMime(QApplication &app){ // - Tails written to persistent dotfiles QString mime = xdgMime(app); QString appPath = QStandardPaths::writableLocation(QStandardPaths::ApplicationsLocation); - QString filePath = QString("%1/monero-gui.desktop").arg(appPath); + QString filePath = QString("%1/wownero-app.desktop").arg(appPath); if (TailsOS::detect() && TailsOS::detectDotPersistence() && TailsOS::usePersistence) { TailsOS::persistXdgMime(filePath, mime); diff --git a/start-low-graphics-mode.bat b/start-low-graphics-mode.bat index c508e1eb..8e9d2b08 100644 --- a/start-low-graphics-mode.bat +++ b/start-low-graphics-mode.bat @@ -2,4 +2,4 @@ set QMLSCENE_DEVICE=softwarecontext -start /b monero-wallet-gui.exe +start /b wownero-app.exe diff --git a/version.js b/version.js new file mode 100644 index 00000000..0eb5c69c --- /dev/null +++ b/version.js @@ -0,0 +1,2 @@ +var GUI_VERSION = "v0.7.0.0" +var GUI_MONERO_VERSION = "v0.7.0.0" diff --git a/wizard/WizardCreateWallet3.qml b/wizard/WizardCreateWallet3.qml index 8bc3e048..8812d4bf 100644 --- a/wizard/WizardCreateWallet3.qml +++ b/wizard/WizardCreateWallet3.qml @@ -57,7 +57,7 @@ Rectangle { WizardHeader { title: qsTr("Daemon settings") + translationManager.emptyString - subtitle: qsTr("To be able to communicate with the Monero network your wallet needs to be connected to a Monero node. For best privacy it's recommended to run your own node.") + translationManager.emptyString + subtitle: qsTr("To be able to communicate with the Wownero network your wallet needs to be connected to a Wownero node. For best privacy it's recommended to run your own node.") + translationManager.emptyString } WizardDaemonSettings { diff --git a/wizard/WizardHome.qml b/wizard/WizardHome.qml index 589ec6c0..999e63d2 100644 --- a/wizard/WizardHome.qml +++ b/wizard/WizardHome.qml @@ -58,13 +58,13 @@ Rectangle { WizardHeader { Layout.bottomMargin: 20 - title: qsTr("Welcome to Monero") + translationManager.emptyString + title: qsTr("Welcome to Wownero") + translationManager.emptyString subtitle: "" } WizardMenuItem { headerText: qsTr("Create a new wallet") + translationManager.emptyString - bodyText: qsTr("Choose this option if this is your first time using Monero.") + translationManager.emptyString + bodyText: qsTr("Choose this option if this is your first time using Wownero.") + translationManager.emptyString imageIcon: "qrc:///images/create-wallet.png" onMenuClicked: { @@ -85,7 +85,7 @@ Rectangle { WizardMenuItem { headerText: qsTr("Create a new wallet from hardware") + translationManager.emptyString - bodyText: qsTr("Connect your hardware wallet to create a new Monero wallet.") + translationManager.emptyString + bodyText: qsTr("Connect your hardware wallet to create a new Wownero wallet.") + translationManager.emptyString imageIcon: "qrc:///images/restore-wallet-from-hardware.png" onMenuClicked: { diff --git a/wizard/WizardLang.qml b/wizard/WizardLang.qml new file mode 100644 index 00000000..fed3c3c6 --- /dev/null +++ b/wizard/WizardLang.qml @@ -0,0 +1,233 @@ +// Copyright (c) 2014-2019, The Monero Project +// +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without modification, are +// permitted provided that the following conditions are met: +// +// 1. Redistributions of source code must retain the above copyright notice, this list of +// conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright notice, this list +// of conditions and the following disclaimer in the documentation and/or other +// materials provided with the distribution. +// +// 3. Neither the name of the copyright holder nor the names of its contributors may be +// used to endorse or promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY +// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL +// THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF +// THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +import QtQuick 2.9 +import QtQuick.Dialogs 1.2 +import QtQuick.Layouts 1.2 +import QtQuick.XmlListModel 2.0 +import QtQuick.Controls 2.0 + +import "../js/Wizard.js" as Wizard +import "../components" as MoneroComponents +import "../components/effects/" as MoneroEffects + +Rectangle { + id: langScreen + color: "transparent" + anchors.fill: parent + property int layoutScale: { + if(appWindow.width < 800){ + return 1; + } else { + return 2; + } + } + + MoneroEffects.GradientBackground { + anchors.fill: parent + fallBackColor: MoneroComponents.Style.middlePanelBackgroundColor + initialStartColor: MoneroComponents.Style.wizardBackgroundGradientStart + initialStopColor: MoneroComponents.Style.middlePanelBackgroundGradientStop + blackColorStart: MoneroComponents.Style._b_wizardBackgroundGradientStart + blackColorStop: MoneroComponents.Style._b_middlePanelBackgroundGradientStop + whiteColorStart: MoneroComponents.Style._w_wizardBackgroundGradientStart + whiteColorStop: MoneroComponents.Style._w_middlePanelBackgroundGradientStop + start: Qt.point(0, 0) + end: Qt.point(height, width) + } + + ColumnLayout { + anchors.top: parent.top + anchors.topMargin: persistentSettings.customDecorations ? 65 : 15 + width: parent.width - 100 + anchors.horizontalCenter: parent.horizontalCenter; + + Text { + text: qsTr("Language settings") + translationManager.emptyString + Layout.fillWidth: true + font.family: MoneroComponents.Style.fontRegular.name + color: MoneroComponents.Style.defaultFontColor + font.pixelSize: { + if(langScreen.layoutScale === 2 ){ + return 34; + } else { + return 28; + } + } + + wrapMode: Text.WordWrap + leftPadding: 0 + topPadding: 0 + bottomPadding: 0 + } + + Text { + Layout.fillWidth: true + visible: parent.subtitle !== "" + + color: MoneroComponents.Style.dimmedFontColor + text: qsTr("Change the language of the Wownero App.") + translationManager.emptyString + + font.family: MoneroComponents.Style.fontRegular.name + font.pixelSize: { + if(langScreen.layoutScale === 2 ){ + return 16; + } else { + return 14; + } + } + + wrapMode: Text.WordWrap + leftPadding: 0 + topPadding: 0 + } + + Flow { + id: flow + height: 800 + Layout.fillWidth: true + Layout.topMargin: 20 + + spacing: 5 + + Repeater { + model: langModel + delegate: Rectangle { + id: item + color: "transparent" + width: { + var minimumWidth = img.width + langRect.width; + if(minimumWidth < 200) return 200; + return minimumWidth; + } + + height: 48 + + Rectangle { + id: img + anchors.top: parent.top + color: "transparent" + width: 32 + height: parent.height + + Image { + source: flag + mipmap: true + smooth: true + width: 32 + height: 32 + anchors.verticalCenter: parent.verticalCenter + anchors.horizontalCenter: parent.horizontalCenter + } + } + + Rectangle { + id: langRect + anchors.top: parent.top + anchors.left: img.right + color: "transparent" + height: parent.height + width: langText.width + 22 + + MoneroComponents.TextPlain { + id: langText + font.bold: true + font.pixelSize: 14 + color: MoneroComponents.Style.defaultFontColor + text: display_name + anchors.verticalCenter: parent.verticalCenter + anchors.horizontalCenter: parent.horizontalCenter + } + } + + MouseArea { + anchors.fill: parent + cursorShape: Qt.PointingHandCursor + onClicked: { + var locale_spl = locale.split("_"); + + // reload active translations + console.log(locale_spl[0]); + translationManager.setLanguage(locale_spl[0]); + + // set wizard language settings + wizard.language_locale = locale; + wizard.language_wallet = wallet_language; + wizard.language_language = display_name; + + appWindow.showStatusMessage(qsTr("Language changed."), 3); + appWindow.toggleLanguageView(); + } + hoverEnabled: true + onEntered: { + parent.opacity = 0.75 + } + onExited: { + parent.opacity = 1 + } + } + } + } + } + + RowLayout { + Layout.fillWidth: true + Layout.topMargin: 32 + spacing: 20 + + MoneroComponents.StandardButton { + small: true + text: qsTr("Close") + translationManager.emptyString + + onClicked: { + appWindow.toggleLanguageView(); + } + } + } + + XmlListModel { + id: langModel + source: "/lang/languages.xml" + query: "/languages/language" + + XmlRole { name: "display_name"; query: "@display_name/string()" } + XmlRole { name: "locale"; query: "@locale/string()" } + XmlRole { name: "wallet_language"; query: "@wallet_language/string()" } + XmlRole { name: "flag"; query: "@flag/string()" } + // TODO: XmlListModel is read only, we should store current language somewhere else + // and set current language accordingly + XmlRole { name: "isCurrent"; query: "@enabled/string()" } + + onStatusChanged: { + if(status === XmlListModel.Ready){ + console.log("languages available: ",count); + } + } + } + } +} diff --git a/wizard/WizardModeBootstrap.qml b/wizard/WizardModeBootstrap.qml index 5b583101..a41eb0a5 100644 --- a/wizard/WizardModeBootstrap.qml +++ b/wizard/WizardModeBootstrap.qml @@ -81,7 +81,7 @@ Rectangle { } MoneroComponents.TextPlain { - text: qsTr("Temporary use of remote nodes is useful in order to use Monero immediately (hence the name bootstrap), however be aware that when using remote nodes (including with the bootstrap setting), nodes could track your IP address, track your \"restore height\" and associated block request data, and send you inaccurate information to learn more about transactions you make.") + translationManager.emptyString + text: qsTr("Temporary use of remote nodes is useful in order to use Wownero immediately (hence the name bootstrap), however be aware that when using remote nodes (including with the bootstrap setting), nodes could track your IP address, track your \"restore height\" and associated block request data, and send you inaccurate information to learn more about transactions you make.") + translationManager.emptyString wrapMode: Text.Wrap Layout.topMargin: 8 Layout.fillWidth: true diff --git a/wizard/WizardModeRemoteNodeWarning.qml b/wizard/WizardModeRemoteNodeWarning.qml index be53b168..5b6bd909 100644 --- a/wizard/WizardModeRemoteNodeWarning.qml +++ b/wizard/WizardModeRemoteNodeWarning.qml @@ -69,7 +69,7 @@ Rectangle { Layout.fillWidth: true MoneroComponents.TextPlain { - text: qsTr("This mode is ideal for managing small amounts of Monero. You have access to basic features for making and managing transactions. It will automatically connect to the Monero network so you can start using Monero immediately.") + translationManager.emptyString + text: qsTr("This mode is ideal for managing small amounts of Wownero. You have access to basic features for making and managing transactions. It will automatically connect to the Wownero network so you can start using Wownero immediately.") + translationManager.emptyString themeTransitionBlackColor: MoneroComponents.Style._b_lightGreyFontColor themeTransitionWhiteColor: MoneroComponents.Style._w_lightGreyFontColor wrapMode: Text.Wrap diff --git a/wizard/WizardRestoreWallet3.qml b/wizard/WizardRestoreWallet3.qml index 9fc98358..8621c073 100644 --- a/wizard/WizardRestoreWallet3.qml +++ b/wizard/WizardRestoreWallet3.qml @@ -65,7 +65,7 @@ Rectangle { WizardHeader { title: qsTr("Daemon settings") + translationManager.emptyString - subtitle: qsTr("To be able to communicate with the Monero network your wallet needs to be connected to a Monero node. For best privacy it's recommended to run your own node.\n\nIf you don't have the option to run your own node, there's an option to connect to a remote node.") + translationManager.emptyString + subtitle: qsTr("To be able to communicate with the Wownero network your wallet needs to be connected to a Wownero node. For best privacy it's recommended to run your own node.\n\nIf you don't have the option to run your own node, there's an option to connect to a remote node.") + translationManager.emptyString } WizardDaemonSettings { diff --git a/wownero b/wownero new file mode 160000 index 00000000..4c6c7ab8 --- /dev/null +++ b/wownero @@ -0,0 +1 @@ +Subproject commit 4c6c7ab87b2a56165f400f6e49f17b9577a2bcad diff --git a/monero-wallet-gui.pro b/wownero-app.pro similarity index 99% rename from monero-wallet-gui.pro rename to wownero-app.pro index c2a9ea4a..b2498f5a 100644 --- a/monero-wallet-gui.pro +++ b/wownero-app.pro @@ -7,7 +7,7 @@ TEMPLATE = app QT += svg qml gui-private quick widgets -WALLET_ROOT=$$PWD/monero +WALLET_ROOT=$$PWD/wownero CONFIG += c++11 link_pkgconfig packagesExist(libusb-1.0) {