Compare commits

..

43 Commits

Author SHA1 Message Date
luigi1111
6f14fde89c Merge pull request #929
d8ebafa show correct height after switching wallets
2017-10-24 14:35:44 -05:00
Jaquee
d8ebafaec0 show correct height after switching wallets
requires #2724
2017-10-24 19:13:28 +02:00
luigi1111
7340371cc9 Merge pull request #921
e4177bb don't copy libjasper-1.dll
2017-10-24 09:20:01 -05:00
luigi1111
cc17b75a54 Merge pull request #922
8f73bac add option to change wallet creation height and rescan wallet cache (but to master)
2017-10-23 18:22:59 -05:00
Jaquee
8f73bac95c add option to change wallet creation height and rescan wallet cache 2017-10-23 18:16:27 -05:00
Dan Miller
e4177bb365 don't copy libjasper-1.dll 2017-10-23 14:01:47 -07:00
luigi1111
80a058c954 Merge pull request #920
0ae04fd use 10 as default required confirmations
2017-10-23 15:59:26 -05:00
luigi1111
ff1780aeaa Merge pull request #885
11df558 Windows installer: Updates for release Helium Hydra

8b94bd8 Windows Installer: Working dir of CLI wallet icon set to wallet dir

0d991b3 Windows Installer: Bumped version number from '0.11.0.0' to '0.11.1.0'
2017-10-23 14:33:47 -05:00
luigi1111
f1b70d08c6 Merge pull request #918
80618c8 wizard: reworked testnet settings
2017-10-23 14:29:52 -05:00
Jaquee
0ae04fde4b use 10 as default required confirmations 2017-10-23 21:24:50 +02:00
luigi1111
c64321ebe9 Merge pull request #912
aac7fc6 make privay level slider smoother
2017-10-23 14:02:11 -05:00
luigi1111
34e7eb4e6b Merge pull request #884
1f1d51d Show password dialog before making a transfer
2017-10-23 13:59:58 -05:00
luigi1111
b888396ab4 Merge pull request 901
61e8ac5 use array for files to copy, exit on error
2017-10-23 13:55:46 -05:00
luigi1111
508546c7c8 Merge pull request #880
3c46d6d Add separator below Settings menu button
2017-10-23 13:51:46 -05:00
Jaquee
80618c83fd wizard: reworked testnet settings 2017-10-23 20:35:17 +02:00
René Brunner
0d991b3792 Windows Installer: Bumped version number from '0.11.0.0' to '0.11.1.0' 2017-10-23 19:58:14 +02:00
Dan Miller
61e8ac5b95 use array for files to copy, exit on error
iterate each element of the array not only the head

double-quote
2017-10-22 16:12:35 -07:00
Jaquee
aac7fc613a make privay level slider smoother 2017-10-22 22:18:55 +02:00
luigi1111
e0d99cb1bb Merge pull request #897
8ba9b0e Run get_libwallet_api.sh using its own shebang
2017-10-22 13:27:04 -05:00
luigi1111
188eb064f4 Merge pull request #896
84d09c8
README: Add package installation instructions for Void Linux
2017-10-22 13:13:45 -05:00
Helmut Pozimski
84d09c85de README: Add package installation instructions for Void Linux 2017-10-22 18:23:53 +02:00
luigi1111
b853380db6 Merge pull request #872
7941f88 Repo: remove in-tree VRP, link to single-policy VRP
2017-10-22 08:54:44 -05:00
luigi1111
ea49e84215 Merge pull request #868
8750cc2 pro: add libreadline to link line for Linux
2017-10-21 12:01:49 -05:00
luigi1111
23d1d4a958 Merge pull request 867 2017-10-21 11:49:48 -05:00
luigi1111
f52990c8e4 Merge pull request #866 for real (previous should have said #856) 2017-10-21 08:20:03 -05:00
luigi1111
d69519f0aa Merge pull request #866 2017-10-21 08:14:26 -05:00
luigi1111
605f81314a Merge branch 'mandrill-pie-master' 2017-10-21 07:53:48 -05:00
Nexie Kind
8ba9b0e7c7 Run get_libwallet_api.sh using its own shebang
Not every system has bash as default shell. Running this script in zsh environment leads to build failure.
2017-10-04 21:07:09 +03:00
René Brunner
8b94bd80c9 Windows Installer: Working dir of CLI wallet icon set to wallet dir 2017-09-28 19:42:58 +02:00
stoffu
1f1d51d8e1 Show password dialog before making a transfer 2017-09-20 10:41:13 +09:00
René Brunner
11df558f8e Windows installer: Updates for release Helium Hydra 2017-09-19 19:50:38 +02:00
MaxXor
3c46d6d1bd Add separator below Settings menu button 2017-09-17 18:29:41 +02:00
anonimal
7941f88e53 Repo: remove in-tree VRP, link to single-policy VRP 2017-09-11 22:06:45 +00:00
redfish
8750cc2c13 pro: add libreadline to link line for Linux 2017-09-09 10:25:09 -04:00
mastad0n
f932d7a245 Superseded
Superseded according to package maintainer "redfish":

>redfish commented on 2017-08-20 08:49
>Package marked for deletion. Superceded by: monero-wallet-qt
2017-09-08 23:35:35 -07:00
Isaac
6d0847c39f Korean translation audit of monero-core_ko.ts
Some corrections of contextually obvious mistranslations made.
2017-09-08 13:35:30 +09:00
Light3rn
ba9a99a4c6 Update monero-core_fi.ts
Added some translations.
2017-09-05 20:19:08 +03:00
Mandrill Pie
b1675ab1cd Created Romanian translation file 2017-09-05 02:36:32 +08:00
Mandrill Pie
327cbd086f Added an entry for the Romanian flag file 2017-09-05 02:35:10 +08:00
Mandrill Pie
a681878344 Added an entry for the Romanian translation 2017-09-05 02:34:02 +08:00
Mandrill Pie
9b835599b8 Added an entry for Romanian to languages list 2017-09-05 02:32:00 +08:00
Mandrill Pie
5767ad9cd5 Added Romanian flag to flags folder
Added PNG of Romanian flag
2017-09-05 02:27:48 +08:00
Riccardo Spagni
4c75fe47f9 Merge pull request #841
2bc86d1 monero submodule: use release-v0.11.0.0 branch (Jaquee)
2017-09-04 17:27:59 +02:00
31 changed files with 2575 additions and 487 deletions

View File

@@ -475,6 +475,14 @@ Rectangle {
panel.settingsClicked()
}
}
Rectangle {
visible: settingsButton.present
anchors.left: parent.left
anchors.right: parent.right
anchors.leftMargin: 16
color: "#505050"
height: 1
}
}

View File

@@ -10,6 +10,11 @@ Copyright (c) 2014-2017, The Monero Project
- Github: [https://github.com/monero-project/monero-core](https://github.com/monero-project/monero-core)
- IRC: [#monero-dev on Freenode](irc://chat.freenode.net/#monero-dev)
## Vulnerability Response
- Our [Vulnerability Response Process](https://github.com/monero-project/meta/blob/master/VULNERABILITY_RESPONSE_PROCESS.md) encourages responsible disclosure
- We are also available via [HackerOne](https://hackerone.com/monero)
## Introduction
Monero is a private, secure, untraceable, decentralised digital currency. You are your bank, you control your funds, and nobody can trace your transfers unless you allow them to do so.
@@ -56,7 +61,8 @@ See [LICENSE](LICENSE).
Packages are available for
* Arch Linux via AUR: [monero-core-git](https://aur.archlinux.org/packages/monero-core-git/)
* Arch Linux via AUR: [monero-wallet-qt](https://aur.archlinux.org/packages/monero-wallet-qt/)
* Void Linux: xbps-install -S monero-core
Packaging for your favorite distribution would be a welcome contribution!

View File

@@ -1,147 +0,0 @@
# Monero GUI Vulnerability Response Process
## Preamble
Researchers/Hackers: while you research/hack, we ask that you please refrain from committing the following:
- Denial of Service / Active exploiting against the network
- Social Engineering of Monero staff or contractors
- Any physical or electronic attacks against Monero community property and/or data centers
## I. Points of Contact for Security Issues
```
ric@getmonero.org
BDA6 BD70 42B7 21C4 67A9 759D 7455 C5E3 C0CD CEB9
luigi1111@getmonero.org
8777 AB8F 778E E894 87A2 F8E7 F4AC A018 3641 E010
moneromooo.monero@gmail.com
48B0 8161 FBDA DFE3 93AD FC3E 686F 0745 4D6C EFC3
jaquee.monero@gmail.com
D21E 9CC1 2F51 C4FE A9E0 52FF 384E 52B0 9F45 DC39
```
## II. Security Response Team
- fluffypony
- luigi1111
- moneromooo
- Jaquee
## III. Incident Response
1. Researcher submits report via one or both of two methods:
- a. Email
- b. [HackerOne](https://hackerone.com/monero)
2. Response Team designates a Response Manager who is in charge of the particular report based on availability and/or knowledge-set
3. In no more than 3 working days, Response Team should gratefully respond to researcher using only encrypted, secure channels
4. Response Manager makes inquiries to satisfy any needed information to confirm if submission is indeed a vulnerability
- a. If submission proves to be vulnerable, proceed to next step
- b. If not vulnerable:
- i. Response Manager responds with reasons why submission is not a vulnerability
- ii. Response Manager moves discussion to a new or existing ticket on GitHub if necessary
5. If over email, Response Manager opens a HackerOne issue for new submission
6. Establish severity of vulnerability:
- a. HIGH: impacts network as a whole, has potential to break entire network, results in the loss of monero, or is on a scale of great catastrophe
- b. MEDIUM: impacts individual nodes, wallets, or must be carefully exploited
- c. LOW: is not easily exploitable
7. Respond according to the severity of the vulnerability:
- a. HIGH severities must be notified on website and reddit /r/Monero within 3 working days of classification
- i. The notification should list appropriate steps for users to take, if any
- ii. The notification must not include any details that could suggest an exploitation path
- iii. The latter takes precedence over the former
- b. MEDIUM and HIGH severities will require a Point Release
- c. LOW severities will be addressed in the next Regular Release
8. Response Team applies appropriate patch(es)
- a. Response Manager designates a PRIVATE git "hotfix branch" to work in
- b. Patches are reviewed with the researcher
- c. Any messages associated with PUBLIC commits during the time of review should not make reference to the security nature of the PRIVATE branch or its commits
- d. Vulnerability announcement is drafted
- i. Include the severity of the vulnerability
- ii. Include all vulnerable systems/apps/code
- iii. Include solutions (if any) if patch cannot be applied
- e. Release date is discussed
9. At release date, Response Team coordinates with developers to finalize update:
- a. Response Manager propagates the "hotfix branch" to trunk
- b. Response Manager includes vulnerability announcement draft in release notes
- c. Proceed with the Point or Regular Release
## IV. Post-release Disclosure Process
1. Response Team has 90 days to fulfill all points within section III
2. If the Incident Response process in section III is successfully completed:
- a. Response Manager contacts researcher and asks if researcher wishes for credit
- b. Finalize vulnerability announcement draft and include the following:
- i. Project name and URL
- ii. Versions known to be affected
- iii. Versions known to be not affected (for example, the vulnerable code was introduced in a recent version, and older versions are therefore unaffected)
- iv. Versions not checked
- v. Type of vulnerability and its impact
- vi. If already obtained or applicable, a CVE-ID
- vii. The planned, coordinated release date
- viii. Mitigating factors (for example, the vulnerability is only exposed in uncommon, non-default configurations)
- ix. Workarounds (configuration changes users can make to reduce their exposure to the vulnerability)
- x. If applicable, credits to the original reporter
- c. Release finalized vulnerability announcement on website and reddit /r/Monero
- d. For HIGH severities, release finalized vulnerability announcement on well-known mailing lists:
- i. oss-security@lists.openwall.com
- ii. bugtraq@securityfocus.com
- e. If applicable, developers request a CVE-ID
- i. The commit that applied the fix is made reference too in a future commit and includes a CVE-ID
3. If the Incident Response process in section III is *not* successfully completed:
- a. Response Team and developers organize an IRC meeting to discuss why/what points in section III were not resolved and how the team can resolve them in the future
- b. Any developer meetings immediately following the incident should include points made in section V
- c. If disputes arise about whether or when to disclose information about a vulnerability, the Response Team will publicly discuss the issue via IRC and attempt to reach consensus
- d. If consensus on a timely disclosure is not met (no later than 90 days), the researcher (after 90 days) has every right to expose the vulnerability to the public
## V. Incident Analysis
1. Isolate codebase
- a. Response Team and developers should coordinate to work on the following:
- i. Problematic implementation of classes/libraries/functions, etc.
- ii. Focus on apps/distro packaging, etc.
- iii. Operator/config error, etc.
2. Auditing
- a. Response Team and developers should coordinate to work on the following:
- i. Auditing of problem area(s) as discussed in point 1
- ii. Generate internal reports and store for future reference
- iii. If results are not sensitive, share with the public via IRC or GitHub
3. Response Team has 45 days following completion of section III to ensure completion of section V
## VI. Resolutions
Any further questions or resolutions regarding the incident(s) between the researcher and response + development team after public disclosure can be addressed via the following:
- [GitHub](https://github.com/monero-project/monero/issues/)
- [HackerOne](https://hackerone.com/monero)
- [Reddit /r/Monero](https://reddit.com/r/Monero/)
- IRC
- Email
## VII. Continuous Improvement
1. Response Team and developers should hold annual meetings to review the previous year's incidents
2. Response Team or designated person(s) should give a brief presentation, including:
- a. Areas of Monero affected by the incidents
- b. Any network downtime or monetary cost (if any) of the incidents
- c. Ways in which the incidents could have been avoided (if any)
- d. How effective this process was in dealing with the incidents
3. After the presentation, Response Team and developers should discuss:
- a. Potential changes to development processes to reduce future incidents
- b. Potential changes to this process to improve future responses

View File

@@ -54,7 +54,7 @@ if [[ $platform == *bsd* ]]; then
fi
# build libwallet
$SHELL get_libwallet_api.sh $BUILD_TYPE
./get_libwallet_api.sh $BUILD_TYPE
# build zxcvbn
$MAKE -C src/zxcvbn-c || exit

View File

@@ -116,7 +116,7 @@ Item {
Row {
id: row2
spacing: ((bar.width - 8) / 2) / 4
spacing: bar.width / 14
Repeater {
model: 4
@@ -125,7 +125,7 @@ Item {
id: delegateItem2
currentX: x + row2.x
currentIndex: index
mainTick: currentIndex === 0 || currentIndex === 3 || currentIndex === 13
mainTick: currentIndex === 0
Component.onCompleted: {
row.positions[currentIndex] = delegateItem2
}
@@ -135,7 +135,7 @@ Item {
Row {
id: row1
spacing: ((bar.width - 8) / 2) / 10
spacing: bar.width / 14
Repeater {
model: 10
@@ -144,7 +144,7 @@ Item {
id: delegateItem1
currentX: x + row1.x
currentIndex: index + 4
mainTick: currentIndex === 0 || currentIndex === 3 || currentIndex === 13
mainTick: currentIndex === 13
Component.onCompleted: {
row.positions[currentIndex] = delegateItem1
}

View File

@@ -53,7 +53,6 @@ Item {
color: "#4A4949"
text: {
if(currentIndex === 0) return qsTr("Normal") + translationManager.emptyString
if(currentIndex === 3) return qsTr("Medium") + translationManager.emptyString
if(currentIndex === 13) return qsTr("High") + translationManager.emptyString
return ""
}
@@ -65,7 +64,7 @@ Item {
anchors.topMargin: 14
width: 1
color: "#DBDBDB"
height: currentIndex === 8 ? 16 : 8
height: 8
visible: !parent.mainTick
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 151 KiB

After

Width:  |  Height:  |  Size: 151 KiB

View File

@@ -1,10 +1,14 @@
; Monero GUI Wallet Beta 2 Installer for Windows
; Monero Helium Hydra GUI Wallet Installer for Windows
; Copyright (c) 2014-2017, The Monero Project
; See LICENSE
[Setup]
AppName=Monero GUI Wallet
AppVersion=0.10.3.1
; For InnoSetup this is the property that uniquely identifies the application as such
; Thus it's important to keep this stable over releases
; With a different "AppName" InnoSetup would treat a mere update as a completely new application and thus mess up
AppVersion=0.11.1.0
DefaultDirName={pf}\Monero GUI Wallet
DefaultGroupName=Monero GUI Wallet
UninstallDisplayIcon={app}\monero-wallet-gui.exe
@@ -36,7 +40,7 @@ Source: "FinishImage.bmp"; Flags: dontcopy
Source: "bin\monero-wallet-gui.exe"; DestDir: "{app}"; Flags: comparetimestamp
; Monero GUI wallet log file
; Beta 2 does not have the "--log-file" command-line option of the CLI wallet and insists to put the .log beside the .exe
; The GUI wallet does not have the "--log-file" command-line option of the CLI wallet and insists to put the .log beside the .exe
; so pre-create the file and give the necessary permissions to the wallet to write into it
Source: "monero-wallet-gui.log"; DestDir: "{app}"; Flags: comparetimestamp; Permissions: users-modify
@@ -55,7 +59,9 @@ Source: "monero-daemon.bat"; DestDir: "{app}"; Flags: comparetimestamp;
; Monero blockchain utilities
Source: "bin\monero-blockchain-export.exe"; DestDir: "{app}"; Flags: comparetimestamp
Source: "bin\monero-blockchain-import.exe"; DestDir: "{app}"; Flags: comparetimestamp
Source: "bin\monero-utils-deserialize.exe"; DestDir: "{app}"; Flags: comparetimestamp
; was present in 0.10.3.1, not present anymore in 0.11.1.0
; Source: "bin\monero-utils-deserialize.exe"; DestDir: "{app}"; Flags: comparetimestamp
; Various .qm files for translating the wallet UI "on the fly" into all supported languages
Source: "bin\translations\*"; DestDir: "{app}\translations"; Flags: recursesubdirs comparetimestamp
@@ -161,7 +167,8 @@ Source: "bin\libicuuc57.dll"; DestDir: "{app}"; Flags: comparetimestamp
Source: "bin\libintl-8.dll"; DestDir: "{app}"; Flags: comparetimestamp
; JasPer, support for JPEG-2000
Source: "bin\libjasper-1.dll"; DestDir: "{app}"; Flags: comparetimestamp
; was present in 0.10.3.1, not present anymore in 0.11.1.0
; Source: "bin\libjasper-1.dll"; DestDir: "{app}"; Flags: comparetimestamp
; libjpeg, C library for reading and writing JPEG image files
Source: "bin\libjpeg-8.dll"; DestDir: "{app}"; Flags: comparetimestamp
@@ -228,7 +235,7 @@ begin
// Additional wizard page for entering a special blockchain location
blockChainDefaultDir := ExpandConstant('{commonappdata}\bitmonero');
s := 'The default folder to store the Monero blockchain is ' + blockChainDefaultDir;
s := s + '. As this will need up to 20 GB of free space, you may want to use a folder on a different drive.';
s := s + '. As this will need more than 30 GB of free space, you may want to use a folder on a different drive.';
s := s + ' If yes, specify that folder here.';
BlockChainDirPage := CreateInputDirPage(wpSelectDir,
@@ -334,7 +341,10 @@ Name: "{group}\Uninstall GUI Wallet"; Filename: "{uninstallexe}"
; and insists on displaying ALL icons on one single level
Name: "{group}\Utilities\Monero Daemon"; Filename: "{app}\monerod.exe"; Parameters: {code:DaemonFlags}
Name: "{group}\Utilities\Read Me"; Filename: "{app}\ReadMe.htm"
Name: "{group}\Utilities\Textual (CLI) Wallet"; Filename: "{app}\monero-wallet-cli.exe"
; CLI wallet: Needs a working directory ("Start in:") set in the icon, because with no such directory set
; it tries to create new wallets without a path given in the probably non-writable program folder and will abort with an error
Name: "{group}\Utilities\Textual (CLI) Wallet"; Filename: "{app}\monero-wallet-cli.exe"; WorkingDir: "{userdocs}\Monero\wallets"
; Icons for troubleshooting problems / testing / debugging
; To show that they are in some way different (not for everyday use), make them visually different

View File

@@ -1,26 +1,28 @@
# Monero GUI Wallet Beta 2 Windows Installer #
# Monero GUI Wallet Windows Installer #
Copyright (c) 2014-2017, The Monero Project
## Introduction ##
This is a *Inno Setup* script `Monero.iss` plus some related files that
allows you to build a standalone Windows installer (.exe) for the
Monero GUI Wallet Beta 2.
This is a *Inno Setup* script `Monero.iss` plus some related files
that allows you to build a standalone Windows installer (.exe) for
the GUI wallet that comes with the Helium Hydra release of Monero.
This turns the GUI Wallet into a more or less standard Windows program,
This turns the GUI wallet into a more or less standard Windows program,
by default installed into a subdirectory of `C:\Program Files`, a
program group with some icons in the *Start* menu, and automatic
uninstall support. It helps lower the "barrier to entry" somewhat,
especially for less technically experienced users of Monero.
uninstall support. It helps lowering the "barrier to entry"
somewhat, especially for less technically experienced users of
Monero.
As the setup script in file [Monero.iss](Monero.iss) has to list every
single file of the GUI Wallet package to install by name, this version
of the script only works with exactly the GUI Beta 2 that you find on
single file of the GUI wallet package to install by name,
this version of the script only works with exactly the GUI wallet
for Monero release *Helium Hydra* that you find on
[the official download page](https://getmonero.org/downloads/).
But of course it will be easy to modify the script for future versions
of the GUI Wallet.
But of course it will be easy to modify the script for future
versions of the GUI wallet.
## License ##
@@ -28,14 +30,15 @@ See [LICENSE](LICENSE).
## Building ##
You can only build on Windows, and the result is always a Windows .exe
file that can act as a standalone installer for the GUI Wallet Beta 2.
You can only build on Windows, and the result is always a
Windows .exe file that can act as a standalone installer for the
Helium Hydra GUI wallet.
The build steps in detail:
1. Install *Inno Setup*. You can get it from [here](http://www.jrsoftware.org/isdl.php)
2. Get the Inno Setup script plus related files by cloning the whole [monero-core](https://github.com/monero-project/monero-core) repository; you will only need the files in the installer directory `installers\windows` however
3. The setup script is written to take the GUI Wallet files from a subdirectory named `bin`; so create `installers\windows\bin`, get the zip file of the GUI Wallet Beta 2 from [here](https://getmonero.org/downloads/), unpack it somewhere, and copy all the files and subdirectories in the `monero-gui-0.10.3.1-beta2` directory to this `bin` subdirectory
4. Start Inno Setup, load `Monero.iss` and compile it.
2. Get the Inno Setup script plus related files by cloning the whole [monero-core GitHub repository](https://github.com/monero-project/monero-core); you will only need the files in the installer directory `installers\windows` however
3. The setup script is written to take the GUI wallet files from a subdirectory named `bin`; so create `installers\windows\bin`, get the zip file of the GUI wallet from [here](https://getmonero.org/downloads/), unpack it somewhere, and copy all the files and subdirectories in the `monero-gui-0.11.1.0` directory to this `bin` subdirectory
4. Start Inno Setup, load `Monero.iss` and compile it
5. The result i.e. the finished installer will be the file `mysetup.exe` in the `installers\windows\Output` subdirectory

View File

@@ -1,13 +1,13 @@
<html>
<head>
<title>Monero GUI Wallet Beta 2</title>
<title>Monero Helium Hydra GUI Wallet</title>
</head>
<body style="font-family: Arial, Helvetica, sans-serif">
<h1>Monero GUI Wallet Beta 2</h1>
<h1>Monero Helium Hydra GUI Wallet</h1>
<p>Copyright (c) 2014-2017, The Monero Project<br>
Date: June 28, 2017</p>
Date: September 19, 2017</p>
<h2>Preface</h2>
@@ -23,8 +23,8 @@
<h2>Content of the Package</h2>
<p>You just installed the Beta 2 of the <i>Monero GUI Wallet</i> for Windows, more exact version 0.10.3.1. The wallet
enables you to send and receive moneroj in a secure and very private way.
<p>You just installed the <i>Monero GUI wallet</i> for Windows, release Helium Hydra, more exact version 0.11.1.0.
The wallet enables you to send and receive Moneroj in a secure and very private way.
</p>
<p>Also included is the <i>Monero daemon</i>, so you have everything now to run a so-called <i>full node</i>
@@ -33,7 +33,22 @@
<p>For checking whether there are already newer versions of this package you can go to the
<a href="https://getmonero.org/downloads/">Downloads</a> page on <a href="https://getmonero.org/home">getmonero.org</a>,
the official Monero site.</p>
the official Monero site.</p>
<h2>Upgrading</h2>
<p>If you have already a release of the GUI wallet software on your computer that was installed with the help
of this installer (in an earlier version), upgrading is easy: Just run the new installer; there is no need to
uninstall the old Monero release first.</p>
<p>But if you run a release of the GUI wallet software that you downloaded as a .zip file and unzipped into a
folder, if you "installed it manually" so to say, don't try to upgrade by pointing the installer to that folder,
because this might lead to problems e.g. if you try to uninstall everything later.</p>
<p>It's better to let the installer put the software into another folder and then delete the old folder, either
outright or after moving away any additional files that you may have stored there. (If you did not change
default locations for wallets and the blockchain, you don't have to worry about them, they won't be in that
particular folder, but elsewhere "in safety".)</p>
<h2>Access to the Blockchain</h2>
@@ -46,7 +61,7 @@
provides the most security and privacy possible for you.</p>
<p>However if your Internet access makes it difficult to run a full node, or if you have simply no room to store
the blockchain locally (over 17 GB in summer 2017, and of course growing), you can compromise and try to connect
the blockchain locally (over 30 GB in fall 2017, and of course growing), you can compromise and try to connect
to a remote node. One way of finding such a node is checking
<a href="https://moneroworld.com/pages/nodes.html">this page</a>.
</p>
@@ -90,21 +105,13 @@
<h2>Troubleshooting</h2>
<p>The Monero software and especially the GUI wallet are "work in progress", as you can expect seeing the word
<i>Beta</i> in the name of the package, and sometimes things go wrong.</p>
<p>The Monero software and especially the GUI wallet are "work in progress", and sometimes things go wrong.</p>
<p>Please note that despite any technical problems that you may encounter your moneroj are almost always safe: You may
not be able to move them or you even may not see how many you currently have, but you most probably won't loose any.
But do remember that the seed needed to re-create the wallet <b>is</b> critical, however: <b>Never loose your
seed!</b></p>
<p>There is a <b>bug</b> in this beta of the GUI wallet that triggers if it is installed in a path that contains spaces /
blank characters, like the default location for Windows programs <i>C:\Program Files</i> unfortunately does.
Symptoms are problems in the communication between the wallet and the daemon, e.g. the wallet not "seeing" the
daemon and then not knowing whether it is "synchronized" with the network and thus ready to work or not. You can
avoid these problems by starting the daemon yourself, with the help of the <i>Monero Daemon</i> icon in the
<i>Utilities</i> sub-folder of the Monero program group.</p>
<p>In the <i>Utilities</i> sub-folder there are several more icons that may help you to solve problems.
These are the icons with a <i>x</i> in front and the name <i>(in parenthesis)</i> to make them visually stand
apart from the "normal" ones because you will probably only need them in case of trouble, but not during normal
@@ -142,15 +149,15 @@
<tr>
<td><i>x (Check GUI Wallet Log)</i></td>
<td>Open the log with status and error messages of the GUI wallet program in Notepad;
experienced people have a chance to diagnose technical problems with the wallet by looking at the last few lines
of this log</td>
experienced people have a chance to diagnose technical problems with the wallet,
usually by looking at the last few lines of this log</td>
</tr>
<tr>
<td><i>x (Check Daemon Log)</i></td>
<td>
Open the log with status and error messages of the daemon in Notepad; again, the last few
lines of this (possible very long) log are the most important for troubleshooting
lines of this (possible very long) log are usually the most important for troubleshooting
</td>
</tr>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 440 KiB

After

Width:  |  Height:  |  Size: 440 KiB

BIN
lang/flags/romania.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.3 KiB

View File

@@ -37,4 +37,5 @@ List of available languages for your wallet's seed:
<language display_name="繁體中文 (台灣)" locale="zh-tw_CN" wallet_language="English" flag="/lang/flags/taiwan.png" qs="none"/>
<language display_name="עברית" locale="he_HE" wallet_language="English" flag="/lang/flags/israel.png" qs="none"/>
<language display_name="한국어" locale="ko_KO" wallet_language="English" flag="/lang/flags/south_korea.png" qs="none"/>
<language display_name="Română" locale="ro_RO" wallet_language="English" flag="/lang/flags/romania.png" qs="none"/>
</languages>

View File

@@ -880,7 +880,7 @@ ApplicationWindow {
property bool allow_background_mining : false
property bool miningIgnoreBattery : true
property bool testnet: false
property string daemon_address: "localhost:18081"
property string daemon_address: testnet ? "localhost:28081" : "localhost:18081"
property string payment_id
property int restore_height : 0
property bool is_recovering : false
@@ -912,13 +912,25 @@ ApplicationWindow {
id: transactionConfirmationPopup
onAccepted: {
close();
// Save transaction to file if view only wallet
if(viewOnly) {
saveTxDialog.open();
return;
} else
handleTransactionConfirmed()
transactionConfirmationPasswordDialog.onAcceptedCallback = function() {
if(appWindow.password === transactionConfirmationPasswordDialog.password){
// Save transaction to file if view only wallet
if(viewOnly) {
saveTxDialog.open();
} else {
handleTransactionConfirmed()
}
} else {
informationPopup.title = qsTr("Error") + translationManager.emptyString;
informationPopup.text = qsTr("Wrong password");
informationPopup.open()
informationPopup.onCloseCallback = function() {
transactionConfirmationPasswordDialog.open()
}
}
transactionConfirmationPasswordDialog.password = ""
}
transactionConfirmationPasswordDialog.open()
}
}
@@ -968,6 +980,15 @@ ApplicationWindow {
}
PasswordDialog {
id: transactionConfirmationPasswordDialog
property var onAcceptedCallback
onAccepted: {
if (onAcceptedCallback())
onAcceptedCallback();
}
}
DaemonManagerDialog {
id: daemonManagerDialog
onRejected: {

View File

@@ -91,7 +91,8 @@ LIBS += -L$$WALLET_ROOT/lib \
-lwallet_merged \
-lepee \
-lunbound \
-leasylogging
-leasylogging \
-lreadline \
}
@@ -303,6 +304,7 @@ TRANSLATIONS = \ # English is default language, no explicit translation file
$$PWD/translations/monero-core_zh-tw.ts \ # Chinese (Traditional-Taiwan)
$$PWD/translations/monero-core_he.ts \ # Hebrew
$$PWD/translations/monero-core_ko.ts \ # Korean
$$PWD/translations/monero-core_ro.ts \ # Romanian
CONFIG(release, debug|release) {
DESTDIR = release/bin

View File

@@ -497,9 +497,76 @@ Rectangle {
text: qsTr("Embedded Monero version: ") + Version.GUI_MONERO_VERSION + translationManager.emptyString
}
TextBlock {
id: restoreHeightText
Layout.fillWidth: true
text: (typeof currentWallet == "undefined") ? "" : qsTr("Wallet creation height: ") + currentWallet.walletCreationHeight + translationManager.emptyString
textFormat: Text.RichText
property var txt: "<style type='text/css'>a {text-decoration: none; color: #FF6C3C}</style>" + qsTr("Wallet creation height: ") + currentWallet.walletCreationHeight + translationManager.emptyString
property var linkTxt: qsTr(" <a href='#'>(Click to change)</a>") + translationManager.emptyString
text: (typeof currentWallet == "undefined") ? "" : txt + linkTxt
onLinkActivated: {
restoreHeightRow.visible = true;
}
}
RowLayout {
id: restoreHeightRow
visible: false
LineEdit {
id: restoreHeight
Layout.preferredWidth: 80
Layout.fillWidth: true
text: currentWallet.walletCreationHeight
validator: IntValidator {
bottom:0
}
}
StandardButton {
id: restoreHeightSave
Layout.fillWidth: false
Layout.leftMargin: 30
text: qsTr("Save") + translationManager.emptyString
shadowReleasedColor: "#FF4304"
shadowPressedColor: "#B32D00"
releasedColor: "#FF6C3C"
pressedColor: "#FF4304"
onClicked: {
currentWallet.walletCreationHeight = restoreHeight.text
// Restore height is saved in .keys file. Set password to trigger rewrite.
currentWallet.setPassword(appWindow.password)
restoreHeightRow.visible = false
// Show confirmation dialog
confirmationDialog.title = qsTr("Rescan wallet cache") + translationManager.emptyString;
confirmationDialog.text = qsTr("Are you sure you want to rebuild the wallet cache?\n"
+ "The following information will be deleted\n"
+ "- Recipient addresses\n"
+ "- Tx keys\n"
+ "- Tx descriptions\n\n"
+ "The old wallet cache file will be renamed and can be restored later.\n"
);
confirmationDialog.icon = StandardIcon.Question
confirmationDialog.cancelText = qsTr("Cancel")
confirmationDialog.onAcceptedCallback = function() {
walletManager.closeWallet();
walletManager.clearWalletCache(persistentSettings.wallet_path);
walletManager.openWalletAsync(persistentSettings.wallet_path, appWindow.password,
persistentSettings.testnet);
}
confirmationDialog.onRejectedCallback = null;
confirmationDialog.open()
}
}
}
TextBlock {
Layout.fillWidth: true
text: (typeof currentWallet == "undefined") ? "" : qsTr("Wallet log path: ") + currentWallet.walletLogPath + translationManager.emptyString

View File

@@ -45,7 +45,7 @@ Rectangle {
property bool showAdvanced: false
function scaleValueToMixinCount(scaleValue) {
var scaleToMixinCount = [4,5,6,7,8,9,10,11,12,13,14,15,20,25];
var scaleToMixinCount = [4,5,6,7,8,9,10,11,12,14,16,18,21,25];
if (scaleValue < scaleToMixinCount.length) {
return scaleToMixinCount[scaleValue];
} else {

View File

@@ -121,6 +121,7 @@
<file>lang/flags/usa.png</file>
<file>lang/flags/israel.png</file>
<file>lang/flags/south_korea.png</file>
<file>lang/flags/romania.png</file>
<file>wizard/WizardManageWalletUI.qml</file>
<file>wizard/WizardRecoveryWallet.qml</file>
<file>wizard/WizardMemoTextInput.qml</file>

View File

@@ -45,7 +45,7 @@ QList<TransactionInfo *> TransactionHistory::getAll() const
if (ti->timestamp() <= firstDateTime) {
firstDateTime = ti->timestamp();
}
quint64 requiredConfirmations = (ti->blockHeight() < ti->unlockTime()) ? ti->unlockTime() - ti->blockHeight() : 0;
quint64 requiredConfirmations = (ti->blockHeight() < ti->unlockTime()) ? ti->unlockTime() - ti->blockHeight() : 10;
// store last tx height
if (ti->confirmations() < requiredConfirmations && ti->blockHeight() >= lastTxHeight) {
lastTxHeight = ti->blockHeight();

View File

@@ -207,6 +207,7 @@ void Wallet::initAsync(const QString &daemonAddress, quint64 upperTransactionLim
QFuture<bool> future = watcher->future();
watcher->deleteLater();
if(future.result()){
emit walletCreationHeightChanged();
qDebug() << "init async finished - starting refresh";
connected(true);
m_walletImpl->startRefresh();
@@ -599,6 +600,12 @@ bool Wallet::useForkRules(quint8 required_version, quint64 earlyBlocks) const
}
}
void Wallet::setWalletCreationHeight(quint64 height)
{
m_walletImpl->setRefreshFromBlockHeight(height);
emit walletCreationHeightChanged();
}
QString Wallet::getDaemonLogPath() const
{
return QString::fromStdString(m_walletImpl->getDefaultDataDir()) + "/bitmonero.log";

View File

@@ -47,7 +47,7 @@ class Wallet : public QObject
Q_PROPERTY(QString publicSpendKey READ getPublicSpendKey)
Q_PROPERTY(QString daemonLogPath READ getDaemonLogPath CONSTANT)
Q_PROPERTY(QString walletLogPath READ getWalletLogPath CONSTANT)
Q_PROPERTY(quint64 walletCreationHeight READ getWalletCreationHeight CONSTANT)
Q_PROPERTY(quint64 walletCreationHeight READ getWalletCreationHeight WRITE setWalletCreationHeight NOTIFY walletCreationHeightChanged)
public:
@@ -245,6 +245,8 @@ public:
QString getPublicSpendKey() const {return QString::fromStdString(m_walletImpl->publicSpendKey());}
quint64 getWalletCreationHeight() const {return m_walletImpl->getRefreshFromBlockHeight();}
void setWalletCreationHeight(quint64 height);
QString getDaemonLogPath() const;
QString getWalletLogPath() const;
@@ -263,6 +265,7 @@ signals:
void unconfirmedMoneyReceived(const QString &txId, quint64 amount);
void newBlock(quint64 height, quint64 targetHeight);
void historyModelChanged() const;
void walletCreationHeightChanged();
// emitted when transaction is created async
void transactionCreated(PendingTransaction * transaction, QString address, QString paymentId, quint32 mixinCount);

View File

@@ -3,6 +3,7 @@
#include "TransactionInfo.h"
#include <QDateTime>
#include <QDebug>
TransactionHistoryModel::TransactionHistoryModel(QObject *parent)
@@ -86,7 +87,7 @@ QVariant TransactionHistoryModel::data(const QModelIndex &index, int role) const
result = tInfo->confirmations();
break;
case TransactionConfirmationsRequiredRole:
result = (tInfo->blockHeight() < tInfo->unlockTime()) ? tInfo->unlockTime() - tInfo->blockHeight() : 0;
result = (tInfo->blockHeight() < tInfo->unlockTime()) ? tInfo->unlockTime() - tInfo->blockHeight() : 10;
break;
case TransactionHashRole:
result = tInfo->hash();

View File

@@ -16,12 +16,12 @@
<message>
<location filename="../pages/AddressBook.qml" line="71"/>
<source>QRCODE</source>
<translation type="unfinished"></translation>
<translation>QR koodi</translation>
</message>
<message>
<location filename="../pages/AddressBook.qml" line="93"/>
<source>4...</source>
<translation type="unfinished"></translation>
<translation>4...</translation>
</message>
<message>
<location filename="../pages/AddressBook.qml" line="102"/>
@@ -31,37 +31,37 @@
<message>
<location filename="../pages/AddressBook.qml" line="114"/>
<source>Paste 64 hexadecimal characters</source>
<translation type="unfinished"></translation>
<translation>Liitä 64 heksadesimaalimerkkiä</translation>
</message>
<message>
<location filename="../pages/AddressBook.qml" line="123"/>
<source>Description &lt;font size=&apos;2&apos;&gt;(Optional)&lt;/font&gt;</source>
<translation type="unfinished"></translation>
<translation>Kuvaus &lt;font size=&apos;2&apos;&gt;(Valinnainen)&lt;/font&gt;</translation>
</message>
<message>
<location filename="../pages/AddressBook.qml" line="135"/>
<source>Give this entry a name or description</source>
<translation type="unfinished"></translation>
<translation>Anna tähän nimi tai kuvaus</translation>
</message>
<message>
<location filename="../pages/AddressBook.qml" line="151"/>
<source>Add</source>
<translation type="unfinished"></translation>
<translation>Lisää</translation>
</message>
<message>
<location filename="../pages/AddressBook.qml" line="156"/>
<source>Error</source>
<translation type="unfinished">Virhe</translation>
<translation>Virhe</translation>
</message>
<message>
<location filename="../pages/AddressBook.qml" line="159"/>
<source>Invalid address</source>
<translation type="unfinished"></translation>
<translation>Virheellinen osoite</translation>
</message>
<message>
<location filename="../pages/AddressBook.qml" line="163"/>
<source>Can&apos;t create entry</source>
<translation type="unfinished"></translation>
<translation>Ei voida lisätä merkintää</translation>
</message>
</context>
<context>
@@ -105,12 +105,12 @@
<message>
<location filename="../components/DaemonConsole.qml" line="117"/>
<source>Close</source>
<translation type="unfinished"></translation>
<translation>Sulje</translation>
</message>
<message>
<location filename="../components/DaemonConsole.qml" line="128"/>
<source>command + enter (e.g help)</source>
<translation type="unfinished"></translation>
<translation>Käsky + enter (esim. help)</translation>
</message>
</context>
<context>
@@ -118,17 +118,17 @@
<message>
<location filename="../components/DaemonManagerDialog.qml" line="93"/>
<source>Starting Monero daemon in %1 seconds</source>
<translation type="unfinished"></translation>
<translation>Käynnistetään Monero taustaohjelma %1 sekunnin kuluttua</translation>
</message>
<message>
<location filename="../components/DaemonManagerDialog.qml" line="115"/>
<source>Start daemon (%1)</source>
<translation type="unfinished"></translation>
<translation>Käynnistä taustaohjelma (%1)</translation>
</message>
<message>
<location filename="../components/DaemonManagerDialog.qml" line="132"/>
<source>Use custom settings</source>
<translation type="unfinished"></translation>
<translation>Käytä omavalintaisia asetuksia</translation>
</message>
</context>
<context>
@@ -187,12 +187,12 @@
<message>
<location filename="../pages/History.qml" line="183"/>
<source>Type for incremental search...</source>
<translation type="unfinished"></translation>
<translation>Kirjoita hakeaksesi...</translation>
</message>
<message>
<location filename="../pages/History.qml" line="276"/>
<source>Filter</source>
<translation type="unfinished"></translation>
<translation>Filtteri</translation>
</message>
<message>
<location filename="../pages/History.qml" line="223"/>
@@ -248,7 +248,7 @@
<message>
<location filename="../components/HistoryTable.qml" line="52"/>
<source>Destinations:</source>
<translation type="unfinished"></translation>
<translation>Kohteet:</translation>
</message>
<message>
<location filename="../components/HistoryTable.qml" line="78"/>
@@ -268,17 +268,17 @@
<message>
<location filename="../components/HistoryTable.qml" line="266"/>
<source>(%1/10 confirmations)</source>
<translation type="unfinished"></translation>
<translation>(%1/10 vahvistusta)</translation>
</message>
<message>
<location filename="../components/HistoryTable.qml" line="270"/>
<source>UNCONFIRMED</source>
<translation type="unfinished"></translation>
<translation>VAHVISTAMATON</translation>
</message>
<message>
<location filename="../components/HistoryTable.qml" line="271"/>
<source>PENDING</source>
<translation type="unfinished"></translation>
<translation>VIREILLÄ</translation>
</message>
<message>
<location filename="../components/HistoryTable.qml" line="300"/>
@@ -336,47 +336,47 @@
<message>
<location filename="../LeftPanel.qml" line="93"/>
<source>Testnet</source>
<translation type="unfinished">Testnet</translation>
<translation>Testnet</translation>
</message>
<message>
<location filename="../LeftPanel.qml" line="304"/>
<source>Address book</source>
<translation type="unfinished"></translation>
<translation>Osoitekirja</translation>
</message>
<message>
<location filename="../LeftPanel.qml" line="305"/>
<source>B</source>
<translation type="unfinished"></translation>
<translation>B</translation>
</message>
<message>
<location filename="../LeftPanel.qml" line="354"/>
<source>H</source>
<translation></translation>
<translation>H</translation>
</message>
<message>
<location filename="../LeftPanel.qml" line="376"/>
<source>Advanced</source>
<translation type="unfinished"></translation>
<translation>Edistynyt</translation>
</message>
<message>
<location filename="../LeftPanel.qml" line="377"/>
<source>D</source>
<translation type="unfinished"></translation>
<translation>D</translation>
</message>
<message>
<location filename="../LeftPanel.qml" line="398"/>
<source>Mining</source>
<translation type="unfinished"></translation>
<translation>Louhinta</translation>
</message>
<message>
<location filename="../LeftPanel.qml" line="399"/>
<source>M</source>
<translation type="unfinished"></translation>
<translation>M</translation>
</message>
<message>
<location filename="../LeftPanel.qml" line="422"/>
<source>Check payment</source>
<translation type="unfinished"></translation>
<translation>Tarkista maksu</translation>
</message>
<message>
<location filename="../LeftPanel.qml" line="446"/>
@@ -386,17 +386,17 @@
<message>
<location filename="../LeftPanel.qml" line="470"/>
<source>E</source>
<translation type="unfinished"></translation>
<translation>E</translation>
</message>
<message>
<location filename="../LeftPanel.qml" line="280"/>
<source>S</source>
<translation></translation>
<translation>S</translation>
</message>
<message>
<location filename="../LeftPanel.qml" line="447"/>
<source>I</source>
<translation type="unfinished"></translation>
<translation>I</translation>
</message>
<message>
<location filename="../LeftPanel.qml" line="469"/>
@@ -409,12 +409,12 @@
<message>
<location filename="../MiddlePanel.qml" line="46"/>
<source>Balance</source>
<translation type="unfinished">Saldo</translation>
<translation>Saldo</translation>
</message>
<message>
<location filename="../MiddlePanel.qml" line="48"/>
<source>Unlocked Balance</source>
<translation type="unfinished"></translation>
<translation>Lukittamaton Saldo</translation>
</message>
</context>
<context>
@@ -422,17 +422,17 @@
<message>
<location filename="../pages/Mining.qml" line="73"/>
<source>Solo mining</source>
<translation type="unfinished"></translation>
<translation>Soololouhinta</translation>
</message>
<message>
<location filename="../pages/Mining.qml" line="80"/>
<source>(only available for local daemons)</source>
<translation type="unfinished"></translation>
<translation>(saatavilla vain paikallisille taustaohjelmille)</translation>
</message>
<message>
<location filename="../pages/Mining.qml" line="86"/>
<source>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.&lt;br&gt; &lt;br&gt;Mining 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!</source>
<translation type="unfinished"></translation>
<translation>Louhinta tietokoneellasi auttaa vahvistamaan Moneroverkkoa. Mitä enemmän ihmiset louhivat, sitä vaikeampaa on hyökätä verkkoon ja jokainen pieni osa auttaa.&lt;br&gt; &lt;br&gt;Louhinta myös antaa sinulle pienen mahdollisuuden ansaita vähän Moneroa. Tietokoneesi luo haketta etsien lohkon ratkaisuja. Jos löydät lohkon, saat siihen liittyvän palkinnon. Onnea!</translation>
</message>
<message>
<location filename="../pages/Mining.qml" line="96"/>
@@ -442,17 +442,17 @@
<message>
<location filename="../pages/Mining.qml" line="104"/>
<source>(optional)</source>
<translation type="unfinished"></translation>
<translation>(valinnainen)</translation>
</message>
<message>
<location filename="../pages/Mining.qml" line="116"/>
<source>Background mining (experimental)</source>
<translation type="unfinished"></translation>
<translation>Louhinta taustalla (kokeellinen)</translation>
</message>
<message>
<location filename="../pages/Mining.qml" line="132"/>
<source>Enable mining when running on battery</source>
<translation type="unfinished"></translation>
<translation>Salli louhinta akkuvirralla</translation>
</message>
<message>
<location filename="../pages/Mining.qml" line="142"/>
@@ -462,12 +462,12 @@
<message>
<location filename="../pages/Mining.qml" line="151"/>
<source>Start mining</source>
<translation type="unfinished"></translation>
<translation>Aloita louhinta</translation>
</message>
<message>
<location filename="../pages/Mining.qml" line="161"/>
<source>Error starting mining</source>
<translation type="unfinished"></translation>
<translation>Virhe louhinnan aloittamisessa</translation>
</message>
<message>
<location filename="../pages/Mining.qml" line="162"/>

View File

@@ -31,7 +31,7 @@
<message>
<location filename="../pages/AddressBook.qml" line="114"/>
<source>Paste 64 hexadecimal characters</source>
<translation>64 16 </translation>
<translation> 16 64 </translation>
</message>
<message>
<location filename="../pages/AddressBook.qml" line="123"/>
@@ -74,7 +74,7 @@
<message>
<location filename="../components/AddressBookTable.qml" line="104"/>
<source>Payment ID:</source>
<translation> :</translation>
<translation> :</translation>
</message>
</context>
<context>
@@ -82,7 +82,7 @@
<message>
<location filename="../BasicPanel.qml" line="97"/>
<source>Locked Balance:</source>
<translation> :</translation>
<translation> :</translation>
</message>
<message>
<location filename="../BasicPanel.qml" line="110"/>
@@ -92,7 +92,7 @@
<message>
<location filename="../BasicPanel.qml" line="133"/>
<source>Available Balance:</source>
<translation> :</translation>
<translation> :</translation>
</message>
<message>
<location filename="../BasicPanel.qml" line="146"/>
@@ -110,7 +110,7 @@
<message>
<location filename="../components/DaemonConsole.qml" line="128"/>
<source>command + enter (e.g help)</source>
<translation> + (: 도움)</translation>
<translation> + (: 도움)</translation>
</message>
</context>
<context>
@@ -118,7 +118,7 @@
<message>
<location filename="../components/DaemonManagerDialog.qml" line="93"/>
<source>Starting Monero daemon in %1 seconds</source>
<translation>%1 </translation>
<translation> %1 </translation>
</message>
<message>
<location filename="../components/DaemonManagerDialog.qml" line="115"/>
@@ -177,17 +177,17 @@
<message>
<location filename="../pages/History.qml" line="70"/>
<source> selected: </source>
<translation> : </translation>
<translation> : </translation>
</message>
<message>
<location filename="../pages/History.qml" line="135"/>
<source>Filter transaction history</source>
<translation> </translation>
<translation> </translation>
</message>
<message>
<location filename="../pages/History.qml" line="183"/>
<source>Type for incremental search...</source>
<translation> ...</translation>
<translation> ...</translation>
</message>
<message>
<location filename="../pages/History.qml" line="276"/>
@@ -218,7 +218,7 @@
<message>
<location filename="../pages/History.qml" line="370"/>
<source>Amount from</source>
<translation></translation>
<translation> </translation>
</message>
</context>
<context>
@@ -226,23 +226,23 @@
<message>
<location filename="../components/HistoryTable.qml" line="48"/>
<source>Tx ID:</source>
<translation> :</translation>
<translation> :</translation>
</message>
<message>
<location filename="../components/HistoryTable.qml" line="49"/>
<location filename="../components/HistoryTable.qml" line="203"/>
<source>Payment ID:</source>
<translation> :</translation>
<translation> :</translation>
</message>
<message>
<location filename="../components/HistoryTable.qml" line="50"/>
<source>Tx key:</source>
<translation> :</translation>
<translation> :</translation>
</message>
<message>
<location filename="../components/HistoryTable.qml" line="51"/>
<source>Tx note:</source>
<translation> </translation>
<translation> </translation>
</message>
<message>
<location filename="../components/HistoryTable.qml" line="52"/>
@@ -257,17 +257,17 @@
<message>
<location filename="../components/HistoryTable.qml" line="110"/>
<source>Details</source>
<translation></translation>
<translation> </translation>
</message>
<message>
<location filename="../components/HistoryTable.qml" line="251"/>
<source>BlockHeight:</source>
<translation>:</translation>
<translation>:</translation>
</message>
<message>
<location filename="../components/HistoryTable.qml" line="266"/>
<source>(%1/%2 confirmations)</source>
<translation type="unfinished">(%1/10 ) {1/%2 ?}</translation>
<translation type="unfinished">(%1/%2 }</translation>
</message>
<message>
<location filename="../components/HistoryTable.qml" line="270"/>
@@ -305,7 +305,7 @@
<message>
<location filename="../LeftPanel.qml" line="177"/>
<source>Unlocked balance</source>
<translation> </translation>
<translation> </translation>
</message>
<message>
<location filename="../LeftPanel.qml" line="279"/>
@@ -315,22 +315,22 @@
<message>
<location filename="../LeftPanel.qml" line="329"/>
<source>Receive</source>
<translation></translation>
<translation></translation>
</message>
<message>
<location filename="../LeftPanel.qml" line="353"/>
<source>History</source>
<translation></translation>
<translation></translation>
</message>
<message>
<location filename="../LeftPanel.qml" line="93"/>
<source>Testnet</source>
<translation> </translation>
<translation></translation>
</message>
<message>
<location filename="../LeftPanel.qml" line="280"/>
<source>S</source>
<translation type="unfinished"></translation>
<translation type="unfinished">S</translation>
</message>
<message>
<location filename="../LeftPanel.qml" line="304"/>
@@ -340,17 +340,17 @@
<message>
<location filename="../LeftPanel.qml" line="305"/>
<source>B</source>
<translation type="unfinished"></translation>
<translation type="unfinished">B</translation>
</message>
<message>
<location filename="../LeftPanel.qml" line="330"/>
<source>R</source>
<translation type="unfinished"></translation>
<translation type="unfinished">R</translation>
</message>
<message>
<location filename="../LeftPanel.qml" line="354"/>
<source>H</source>
<translation type="unfinished"></translation>
<translation type="unfinished">H</translation>
</message>
<message>
<location filename="../LeftPanel.qml" line="376"/>
@@ -360,7 +360,7 @@
<message>
<location filename="../LeftPanel.qml" line="377"/>
<source>D</source>
<translation type="unfinished"></translation>
<translation type="unfinished">D</translation>
</message>
<message>
<location filename="../LeftPanel.qml" line="398"/>
@@ -370,7 +370,7 @@
<message>
<location filename="../LeftPanel.qml" line="399"/>
<source>M</source>
<translation type="unfinished"></translation>
<translation type="unfinished">M</translation>
</message>
<message>
<location filename="../LeftPanel.qml" line="422"/>
@@ -380,7 +380,7 @@
<message>
<location filename="../LeftPanel.qml" line="423"/>
<source>K</source>
<translation type="unfinished"></translation>
<translation type="unfinished">K</translation>
</message>
<message>
<location filename="../LeftPanel.qml" line="446"/>
@@ -390,17 +390,17 @@
<message>
<location filename="../LeftPanel.qml" line="447"/>
<source>I</source>
<translation type="unfinished"></translation>
<translation type="unfinished">I</translation>
</message>
<message>
<location filename="../LeftPanel.qml" line="469"/>
<source>Settings</source>
<translation></translation>
<translation></translation>
</message>
<message>
<location filename="../LeftPanel.qml" line="470"/>
<source>E</source>
<translation type="unfinished"></translation>
<translation type="unfinished">E</translation>
</message>
</context>
<context>
@@ -413,7 +413,7 @@
<message>
<location filename="../MiddlePanel.qml" line="48"/>
<source>Unlocked Balance</source>
<translation> </translation>
<translation> </translation>
</message>
</context>
<context>
@@ -421,7 +421,7 @@
<message>
<location filename="../pages/Mining.qml" line="73"/>
<source>Solo mining</source>
<translation> </translation>
<translation> </translation>
</message>
<message>
<location filename="../pages/Mining.qml" line="80"/>
@@ -431,7 +431,7 @@
<message>
<location filename="../pages/Mining.qml" line="86"/>
<source>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.&lt;br&gt; &lt;br&gt;Mining 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!</source>
<translation> . . . . . !</translation>
<translation> . . . , , . !</translation>
</message>
<message>
<location filename="../pages/Mining.qml" line="96"/>
@@ -446,12 +446,12 @@
<message>
<location filename="../pages/Mining.qml" line="116"/>
<source>Background mining (experimental)</source>
<translation> ()</translation>
<translation> ( )</translation>
</message>
<message>
<location filename="../pages/Mining.qml" line="132"/>
<source>Enable mining when running on battery</source>
<translation> </translation>
<translation> </translation>
</message>
<message>
<location filename="../pages/Mining.qml" line="142"/>
@@ -491,7 +491,7 @@
<message>
<location filename="../pages/Mining.qml" line="203"/>
<source>Mining at %1 H/s</source>
<translation> %1 H/s</translation>
<translation> %1 H/s </translation>
</message>
<message>
<location filename="../pages/Mining.qml" line="206"/>
@@ -509,7 +509,7 @@
<message>
<location filename="../components/MobileHeader.qml" line="94"/>
<source>Unlocked Balance:</source>
<translation> </translation>
<translation> </translation>
</message>
</context>
<context>
@@ -573,7 +573,7 @@
<message>
<location filename="../components/PrivacyLevelSmall.qml" line="100"/>
<source>Low</source>
<translation></translation>
<translation></translation>
</message>
<message>
<location filename="../components/PrivacyLevelSmall.qml" line="109"/>
@@ -583,7 +583,7 @@
<message>
<location filename="../components/PrivacyLevelSmall.qml" line="118"/>
<source>High</source>
<translation></translation>
<translation></translation>
</message>
</context>
<context>
@@ -601,7 +601,7 @@
<message>
<location filename="../components/ProgressBar.qml" line="100"/>
<source>Synchronizing blocks</source>
<translation> </translation>
<translation> </translation>
</message>
</context>
<context>
@@ -609,7 +609,7 @@
<message>
<location filename="../pages/Receive.qml" line="64"/>
<source>Invalid payment ID</source>
<translation> </translation>
<translation> </translation>
</message>
<message>
<location filename="../pages/Receive.qml" line="107"/>
@@ -619,7 +619,7 @@
<message>
<location filename="../pages/Receive.qml" line="129"/>
<source>in the txpool: %1</source>
<translation> : %1</translation>
<translation> : %1</translation>
</message>
<message>
<location filename="../pages/Receive.qml" line="136"/>
@@ -649,12 +649,12 @@
<message>
<location filename="../pages/Receive.qml" line="156"/>
<source> with more money (%1)</source>
<translation> (%1)</translation>
<translation> (%1)</translation>
</message>
<message>
<location filename="../pages/Receive.qml" line="158"/>
<source> with not enough money (%1)</source>
<translation> (%1)</translation>
<translation> (%1)</translation>
</message>
<message>
<location filename="../pages/Receive.qml" line="190"/>
@@ -664,17 +664,17 @@
<message>
<location filename="../pages/Receive.qml" line="197"/>
<source>ReadOnly wallet address displayed here</source>
<translation> </translation>
<translation> </translation>
</message>
<message>
<location filename="../pages/Receive.qml" line="230"/>
<source>16 hexadecimal characters</source>
<translation>16 16 </translation>
<translation>16 16</translation>
</message>
<message>
<location filename="../pages/Receive.qml" line="266"/>
<source>Clear</source>
<translation></translation>
<translation></translation>
</message>
<message>
<location filename="../pages/Receive.qml" line="276"/>
@@ -729,7 +729,7 @@
<message>
<location filename="../pages/Receive.qml" line="285"/>
<source>Generate payment ID for integrated address</source>
<translation> </translation>
<translation> </translation>
</message>
<message>
<location filename="../pages/Receive.qml" line="309"/>
@@ -752,12 +752,12 @@
<message>
<location filename="../RightPanel.qml" line="63"/>
<source>Help</source>
<translation></translation>
<translation></translation>
</message>
<message>
<location filename="../RightPanel.qml" line="64"/>
<source>About</source>
<translation></translation>
<translation></translation>
</message>
</context>
<context>
@@ -765,12 +765,12 @@
<message>
<location filename="../components/SearchInput.qml" line="69"/>
<source>Search by...</source>
<translation> ...</translation>
<translation>... </translation>
</message>
<message>
<location filename="../components/SearchInput.qml" line="228"/>
<source>SEARCH</source>
<translation></translation>
<translation></translation>
</message>
</context>
<context>
@@ -819,7 +819,7 @@
<message>
<location filename="../pages/Settings.qml" line="163"/>
<source>Rescan wallet balance</source>
<translation> </translation>
<translation> </translation>
</message>
<message>
<location filename="../pages/Settings.qml" line="172"/>
@@ -834,7 +834,7 @@
<message>
<location filename="../pages/Settings.qml" line="178"/>
<source>Sucessfully rescanned spent outputs</source>
<translation> .</translation>
<translation> .</translation>
</message>
<message>
<location filename="../pages/Settings.qml" line="257"/>
@@ -884,7 +884,7 @@
<message>
<location filename="../pages/Settings.qml" line="415"/>
<source>Custom decorations</source>
<translation> </translation>
<translation> </translation>
</message>
<message>
<location filename="../pages/Settings.qml" line="426"/>
@@ -929,12 +929,12 @@
<message>
<location filename="../pages/Settings.qml" line="585"/>
<source>Error: Filesystem is read only</source>
<translation>오류: </translation>
<translation>오류: 해당 </translation>
</message>
<message>
<location filename="../pages/Settings.qml" line="589"/>
<source>Warning: There&apos;s only %1 GB available on the device. Blockchain requires ~%2 GB of data.</source>
<translation>경고 : 장치에 %1 GB뿐입니다. ~ %2 GB의 .</translation>
<translation>경고 : 해당장치에 %1 GB뿐입니다. ~ %2 GB의 .</translation>
</message>
<message>
<location filename="../pages/Settings.qml" line="591"/>
@@ -965,22 +965,22 @@
<message>
<location filename="../pages/Settings.qml" line="527"/>
<source>Secret view key</source>
<translation> </translation>
<translation> </translation>
</message>
<message>
<location filename="../pages/Settings.qml" line="528"/>
<source>Public view key</source>
<translation> </translation>
<translation> </translation>
</message>
<message>
<location filename="../pages/Settings.qml" line="529"/>
<source>Secret spend key</source>
<translation> </translation>
<translation> </translation>
</message>
<message>
<location filename="../pages/Settings.qml" line="530"/>
<source>Public spend key</source>
<translation> </translation>
<translation> </translation>
</message>
<message>
<location filename="../pages/Settings.qml" line="540"/>
@@ -1003,33 +1003,33 @@
<message>
<location filename="../pages/Sign.qml" line="68"/>
<source>Good signature</source>
<translation> </translation>
<translation> </translation>
</message>
<message>
<location filename="../pages/Sign.qml" line="69"/>
<source>This is a good signature</source>
<translation> </translation>
<translation> </translation>
</message>
<message>
<location filename="../pages/Sign.qml" line="73"/>
<source>Bad signature</source>
<translation> </translation>
<translation> </translation>
</message>
<message>
<location filename="../pages/Sign.qml" line="74"/>
<source>This signature did not verify</source>
<translation> .</translation>
<translation> .</translation>
</message>
<message>
<location filename="../pages/Sign.qml" line="111"/>
<source>Sign a message or file contents with your address:</source>
<translation> :</translation>
<translation> :</translation>
</message>
<message>
<location filename="../pages/Sign.qml" line="122"/>
<location filename="../pages/Sign.qml" line="294"/>
<source>Either message:</source>
<translation> :</translation>
<translation> :</translation>
</message>
<message>
<location filename="../pages/Sign.qml" line="137"/>
@@ -1045,7 +1045,7 @@
<message>
<location filename="../pages/Sign.qml" line="184"/>
<source>Please choose a file to sign</source>
<translation> </translation>
<translation> </translation>
</message>
<message>
<location filename="../pages/Sign.qml" line="197"/>
@@ -1067,7 +1067,7 @@
<message>
<location filename="../pages/Sign.qml" line="419"/>
<source>&lt;style type=&apos;text/css&apos;&gt;a {text-decoration: none; color: #FF6C3C; font-size: 14px;}&lt;/style&gt; Signing address &lt;font size=&apos;2&apos;&gt; ( Paste in or select from &lt;/font&gt; &lt;a href=&apos;#&apos;&gt;Address book&lt;/a&gt;&lt;font size=&apos;2&apos;&gt; )&lt;/font&gt;</source>
<translation type="unfinished"> &lt;font size=&apos;2&apos;&gt; ( &lt;/font&gt; &lt;a href=&apos;#&apos;&gt;&lt;/a&gt;&lt;font size=&apos;2&apos;&gt; )&lt;/font&gt;</translation>
<translation type="unfinished"> &lt;font size=&apos;2&apos;&gt; (&lt;/font&gt; &lt;a href=&apos;#&apos;&gt;&lt;/a&gt;&lt;font size=&apos;2&apos;&gt; )&lt;/font&gt;</translation>
</message>
<message>
<location filename="../pages/Sign.qml" line="172"/>
@@ -1078,7 +1078,7 @@
<message>
<location filename="../pages/Sign.qml" line="212"/>
<source>Filename with message to sign</source>
<translation> </translation>
<translation> </translation>
</message>
<message>
<location filename="../pages/Sign.qml" line="251"/>
@@ -1091,17 +1091,17 @@
<message>
<location filename="../pages/Sign.qml" line="282"/>
<source>Verify a message or file signature from an address:</source>
<translation> </translation>
<translation> </translation>
</message>
<message>
<location filename="../pages/Sign.qml" line="309"/>
<source>Message to verify</source>
<translation> </translation>
<translation> </translation>
</message>
<message>
<location filename="../pages/Sign.qml" line="383"/>
<source>Filename with message to verify</source>
<translation> </translation>
<translation> </translation>
</message>
</context>
<context>
@@ -1132,27 +1132,27 @@
<message>
<location filename="../components/StandardDropdown.qml" line="199"/>
<source>High (x166 fee)</source>
<translation> (x166 )</translation>
<translation> (x166 )</translation>
</message>
<message>
<location filename="../components/StandardDropdown.qml" line="200"/>
<source>Slow (x0.25 fee)</source>
<translation> (x0.25 )</translation>
<translation> (x0.25 )</translation>
</message>
<message>
<location filename="../components/StandardDropdown.qml" line="201"/>
<source>Default (x1 fee)</source>
<translation> (x1 )</translation>
<translation> (x1 )</translation>
</message>
<message>
<location filename="../components/StandardDropdown.qml" line="202"/>
<source>Fast (x5 fee)</source>
<translation> (x5 )</translation>
<translation> (x5 )</translation>
</message>
<message>
<location filename="../components/StandardDropdown.qml" line="203"/>
<source>Fastest (x41.5 fee)</source>
<translation> (x41.5 )</translation>
<translation> (x41.5 )</translation>
</message>
<message>
<location filename="../components/StandardDropdown.qml" line="204"/>
@@ -1180,7 +1180,7 @@
<message>
<location filename="../components/TableDropdown.qml" line="183"/>
<source>&lt;b&gt;Send to this address&lt;/b&gt;</source>
<translation>&lt;b&gt; &lt;/b&gt;</translation>
<translation>&lt;b&gt; &lt;/b&gt;</translation>
</message>
<message>
<location filename="../components/TableDropdown.qml" line="184"/>
@@ -1198,7 +1198,7 @@
<message>
<location filename="../components/TableHeader.qml" line="65"/>
<source>Payment ID</source>
<translation> </translation>
<translation> </translation>
</message>
<message>
<location filename="../components/TableHeader.qml" line="66"/>
@@ -1208,7 +1208,7 @@
<message>
<location filename="../components/TableHeader.qml" line="67"/>
<source>Block height</source>
<translation></translation>
<translation> </translation>
</message>
<message>
<location filename="../components/TableHeader.qml" line="68"/>
@@ -1231,7 +1231,7 @@
<message>
<location filename="../components/TickDelegate.qml" line="57"/>
<source>High</source>
<translation></translation>
<translation></translation>
</message>
</context>
<context>
@@ -1249,7 +1249,7 @@
<message>
<location filename="../pages/Transfer.qml" line="78"/>
<source>Privacy level (ringsize %1)</source>
<translation> ( %1)</translation>
<translation> ( %1)</translation>
</message>
<message>
<location filename="../pages/Transfer.qml" line="125"/>
@@ -1259,7 +1259,7 @@
<message>
<location filename="../pages/Transfer.qml" line="135"/>
<source>Transaction priority</source>
<translation> </translation>
<translation> </translation>
</message>
<message>
<location filename="../pages/Transfer.qml" line="175"/>
@@ -1269,17 +1269,17 @@
<message>
<location filename="../pages/Transfer.qml" line="197"/>
<source>Low (x1 fee)</source>
<translation> (x1 )</translation>
<translation> (x1 )</translation>
</message>
<message>
<location filename="../pages/Transfer.qml" line="198"/>
<source>Medium (x20 fee)</source>
<translation> (x20 )</translation>
<translation> (x20 )</translation>
</message>
<message>
<location filename="../pages/Transfer.qml" line="199"/>
<source>High (x166 fee)</source>
<translation> (x166 )</translation>
<translation> (x166 )</translation>
</message>
<message>
<location filename="../pages/Transfer.qml" line="237"/>
@@ -1294,7 +1294,7 @@
<message>
<location filename="../pages/Transfer.qml" line="285"/>
<source>Resolve</source>
<translation></translation>
<translation></translation>
</message>
<message>
<location filename="../pages/Transfer.qml" line="303"/>
@@ -1345,22 +1345,22 @@
<message>
<location filename="../pages/Transfer.qml" line="499"/>
<source>Sweep Unmixable</source>
<translation> </translation>
<translation> </translation>
</message>
<message>
<location filename="../pages/Transfer.qml" line="513"/>
<source>Create tx file</source>
<translation> </translation>
<translation> </translation>
</message>
<message>
<location filename="../pages/Transfer.qml" line="535"/>
<source>Sign tx file</source>
<translation> </translation>
<translation> </translation>
</message>
<message>
<location filename="../pages/Transfer.qml" line="549"/>
<source>Submit tx file</source>
<translation> </translation>
<translation> </translation>
</message>
<message>
<location filename="../pages/Transfer.qml" line="582"/>
@@ -1372,7 +1372,7 @@
<location filename="../pages/Transfer.qml" line="590"/>
<source>
Number of transactions: </source>
<translation> : </translation>
<translation> : </translation>
</message>
<message>
<location filename="../pages/Transfer.qml" line="592"/>
@@ -1539,12 +1539,12 @@ Please upgrade or connect to another daemon</source>
<message>
<location filename="../pages/TxKey.qml" line="152"/>
<source>Transaction ID</source>
<translation> </translation>
<translation> </translation>
</message>
<message>
<location filename="../pages/TxKey.qml" line="161"/>
<source>Paste tx ID</source>
<translation> </translation>
<translation> </translation>
</message>
<message>
<location filename="../pages/TxKey.qml" line="193"/>
@@ -1575,27 +1575,27 @@ Please upgrade or connect to another daemon</source>
<message>
<location filename="../wizard/WizardConfigure.qml" line="79"/>
<source>Were almost there - lets just configure some Monero preferences</source>
<translation> - .</translation>
<translation> - .</translation>
</message>
<message>
<location filename="../wizard/WizardConfigure.qml" line="97"/>
<source>Kickstart the Monero blockchain?</source>
<translation> ?</translation>
<translation> ?</translation>
</message>
<message>
<location filename="../wizard/WizardConfigure.qml" line="115"/>
<source>It is very important to write it down as this is the only backup you will need for your wallet.</source>
<translation> .</translation>
<translation> .</translation>
</message>
<message>
<location filename="../wizard/WizardConfigure.qml" line="126"/>
<source>Enable disk conservation mode?</source>
<translation> ?</translation>
<translation> ?</translation>
</message>
<message>
<location filename="../wizard/WizardConfigure.qml" line="144"/>
<source>Disk conservation mode uses substantially less disk-space, but the same amount of bandwidth as a regular Monero instance. However, storing the full blockchain is beneficial to the security of the Monero network. If you are on a device with limited disk space, then this option is appropriate for you.</source>
<translation> . . .</translation>
<translation> . . .</translation>
</message>
<message>
<location filename="../wizard/WizardConfigure.qml" line="157"/>
@@ -1629,32 +1629,32 @@ Please upgrade or connect to another daemon</source>
<message>
<location filename="../wizard/WizardDonation.qml" line="93"/>
<source>Monero development is solely supported by donations</source>
<translation> </translation>
<translation> </translation>
</message>
<message>
<location filename="../wizard/WizardDonation.qml" line="113"/>
<source>Enable auto-donations of?</source>
<translation> ?</translation>
<translation> ?</translation>
</message>
<message>
<location filename="../wizard/WizardDonation.qml" line="153"/>
<source>% of my fee added to each transaction</source>
<translation> </translation>
<translation> </translation>
</message>
<message>
<location filename="../wizard/WizardDonation.qml" line="164"/>
<source>For every transaction, a small transaction fee is charged. This option lets you add an additional amount, as a percentage of that fee, to your transaction to support Monero development. For instance, a 50% autodonation take a transaction fee of 0.005 XMR and add a 0.0025 XMR to support Monero development.</source>
<translation> . . , 50 % 0.005 XMR이면 0.0025 XMR이 .</translation>
<translation> . . , 50% 0.005 XMR이면 0.0025 XMR이 .</translation>
</message>
<message>
<location filename="../wizard/WizardDonation.qml" line="176"/>
<source>Allow background mining?</source>
<translation> ?</translation>
<translation> ?</translation>
</message>
<message>
<location filename="../wizard/WizardDonation.qml" line="194"/>
<source>Mining secures the Monero network, and also pays a small reward for the work done. This option will let Monero mine when your computer is on mains power and is idle. It will stop mining when you continue working.</source>
<translation> . . .</translation>
<translation> . IDLE . .</translation>
</message>
</context>
<context>
@@ -1701,7 +1701,7 @@ Please upgrade or connect to another daemon</source>
<message>
<location filename="../wizard/WizardFinish.qml" line="68"/>
<source>Testnet</source>
<translation> </translation>
<translation></translation>
</message>
<message>
<location filename="../wizard/WizardFinish.qml" line="70"/>
@@ -1711,17 +1711,17 @@ Please upgrade or connect to another daemon</source>
<message>
<location filename="../wizard/WizardFinish.qml" line="78"/>
<source>New wallet details:</source>
<translation> :</translation>
<translation> :</translation>
</message>
<message>
<location filename="../wizard/WizardFinish.qml" line="82"/>
<source>Don&apos;t forget to write down your seed. You can view your seed and change your settings on settings page.</source>
<translation> (seed) . .</translation>
<translation> (seed) . .</translation>
</message>
<message>
<location filename="../wizard/WizardFinish.qml" line="128"/>
<source>Youre all set up!</source>
<translation> !</translation>
<translation> !</translation>
</message>
</context>
<context>
@@ -1729,7 +1729,7 @@ Please upgrade or connect to another daemon</source>
<message>
<location filename="../wizard/WizardMain.qml" line="176"/>
<source>A wallet with same name already exists. Please change wallet name</source>
<translation> . .</translation>
<translation> . .</translation>
</message>
<message>
<location filename="../wizard/WizardMain.qml" line="184"/>
@@ -1739,7 +1739,7 @@ Please upgrade or connect to another daemon</source>
<message>
<location filename="../wizard/WizardMain.qml" line="366"/>
<source>USE MONERO</source>
<translation> </translation>
<translation> </translation>
</message>
<message>
<location filename="../wizard/WizardMain.qml" line="383"/>
@@ -1755,7 +1755,7 @@ Please upgrade or connect to another daemon</source>
<location filename="../wizard/WizardMain.qml" line="394"/>
<source>The view only wallet has been created. You can open it by closing this current wallet, clicking the &quot;Open wallet from file&quot; option, and selecting the view wallet in:
%1</source>
<translation> . &quot; &quot; :
<translation> . &quot; &quot; :
%1</translation>
</message>
<message>
@@ -1799,7 +1799,7 @@ Please upgrade or connect to another daemon</source>
<message>
<location filename="../wizard/WizardManageWalletUI.qml" line="220"/>
<source>Spend key (private)</source>
<translation> ()</translation>
<translation> ()</translation>
</message>
<message>
<location filename="../wizard/WizardManageWalletUI.qml" line="232"/>
@@ -1809,7 +1809,7 @@ Please upgrade or connect to another daemon</source>
<message>
<location filename="../wizard/WizardManageWalletUI.qml" line="245"/>
<source>Your wallet is stored in</source>
<translation> </translation>
<translation> : </translation>
</message>
<message>
<location filename="../wizard/WizardManageWalletUI.qml" line="271"/>
@@ -1865,7 +1865,7 @@ Please upgrade or connect to another daemon</source>
<message>
<location filename="../wizard/WizardOptions.qml" line="295"/>
<source>Testnet</source>
<translation> </translation>
<translation></translation>
</message>
</context>
<context>
@@ -1881,7 +1881,7 @@ Please upgrade or connect to another daemon</source>
<source> &lt;br&gt;Note: this password cannot be recovered. If you forget it then the wallet will have to be restored from its 25 word mnemonic seed.&lt;br/&gt;&lt;br/&gt;
&lt;b&gt;Enter a strong password&lt;/b&gt; (using letters, numbers, and/or symbols):</source>
<translation> &lt;br&gt;참고: , 25 .&lt;br/&gt;&lt;br/&gt;
&lt;b&gt; &lt;/b&gt; (, / ):</translation>
&lt;b&gt; &lt;/b&gt; (, ):</translation>
</message>
</context>
<context>
@@ -1942,27 +1942,27 @@ Please upgrade or connect to another daemon</source>
<message>
<location filename="../main.qml" line="361"/>
<source>Unlocked balance (waiting for block)</source>
<translation> ( )</translation>
<translation> ( )</translation>
</message>
<message>
<location filename="../main.qml" line="361"/>
<source>Unlocked balance (~%1 min)</source>
<translation> (~%1 )</translation>
<translation> (~%1 )</translation>
</message>
<message>
<location filename="../main.qml" line="361"/>
<source>Unlocked balance</source>
<translation> </translation>
<translation> </translation>
</message>
<message>
<location filename="../main.qml" line="413"/>
<source>Waiting for daemon to start...</source>
<translation> ...</translation>
<translation> ...</translation>
</message>
<message>
<location filename="../main.qml" line="419"/>
<source>Waiting for daemon to stop...</source>
<translation> ...</translation>
<translation> ...</translation>
</message>
<message>
<location filename="../main.qml" line="444"/>
@@ -1989,7 +1989,7 @@ Please upgrade or connect to another daemon</source>
<location filename="../main.qml" line="510"/>
<location filename="../main.qml" line="623"/>
<source>No unmixable outputs to sweep</source>
<translation> </translation>
<translation> </translation>
</message>
<message>
<location filename="../main.qml" line="522"/>
@@ -2000,21 +2000,18 @@ Please upgrade or connect to another daemon</source>
<message>
<location filename="../main.qml" line="523"/>
<location filename="../main.qml" line="636"/>
<source>Please confirm transaction:
</source>
<source>Please confirm transaction: </source>
<translation> :</translation>
</message>
<message>
<location filename="../main.qml" line="524"/>
<source>
Address: </source>
<source> Address: </source>
<translation>:</translation>
</message>
<message>
<location filename="../main.qml" line="525"/>
<source>
Payment ID: </source>
<translation> : </translation>
<source> Payment ID: </source>
<translation> : </translation>
</message>
<message>
<location filename="../main.qml" line="526"/>
@@ -2027,21 +2024,18 @@ Amount: </source>
<message>
<location filename="../main.qml" line="527"/>
<location filename="../main.qml" line="638"/>
<source>
Fee: </source>
<source> Fee: </source>
<translation>: </translation>
</message>
<message>
<location filename="../main.qml" line="528"/>
<source>
Ringsize: </source>
<translation>: </translation>
<source> Ringsize: </source>
<translation> : </translation>
</message>
<message>
<location filename="../main.qml" line="734"/>
<source>This address received %1 monero, with %2 confirmation(s).</source>
<translation> % 1XMR을 , % 2 .</translation>
<translation> %1 XMR을 , %2 .</translation>
</message>
<message>
<location filename="../main.qml" line="1324"/>
@@ -2065,15 +2059,12 @@ Ringsize: </source>
</message>
<message>
<location filename="../main.qml" line="529"/>
<source>
Number of transactions: </source>
<source> Number of transactions: </source>
<translation> : </translation>
</message>
<message>
<location filename="../main.qml" line="530"/>
<source>
Description: </source>
<source> Description: </source>
<translation>: </translation>
</message>
<message>
@@ -2084,7 +2075,7 @@ Description: </source>
<message>
<location filename="../main.qml" line="572"/>
<source>Insufficient funds. Unlocked balance: %1</source>
<translation> . : %1</translation>
<translation> . : %1</translation>
</message>
<message>
<location filename="../main.qml" line="675"/>
@@ -2099,7 +2090,7 @@ Description: </source>
<message>
<location filename="../main.qml" line="684"/>
<source>Money sent successfully: %1 transaction(s) </source>
<translation> : %1 () </translation>
<translation> : %1 </translation>
</message>
<message>
<location filename="../main.qml" line="684"/>
@@ -2114,12 +2105,12 @@ Description: </source>
<message>
<location filename="../main.qml" line="729"/>
<source>This address received %1 monero, but the transaction is not yet mined</source>
<translation> % 1XMR을 , </translation>
<translation> % 1XMR을 , </translation>
</message>
<message>
<location filename="../main.qml" line="738"/>
<source>This address received nothing</source>
<translation> </translation>
<translation> </translation>
</message>
<message>
<location filename="../main.qml" line="750"/>
@@ -2149,7 +2140,7 @@ Description: </source>
<message>
<location filename="../main.qml" line="1072"/>
<source>send to the same destination</source>
<translation> </translation>
<translation> </translation>
</message>
</context>
</TS>

File diff suppressed because it is too large Load Diff

View File

@@ -17,13 +17,13 @@ fi
if [[ "$BUILD_TYPE" == "Release" ]]; then
echo "Release build"
ICU_FILES="libicuuc57.dll libicuin57.dll libicudt57.dll"
ICU_FILES=(libicuuc57.dll libicuin57.dll libicudt57.dll)
else
echo "Debug build"
ICU_FILES="libicuucd57.dll libicuind57.dll libicudtd57.dll"
ICU_FILES=(libicuucd57.dll libicuind57.dll libicudtd57.dll)
fi
FILES="zlib1.dll libwinpthread-1.dll libtiff-5.dll libstdc++-6.dll libpng16-16.dll libpcre16-0.dll libpcre-1.dll libmng-2.dll liblzma-5.dll liblcms2-2.dll libjpeg-8.dll libjasper-1.dll libintl-8.dll libiconv-2.dll libharfbuzz-0.dll libgraphite2.dll libglib-2.0-0.dll libfreetype-6.dll libbz2-1.dll"
FILES=(zlib1.dll libwinpthread-1.dll libtiff-5.dll libstdc++-6.dll libpng16-16.dll libpcre16-0.dll libpcre-1.dll libmng-2.dll liblzma-5.dll liblcms2-2.dll libjpeg-8.dll libintl-8.dll libiconv-2.dll libharfbuzz-0.dll libgraphite2.dll libglib-2.0-0.dll libfreetype-6.dll libbz2-1.dll)
platform=$(get_platform)
@@ -33,10 +33,9 @@ elif [[ "$platform" == "mingw32" ]]; then
PLATFORM_FILES="libgcc_s_dw2-1.dll"
fi
for f in $FILES; do cp $MSYSTEM_PREFIX/bin/$f $TARGET; done
for f in "${FILES[@]}"; do cp $MSYSTEM_PREFIX/bin/$f $TARGET || exit 1; done
for f in $ICU_FILES; do cp $MSYSTEM_PREFIX/bin/$f $TARGET; done
for f in $PLATFORM_FILES; do cp $MSYSTEM_PREFIX/bin/$f $TARGET; done
for f in "${ICU_FILES[@]}"; do cp $MSYSTEM_PREFIX/bin/$f $TARGET || exit 1; done
for f in "${PLATFORM_FILES[@]}"; do cp $MSYSTEM_PREFIX/bin/$f $TARGET || exit 1; done

View File

@@ -50,7 +50,7 @@ ColumnLayout {
autoDonationAmount = wizard.settings["auto_donations_amount"] + " %",
backgroundMiningEnabled = wizard.settings["allow_background_mining"] === true,
backgroundMiningText = backgroundMiningEnabled ? qsTr("Enabled") : qsTr("Disabled"),
testnetEnabled = wizard.settings['testnet'] === true,
testnetEnabled = appWindow.persistentSettings.testnet,
testnetText = testnetEnabled ? qsTr("Enabled") : qsTr("Disabled"),
restoreHeightEnabled = wizard.settings['restore_height'] !== undefined;
@@ -64,7 +64,7 @@ ColumnLayout {
// ? trStart + qsTr("Donation amount") + trMiddle + autoDonationAmount + trEnd
// : "")
// + trStart + qsTr("Background mining") + trMiddle + backgroundMiningText + trEnd
+ trStart + qsTr("Daemon address") + trMiddle + wizard.settings["daemon_address"] + trEnd
+ trStart + qsTr("Daemon address") + trMiddle + persistentSettings.daemon_address + trEnd
+ trStart + qsTr("Testnet") + trMiddle + testnetText + trEnd
+ (restoreHeightEnabled
? trStart + qsTr("Restore height") + trMiddle + wizard.settings['restore_height'] + trEnd

View File

@@ -233,11 +233,8 @@ ColumnLayout {
appWindow.persistentSettings.allow_background_mining = false //settings.allow_background_mining
appWindow.persistentSettings.auto_donations_enabled = false //settings.auto_donations_enabled
appWindow.persistentSettings.auto_donations_amount = false //settings.auto_donations_amount
appWindow.persistentSettings.daemon_address = settings.daemon_address
appWindow.persistentSettings.testnet = settings.testnet
appWindow.persistentSettings.restore_height = (isNaN(settings.restore_height))? 0 : settings.restore_height
appWindow.persistentSettings.is_recovering = (settings.is_recovering === undefined)? false : settings.is_recovering
}
// reading settings from persistent storage

View File

@@ -56,10 +56,10 @@ ColumnLayout {
property int rowSpacing: 10
function checkFields(){
var addressOK = walletManager.addressValid(addressLine.text, wizard.settings.testnet)
var viewKeyOK = walletManager.keyValid(viewKeyLine.text, addressLine.text, true, wizard.settings.testnet)
var addressOK = walletManager.addressValid(addressLine.text, persistentSettings.testnet)
var viewKeyOK = walletManager.keyValid(viewKeyLine.text, addressLine.text, true, persistentSettings.testnet)
// Spendkey is optional
var spendKeyOK = (spendKeyLine.text.length > 0)? walletManager.keyValid(spendKeyLine.text, addressLine.text, false, wizard.settings.testnet) : true
var spendKeyOK = (spendKeyLine.text.length > 0)? walletManager.keyValid(spendKeyLine.text, addressLine.text, false, persistentSettings.testnet) : true
addressLine.error = !addressOK && addressLine.text.length != 0
viewKeyLine.error = !viewKeyOK && viewKeyLine.text.length != 0

View File

@@ -44,25 +44,12 @@ ColumnLayout {
function onPageClosed() {
// Save settings used in open from file.
// other wizard settings are saved on last page in applySettings()
appWindow.persistentSettings.testnet = wizard.settings["testnet"]
appWindow.persistentSettings.daemon_address = wizard.settings["daemon_address"]
appWindow.persistentSettings.language = wizard.settings.language
appWindow.persistentSettings.locale = wizard.settings.locale
return true;
}
function saveDaemonAddress() {
wizard.settings["daemon_address"] = daemonAddress.text
wizard.settings["testnet"] = testNet.checked
}
QtObject {
id: d
readonly property string daemonAddressTestnet : "localhost:38081"
readonly property string daemonAddressMainnet : "localhost:18081"
}
Behavior on opacity {
NumberAnimation { duration: 100; easing.type: Easing.InQuad }
}
@@ -139,7 +126,6 @@ ColumnLayout {
anchors.fill: parent
hoverEnabled: true
onClicked: {
page.saveDaemonAddress()
page.createWalletClicked()
}
}
@@ -182,7 +168,6 @@ ColumnLayout {
anchors.fill: parent
hoverEnabled: true
onClicked: {
page.saveDaemonAddress()
page.recoveryWalletClicked()
}
}
@@ -226,7 +211,6 @@ ColumnLayout {
anchors.fill: parent
hoverEnabled: true
onClicked: {
page.saveDaemonAddress()
page.openWalletClicked()
}
}
@@ -247,62 +231,30 @@ ColumnLayout {
}
// daemon select
// TODO: Move to separate page
ColumnLayout {
RowLayout {
Layout.leftMargin: wizardLeftMargin
Layout.rightMargin: wizardRightMargin
Layout.topMargin: 30
Layout.alignment: Qt.AlignCenter
Layout.fillWidth: true
Label {
Layout.topMargin: 20
fontSize: 14
text: qsTr("Custom daemon address (optional)") + translationManager.emptyString
+ translationManager.emptyString
}
GridLayout {
Layout.fillWidth: true
Layout.alignment: Qt.AlignHCenter
columnSpacing: 20
rowSpacing: 20
flow: isMobile ? GridLayout.TopToBottom : GridLayout.LeftToRight
RowLayout {
spacing: 20
Layout.alignment: Qt.AlignCenter
LineEdit {
id: daemonAddress
Layout.alignment: Qt.AlignCenter
width: 200
fontSize: 14
text: {
if(appWindow.persistentSettings.daemon_address)
return appWindow.persistentSettings.daemon_address;
return testNet.checked ? d.daemonAddressTestnet : d.daemonAddressMainnet
}
}
CheckBox {
id: testNet
Layout.alignment: Qt.AlignCenter
anchors.verticalCenter: parent.verticalCenter
text: qsTr("Testnet") + translationManager.emptyString
background: "#FFFFFF"
fontColor: "#4A4646"
fontSize: 16
checkedIcon: "../images/checkedVioletIcon.png"
uncheckedIcon: "../images/uncheckedIcon.png"
checked: appWindow.persistentSettings.testnet;
Rectangle {
width: 100
CheckBox {
id: testNet
text: qsTr("Testnet") + translationManager.emptyString
background: "#FFFFFF"
fontColor: "#4A4646"
fontSize: 16
checkedIcon: "../images/checkedVioletIcon.png"
uncheckedIcon: "../images/uncheckedIcon.png"
checked: appWindow.persistentSettings.testnet;
onClicked: {
persistentSettings.testnet = testNet.checked
console.log("testnet set to ", persistentSettings.testnet)
}
}
}
}
}

View File

@@ -39,12 +39,6 @@ ColumnLayout {
NumberAnimation { duration: 100; easing.type: Easing.InQuad }
}
QtObject {
id: d
readonly property string daemonAddressTestnet : "localhost:38018";
readonly property string daemonAddressMainnet : "localhost:18018";
}
onOpacityChanged: visible = opacity !== 0
function onPageClosed(settingsObject) {