Compare commits

...

3559 Commits

Author SHA1 Message Date
luigi1111
f0b1b8cd08 Merge pull request #4291
5d5ac6a build: prepare v0.18.3.3 (selsta)
2024-03-12 15:44:16 -04:00
luigi1111
674f69f131 Merge pull request #4290
0c3e230 docker: bump Qt to v5.15.13 (tobtoht)
2024-03-12 15:43:03 -04:00
selsta
5d5ac6a371 build: prepare v0.18.3.3 2024-03-12 20:40:33 +01:00
tobtoht
0c3e2301ed docker: bump Qt to v5.15.13 2024-03-12 18:08:53 +01:00
luigi1111
29e831ccec Merge pull request #4284
df29170 Dockerfile: bump zlib version to 1.3.1 (selsta)
2024-03-09 13:28:47 -05:00
selsta
df291702df Dockerfile: bump zlib version to 1.3.1 2024-03-09 16:52:49 +01:00
luigi1111
ef555a3d72 Merge pull request #4283
cb3d693 build: prepare v0.18.3.2 (selsta)
2024-03-08 20:52:46 -05:00
luigi1111
51a43341c5 Merge pull request #4281
e956b4f tails: fix detection (tobtoht)
2024-03-08 20:52:06 -05:00
luigi1111
ecec7bc4b6 Merge pull request #4278
ca6b38d Remove instructions for Void Linux, add NixOS (Siren)
2024-03-08 20:51:41 -05:00
luigi1111
d809370d8a Merge pull request #4267
8851e71 Update year in Cypyright (inson1)
2024-03-08 20:50:25 -05:00
selsta
cb3d693a26 build: prepare v0.18.3.2 2024-03-09 02:46:45 +01:00
tobtoht
e956b4ff15 tails: fix detection 2024-02-28 15:58:06 +01:00
Siren
ca6b38d25a Remove instructions for Void Linux, add NixOS 2024-02-20 00:01:15 +02:00
inson1
8851e71a8b Update year in Cypyright 2024-01-27 20:12:09 +01:00
luigi1111
dc3441f258 Merge pull request #4262
84ea177 Dockerfile: remove no-asm for constant time AES (selsta)
2024-01-18 18:20:00 -05:00
luigi1111
7791cb08a9 Merge pull request #4261
bd6e5b1 docker: update Qt to 5.15.12 (selsta)
2024-01-18 18:19:39 -05:00
luigi1111
6ed6d6a85e Merge pull request #4260
de9c53b p2pool: update to v3.10 (SChernykh)
2024-01-18 18:19:18 -05:00
luigi1111
df4f68fbf2 Merge pull request #4255
c692fd1 wizard: add Trezor Safe 3 to hardware wallets (selsta)
2024-01-18 18:18:53 -05:00
luigi1111
1cc631d265 Merge pull request #4251
981600c DEPLOY: add missing code syntax highlighting (selsta)
819c2f5 DEPLOY: update instructions for Apple Silicon (selsta)
2024-01-18 18:18:28 -05:00
luigi1111
1fe6765efa Merge pull request #4245
06ed059 cmake: fix deploy by updating libicu version (selsta)
2024-01-18 18:17:45 -05:00
luigi1111
f284677c17 Merge pull request #4243
e41f3cf TxUtils: use regex to check for valid domain (selsta)
2024-01-18 18:17:02 -05:00
selsta
84ea1776ae Dockerfile: remove no-asm for constant time AES 2024-01-14 17:08:55 +01:00
selsta
bd6e5b13cc docker: update Qt to 5.15.12 2024-01-04 13:17:09 +01:00
SChernykh
de9c53bd8d p2pool: update to v3.10 2024-01-04 10:33:40 +01:00
selsta
981600c935 DEPLOY: add missing code syntax highlighting 2023-12-27 04:45:17 +01:00
selsta
c692fd1605 wizard: add Trezor Safe 3 to hardware wallets 2023-12-25 15:33:05 +01:00
selsta
819c2f57be DEPLOY: update instructions for Apple Silicon 2023-12-07 03:29:31 +01:00
selsta
06ed059cba cmake: fix deploy by updating libicu version
msys2 package manager doesn't have mingw64 debug DLLs for libicu anymore so I removed them.
2023-11-14 11:35:46 +01:00
selsta
e41f3cfd13 TxUtils: use regex to check for valid domain 2023-11-13 03:02:54 +01:00
luigi1111
e9cd4588ae Merge pull request #4238
4d39449 p2pool: update to v3.8 (SChernykh)
2023-11-06 09:48:28 -05:00
luigi1111
fdd406ac95 Merge pull request #4234
a3e0519 main: fix qml warning (selsta)
2023-11-06 09:48:06 -05:00
luigi1111
4a7e26b812 Merge pull request #4232
5954d6b cmake: update sodium dll from 23 to 26 (selsta)
2023-11-06 09:47:36 -05:00
luigi1111
99d2884802 Merge pull request #4229
420d2ba Revert 'DaemonManager.cpp: disable JIT on macOS ARM' (selsta)
2023-11-06 09:47:11 -05:00
luigi1111
7a754a4dfc Merge pull request #4223
664d578 workflows: free up diskspace for docker builds (tobtoht)
2023-11-06 09:45:39 -05:00
luigi1111
70a8086366 Merge pull request #4222
33e3f59 docker: update Linux & Windows Qt to 5.15.11 (tobtoht)
2023-11-06 09:45:13 -05:00
SChernykh
4d39449979 p2pool: update to v3.8 2023-10-31 17:56:12 +01:00
selsta
a3e05195c0 main: fix qml warning 2023-10-22 16:41:19 +02:00
selsta
5954d6ba9a cmake: update sodium dll from 23 to 26 2023-10-21 17:02:48 +02:00
selsta
420d2baec2 Revert "DaemonManager.cpp: disable JIT on macOS ARM"
This reverts commit 6c4a8fb819.
2023-10-19 16:21:14 +02:00
tobtoht
664d578f30 workflows: free up diskspace for docker builds 2023-10-05 17:16:52 +02:00
tobtoht
33e3f599e9 docker: update Linux & Windows Qt to 5.15.11 2023-10-04 17:48:36 +02:00
luigi1111
bea3032df9 Merge pull request #4221
ab8ac87 build: prepare v0.18.3.1 (selsta)
2023-10-02 16:41:42 -04:00
selsta
ab8ac87023 build: prepare v0.18.3.1 2023-10-02 21:44:28 +02:00
luigi1111
588b8435b7 Merge pull request #4051
1215a6e Assume untrusted daemon in simple mode (j-berman)
499c2a4 qsTr scan tx error (j-berman)
3b0e66a Display clear error when user scans older tx via untrusted daemon (j-berman)
4cd6652 Update balance after calling scan_tx (j-berman)
2023-09-30 18:34:24 -04:00
luigi1111
8983cae468 Merge pull request #4220
f5cb244 build: prepare v0.18.3.0 (selsta)
2023-09-30 18:24:50 -04:00
luigi1111
3612866f9f Merge pull request #4219
8f7de0e p2pool: update to v3.7 (SChernykh)
2023-09-30 18:24:28 -04:00
luigi1111
beb336cb93 Merge pull request #4217
b60a98a workflows: run flatpak only in main repo (selsta)
2023-09-30 18:23:54 -04:00
luigi1111
90cbe37846 Merge pull request #4216
7040e3b docker: update zlib to 1.3 (selsta)
2023-09-30 18:23:33 -04:00
luigi1111
10984a0a37 Merge pull request #4211
145ea10 flatpak: Start workflow after release (BigmenPixel0)
2023-09-30 18:22:48 -04:00
selsta
f5cb2443d1 build: prepare v0.18.3.0 2023-09-30 23:43:41 +02:00
SChernykh
8f7de0e9fc p2pool: update to v3.7 2023-09-30 12:26:38 +02:00
selsta
b60a98ae6c workflows: run flatpak only in main repo 2023-09-15 21:35:02 +02:00
selsta
7040e3b72f docker: update zlib to 1.3 2023-09-15 20:00:31 +02:00
luigi1111
12a0966eb9 Merge pull request #4213
d338e06 p2pool: update to v3.6.2 (SChernykh)
2023-09-14 22:27:37 -05:00
luigi1111
5ff03786c7 Merge pull request #4210
d42caf1 cmake: update libicu to 73 (selsta)
2023-09-14 22:27:06 -05:00
luigi1111
483b825a2f Merge pull request #4157
6c4a8fb DaemonManager.cpp: disable JIT on macOS ARM (selsta)
2023-09-14 22:26:02 -05:00
luigi1111
ca304fc63d Merge pull request #4156
ad1b53f main: add ARM build tag for auto updater (selsta)
2023-09-14 22:25:31 -05:00
luigi1111
5a1a349977 Merge pull request #4155
a9e0aff workflows: set default arch for macOS bundle (selsta)
2023-09-14 22:25:08 -05:00
luigi1111
5683f76cd0 Merge pull request #4154
371ff61 cmake: copy missing boost lib, run codesign (selsta)
2023-09-14 22:23:23 -05:00
luigi1111
cc7d7da346 Merge pull request #4153
cad8874 README: add mingw-w64-x86_64-pcre for msys2 instructions (selsta)
2023-09-14 22:22:28 -05:00
luigi1111
d10e4d1e50 Merge pull request #4150
5345dcc cmake: add install_name_tool to fix svg rendering (selsta)
2023-09-14 22:22:03 -05:00
SChernykh
d338e06abd p2pool: update to v3.6.2 2023-09-03 17:39:28 +02:00
BigmenPixel0
145ea10d93 flatpak: Start workflow after release 2023-08-18 12:51:39 +05:00
selsta
d42caf1fbc cmake: update libicu to 73 2023-08-18 01:25:18 +02:00
luigi1111
705cc6573f Merge pull request #4151
7765b8b flatpak: Add workflow (BigmenPixel0)
2023-08-17 14:39:09 -05:00
luigi1111
5c3544f211 Merge pull request #4201
a65fbee Fixing broken link to Arch linux package repo (web3d3v)
2023-08-17 10:34:49 -05:00
luigi1111
f859664443 Merge pull request #4190
17e3ed6 p2pool: update to v3.5 (SChernykh)
2023-08-17 10:34:02 -05:00
luigi1111
2d25364f42 Merge pull request #4185
ddcc17b installers/windows/Readme.htm Updated blockchain size and added pruning description (Dvd-Znf)
2023-08-17 10:33:30 -05:00
luigi1111
8323fb02ca Merge pull request #4183
f6549f3 deploy: remove libssp (tobtoht)
2023-08-17 10:32:58 -05:00
luigi1111
d442ca38dc Merge pull request #4177
fa2241f WizardSummary: fix seed language and hide during restore (selsta)
2023-08-17 10:32:31 -05:00
luigi1111
57409a8c47 Merge pull request #4158
6bd11f2 TxUtils: add handleOpenAliasResolution func, simplify code (selsta)
2023-08-17 10:31:52 -05:00
luigi1111
f002987edd Merge pull request #4149
434f548 Prove/Check: clear text fields on wallet close (plowsof)
2023-08-17 10:31:23 -05:00
luigi1111
866a7b3a78 Merge pull request #4147
3331078 p2pool: fix crash without network connection (selsta)
6ac8e7a p2pool: add more detailed failure message (selsta)
2023-08-17 10:31:00 -05:00
luigi1111
f342d46541 Merge pull request #4146
90c4aa4 wizard: add Ledger Stax image (selsta)
2023-08-17 10:30:28 -05:00
luigi1111
f5e016930b Merge pull request #4145
7a4052f readme: tweak build instructions (Botspot)
2023-08-17 10:30:07 -05:00
luigi1111
ac9a305543 Merge pull request #4144
4cbfa5e docker: update OpenSSL to 1.1.1u (tobtoht)
2023-08-17 10:29:22 -05:00
luigi1111
f824aebfaa Merge pull request #4143
b6e336d docker: update Linux & Windows Qt to 5.15.10 (tobtoht)
2023-08-17 10:28:59 -05:00
BigmenPixel0
7765b8b462 flatpak: Add workflow 2023-08-15 19:18:45 +05:00
web3d3v
a65fbee213 Fixing broken link to Arch linux package repo 2023-07-27 06:28:36 +03:00
SChernykh
17e3ed6c97 p2pool: update to v3.5 2023-06-30 19:00:00 +02:00
tobtoht
b6e336dbaf docker: update Linux & Windows Qt to 5.15.10 2023-06-06 21:48:59 +02:00
Dvd-Znf
ddcc17b7b8 installers/windows/Readme.htm Updated blockchain size and added pruning description 2023-06-04 11:28:23 +03:00
tobtoht
f6549f328b deploy: remove libssp
dfa6dd8c26
2023-05-30 20:06:36 +02:00
tobtoht
4cbfa5efb2 docker: update OpenSSL to 1.1.1u 2023-05-30 16:35:36 +02:00
selsta
fa2241f1a5 WizardSummary: fix seed language and hide during restore 2023-05-16 19:55:54 +02:00
selsta
6bd11f2270 TxUtils: add handleOpenAliasResolution func, simplify code 2023-04-21 14:45:09 +02:00
selsta
6c4a8fb819 DaemonManager.cpp: disable JIT on macOS ARM 2023-04-19 16:02:22 +02:00
selsta
ad1b53fa63 main: add ARM build tag for auto updater 2023-04-17 21:56:42 +02:00
selsta
a9e0affe59 workflows: set default arch for macOS bundle 2023-04-17 21:47:30 +02:00
selsta
371ff6105b cmake: copy missing boost lib, run codesign 2023-04-17 21:45:50 +02:00
selsta
cad8874724 README: add mingw-w64-x86_64-pcre for msys2 instructions 2023-04-17 19:28:04 +02:00
selsta
5345dcc11b cmake: add install_name_tool to fix svg rendering 2023-04-15 21:41:29 +02:00
selsta
33310786db p2pool: fix crash without network connection 2023-04-13 15:45:56 +02:00
selsta
6ac8e7a464 p2pool: add more detailed failure message 2023-04-13 15:44:52 +02:00
plowsof
434f548a87 Prove/Check: clear text fields on wallet close 2023-04-10 23:37:29 +01:00
selsta
90c4aa4ec6 wizard: add Ledger Stax image 2023-04-07 23:15:14 +02:00
Botspot
7a4052f3af readme: tweak build instructions 2023-04-06 02:10:50 +02:00
luigi1111
f650e96363 Merge pull request #4137
9f33c77 build: prepare v0.18.2.2 (selsta)
2023-04-03 22:28:56 -04:00
luigi1111
91e3d3ae04 Merge pull request #4142
7d9c128 p2pool: update to v3.2 (SChernykh)
2023-04-03 22:28:24 -04:00
selsta
9f33c77a47 build: prepare v0.18.2.2 2023-04-04 03:01:50 +02:00
SChernykh
7d9c1284f9 p2pool: update to v3.2 2023-03-31 19:50:26 +02:00
luigi1111
84899f4884 Merge pull request #4138
f0ccf29 docker: fix linux build (selsta)
2023-03-28 12:41:18 -04:00
luigi1111
9c9ff13bd2 Merge pull request #4130
5e949db wizard: add Ledger Stax (selsta)
2023-03-28 12:40:51 -04:00
luigi1111
b117b9be61 Merge pull request #4126
bdf14a2 remove output blackballing (tobtoht)
2023-03-28 12:40:07 -04:00
selsta
f0ccf29f48 docker: fix linux build 2023-03-27 16:38:36 +02:00
luigi1111
3e80d563df Merge pull request #4135
cd1eab4 docker: remove duplicate library (selsta)
2023-03-27 10:25:47 -04:00
luigi1111
e4bdff0a0c Merge pull request #4133
4941b49 p2pool: update to v3.1 (SChernykh)
2023-03-27 10:25:22 -04:00
luigi1111
6b82c01891 Merge pull request #4125
511e2f4 README: remove unmaintained debian repo (selsta)
2023-03-27 10:24:15 -04:00
selsta
cd1eab45d0 docker: remove duplicate library 2023-03-24 18:11:09 +01:00
selsta
511e2f467a README: remove unmaintained debian repo 2023-03-21 22:39:07 +01:00
SChernykh
4941b494cc p2pool: update to v3.1 2023-03-18 19:06:56 +01:00
selsta
5e949dbc15 wizard: add Ledger Stax 2023-03-17 21:38:21 +01:00
tobtoht
bdf14a2520 remove output blackballing 2023-03-03 14:02:58 +01:00
luigi1111
710e3f6948 Merge pull request #4109
56a91b2 docker: update hidapi to 0.13.1 on linux (selsta)
2023-02-25 14:54:37 -05:00
luigi1111
6ec9e24f2f Merge pull request #4120
a50491d build: prepare v0.18.2.0 (selsta)
2023-02-25 13:56:09 -05:00
luigi1111
cb9af349cd Merge pull request #4124
8a910ad DaemonManager: remove systemd check (plowsof)
2023-02-25 13:55:42 -05:00
luigi1111
c8687a961c Merge pull request #4121
e8020c8 cmake: fix windows deploy (selsta)
2023-02-25 13:55:14 -05:00
plowsof
8a910ad4c7 DaemonManager: remove systemd check 2023-02-21 00:53:48 +00:00
selsta
e8020c86df cmake: fix windows deploy 2023-02-19 01:29:17 +01:00
selsta
a50491d0b2 build: prepare v0.18.2.0 2023-02-18 21:49:51 +01:00
luigi1111
bdd91b053d Merge pull request #4113
7d2f2ca Utils.js simplify ago func (backfire-monism-net)
2023-02-15 10:53:13 -05:00
luigi1111
4b23148e68 Merge pull request #4112
500dc57 p2pool: update to v3.0 (SChernykh)
2023-02-15 10:52:48 -05:00
luigi1111
e167bbce20 Merge pull request #4103
c437dab docker: update Windows and Linux Qt to 5.15.8 (selsta)
2023-02-15 10:52:02 -05:00
luigi1111
3338bc3741 Merge pull request #4092
587ea68 p2pool: Stop p2pool mining on node switch (devhyper)
2023-02-15 10:51:37 -05:00
luigi1111
af368c93ce Merge pull request #3936
757bc7d p2pool: Restart monerod only when needed and with proper args (devhyper)
2023-02-15 10:51:05 -05:00
luigi1111
5ced4ef547 Merge pull request #3878
198dfb3 wizard: redesign seed page (rating89us)
2023-02-15 10:50:11 -05:00
rating89us
198dfb338c wizard: redesign seed page
- move mnemonic seed
- restore height into a separate page
- pdf template
- seed verification
- responsive UI
- accessibility
2023-02-12 23:25:49 +01:00
devhyper
587ea68a99 p2pool: Stop p2pool mining on node switch 2023-02-02 17:32:06 -08:00
backfire-monism-net
7d2f2cacbf Utils.js simplify ago func 2023-02-01 00:35:13 -08:00
devhyper
757bc7d7b9 p2pool: Restart monerod only when needed and with proper args 2023-01-31 18:23:20 -08:00
SChernykh
500dc573e4 p2pool: update to v3.0 2023-01-31 19:16:24 +01:00
selsta
56a91b2d1b docker: update hidapi to 0.13.1 on linux 2023-01-25 20:09:55 +01:00
selsta
c437dab90f docker: update Windows and Linux Qt to 5.15.8 2023-01-16 17:56:15 +01:00
luigi1111
b7ba9437d8 Merge pull request #4095
7095061 p2pool: update to v2.7 (SChernykh)
2023-01-11 12:18:46 -05:00
luigi1111
76fa06ceab Merge pull request #4091
a3b54a9 Override desktop theming (devhyper)
2023-01-11 12:17:33 -05:00
luigi1111
4487471ada Merge pull request #4088
a01dc06 open-wallet: set network type when using file browser (plowsof)
2023-01-11 12:16:55 -05:00
luigi1111
55a0bc46e4 Merge pull request #4085
c8127f6 main: skip proxy when setting localhost remote node (selsta)
2023-01-11 12:16:27 -05:00
luigi1111
3e17445a4d Merge pull request #4082
4cc6bcb README: add unbound for Windows (selsta)
2023-01-11 12:15:55 -05:00
luigi1111
fc077fa54e Merge pull request #4079
8b682fb workflows: remove unnecessary dependency (selsta)
2023-01-11 12:15:30 -05:00
SChernykh
70950619b8 p2pool: update to v2.7 2023-01-03 21:35:19 +01:00
plowsof
a01dc06a54 open-wallet: set network type when using file browser
Co-authored-by: selsta <selsta@users.noreply.github.com>
2022-12-28 18:46:22 +00:00
devhyper
a3b54a942c Override desktop theming 2022-12-26 11:24:23 +01:00
selsta
c8127f651d main: skip proxy when setting localhost remote node 2022-12-18 17:51:19 +01:00
selsta
4cc6bcbd7d README: add unbound for Windows 2022-12-03 23:22:29 +01:00
selsta
8b682fbd2b workflows: remove unnecessary dependency 2022-12-03 04:35:53 +01:00
luigi1111
48393db2c7 Merge pull request #4078
a9b52f6 Sign/Verify: clear text fields on wallet close (plowsof)
2022-12-01 23:49:50 -06:00
luigi1111
faa4473b17 Merge pull request #4077
7faec48 History: add open folder button after CSV export (selsta)
2022-12-01 23:49:25 -06:00
luigi1111
9924dfe8af Merge pull request #4066
6984bb8 docker: update Qt to 5.15.7 (selsta)
2022-12-01 23:48:54 -06:00
luigi1111
47f336bf33 Merge pull request #4065
c0a739c Transfer: update mixin, silence warning (selsta)
2022-12-01 23:48:33 -06:00
luigi1111
07b75fb692 Merge pull request #4064
2d25454 docker: update zlib on android (selsta)
2022-12-01 23:48:05 -06:00
luigi1111
6c39e82519 Merge pull request #4062
2fa79c6 workflows: verify p2pool hashes (plowsof)
2022-12-01 23:45:58 -06:00
luigi1111
f8178f2e54 Merge pull request #4061
4743e44 deploy: update libicu to 72 (selsta)
2022-12-01 23:45:24 -06:00
luigi1111
75290d2454 Merge pull request #4060
9e2ae68 p2pool: update to 2.6 (selsta)
2022-12-01 23:45:02 -06:00
luigi1111
b180ac8cab Merge pull request #4059
43cc666 README: update Debian dependencies (2l47)
2022-12-01 23:44:28 -06:00
luigi1111
58c7c9ab76 Merge pull request #4055
c390afd main: fix a potential warning (selsta)
2022-12-01 23:43:46 -06:00
luigi1111
b8e6cb221b Merge pull request #4048
83921a4 main: update blockchain size (selsta)
2022-12-01 23:42:49 -06:00
luigi1111
ef2e711e15 Merge pull request #4047
80ade41 DaemonManager: take dataDir into account when sending cmd (selsta)
2022-12-01 23:42:04 -06:00
luigi1111
2ade733867 Merge pull request #4043
7954661 Android: disable simple mode (malinero)
22a1509 Android: hide local node settings (malinero)
499eeee Android: hide log tab (malinero)
8cf76cf Android: hide mining tab (malinero)
6441d99 Android: useRemoteNode default to true (malinero)
2022-12-01 23:40:39 -06:00
luigi1111
1735154b81 Merge pull request #3616
acf876f Docker android: avoid gradle auto download (malinero)
2022-12-01 23:39:28 -06:00
plowsof
a9b52f6752 Sign/Verify: clear text fields on wallet close 2022-12-02 05:32:25 +00:00
selsta
7faec48c0a History: add open folder button after CSV export 2022-12-02 05:56:51 +01:00
selsta
9e2ae684ed p2pool: update to 2.6 2022-11-30 05:30:00 +01:00
selsta
6984bb8113 docker: update Qt to 5.15.7 2022-11-13 02:57:50 +01:00
selsta
c0a739c9fa Transfer: update mixin, silence warning 2022-11-11 01:59:28 +01:00
selsta
2d254542f3 docker: update zlib on android 2022-11-07 06:16:38 +01:00
plowsof
2fa79c670e workflows: verify p2pool hashes 2022-11-04 00:45:35 +00:00
selsta
4743e443dc deploy: update libicu to 72 2022-11-01 00:11:42 +01:00
2l47
43cc666e77 README: update Debian dependencies 2022-10-31 17:07:26 -05:00
j-berman
1215a6e5d8 Assume untrusted daemon in simple mode 2022-10-29 14:25:20 -05:00
j-berman
499c2a47fc qsTr scan tx error 2022-10-29 14:22:37 -05:00
selsta
c390afd258 main: fix a potential warning 2022-10-29 04:55:01 +02:00
j-berman
3b0e66a3d0 Display clear error when user scans older tx via untrusted daemon 2022-10-28 16:14:31 -05:00
j-berman
4cd6652825 Update balance after calling scan_tx 2022-10-20 16:23:10 -05:00
selsta
80ade41905 DaemonManager: take dataDir into account when sending cmd 2022-10-07 02:28:44 +02:00
selsta
83921a4bc8 main: update blockchain size 2022-10-07 02:00:28 +02:00
malinero
acf876f4b2 Docker android: avoid gradle auto download 2022-10-02 11:06:57 +02:00
malinero
7954661100 Android: disable simple mode 2022-10-02 10:40:07 +02:00
malinero
22a1509316 Android: hide local node settings 2022-10-02 10:40:07 +02:00
malinero
499eeee59a Android: hide log tab 2022-10-02 10:40:07 +02:00
malinero
8cf76cf7c2 Android: hide mining tab 2022-10-02 10:40:07 +02:00
malinero
6441d99279 Android: useRemoteNode default to true 2022-10-02 10:39:48 +02:00
luigi1111
aef4a982dc Merge pull request #4042
df9b35e build: prepare v0.18.1.2 (selsta)
2022-09-28 14:22:34 -05:00
luigi1111
f93c67740c Merge pull request #4041
ff0c068 Android: disable asking for desktop entry (malinero)
2022-09-28 14:22:14 -05:00
luigi1111
4b8e0f36ab Merge pull request #4040
b801ef5 Use different colors for different subaccounts (rating89us)
2022-09-28 14:21:49 -05:00
luigi1111
c247b96c4a Merge pull request #4039
6a8a123 workflows: fix windows ci deploy (selsta)
2022-09-28 14:21:22 -05:00
luigi1111
085f4af1dc Merge pull request #4036
6f2aafd Fix behavior when switching nodes (j-berman)
2022-09-28 14:20:56 -05:00
luigi1111
49a6c8ba9c Merge pull request #3615
96b6e59 Github workflow android: remove obsolete docker layers (malinero)
1b119eb Docker android: update Qt to 5.15.6 (and API level to 29) (malinero)
64a6ca7 Docker android: upgrade base image (malinero)
8b35660 Docker android: bump libraries (malinero)
131154b Docker android: update SDK and NDK (malinero)
2022-09-28 14:20:22 -05:00
selsta
df9b35e947 build: prepare v0.18.1.2 2022-09-28 01:15:03 +02:00
malinero
96b6e5972f Github workflow android: remove obsolete docker layers 2022-09-27 21:06:16 +02:00
rating89us
b801ef594b Use different colors for different subaccounts 2022-09-26 10:18:46 +02:00
malinero
ff0c068cb8 Android: disable asking for desktop entry 2022-09-25 11:33:23 +02:00
malinero
1b119eb8f5 Docker android: update Qt to 5.15.6 (and API level to 29) 2022-09-25 10:32:33 +02:00
selsta
6a8a123da8 workflows: fix windows ci deploy 2022-09-22 13:08:42 +02:00
j-berman
6f2aafdd6c Fix behavior when switching nodes
- Improved synchronization when switching nodes
- Avoid infinite "Connecting" loop
- Pause refresh loop while switching, don't start until connected
2022-09-21 21:56:55 -06:00
luigi1111
57fefba386 Merge pull request #4030
b1f1080 build: prepare v0.18.1.1 (selsta)
2022-09-18 17:40:22 -05:00
malinero
64a6ca7fc7 Docker android: upgrade base image 2022-09-18 11:34:41 +02:00
malinero
8b356605b4 Docker android: bump libraries 2022-09-18 11:34:41 +02:00
malinero
131154ba80 Docker android: update SDK and NDK 2022-09-18 08:16:54 +02:00
luigi1111
fa55575973 Merge pull request #4031
0851609 translations from webalte (netrik182)
2022-09-18 00:36:27 -05:00
netrik182
0851609840 translations from webalte
Author: Monero-Weblate <translate@getmonero.org>

Indonesian

Currently translated at 49.0% (406 of 827 strings)
Translate-URL: https://translate.getmonero.org/projects/monero/gui-wallet/id/
Author: Kareem <kareem.lukitomo@gmail.com>

Co-authored-by: Kareem <kareem.lukitomo@gmail.com>

Russian

Currently translated at 100.0% (827 of 827 strings)
Translate-URL: https://translate.getmonero.org/projects/monero/gui-wallet/ru/
Author: v1docq47 <chiptune@protonmail.ch>

Russian

Currently translated at 100.0% (827 of 827 strings)
Translate-URL: https://translate.getmonero.org/projects/monero/gui-wallet/ru/
Author: v1docq47 <chiptune@protonmail.ch>

Russian

Currently translated at 100.0% (827 of 827 strings)
Translate-URL: https://translate.getmonero.org/projects/monero/gui-wallet/ru/
Author: v1docq47 <chiptune@protonmail.ch>

Russian

Currently translated at 99.3% (822 of 827 strings)
Translate-URL: https://translate.getmonero.org/projects/monero/gui-wallet/ru/
Author: v1docq47 <chiptune@protonmail.ch>

Russian

Currently translated at 95.8% (793 of 827 strings)
Translate-URL: https://translate.getmonero.org/projects/monero/gui-wallet/ru/
Author: v1docq47 <chiptune@protonmail.ch>

Co-authored-by: v1docq47 <chiptune@protonmail.ch>

Korean

Currently translated at 21.6% (179 of 827 strings)
Translate-URL: https://translate.getmonero.org/projects/monero/gui-wallet/ko/
Author: John Lee <john3374@gmail.com>

Korean

Currently translated at 21.5% (178 of 827 strings)
Translate-URL: https://translate.getmonero.org/projects/monero/gui-wallet/ko/
Author: John Lee <john3374@gmail.com>

Co-authored-by: John Lee <john3374@gmail.com>

Spanish

Currently translated at 84.1% (696 of 827 strings)
Translate-URL: https://translate.getmonero.org/projects/monero/gui-wallet/es/
Author: Miguel Medina <michaelizergit@gmail.com>

Spanish

Currently translated at 82.8% (685 of 827 strings)
Translate-URL: https://translate.getmonero.org/projects/monero/gui-wallet/es/
Author: Miguel Medina <michaelizergit@gmail.com>

Co-authored-by: Miguel Medina <michaelizergit@gmail.com>

Ukrainian

Currently translated at 68.3% (565 of 827 strings)
Translate-URL: https://translate.getmonero.org/projects/monero/gui-wallet/uk/
Author: 12 <symphonicnightcore@gmail.com>

Co-authored-by: 12 <symphonicnightcore@gmail.com>

Ukrainian

Currently translated at 68.3% (565 of 827 strings)
Translate-URL: https://translate.getmonero.org/projects/monero/gui-wallet/uk/
Author: foresle <foresle@tutanota.com>

Co-authored-by: foresle <foresle@tutanota.com>

Ukrainian

Currently translated at 68.3% (565 of 827 strings)
Translate-URL: https://translate.getmonero.org/projects/monero/gui-wallet/uk/
Author: castorp <masimov@me.com>

Co-authored-by: castorp <masimov@me.com>

Greek

Currently translated at 85.0% (703 of 827 strings)
Translate-URL: https://translate.getmonero.org/projects/monero/gui-wallet/el/
Author: ZeoZ <zeoz_olikis@proton.me>

German

Currently translated at 95.8% (794 of 828 strings)
Translate-URL: https://translate.getmonero.org/projects/monero/gui-wallet/de/
Author: ZeoZ <zeoz_olikis@proton.me>

Greek

Currently translated at 84.4% (698 of 827 strings)
Translate-URL: https://translate.getmonero.org/projects/monero/gui-wallet/el/
Author: ZeoZ <zeoz_olikis@proton.me>

Co-authored-by: ZeoZ <zeoz_olikis@proton.me>

Spanish

Currently translated at 84.1% (696 of 827 strings)
Translate-URL: https://translate.getmonero.org/projects/monero/gui-wallet/es/
Author: juanda-097 <juanda097@protonmail.ch>

Co-authored-by: juanda-097 <juanda097@protonmail.ch>

French

Currently translated at 83.0% (688 of 828 strings)
Translate-URL: https://translate.getmonero.org/projects/monero/gui-wallet/fr/
Author: tedtei <tedtei@pm.me>

Co-authored-by: tedtei <tedtei@pm.me>

Chinese (Traditional)

Currently translated at 93.4% (774 of 828 strings)
Translate-URL: https://translate.getmonero.org/projects/monero/gui-wallet/zh_Hant/
Author: awdfffr <awdfffr@gmail.com>

Chinese (Traditional)

Currently translated at 92.7% (768 of 828 strings)
Translate-URL: https://translate.getmonero.org/projects/monero/gui-wallet/zh_Hant/
Author: awdfffr <awdfffr@gmail.com>

Co-authored-by: awdfffr <awdfffr@gmail.com>

Chinese (Traditional)

Currently translated at 92.7% (768 of 828 strings)
Translate-URL: https://translate.getmonero.org/projects/monero/gui-wallet/zh_Hant/
Author: Lafudoci <chunhsi.tso@gmail.com>

Co-authored-by: Lafudoci <chunhsi.tso@gmail.com>

Chinese (Traditional)

Currently translated at 92.7% (768 of 828 strings)
Translate-URL: https://translate.getmonero.org/projects/monero/gui-wallet/zh_Hant/
Author: cryptoouob <cryptoouob@gmail.com>

Co-authored-by: cryptoouob <cryptoouob@gmail.com>

Spanish

Currently translated at 84.2% (697 of 827 strings)
Translate-URL: https://translate.getmonero.org/projects/monero/gui-wallet/es/
Author: W4ikiky <12raimon@gmail.com>

Co-authored-by: W4ikiky <12raimon@gmail.com>

Finnish

Currently translated at 90.8% (751 of 827 strings)
Translate-URL: https://translate.getmonero.org/projects/monero/gui-wallet/fi/
Author: Jiri <crypto@nakola.fi>

Co-authored-by: Jiri <crypto@nakola.fi>

Finnish

Currently translated at 96.2% (796 of 827 strings)
Translate-URL: https://translate.getmonero.org/projects/monero/gui-wallet/fi/
Author: vaa red <vaa.red@protonmail.com>

Finnish

Currently translated at 90.8% (751 of 827 strings)
Translate-URL: https://translate.getmonero.org/projects/monero/gui-wallet/fi/
Author: vaa red <vaa.red@protonmail.com>

Co-authored-by: vaa red <vaa.red@protonmail.com>

Finnish

Currently translated at 96.3% (797 of 827 strings)
Translate-URL: https://translate.getmonero.org/projects/monero/gui-wallet/fi/
Author: MahtiAnkka <mrkujansuu@gmail.com>

Finnish

Currently translated at 96.2% (796 of 827 strings)
Translate-URL: https://translate.getmonero.org/projects/monero/gui-wallet/fi/
Author: MahtiAnkka <mrkujansuu@gmail.com>

Co-authored-by: MahtiAnkka <mrkujansuu@gmail.com>

Vietnamese

Currently translated at 22.7% (188 of 827 strings)
Translate-URL: https://translate.getmonero.org/projects/monero/gui-wallet/vi/
Author: Tony Nguyen <tony.d.nguyen@protonmail.com>

Co-authored-by: Tony Nguyen <tony.d.nguyen@protonmail.com>

Vietnamese

Currently translated at 22.9% (190 of 827 strings)
Translate-URL: https://translate.getmonero.org/projects/monero/gui-wallet/vi/
Author: Tabula Rasa <klpohuy@gmail.com>

Vietnamese

Currently translated at 22.7% (188 of 827 strings)
Translate-URL: https://translate.getmonero.org/projects/monero/gui-wallet/vi/
Author: Tabula Rasa <klpohuy@gmail.com>

Co-authored-by: Tabula Rasa <klpohuy@gmail.com>

translations from weblate
2022-09-17 10:44:14 +02:00
selsta
b1f1080111 build: prepare v0.18.1.1 2022-09-15 23:53:39 +02:00
luigi1111
6c3b1c56f8 Merge pull request #4026
0f43fbe installer: allow to install on arm64 (selsta)
2022-09-15 00:38:54 -05:00
luigi1111
210f3e301b Merge pull request #4025
10e28c5 docker: update qt to 5.15.6 (tobtoht)
2022-09-15 00:38:25 -05:00
luigi1111
c73bc32f8e Merge pull request #4013
a3c25af cmake: update libicu dll version (selsta)
2022-09-15 00:38:02 -05:00
luigi1111
62878a042c Merge pull request #4011
21831c9 main: add --no-igd to simple mode flags (selsta)
2022-09-15 00:37:38 -05:00
luigi1111
84c6d35634 Merge pull request #4003
d1f9b0e docker: update linux dependencies (selsta)
2022-09-15 00:37:14 -05:00
luigi1111
0f94f1b416 Merge pull request #4000
b0d5584 repo: remove ldns leftovers (selsta)
2022-09-15 00:36:08 -05:00
selsta
0f43fbe6d4 installer: allow to install on arm64 2022-09-09 22:20:09 +02:00
tobtoht
10e28c5ba4 docker: update qt to 5.15.6 2022-09-09 13:29:51 +02:00
selsta
a3c25afb66 cmake: update libicu dll version 2022-08-21 23:29:30 +02:00
selsta
21831c9b24 main: add --no-igd to simple mode flags
Should solve issues with monerod taking a while to exit.
Simple mode nodes aren't beneficial to the network anyway,
so having no incoming connections in some cases should be
fine.
2022-08-21 02:42:07 +02:00
selsta
d1f9b0eaf0 docker: update linux dependencies 2022-08-12 00:53:49 +02:00
selsta
b0d5584d53 repo: remove ldns leftovers 2022-08-11 00:28:00 +02:00
luigi1111
bbe4fe3763 Merge pull request #3999
87f9d28 Dockerfile: fix hash (selsta)
2022-08-10 14:20:04 -05:00
selsta
87f9d28fea Dockerfile: fix hash 2022-08-10 19:47:56 +02:00
luigi1111
58ddd8c2bc Merge pull request #3998
91959d3 build: prepare v0.18.1.0 (selsta)
2022-08-10 12:21:43 -05:00
luigi1111
264d3694c5 Merge pull request #3995
7184c45 main: only check mining status when using local node (selsta)
2022-08-10 12:19:48 -05:00
luigi1111
79d56af921 Merge pull request #3994
fc26150 libwalletqt: refresh once on wallet opening (selsta)
2022-08-10 12:19:26 -05:00
luigi1111
e668995673 Merge pull request #3988
f796be3 trim restore height at info -> change height input (plowsof)
2022-08-10 12:19:05 -05:00
luigi1111
8b2fe88824 Merge pull request #3985
fa3b49c Windows installer: Welcome image for 0.18 (rbrunner7)
2022-08-10 12:18:43 -05:00
luigi1111
80830584d1 Merge pull request #3978
9e6f116 TxUtils: don't show resolve for float (reemuru)
2022-08-10 12:18:08 -05:00
luigi1111
ae21f79040 Merge pull request #3973
b70a984 README: Update copyright to 2022 (garth-xmr)
2022-08-10 12:17:33 -05:00
luigi1111
b7ab50759a Merge pull request #3734
0ded8dc Settings: option to skip stop local node screen (selsta)
2022-08-10 12:17:06 -05:00
selsta
91959d3e2e build: prepare v0.18.1.0 2022-08-10 19:15:20 +02:00
selsta
7184c45043 main: only check mining status when using local node 2022-08-06 23:32:11 +02:00
selsta
fc261502d1 libwalletqt: refresh once on wallet opening
Co-authored-by: tobtoht <thotbot@protonmail.com>
2022-08-06 21:58:21 +02:00
plowsof
f796be37ce trim restore height at info -> change height input
If you accidentally copy and paste a date with a new line character 
```
2022-01-01

```
The gui will restore from 2022. I ran into this problem when helping someone just now, after giving them the correct date to copy and paste so they can restore quicker xD caused some confusion.

the reg exp method used here 064c145aa8/wizard/WizardRestoreWallet1.qml (L277) prevents you from copy and pasting the 'wrong' string which might be annoying
2022-07-28 01:57:41 +01:00
rbrunner7
fa3b49ca91 Windows installer: Welcome image for 0.18 2022-07-25 20:28:20 +02:00
reemuru
9e6f116bc9 TxUtils: don't show resolve for float
Add parseFloat() checks so that the 'Resolve' button
for OpenAlias remains hidden. Also add a length check
for one character with a dot. IP addresses will not be
respected, but the whole point of domain names and OA is
for facilitating human readable / user friendly information.

Co-authored-by: selsta <selsta@users.noreply.github.com>
2022-07-22 10:21:29 -04:00
garth-xmr
b70a9842f5 README: Update copyright to 2022 2022-07-17 19:10:50 +00:00
luigi1111
064c145aa8 Merge pull request #3972
e197544 build: prepare v0.18.0.0 (selsta)
2022-07-15 22:34:59 -04:00
selsta
e197544903 build: prepare v0.18.0.0 2022-07-15 22:22:01 +02:00
luigi1111
ca1e66453e Merge pull request #3970
2a9c6c6 docker: update linux and android openssl (selsta)
2022-07-14 13:02:09 -04:00
luigi1111
c795d4b2f1 Merge pull request #3969
bd30c3b docker: fix linux build (selsta)
2022-07-14 13:01:36 -04:00
luigi1111
cb28263cb1 Merge pull request #3968
aac43e8 display wallet files with . in name (plowsof)
2022-07-14 13:00:44 -04:00
luigi1111
d2768a4f6b Merge pull request #3966
b576b9e Updated to p2pool v2.2.1 (SChernykh)
2022-07-14 12:59:39 -04:00
luigi1111
c6af02353e Merge pull request #3965
8199ef0 convert nettype to int to return correct rpc port (plowsof)
2022-07-14 12:58:35 -04:00
luigi1111
425623d6d3 Merge pull request #3932
5591061 SettingsWallet: add scan transaction option (selsta)
6e0b5e2 libwallet: add scanTransactions function (selsta)
2022-07-14 12:58:01 -04:00
selsta
2a9c6c662f docker: update linux and android openssl 2022-07-14 06:05:53 +02:00
selsta
bd30c3babb docker: fix linux build 2022-07-14 00:14:13 +02:00
plowsof
aac43e8a1a display wallet files with "." in name 2022-07-13 02:12:33 +01:00
SChernykh
b576b9e4f6 Updated to p2pool v2.2.1 2022-07-09 19:19:28 +02:00
plowsof
8199ef004d convert nettype to int to return correct rpc port 2022-07-09 17:41:06 +01:00
luigi1111
b26f38d37e Merge pull request #3959
b951338 Updated to p2pool v2.2 (SChernykh)
2022-07-08 13:56:18 -04:00
luigi1111
87f25c49ad Merge pull request #3958
0184c3a WizardRestoreWallet1: trim whitespaces from seed (selsta)
2022-07-08 13:55:47 -04:00
luigi1111
160eb8e074 Merge pull request #3957
d514845 DaemonManagerDialog: close dialog when GUI is connected (selsta)
2022-07-08 13:55:24 -04:00
luigi1111
39f0323a81 Merge pull request #3955
9bed455 oshelper: fix openContainingFolder on Linux (selsta)
2022-07-08 13:54:27 -04:00
luigi1111
e9a8b042ab Merge pull request #3954
a10d416 Transfer: don't create offline tx before wallet is synced (selsta)
2022-07-08 13:53:58 -04:00
luigi1111
07e7628182 Merge pull request #3949
c0b3789 docker: update Qt to 5.15.5 (selsta)
2022-07-08 13:53:18 -04:00
luigi1111
3d07d80648 Merge pull request #3947
85d0c75 translations from weblate (netrik182)
2022-07-08 13:51:10 -04:00
luigi1111
887688f092 Merge pull request #3946
d4de529 Mining: add info to start gui as admin for p2pool installation (selsta)
2022-07-08 13:48:04 -04:00
selsta
0184c3a314 WizardRestoreWallet1: trim whitespaces from seed 2022-07-04 03:45:25 +02:00
SChernykh
b951338642 Updated to p2pool v2.2
p2pool v2.2 has full support for the coming Monero network upgrade
2022-07-01 10:51:28 +02:00
selsta
d514845e4a DaemonManagerDialog: close dialog when GUI is connected 2022-06-28 23:38:06 +02:00
selsta
9bed4554eb oshelper: fix openContainingFolder on Linux 2022-06-27 00:41:56 +02:00
selsta
a10d41642a Transfer: don't create offline tx before wallet is synced 2022-06-26 21:59:26 +02:00
selsta
c0b3789fda docker: update Qt to 5.15.5 2022-06-21 19:26:34 +02:00
netrik182
85d0c7575c translations from weblate
Portuguese (Brazil)

Currently translated at 95.1% (761 of 800 strings)
Translate-URL: https://translate.getmonero.org/projects/monero/gui-wallet/pt_BR/
Author: netrik182 <netrik@tuta.io>

Co-authored-by: netrik182 <netrik@tuta.io>

Slovak

Currently translated at 96.2% (770 of 800 strings)
Translate-URL: https://translate.getmonero.org/projects/monero/gui-wallet/sk/
Author: Boris Sipos <siposboris@protonmail.ch>

Slovak

Currently translated at 73.2% (586 of 800 strings)
Translate-URL: https://translate.getmonero.org/projects/monero/gui-wallet/sk/
Author: Boris Sipos <siposboris@protonmail.ch>

Slovak

Currently translated at 58.3% (467 of 800 strings)
Translate-URL: https://translate.getmonero.org/projects/monero/gui-wallet/sk/
Author: Boris Sipos <siposboris@protonmail.ch>

Slovak

Currently translated at 58.2% (466 of 800 strings)
Translate-URL: https://translate.getmonero.org/projects/monero/gui-wallet/sk/
Author: Boris Sipos <siposboris@protonmail.ch>

Co-authored-by: Boris Sipos <siposboris@protonmail.ch>

Chinese (Simplified)

Currently translated at 74.7% (598 of 800 strings)
Translate-URL: https://translate.getmonero.org/projects/monero/gui-wallet/zh_Hans/
Author: Lekton Zhang <takato3000@gmail.com>

Chinese (Simplified)

Currently translated at 74.2% (594 of 800 strings)
Translate-URL: https://translate.getmonero.org/projects/monero/gui-wallet/zh_Hans/
Author: Lekton Zhang <takato3000@gmail.com>

Chinese (Simplified)

Currently translated at 74.1% (593 of 800 strings)
Translate-URL: https://translate.getmonero.org/projects/monero/gui-wallet/zh_Hans/
Author: Lekton Zhang <takato3000@gmail.com>

Co-authored-by: Lekton Zhang <takato3000@gmail.com>

Chinese (Simplified)

Currently translated at 74.1% (593 of 800 strings)
Translate-URL: https://translate.getmonero.org/projects/monero/gui-wallet/zh_Hans/
Author: TaoHuachen <iamthc@sina.cn>

Co-authored-by: TaoHuachen <iamthc@sina.cn>

French

Currently translated at 86.2% (691 of 801 strings)
Translate-URL: https://translate.getmonero.org/projects/monero/gui-wallet/fr/
Author: Casimir <bgfd5u8tds454g@dispostable.com>

French

Currently translated at 86.2% (691 of 801 strings)
Translate-URL: https://translate.getmonero.org/projects/monero/gui-wallet/fr/
Author: Casimir <bgfd5u8tds454g@dispostable.com>

French

Currently translated at 84.3% (676 of 801 strings)
Translate-URL: https://translate.getmonero.org/projects/monero/gui-wallet/fr/
Author: Casimir <bgfd5u8tds454g@dispostable.com>

Co-authored-by: Casimir <bgfd5u8tds454g@dispostable.com>

Chinese (Simplified)

Currently translated at 74.2% (594 of 800 strings)
Translate-URL: https://translate.getmonero.org/projects/monero/gui-wallet/zh_Hans/
Author: jindouyunz <492906398@qq.com>

Co-authored-by: jindouyunz <492906398@qq.com>

Russian

Currently translated at 100.0% (800 of 800 strings)
Translate-URL: https://translate.getmonero.org/projects/monero/gui-wallet/ru/
Author: v1docq47 <chiptune@protonmail.ch>

Russian

Currently translated at 99.0% (792 of 800 strings)
Translate-URL: https://translate.getmonero.org/projects/monero/gui-wallet/ru/
Author: v1docq47 <chiptune@protonmail.ch>

Co-authored-by: v1docq47 <chiptune@protonmail.ch>

Hungarian

Currently translated at 79.6% (637 of 800 strings)
Translate-URL: https://translate.getmonero.org/projects/monero/gui-wallet/hu/
Author: Pozsonyi Péter <ck7ii8h3sx@bestparadize.com>

Co-authored-by: Pozsonyi Péter <ck7ii8h3sx@bestparadize.com>

Ukrainian

Currently translated at 70.3% (563 of 800 strings)
Translate-URL: https://translate.getmonero.org/projects/monero/gui-wallet/uk/
Author: foresle <foresle@tutanota.com>

Co-authored-by: foresle <foresle@tutanota.com>

Ukrainian

Currently translated at 70.3% (563 of 800 strings)
Translate-URL: https://translate.getmonero.org/projects/monero/gui-wallet/uk/
Author: reketen <reketen@gmail.com>

Co-authored-by: reketen <reketen@gmail.com>

Ukrainian

Currently translated at 70.3% (563 of 800 strings)
Translate-URL: https://translate.getmonero.org/projects/monero/gui-wallet/uk/
Author: TheFuzzStone <thefuzzstone@protonmail.com>

Co-authored-by: TheFuzzStone <thefuzzstone@protonmail.com>

Ukrainian

Currently translated at 70.3% (563 of 800 strings)
Translate-URL: https://translate.getmonero.org/projects/monero/gui-wallet/uk/
Author: Agent LvM <agent.lvm@gmail.com>

Co-authored-by: Agent LvM <agent.lvm@gmail.com>

Spanish

Currently translated at 85.7% (686 of 800 strings)
Translate-URL: https://translate.getmonero.org/projects/monero/gui-wallet/es/
Author: Miguel Medina <michaelizergit@gmail.com>

Co-authored-by: Miguel Medina <michaelizergit@gmail.com>

Turkish

Currently translated at 64.0% (512 of 800 strings)
Translate-URL: https://translate.getmonero.org/projects/monero/gui-wallet/tr/
Author: xmoreee <sskacarfun@gmail.com>

Co-authored-by: xmoreee <sskacarfun@gmail.com>

Turkish

Currently translated at 64.0% (512 of 800 strings)
Translate-URL: https://translate.getmonero.org/projects/monero/gui-wallet/tr/
Author: snipeTR <snipetr@gmail.com>

Co-authored-by: snipeTR <snipetr@gmail.com>

German

Currently translated at 100.0% (801 of 801 strings)
Translate-URL: https://translate.getmonero.org/projects/monero/gui-wallet/de/
Author: Lennard Merten <cb39@fn.de>

German

Currently translated at 94.1% (754 of 801 strings)
Translate-URL: https://translate.getmonero.org/projects/monero/gui-wallet/de/
Author: Lennard Merten <cb39@fn.de>

Co-authored-by: Lennard Merten <cb39@fn.de>

Chinese (Simplified)

Currently translated at 75.5% (604 of 800 strings)
Translate-URL: https://translate.getmonero.org/projects/monero/gui-wallet/zh_Hans/
Author: WinslowEric <i@winsloweric.cn>

Chinese (Simplified)

Currently translated at 74.7% (598 of 800 strings)
Translate-URL: https://translate.getmonero.org/projects/monero/gui-wallet/zh_Hans/
Author: WinslowEric <i@winsloweric.cn>

Co-authored-by: WinslowEric <i@winsloweric.cn>

Chinese (Simplified)

Currently translated at 74.7% (598 of 800 strings)
Translate-URL: https://translate.getmonero.org/projects/monero/gui-wallet/zh_Hans/
Author: Muge Niu <mugeniu12138@gmail.com>

Co-authored-by: Muge Niu <mugeniu12138@gmail.com>

German

Currently translated at 100.0% (801 of 801 strings)
Translate-URL: https://translate.getmonero.org/projects/monero/gui-wallet/de/
Author: Paul Janowitz <janowitz@gmail.com>

Polish

Currently translated at 100.0% (800 of 800 strings)
Translate-URL: https://translate.getmonero.org/projects/monero/gui-wallet/pl/
Author: Paul Janowitz <janowitz@gmail.com>

German

Currently translated at 100.0% (801 of 801 strings)
Translate-URL: https://translate.getmonero.org/projects/monero/gui-wallet/de/
Author: Paul Janowitz <janowitz@gmail.com>

Co-authored-by: Paul Janowitz <janowitz@gmail.com>

German

Currently translated at 100.0% (801 of 801 strings)
Translate-URL: https://translate.getmonero.org/projects/monero/gui-wallet/de/
Author: Crusty <trepoleth@protonmail.com>

Co-authored-by: Crusty <trepoleth@protonmail.com>

German

Currently translated at 100.0% (801 of 801 strings)
Translate-URL: https://translate.getmonero.org/projects/monero/gui-wallet/de/
Author: GreenPiece <villa@posteo.net>

Co-authored-by: GreenPiece <villa@posteo.net>

German

Currently translated at 100.0% (801 of 801 strings)
Translate-URL: https://translate.getmonero.org/projects/monero/gui-wallet/de/
Author: Wobole <wobole@throwaway.io>

Co-authored-by: Wobole <wobole@throwaway.io>

German

Currently translated at 100.0% (801 of 801 strings)
Translate-URL: https://translate.getmonero.org/projects/monero/gui-wallet/de/
Author: PauleBertt <paulebertt@googlemail.com>

Co-authored-by: PauleBertt <paulebertt@googlemail.com>

German

Currently translated at 100.0% (801 of 801 strings)
Translate-URL: https://translate.getmonero.org/projects/monero/gui-wallet/de/
Author: Marta Kozera <martusia1984@gmail.com>

Co-authored-by: Marta Kozera <martusia1984@gmail.com>

Indonesian

Currently translated at 51.0% (408 of 800 strings)
Translate-URL: https://translate.getmonero.org/projects/monero/gui-wallet/id/
Author: I. Musthafa <i.musthafa66@gmail.com>

Co-authored-by: I. Musthafa <i.musthafa66@gmail.com>

Indonesian

Currently translated at 51.0% (408 of 800 strings)
Translate-URL: https://translate.getmonero.org/projects/monero/gui-wallet/id/
Author: liimee <alt3753.7@gmail.com>

Co-authored-by: liimee <alt3753.7@gmail.com>

Indonesian

Currently translated at 51.0% (408 of 800 strings)
Translate-URL: https://translate.getmonero.org/projects/monero/gui-wallet/id/
Author: siptruk <siptruks@gmail.com>

Co-authored-by: siptruk <siptruks@gmail.com>

Chinese (Simplified)

Currently translated at 75.7% (606 of 800 strings)
Translate-URL: https://translate.getmonero.org/projects/monero/gui-wallet/zh_Hans/
Author: MaxQiu0108 <maxqqqq@hotmail.com>

Chinese (Simplified)

Currently translated at 75.6% (605 of 800 strings)
Translate-URL: https://translate.getmonero.org/projects/monero/gui-wallet/zh_Hans/
Author: MaxQiu0108 <maxqqqq@hotmail.com>

Co-authored-by: MaxQiu0108 <maxqqqq@hotmail.com>

German

Currently translated at 100.0% (801 of 801 strings)
Translate-URL: https://translate.getmonero.org/projects/monero/gui-wallet/de/
Author: Paul Janowitz <janowitz@gmail.com>

German

Currently translated at 100.0% (801 of 801 strings)
Translate-URL: https://translate.getmonero.org/projects/monero/gui-wallet/de/
Author: Paul Janowitz <janowitz@gmail.com>

Co-authored-by: Paul Janowitz <janowitz@gmail.com>

Esperanto

Currently translated at 70.0% (560 of 800 strings)
Translate-URL: https://translate.getmonero.org/projects/monero/gui-wallet/eo/
Author: Gilberto F da Silva <gfs1989@gmx.net>

Co-authored-by: Gilberto F da Silva <gfs1989@gmx.net>

Esperanto

Currently translated at 70.0% (560 of 800 strings)
Translate-URL: https://translate.getmonero.org/projects/monero/gui-wallet/eo/
Author: Gregg S <ph0enixd0wn@protonmail.com>

Co-authored-by: Gregg S <ph0enixd0wn@protonmail.com>

Italian

Currently translated at 77.5% (620 of 800 strings)
Translate-URL: https://translate.getmonero.org/projects/monero/gui-wallet/it/
Author: alreadyburnt <alreadyburnt@mailbox.org>

Italian

Currently translated at 77.3% (619 of 800 strings)
Translate-URL: https://translate.getmonero.org/projects/monero/gui-wallet/it/
Author: alreadyburnt <alreadyburnt@mailbox.org>

Italian

Currently translated at 77.3% (619 of 800 strings)
Translate-URL: https://translate.getmonero.org/projects/monero/gui-wallet/it/
Author: alreadyburnt <alreadyburnt@mailbox.org>

Co-authored-by: alreadyburnt <alreadyburnt@mailbox.org>

Spanish

Currently translated at 86.3% (691 of 800 strings)
Translate-URL: https://translate.getmonero.org/projects/monero/gui-wallet/es/
Author: Josep Mengual <josepmengual@protonmail.com>

Co-authored-by: Josep Mengual <josepmengual@protonmail.com>

Esperanto

Currently translated at 70.2% (562 of 800 strings)
Translate-URL: https://translate.getmonero.org/projects/monero/gui-wallet/eo/
Author: MasFlam <masflam@masflam.com>

Co-authored-by: MasFlam <masflam@masflam.com>

Hindi

Currently translated at 53.8% (431 of 800 strings)
Translate-URL: https://translate.getmonero.org/projects/monero/gui-wallet/hi/
Author: CryptoMonero <cryptocake7@outlook.com>

Co-authored-by: CryptoMonero <cryptocake7@outlook.com>

Tamil

Currently translated at 88.7% (710 of 800 strings)
Translate-URL: https://translate.getmonero.org/projects/monero/gui-wallet/ta/
Author: kingoflove <morpheus3542@tutanota.com>

Co-authored-by: kingoflove <morpheus3542@tutanota.com>

Persian

Currently translated at 13.2% (106 of 800 strings)
Translate-URL: https://translate.getmonero.org/projects/monero/gui-wallet/fa/
Author: Parsa Abbasi <parsa.abbasi1996@gmail.com>

Co-authored-by: Parsa Abbasi <parsa.abbasi1996@gmail.com>

Persian

Currently translated at 13.2% (106 of 800 strings)
Translate-URL: https://translate.getmonero.org/projects/monero/gui-wallet/fa/
Author: E-Moji <mnz1988@aol.com>

Co-authored-by: E-Moji <mnz1988@aol.com>

Persian

Currently translated at 13.2% (106 of 800 strings)
Translate-URL: https://translate.getmonero.org/projects/monero/gui-wallet/fa/
Author: Nima Ghotbi <ghotbi.nima@gmail.com>

Co-authored-by: Nima Ghotbi <ghotbi.nima@gmail.com>

French

Currently translated at 86.2% (691 of 801 strings)
Translate-URL: https://translate.getmonero.org/projects/monero/gui-wallet/fr/
Author: darckme <darck9me@protonmail.com>

Co-authored-by: darckme <darck9me@protonmail.com>

French

Currently translated at 86.7% (695 of 801 strings)
Translate-URL: https://translate.getmonero.org/projects/monero/gui-wallet/fr/
Author: tedtei <tedtei@pm.me>

French

Currently translated at 86.2% (691 of 801 strings)
Translate-URL: https://translate.getmonero.org/projects/monero/gui-wallet/fr/
Author: tedtei <tedtei@pm.me>

Co-authored-by: tedtei <tedtei@pm.me>

French

Currently translated at 86.7% (695 of 801 strings)
Translate-URL: https://translate.getmonero.org/projects/monero/gui-wallet/fr/
Author: nightwolf3 <georgesbattikha_123@hotmail.com>

French

Currently translated at 86.2% (691 of 801 strings)
Translate-URL: https://translate.getmonero.org/projects/monero/gui-wallet/fr/
Author: nightwolf3 <georgesbattikha_123@hotmail.com>

French

Currently translated at 86.2% (691 of 801 strings)
Translate-URL: https://translate.getmonero.org/projects/monero/gui-wallet/fr/
Author: nightwolf3 <georgesbattikha_123@hotmail.com>

Co-authored-by: nightwolf3 <georgesbattikha_123@hotmail.com>

Slovak

Currently translated at 96.2% (770 of 800 strings)
Translate-URL: https://translate.getmonero.org/projects/monero/gui-wallet/sk/
Author: tomas <tvanco.reg@gmail.com>

Slovak

Currently translated at 73.2% (586 of 800 strings)
Translate-URL: https://translate.getmonero.org/projects/monero/gui-wallet/sk/
Author: tomas <tvanco.reg@gmail.com>

Co-authored-by: tomas <tvanco.reg@gmail.com>

Slovak

Currently translated at 73.2% (586 of 800 strings)
Translate-URL: https://translate.getmonero.org/projects/monero/gui-wallet/sk/
Author: Peter Liska <liska.peto@gmail.com>

Co-authored-by: Peter Liska <liska.peto@gmail.com>

French

Currently translated at 86.2% (691 of 801 strings)
Translate-URL: https://translate.getmonero.org/projects/monero/gui-wallet/fr/
Author: Julian Fouquet <Truitosse@protonmail.com>

Co-authored-by: Julian Fouquet <Truitosse@protonmail.com>

French

Currently translated at 86.7% (695 of 801 strings)
Translate-URL: https://translate.getmonero.org/projects/monero/gui-wallet/fr/
Author: Casimir <bgfd5u8tds454g@dispostable.com>

Co-authored-by: Casimir <bgfd5u8tds454g@dispostable.com>

French

Currently translated at 86.7% (695 of 801 strings)
Translate-URL: https://translate.getmonero.org/projects/monero/gui-wallet/fr/
Author: Simon Fouilleul <sfouilleulb@gmail.com>

Co-authored-by: Simon Fouilleul <sfouilleulb@gmail.com>

Slovak

Currently translated at 96.2% (770 of 800 strings)
Translate-URL: https://translate.getmonero.org/projects/monero/gui-wallet/sk/
Author: Carlo <getmonero.2u0ah@slmail.me>

Co-authored-by: Carlo <getmonero.2u0ah@slmail.me>

Slovak

Currently translated at 96.2% (770 of 800 strings)
Translate-URL: https://translate.getmonero.org/projects/monero/gui-wallet/sk/
Author: Júlia Forgáčová <marek.forgi@protonmail.com>

Co-authored-by: Júlia Forgáčová <marek.forgi@protonmail.com>

update languagues from weblate
2022-06-12 20:01:13 +02:00
selsta
d4de52974b Mining: add info to start gui as admin for p2pool installation 2022-06-11 18:19:08 +02:00
luigi1111
96cca79b70 Merge pull request #3933
4326500 Use p2pool folder for p2pool on Windows (SChernykh)
2022-06-09 16:30:45 -05:00
SChernykh
432650008c Use p2pool folder for p2pool on Windows
And set the correct file permissions on it so it can be run without administrator privileges.
2022-06-09 23:22:30 +02:00
luigi1111
3f3eb643e4 Merge pull request #3942
8229979 Mining: save selected dropdown index (selsta)
2022-06-09 14:00:23 -05:00
luigi1111
6ba617d84f Merge pull request #3920
e16f8c8 docker: qt 5.15.4 (selsta)
2022-06-09 13:59:29 -05:00
luigi1111
1c23ca3a76 Merge pull request #3917
c87482d Only kill p2pool if we started it (ComputeryPony)
2022-06-09 13:59:06 -05:00
luigi1111
17f657673f Merge pull request #3916
5977e61 qt: remove QTextCodec (selsta)
2022-06-09 13:58:23 -05:00
luigi1111
35d1546110 Merge pull request #3915
7b729fc qt: replace QRegExp with QRegularExpression (selsta)
2022-06-09 13:57:57 -05:00
luigi1111
c4bebbf173 Merge pull request #3914
372a591 main: disable setting -platformpluginpath (selsta)
2022-06-09 13:57:36 -05:00
luigi1111
a67865b969 Merge pull request #3910
cddf3c3 History: fix payment proof button (reemuru)
2022-06-09 13:57:12 -05:00
luigi1111
38a63ddcdb Merge pull request #3908
20c4516 workflows: add caching for docker android (selsta)
2022-06-09 13:56:46 -05:00
luigi1111
17dfd2e9ed Merge pull request #3906
9b7bca6 main: add compile time option to disable updates (selsta)
2022-06-09 13:56:25 -05:00
luigi1111
49d8a6b91d Merge pull request #3905
3ba9766 js: minimize frameless window when clicking on taskbar icon (selsta)
2022-06-09 13:55:40 -05:00
luigi1111
953cb8d302 Merge pull request #3903
434ac21 WizardCreateDevice1: add Ledger Nano S Plus (selsta)
2022-06-09 13:54:42 -05:00
luigi1111
e1d3cf1b98 Merge pull request #3902
1f5b221 WizardCreateDevice1: set default restore height to 1 (selsta)
2022-06-09 13:54:17 -05:00
luigi1111
b1ee39cd28 Merge pull request #3883
bcaf9ba Makefile: set CMAKE_BUILD_TYPE to debug for debug target (selsta)
2022-06-09 13:53:52 -05:00
luigi1111
3031e7c37f Merge pull request #3846
ef56194 Wizard: fix stagenet approx blockheight (selsta)
2022-06-09 13:53:20 -05:00
luigi1111
ab69b9c9b2 Merge pull request #3688
841f061 main: remove outdated code (selsta)
2022-06-09 13:52:52 -05:00
luigi1111
837f332ac9 Merge pull request #3560
214ba8a images: update mac icon (selsta)
2022-06-09 13:52:15 -05:00
luigi1111
59f189d264 Merge pull request #3483
04c2d84 WizardModeSelection: disable simple mode on Tails (selsta)
2022-06-09 13:51:20 -05:00
selsta
8229979cec Mining: save selected dropdown index 2022-06-07 20:15:03 +02:00
selsta
559106174e SettingsWallet: add scan transaction option 2022-05-28 03:15:23 +02:00
selsta
6e0b5e2be5 libwallet: add scanTransactions function 2022-05-28 03:15:18 +02:00
selsta
e16f8c8d07 docker: qt 5.15.4 2022-05-12 01:16:03 +02:00
ComputeryPony
c87482db9c Only kill p2pool if we started it 2022-05-10 00:56:06 -05:00
selsta
7b729fc885 qt: replace QRegExp with QRegularExpression
QRegExp is removed in Qt6
2022-05-07 18:36:16 +02:00
selsta
5977e61a02 qt: remove QTextCodec
QTextCodec is removed in Qt6
2022-05-07 18:26:32 +02:00
selsta
372a591ac7 main: disable setting -platformpluginpath 2022-05-07 17:40:31 +02:00
reemuru
cddf3c3cdb History: fix payment proof button
Adding support for reserve proof added an additional
argument to the getProofClicked signal. The payment
proof button on the transaction list from history.qml
does not pass this argument and fails with insufficient
argument error.

Fixes: 0f67580e ("Advanced: ReserveProof: Add support for reserve proof")
2022-05-05 10:18:15 -05:00
selsta
20c4516c8e workflows: add caching for docker android 2022-05-02 12:46:32 +02:00
selsta
3ba976638f js: minimize frameless window when clicking on taskbar icon
Co-authored-by: rating89us <45968869+rating89us@users.noreply.github.com>
2022-05-02 05:19:53 +02:00
selsta
9b7bca6116 main: add compile time option to disable updates 2022-05-01 06:09:29 +02:00
selsta
04c2d8437e WizardModeSelection: disable simple mode on Tails 2022-04-30 13:41:01 +02:00
selsta
bcaf9ba61d Makefile: set CMAKE_BUILD_TYPE to debug for debug target 2022-04-30 13:30:05 +02:00
selsta
214ba8a34d images: update mac icon 2022-04-30 09:18:14 +02:00
selsta
434ac2182a WizardCreateDevice1: add Ledger Nano S Plus 2022-04-30 09:05:40 +02:00
selsta
1f5b22149c WizardCreateDevice1: set default restore height to 1
Due to API reasons height 0 means to approximate the current
block height during hardware device restore. That's not what
we want by default. Until this gets changed upstream we will
set the default to 1.
2022-04-30 08:36:09 +02:00
luigi1111
2e2ae5c88f Merge pull request #3897
2021d61 TxConfirmationDialog: warn high fees (selsta)
2022-04-27 21:55:34 -05:00
selsta
2021d61d91 TxConfirmationDialog: warn high fees 2022-04-27 17:40:58 +02:00
luigi1111
46d0b6b0ff Merge pull request #3894
8ae8019 build: prepare v0.17.3.2 (selsta)
2022-04-26 23:47:12 -05:00
selsta
8ae8019f5a build: prepare v0.17.3.2 2022-04-26 19:52:15 +02:00
luigi1111
1a6ea3302c Merge pull request #3890
37a5bdc main: only update fiat price with open wallet (selsta)
2022-04-25 11:04:51 -05:00
luigi1111
4de4e82ee6 Merge pull request #3889
cc4815a Mining: only update mining status when page is open (selsta)
2022-04-25 11:04:26 -05:00
luigi1111
5da0d5768a Merge pull request #3888
1cc9e8a FutureScheduler: delete unused function declarations (selsta)
2022-04-25 11:04:04 -05:00
luigi1111
58586ce2dc Merge pull request #3887
46eba83 workflows: action-docker-layer-caching v0.0.11 (selsta)
2022-04-25 11:03:36 -05:00
selsta
1cc9e8af49 FutureScheduler: delete unused function declarations 2022-04-23 08:36:08 +02:00
selsta
37a5bdc331 main: only update fiat price with open wallet 2022-04-23 07:26:52 +02:00
selsta
cc4815a3db Mining: only update mining status when page is open 2022-04-23 07:13:17 +02:00
selsta
46eba838f5 workflows: action-docker-layer-caching v0.0.11 2022-04-22 05:19:30 +02:00
luigi1111
b31cc36de2 Merge pull request #3879
85dff32 cmake: bump windows deploy lib versions (selsta)
0468e0e workflows: deploy on windows (selsta)
2022-04-19 22:30:59 -05:00
luigi1111
76dd4fee2f Merge pull request #3875
2cc3ebd Docker: Update zlib for android (devhyper)
2022-04-19 22:30:01 -05:00
luigi1111
55a4b67880 Merge pull request #3871
877f822 Docker: update Qt 5.15.2 -> 5.15.3 (selsta)
2022-04-19 22:29:37 -05:00
luigi1111
97fb3d4982 Merge pull request #3869
0feef22 TitleBar: Remove lock icon on essentials display (reemuru)
2022-04-19 22:29:12 -05:00
luigi1111
28f0645d9e Merge pull request #3829
377a1a9 Integrate P2Pool (devhyper)
2022-04-19 22:27:27 -05:00
selsta
85dff323c8 cmake: bump windows deploy lib versions 2022-04-06 04:43:57 +02:00
selsta
0468e0e43a workflows: deploy on windows 2022-04-06 04:43:13 +02:00
devhyper
2cc3ebd315 Docker: Update zlib for android 2022-04-01 10:41:48 -07:00
devhyper
377a1a9680 Integrate P2Pool 2022-04-01 10:27:35 -07:00
selsta
877f822de0 Docker: update Qt 5.15.2 -> 5.15.3 2022-03-25 17:16:21 +01:00
reemuru
0feef2268d TitleBar: Remove lock icon on essentials display
The lock functionality is shown on the initial welcome screen
and the WizardHome. Remove the lock icon until the wallet is
actually open, similar to the "Close this wallet" logic.

Fixes 346913f: ("SettingsWallet: lock wallet on demand")
2022-03-20 06:06:15 -05:00
luigi1111
002fe8eefa Merge pull request #3865
62748b6 AddressBook: fix adding new entry (selsta)
2022-03-18 16:22:57 -05:00
luigi1111
1dba06a7ff Merge pull request #3862
8bbf2bf Transfer: fix offline signing (reemuru)
2022-03-18 16:22:24 -05:00
luigi1111
838b0179e5 Merge pull request #3860
de81af0 RemoteNodeDialog: bind ok to return key (reemuru)
2022-03-18 16:21:57 -05:00
luigi1111
b12ad939ad Merge pull request #3859
346913f SettingsWallet: lock wallet on demand (reemuru)
2022-03-18 16:21:27 -05:00
luigi1111
74fbf77f62 Merge pull request #3851
4ef5ca5 Doc: Minimize boost deps in README.md (mj-xmr)
2022-03-18 16:21:04 -05:00
luigi1111
211ef24d18 Merge pull request #3720
06fe68b cmake: remove including non-existent directory (selsta)
2022-03-18 16:20:38 -05:00
luigi1111
a2e0ea4faf Merge pull request #3719
b811d6a cmake: don't print verbose make (selsta)
2022-03-18 16:19:41 -05:00
luigi1111
6ab104ead7 Merge pull request #3470
2057904 cmake: remove unneeded monero_gui_add_library() (selsta)
2022-03-18 16:18:58 -05:00
selsta
62748b6121 AddressBook: fix adding new entry 2022-03-16 13:43:26 +01:00
reemuru
8bbf2bfcbb Transfer: fix offline signing
Remove logic for processing an array to derive the confirmation.
Use confirmation from the transaction object.
2022-03-16 06:30:22 -05:00
reemuru
de81af0e8d RemoteNodeDialog: bind ok to return key
This commit binds the enter / return key on the remote
node dialog. If cursor is in the host, port or password
input fields the keyboard can be used to continue. It is not
bound to the username field because ideally a user would
enter password or port last.
2022-03-13 15:02:11 -04:00
reemuru
346913f3db SettingsWallet: lock wallet on demand
This commit adds the ability to lock the wallet on demand instead
of waiting for the user inactivity time out. It is binded to the
hot keys Ctrl+L. Pressing cancel or the esc key will send the user
back to the wizard home for wallet selection. Incorrect password
returns the error message. Correct password will remove the
PasswordDialog allowing access. Add lock functionality in the
wallet settings section and title bar.
2022-03-13 12:37:43 -04:00
luigi1111
fd8983a7ff Merge pull request #3849
119deb4 libwalletqt: fix typo in type (selsta)
2022-03-07 23:31:50 -05:00
mj-xmr
4ef5ca5721 Doc: Minimize boost deps in README.md 2022-03-07 19:07:53 +01:00
selsta
119deb4e82 libwalletqt: fix typo in type 2022-03-04 01:55:04 +01:00
luigi1111
ea92f3f272 Merge pull request #3841
da63ab2 workflows: fix windows build error (reemuru)
2022-03-02 19:06:28 -05:00
luigi1111
9c383bcc24 Merge pull request #3838
ddd95f7 settings: bind return key after password change (reemuru)
2022-03-02 19:05:53 -05:00
luigi1111
4fba8e654d Merge pull request #3832
08e386f update languages from weblate and add flags (Paul Janowitz)
2022-03-02 19:05:01 -05:00
luigi1111
14383a1922 Merge pull request #3831
bf324ec bug: reset wallet path on network change (reemuru)
2022-03-02 19:04:08 -05:00
luigi1111
1610b93975 Merge pull request #3828
2bf0dd8 Advanced: ReserveProof: Resolve review by selsta (reemuru)
0f67580 Advanced: ReserveProof: Add support for reserve proof (reemuru)
2022-03-02 19:03:14 -05:00
luigi1111
8ece450f18 Merge pull request #3825
5990338 WizardRestoreWallet4, WizardCreateWallet4: disable double-click on 'Create wallet' button (rating89us)
2022-03-02 18:59:24 -05:00
luigi1111
ced654707d Merge pull request #3781
817b015 Docker: bump hidapi on Linux (selsta)
2022-03-02 18:58:50 -05:00
selsta
ef561949ca Wizard: fix stagenet approx blockheight 2022-03-01 00:18:09 +01:00
reemuru
da63ab2e05 workflows: fix windows build error
Windows build log has an error message for including
winsock2.h and the build fails at the updater.cpp file.
Use the MONERO_GUI_STATIC definition for driving the import
logic since it is already defined for the docker static build.

Co-authored-by: jeffro256 <jeffro256@users.noreply.github.com>
2022-02-19 15:38:08 -05:00
reemuru
ddd95f73b4 settings: bind return key after password change
The enter / return key is not bound to the information
popup that appears after a successful password change.
The functionality exists on the previous menu. Make it
possible to use the return key on this popup as well.

Co-authored-by: selsta <selsta@users.noreply.github.com>
2022-02-18 19:35:04 -05:00
Paul Janowitz
08e386f63f update languages from weblate and add flags 2022-02-05 16:08:29 +01:00
reemuru
bf324ec2d9 bug: reset wallet path on network change
When changing network type without changing
wallet path the gui will attempt to open the
most recently used wallet path and network type
even if they don't match. This commit forces the
user back to wallet setup under this condition.
As long as network type and wallet path are both
updated before closing the issue will no longer occur.
2022-01-31 23:34:24 -05:00
luigi1111
e9afaa9cc8 Merge pull request #3822
de49ddc WizardRestoreWallet3: remove unused code (rating89us)
2022-01-24 15:25:19 -05:00
luigi1111
78e3b947d1 Merge pull request #3817
d752117 WizardHome: restore binding of networkTypeDropdown.currentIndex when selecting an item; display networkTypeDropdown if stagenet or testnet is selected (rating89us)
2022-01-24 15:24:45 -05:00
luigi1111
05b4a3dd6b Merge pull request #3815
11a1695 LeftPanel: use correct shortcut modifier for Mac (selsta)
2022-01-24 15:23:22 -05:00
luigi1111
c2f706a28a Merge pull request #3808
621c119 main: add compile time option to disable desktop entry dialog (selsta)
2022-01-24 15:22:57 -05:00
luigi1111
4df925e8a8 Merge pull request #3799
f7792b7 RemoteNodeList: fix qml warning (selsta)
2022-01-24 15:22:33 -05:00
luigi1111
adf88c63ec Merge pull request #3791
6b926b3 History: disable payment proof for hardware wallets (selsta)
2022-01-24 15:22:11 -05:00
luigi1111
c2545e226b Merge pull request #3776
fa9285a SettingsInfo: translate tx description of 'Donate to Monero' button (rating89us)
2022-01-24 15:21:29 -05:00
luigi1111
5c7c4dde14 Merge pull request #3764
23b74a3 WizardSummary: use 'Mnemonic seed language' instead of 'Language' (rating89us)
2022-01-24 15:20:50 -05:00
luigi1111
2bbb6adb4f Merge pull request #3763
9194522 Wizard: display selected network (testnet/stagenet) on 'Create a new wallet' header (rating89us)
2022-01-24 15:19:58 -05:00
luigi1111
493105b457 Merge pull request #3680
f30570d Makefile: fix release-linux-armv8 (selsta)
2022-01-24 15:19:21 -05:00
reemuru
2bf0dd840f Advanced: ReserveProof: Resolve review by selsta
Fixes: 0f67580e
This commit updates qsTr() to avoid breaking previous
translations. Also removes an erroneous whitespace.
2022-01-21 01:21:17 -05:00
reemuru
0f67580e8f Advanced: ReserveProof: Add support for reserve proof
This change adds the ability to prove and check a reserve proof
to this existing "Prove/check" advanced menu. If the amount line has
a valid amount less than that of the current account index this input
will drive the logic for generating a reserve proof. Checking a reserve
proof is accomplished by validating the address and verifying that
signature.indexOf("ReserveProofV") === 0. The result displays the total
and spent amount of the proof.
2022-01-20 20:21:11 -05:00
rating89us
599033815a WizardRestoreWallet4, WizardCreateWallet4: disable double-click on "Create wallet" button 2022-01-17 21:58:38 +01:00
rating89us
de49ddcf5b WizardRestoreWallet3: remove unused code 2022-01-16 19:01:51 +01:00
rating89us
d752117ed3 WizardHome: restore binding of networkTypeDropdown.currentIndex when selecting an item; display networkTypeDropdown if stagenet or testnet is selected 2022-01-13 23:39:53 +01:00
rating89us
fa9285a108 SettingsInfo: translate tx description of "Donate to Monero" button 2022-01-13 21:20:29 +01:00
rating89us
9194522b56 Wizard: display selected network (testnet/stagenet) on "Create a new wallet" header 2022-01-13 20:56:00 +01:00
selsta
11a16952c5 LeftPanel: use correct shortcut modifier for Mac 2022-01-07 22:05:28 +01:00
luigi1111
a959919b8a Merge pull request #3813
6f88ad0 Fixed English mistake in Mining.qml (Igor Voytov)
2022-01-02 14:50:40 -05:00
Igor Voytov
6f88ad0a13 Fixed English mistake in Mining.qml 2022-01-02 19:23:12 +03:00
luigi1111
cb169f11d4 Merge pull request #3811
9199f95 update translations (netrik182)
2022-01-01 12:55:09 -05:00
luigi1111
98b81fa1ee Merge pull request #3810
f2b4e1e README: add more missing macOS dependencies (selsta)
2022-01-01 12:54:49 -05:00
luigi1111
a6fadd2140 Merge pull request #3804
a4cc91c DEPLOY: use correct ARCH (selsta)
2022-01-01 12:54:25 -05:00
luigi1111
09bf4a1e71 Merge pull request #3803
db4123c build: prepare v0.17.3.1 (selsta)
2022-01-01 12:53:55 -05:00
luigi1111
f44fcb4459 Merge pull request #3802
98f8f19 SettingsWallet: improve and translate trusted remote node error message (rating89us)
2022-01-01 12:53:32 -05:00
luigi1111
c5d598f401 Merge pull request #3800
f8a3a26 RemoteNodeList: fix trusted daemon icon margin (selsta)
2022-01-01 12:52:55 -05:00
luigi1111
9476a9880c Merge pull request #3798
d160828 SettingsWallet, SettingsListItem: disable 'Rescan wallet balance' buton if wallet is not synced (rating89us)
2022-01-01 12:51:03 -05:00
luigi1111
487f2ceecb Merge pull request #3797
e85b51e RemoteNodeList: reconnect after editing remote node (rating89us)
2022-01-01 12:50:17 -05:00
luigi1111
d0950499da Merge pull request #3795
2566f44 wizard: clear password field after wallet creation (selsta)
2022-01-01 12:49:38 -05:00
luigi1111
56df20ba27 Merge pull request #3788
008a38a main: verify if currentWallet is loaded before calling it (rating89us)
2022-01-01 12:48:17 -05:00
luigi1111
41b827b65d Merge pull request #3783
70e3c2d Settings, Advanced: mirror stack transition when clicking on a button on the left (rating89us)
2022-01-01 12:47:25 -05:00
luigi1111
0b6ceab25b Merge pull request #3769
3e159e0 WizardCreateDevice1: Use 'Restore wallet' instead of 'Create wallet' on Next button when restoring (rating89us)
2022-01-01 12:46:27 -05:00
selsta
2566f445b2 wizard: clear password field after wallet creation 2021-12-26 02:15:07 +01:00
netrik182
9199f95af5 update translations
Afrikaans

Currently translated at 100.0% (724 of 724 strings)
Translate-URL: https://translate.getmonero.org/projects/monero/gui-wallet/af/
Author: netrik182 <netrik@tuta.io>

Romanian

Currently translated at 99.4% (720 of 724 strings)
Translate-URL: https://translate.getmonero.org/projects/monero/gui-wallet/ro/
Author: netrik182 <netrik@tuta.io>

Dutch

Currently translated at 83.7% (642 of 767 strings)
Translate-URL: https://translate.getmonero.org/projects/monero/gui-wallet/nl/
Author: netrik182 <netrik@tuta.io>

Japanese

Currently translated at 97.5% (706 of 724 strings)
Translate-URL: https://translate.getmonero.org/projects/monero/gui-wallet/ja/
Author: netrik182 <netrik@tuta.io>

Hungarian

Currently translated at 94.3% (683 of 724 strings)
Translate-URL: https://translate.getmonero.org/projects/monero/gui-wallet/hu/
Author: netrik182 <netrik@tuta.io>

Hebrew

Currently translated at 42.5% (326 of 767 strings)
Translate-URL: https://translate.getmonero.org/projects/monero/gui-wallet/he/
Author: netrik182 <netrik@tuta.io>

Co-authored-by: netrik182 <netrik@tuta.io>

Dutch

Currently translated at 83.7% (642 of 767 strings)
Translate-URL: https://translate.getmonero.org/projects/monero/gui-wallet/nl/
Author: Snowden <edwardissexy.uninteresting@aleeas.com>

Co-authored-by: Snowden <edwardissexy.uninteresting@aleeas.com>

Polish

Currently translated at 90.0% (691 of 767 strings)
Translate-URL: https://translate.getmonero.org/projects/monero/gui-wallet/pl/
Author: Paul Janowitz <janowitz@gmail.com>

Co-authored-by: Paul Janowitz <janowitz@gmail.com>

Chinese (Simplified)

Currently translated at 77.7% (596 of 767 strings)
Translate-URL: https://translate.getmonero.org/projects/monero/gui-wallet/zh_Hans/
Author: Lekton Zhang <takato3000@gmail.com>

Co-authored-by: Lekton Zhang <takato3000@gmail.com>

German

Currently translated at 90.2% (693 of 768 strings)
Translate-URL: https://translate.getmonero.org/projects/monero/gui-wallet/de/
Author: Wobole <wobole@throwaway.io>

Co-authored-by: Wobole <wobole@throwaway.io>
2021-12-22 09:08:40 +01:00
selsta
f2b4e1ea3e README: add more missing macOS dependencies 2021-12-18 21:35:03 +01:00
selsta
621c11925b main: add compile time option to disable desktop entry dialog 2021-12-17 16:43:00 +01:00
selsta
a4cc91cca2 DEPLOY: use correct ARCH 2021-12-15 10:03:28 +01:00
selsta
db4123ccb5 build: prepare v0.17.3.1 2021-12-14 07:02:43 +01:00
rating89us
98f8f194cd SettingsWallet: improve and translate trusted remote node error message 2021-12-13 15:30:24 +01:00
selsta
f8a3a26e0d RemoteNodeList: fix trusted daemon icon margin 2021-12-13 04:44:44 +01:00
selsta
f7792b72bf RemoteNodeList: fix qml warning 2021-12-13 04:33:32 +01:00
rating89us
d160828cda SettingsWallet, SettingsListItem: disable "Rescan wallet balance" buton if wallet is not synced 2021-12-12 18:26:44 +01:00
rating89us
e85b51e1c2 RemoteNodeList: reconnect after editing remote node 2021-12-12 16:32:45 +01:00
selsta
6b926b3199 History: disable payment proof for hardware wallets 2021-12-11 04:02:35 +01:00
rating89us
008a38aae2 main: verify if currentWallet is loaded before calling it 2021-12-10 11:03:37 +01:00
rating89us
70e3c2d3ad Settings, Advanced: mirror stack transition when clicking on a button on the left 2021-12-08 13:00:10 +01:00
selsta
817b015335 Docker: bump hidapi on Linux 2021-12-07 15:50:27 +01:00
luigi1111
bddb9b0050 Merge pull request #3773
78f7b05 Translations from Weblate (Weblate)
2021-12-02 15:13:21 -06:00
Anonymous
78f7b05ecb Translations from Weblate
* Ukrainian
  * TheFuzzStone (1)
  * reketen (1)
  * castorp (1)
  * Alex Osinniy (3)
* Spanish
  * nemecis rojas (1)
  * Samuel (1)
  * Josep Mengual (2)
  * jaime diaz (6)
* Esperanto
  * Dynse Clyde Sacote (11)
* Romanian
  * devuana (8)
  * mihaipe (40)
* Russian
  * v1docq47 (76)
* Portuguese (Brazil)
  * L. P. Pereira (1)
  * netrik182 (35)
  * Gilberto F da Silva (47)
* Hungarian
  * Zsolt András Kovács (1)
  * Pozsonyi Péter (3)
  * Közepes Gábor (5)
  * anonym szeretnék maradni (35)
* German
  * Nicolas (1)
  * Martin (1)
  * MortiZ (1)
  * GreenPiece (3)
  * Crusty (8)
  * Paul Janowitz (10)
2021-12-02 20:57:23 +01:00
luigi1111
999bc21d6b Merge pull request #3767
d922c91 main: hide TitleBar when MerchantTitleBar is visible (rating89us)
2021-12-02 00:16:15 -06:00
luigi1111
901b4b0f77 Merge pull request #3765
fa35410 build: prepare v0.17.3.0 (selsta)
2021-12-02 00:12:36 -06:00
luigi1111
69dc0b3570 Merge pull request #3761
6e24930 WizardOpenWallet1: new wallet icons; hide 'Mainnet' label in simple mode (rating89us)
2021-12-02 00:08:19 -06:00
luigi1111
0bebf412fd Merge pull request #3760
b8b96ee PasswordDialog: display wizard title bar when returning to wizard after canceling password dialog (rating89us)
2021-12-02 00:07:03 -06:00
luigi1111
ce1c5aebf7 Merge pull request #3759
22450cb main: hide wallet name in wizard titlebar (rating89us)
2021-12-02 00:05:42 -06:00
luigi1111
7eef4f3364 Merge pull request #3758
a4b907a WizardCreateDevice1: hide advanced options in simple mode (rating89us)
2021-12-02 00:05:20 -06:00
luigi1111
ecadd44a16 Merge pull request #3756
31ae9b3 WizardCreateDevice1: reset fields when opening page (rating89us)
2021-12-02 00:04:49 -06:00
luigi1111
4bd7d43588 Merge pull request #3753
8a8a384 add _ to names of fonts (Malte J├╝rgens)
00a95c1 change ttf name of Roboto-Regular to Roboto-Regular_ (Malte J├╝rgens)
2021-12-02 00:04:16 -06:00
luigi1111
50c8f30d0b Merge pull request #3755
843536c WizardAskPassword: clean password fields when clicking on Back button (rating89us)
2021-12-02 00:02:47 -06:00
luigi1111
e2203a871c Merge pull request #3736
4d2186f README: add missing macOS dependencies (selsta)
2021-12-02 00:01:42 -06:00
rating89us
3e159e0ed6 WizardCreateDevice1: Use "Restore wallet" instead of "Create wallet" on Next button when restoring 2021-12-01 21:50:55 +01:00
rating89us
d922c91071 main: hide TitleBar when MerchantTitleBar is visible 2021-12-01 16:48:14 +01:00
selsta
fa35410851 build: prepare v0.17.3.0 2021-11-30 23:22:39 +01:00
rating89us
23b74a3412 WizardSummary: use "Mnemonic seed language" instead of "Language" 2021-11-30 23:14:38 +01:00
rating89us
6e24930026 WizardOpenWallet1: new wallet icons; hide "Mainnet" label in simple mode 2021-11-29 20:16:23 +01:00
rating89us
b8b96ee719 PasswordDialog: display wizard title bar when returning to wizard after canceling password dialog 2021-11-28 13:39:45 +01:00
rating89us
22450cb68d main: hide wallet name in wizard titlebar 2021-11-28 13:33:54 +01:00
rating89us
a4b907a668 WizardCreateDevice1: hide advanced options in simple mode 2021-11-28 11:45:50 +01:00
rating89us
843536c7a1 WizardAskPassword: clean password fields when clicking on Back button 2021-11-27 19:50:09 +01:00
rating89us
31ae9b3947 WizardCreateDevice1: reset fields when opening page 2021-11-27 19:45:50 +01:00
luigi1111
c72729fa5d Merge pull request #3750
8f12e97 LeftPanel: display full keyboard shortcuts for Windows, Mac, and Linux (rating89us)
2021-11-26 22:57:54 -06:00
luigi1111
a07299f64d Merge pull request #3746
9e83942 Updated instructions for Gentoo (free-as-in-beer)
2021-11-26 22:57:26 -06:00
luigi1111
d55a001875 Merge pull request #3743
98b2727 StandardDropdown: remove bold text in dropdown items (rating89us)
2021-11-26 22:56:53 -06:00
luigi1111
917d6d4243 Merge pull request #3742
e390b43 Mining: add buttons/scroll to CPU threads input; improve button labels; set start mining button as primary (rating89us)
2021-11-26 22:56:26 -06:00
luigi1111
05e629c0eb Merge pull request #3740
9846bff AddressBook: use small StandardButton; adjust buttons alignment/order; remove paste button (rating89us)
2021-11-26 22:55:57 -06:00
luigi1111
9c901b33f0 Merge pull request #3739
a37c375 Account: use StandardButton for 'Create new account' (rating89us)
2021-11-26 22:55:24 -06:00
luigi1111
a0ff56fbef Merge pull request #3738
419a197 AddressBook: fix edit address button tooltip (rating89us)
2021-11-26 22:54:47 -06:00
luigi1111
fc8c1114b2 Merge pull request #3737
9961305 LabelSubheader: implement tooltip (rating89us)
2021-11-26 22:54:12 -06:00
luigi1111
93e5ef883c Merge pull request #3735
c844e3d zxcvbn: fix buffer overflow (selsta)
2021-11-26 22:50:17 -06:00
luigi1111
10a36f96f6 Merge pull request #3731
61d8b5e Makefile: don't hardcode x86_64 arch (selsta)
2021-11-26 22:49:47 -06:00
luigi1111
80cd2e08a4 Merge pull request #3689
d3780ab ContextMenu: add Cut, Copy, Delete and Select All (rating89us)
2021-11-26 22:48:40 -06:00
luigi1111
97755e1b34 Merge pull request #3635
cc8ddde Transfer: fix button colors, font size, bold; use secondary button for advanced options (rating89us)
2021-11-26 22:47:35 -06:00
Malte Jürgens
8a8a3847d7 add _ to names of fonts 2021-11-27 00:06:56 +01:00
Malte Jürgens
00a95c11a0 change ttf name of Roboto-Regular to Roboto-Regular_ 2021-11-26 23:39:01 +01:00
rating89us
8f12e97b79 LeftPanel: display full keyboard shortcuts for Windows, Mac, and Linux 2021-11-25 20:30:04 +01:00
rating89us
9961305867 LabelSubheader: implement tooltip 2021-11-22 23:19:41 +01:00
free-as-in-beer
9e83942920 Updated instructions for Gentoo 2021-11-22 22:28:58 +01:00
rating89us
e390b43bdc Mining: add buttons/scroll to CPU threads input; improve button labels; set start mining button as primary 2021-11-22 19:46:16 +01:00
rating89us
cc8ddde01b Transfer: fix button colors, font size, bold; use secondary button for advanced options 2021-11-21 19:28:36 +01:00
rating89us
98b2727857 StandardDropdown: remove bold text in dropdown items 2021-11-21 19:09:10 +01:00
selsta
4d2186fb75 README: add missing macOS dependencies 2021-11-21 03:36:36 +01:00
rating89us
419a1975eb AddressBook: fix edit address button tooltip 2021-11-20 20:18:49 +01:00
rating89us
9846bff226 AddressBook: use small StandardButton; adjust buttons alignment/order; remove paste button 2021-11-20 19:38:29 +01:00
rating89us
a37c3756b7 Account: use StandardButton for "Create new account" 2021-11-20 17:05:26 +01:00
selsta
c844e3d179 zxcvbn: fix buffer overflow
Original patch by hannob
2021-11-15 08:24:58 +01:00
selsta
0ded8dcf25 Settings: option to skip stop local node screen 2021-11-15 06:31:34 +01:00
selsta
61d8b5efb6 Makefile: don't hardcode x86_64 arch 2021-11-10 06:25:49 +01:00
luigi1111
ecf5c501d6 Merge pull request #3730
bdad630 remove reference from mattermost (netrik182)
2021-11-09 23:02:41 -06:00
luigi1111
db639b96a3 Merge pull request #3726
987bf92 Fix typos (Dimitris Apostolou)
2021-11-09 23:00:56 -06:00
luigi1111
e65956e910 Merge pull request #3723
f8e1b9b cmake: don't hardcode x86-64 arch (selsta)
2021-11-09 23:00:35 -06:00
luigi1111
09ce233f4b Merge pull request #3717
f91e179 Receive: set maximum length for qr string (selsta)
2021-11-09 23:00:14 -06:00
luigi1111
34893e169e Merge pull request #3716
49ade0d cmake: remove werror (selsta)
2021-11-09 22:59:55 -06:00
luigi1111
dd171c8b49 Merge pull request #3715
c970588 cmake: simplify version, fix tag if git isn't found (selsta)
2021-11-09 22:59:31 -06:00
luigi1111
985406e70f Merge pull request #3713
4aab43a add flatpak package (kinghat)
2021-11-09 22:59:06 -06:00
luigi1111
8bf457c864 Merge pull request #3711
c0aface workflows: add missing dependency, fix mac build (selsta)
2021-11-09 22:58:45 -06:00
luigi1111
96dab92f33 Merge pull request #3706
bd7bd43 AddressBook: add payment request URI prefix to address field placeholder (rating89us)
2021-11-09 22:58:20 -06:00
luigi1111
d348324f50 Merge pull request #3705
b44d359 Transfer: add payment request URI prefix to address field placeholder (rating89us)
2021-11-09 22:58:00 -06:00
luigi1111
4f5903e7fd Merge pull request #3697
4ec78b3 cmake: don't force -march=x86-64 (selsta)
2021-11-09 22:57:36 -06:00
luigi1111
bdadd98622 Merge pull request #3364
66d29a4 Makefile: Add ppc64le target (Jeremy Rand)
2021-11-09 22:57:10 -06:00
netrik182
bdad630d51 remove reference from mattermost
and add matrix room link
2021-11-09 10:22:18 +00:00
Dimitris Apostolou
987bf920c7 Fix typos 2021-11-04 21:19:11 +02:00
selsta
f8e1b9bdb6 cmake: don't hardcode x86-64 arch 2021-10-29 23:39:59 +02:00
selsta
06fe68b56c cmake: remove including non-existent directory 2021-10-28 14:27:53 +02:00
selsta
b811d6a84f cmake: don't print verbose make
If someone wants verbose make they can set the env var.
This is now in line with monero's behaviour.
2021-10-27 18:45:55 +02:00
selsta
f91e1791fe Receive: set maximum length for qr string 2021-10-21 02:28:41 +02:00
selsta
49ade0d689 cmake: remove werror 2021-10-19 18:02:45 +02:00
selsta
c970588c55 cmake: simplify version, fix tag if git isn't found 2021-10-19 17:58:39 +02:00
kinghat
4aab43a127 add flatpak package 2021-10-12 10:29:36 -05:00
selsta
c0aface962 workflows: add missing dependency, fix mac build 2021-10-07 04:34:07 +02:00
rating89us
bd7bd43504 AddressBook: add payment request URI prefix to address field placeholder 2021-09-27 12:23:23 +02:00
rating89us
b44d359f9e Transfer: add payment request URI prefix to address field placeholder 2021-09-27 12:22:25 +02:00
luigi1111
2f109d3333 Merge pull request #3702
1c31f2e Docker: add missing hash checks (selsta)
2021-09-23 21:56:49 -05:00
luigi1111
7cc225039c Merge pull request #3698
1173dd2 Docker: fix missing unbound on Android (selsta)
2021-09-23 21:56:24 -05:00
luigi1111
cef9be3d02 Merge pull request #3696
87b1518 Docker: fix missing unbound on Linux (selsta)
2021-09-23 21:55:38 -05:00
selsta
1c31f2e481 Docker: add missing hash checks 2021-09-15 17:52:12 +02:00
selsta
1173dd2826 Docker: fix missing unbound on Android 2021-09-15 17:49:23 +02:00
luigi1111
6239f949fe Merge pull request #3694
02c55e3 workflows: fix build on windows (selsta)
2021-09-13 01:47:04 -04:00
selsta
4ec78b35f8 cmake: don't force -march=x86-64 2021-09-13 02:33:34 +02:00
selsta
87b1518023 Docker: fix missing unbound on Linux 2021-09-12 20:55:29 +02:00
selsta
02c55e3fd1 workflows: fix build on windows 2021-09-11 02:24:11 +02:00
luigi1111
96762ebf09 Merge pull request #3687
f327d20 qml: use libwalletqt make_uri function (selsta)
dcc16a4 libwalletqt: add make_uri function (selsta)
2021-09-09 16:54:36 -04:00
luigi1111
702d3b8ec1 Merge pull request #3686
1ef9a5c Transfer: print success / error for key images (selsta)
2021-09-09 16:54:05 -04:00
luigi1111
a3069e4a58 Merge pull request #3472
bd9a2d7 cmake: cleanup openssl (selsta)
2021-09-09 16:53:34 -04:00
selsta
bd9a2d7bbb cmake: cleanup openssl 2021-09-06 02:21:00 +02:00
selsta
1ef9a5c2d7 Transfer: print success / error for key images 2021-09-06 02:19:10 +02:00
luigi1111
3f48e3ef1c Merge pull request #3685
5fa310c LineEdit: fix eye button overlap on password field (rating89us)
2021-09-05 13:06:00 -04:00
luigi1111
d9f7482ae8 Merge pull request #3684
27525b3 Add note about GUI releases to README.md (MoneroArbo)
2021-09-05 13:05:18 -04:00
luigi1111
facec65dfc Merge pull request #3683
d3d7841 Receive: remove highlight of QR code menu if no menu item is hovered (rating89us)
2021-09-05 13:04:38 -04:00
luigi1111
dc331f0e64 Merge pull request #3682
b99b333 WizardAskPassword: add colors to password strength meter; add 'Passwords match/do not match' message (rating89us)
2021-09-05 13:01:58 -04:00
luigi1111
67eb486e63 Merge pull request #3679
18a7629 cmake: cleanup redundant ccache file (selsta)
2021-09-05 13:00:20 -04:00
luigi1111
edb0358916 Merge pull request #3572
544cff7 TransactionHistory: add description to csv export (selsta)
57c2052 TransactionInfo: add isCoinbase and description (selsta)
2021-09-05 12:58:39 -04:00
luigi1111
569ba16df8 Merge pull request #3481
afb88ff workflows: don't use cache on release tag (selsta)
2021-09-05 12:57:33 -04:00
luigi1111
d48438aeef Merge pull request #3477
75746a8 cmake: explicitly link net and common (selsta)
2021-09-05 12:57:04 -04:00
luigi1111
92b3f5a2ee Merge pull request #3473
165817e cmake: cleanup test-libusb-version.c (selsta)
2021-09-05 12:56:31 -04:00
luigi1111
f430d49304 Merge pull request #3471
2f8f7c2 cmake: cleanup boost (selsta)
2021-09-05 12:55:47 -04:00
luigi1111
76c3b3cd1d Merge pull request #3452
95c07e1 workflows: replace qt download script for macos-bundle (selsta)
2021-09-05 12:55:07 -04:00
luigi1111
35aee155d7 Merge pull request #3435
36940f0 Transfer: add support for outputs import / export (selsta)
e36b166 Wallet: import / export output function (tobtoht)
2021-09-05 12:54:13 -04:00
luigi1111
d93af5a469 Merge pull request #3282
6dd7445 Transfer: export all key images by default (benevanoff)
2021-09-05 12:51:53 -04:00
luigi1111
051282931a Merge pull request #3096
AddressBook: description edits, remove hack (selsta)
2021-09-05 12:50:30 -04:00
rating89us
d3780abe33 ContextMenu: add Cut, Copy, Delete and Select All 2021-09-05 15:52:51 +02:00
selsta
841f061520 main: remove outdated code 2021-09-05 06:18:49 +02:00
selsta
f327d20deb qml: use libwalletqt make_uri function 2021-09-05 05:52:56 +02:00
selsta
dcc16a44be libwalletqt: add make_uri function 2021-09-05 05:52:53 +02:00
selsta
36940f07c9 Transfer: add support for outputs import / export 2021-09-04 00:14:07 +02:00
rating89us
b99b333b71 WizardAskPassword: add colors to password strength meter; add "Passwords match/do not match" message 2021-09-03 21:30:16 +02:00
rating89us
5fa310c961 LineEdit: fix eye button overlap on password field 2021-09-03 21:12:20 +02:00
tobtoht
e36b166edd Wallet: import / export output function 2021-09-03 05:36:58 +02:00
MoneroArbo
27525b37e0 Add note about GUI releases to README.md
Official GUI releases use monero-wallet-gui from the docker build process documented in the monero-gui README, alongisde the supporting binaries from the deterministic CLI builds. This should be noted for users looking for verify GUI builds against official releases.
2021-09-02 20:20:20 -04:00
rating89us
d3d78416d7 Receive: remove highlight of QR code menu if no menu item is hovered 2021-09-02 20:49:54 +02:00
selsta
f30570d54b Makefile: fix release-linux-armv8 2021-08-31 21:51:24 +02:00
selsta
20579049fa cmake: remove unneeded monero_gui_add_library() 2021-08-31 05:51:20 +02:00
selsta
544cff7dc1 TransactionHistory: add description to csv export 2021-08-31 05:50:54 +02:00
selsta
165817ec02 cmake: cleanup test-libusb-version.c 2021-08-31 05:50:33 +02:00
selsta
95c07e1a62 workflows: replace qt download script for macos-bundle 2021-08-31 05:48:53 +02:00
selsta
2f8f7c2054 cmake: cleanup boost 2021-08-31 05:31:30 +02:00
selsta
99ad8ef1ba AddressBook: description edits, remove hack
Co-authored-by: dsc <dsc@xmr.pm>
2021-08-31 05:26:49 +02:00
selsta
18a76299f2 cmake: cleanup redundant ccache file 2021-08-31 05:25:00 +02:00
luigi1111
113efbfdf0 Merge pull request #3678
0e1c6ae build: prepare v0.17.2.3 (selsta)
2021-08-30 16:14:30 -04:00
selsta
0e1c6ae60f build: prepare v0.17.2.3 2021-08-29 20:49:45 +02:00
luigi1111
b461373b8a Merge pull request #3674
3719f00 TxKey: fix get / check proof (selsta)
2021-08-26 21:30:02 -04:00
luigi1111
046124cd9b Merge pull request #3672
09003dd StandardDialog: use secondary color for cancel button (rating89us)
2021-08-26 21:29:18 -04:00
luigi1111
0ca7e4ec76 Merge pull request #3670
ac432fe InputDialog: use secondary color for cancel Button (rating89us)
2021-08-26 21:28:38 -04:00
luigi1111
376eaecf08 Merge pull request #3667
52c8d68 WizardRestoreWallet4: 'Open wallet' -> 'Create wallet'; add translation (rating89us)
2021-08-26 21:28:08 -04:00
luigi1111
316f8b1762 Merge pull request #3666
4fec3a4 WizardHeader: fix subtitle text width (rating89us)
2021-08-26 21:25:22 -04:00
luigi1111
cbed1ed6f7 Merge pull request #3665
02e0ac1 cmake: remove unnecessary steps (selsta)
2021-08-26 21:24:34 -04:00
luigi1111
3507e848cf Merge pull request #3650
946fa53 Receive: implement payment request (rating89us)
2021-08-26 21:23:23 -04:00
luigi1111
60967d3930 Merge pull request #3644
57f9cf9 History: fix transactions missing after midnight (selsta)
2021-08-26 21:22:05 -04:00
luigi1111
55a262b892 Merge pull request #3618
5234570 WizardCreateDevice1: display images; differentiate Ledger Nano X and S; add label to dropdown (rating89us)
2021-08-26 21:19:11 -04:00
selsta
3719f00953 TxKey: fix get / check proof 2021-08-20 23:51:04 +02:00
rating89us
09003dd140 StandardDialog: use secondary color for cancel button 2021-08-20 14:34:38 +02:00
rating89us
ac432fe947 InputDialog: use secondary color for cancel Button 2021-08-20 13:23:43 +02:00
rating89us
5234570afa WizardCreateDevice1: display images; differentiate Ledger Nano X and S; add label to dropdown 2021-08-19 17:26:32 +02:00
rating89us
946fa538b9 Receive: implement payment request 2021-08-19 17:13:57 +02:00
rating89us
52c8d68240 WizardRestoreWallet4: "Open wallet" -> "Create wallet"; add translation 2021-08-15 21:25:20 +02:00
rating89us
4fec3a4d6f WizardHeader: fix subtitle text width 2021-08-13 14:56:22 +02:00
selsta
02e0ac1309 cmake: remove unnecessary steps 2021-08-12 01:08:13 +02:00
luigi1111
51828babbb Merge pull request #3641
d8fb9ec Transfer: use defaultFontColor for text cursor when address field is blank (rating89us)
2021-07-26 15:37:47 -04:00
luigi1111
a13e4b622c Merge pull request #3640
7805430 Account, Receive, RemoteNodeList, SettingsNode: selection indicator in lists (rating89us)
2021-07-26 15:37:26 -04:00
luigi1111
56a17e0a85 Merge pull request #3638
faf9ec3 AddressBook: add Grab QR code inline button (rating89us)
2021-07-26 15:36:48 -04:00
luigi1111
e74ef368df Merge pull request #3637
22291b1 NetworkStatusItem: add tooltip to switch node button; adjust colors of lightning icon, switch node button and network status (rating89us)
2021-07-26 15:36:20 -04:00
luigi1111
857d034f18 Merge pull request #3634
b30be48 README: TOC, update building titles (rating89us)
2021-07-26 15:35:55 -04:00
luigi1111
3f4cedea54 Merge pull request #3630
284caf8 RemoteNodeList: truncate long addresses (rating89us)
2021-07-26 15:35:13 -04:00
luigi1111
4376880b46 Merge pull request #3627
d20c589 Tooltip: fix tooltip width (rating89us)
2021-07-26 15:34:50 -04:00
luigi1111
98057487f6 Merge pull request #3624
ea9ed3e openpgp: add missing include (selsta)
2021-07-26 15:34:29 -04:00
luigi1111
06025352ce Merge pull request #3620
c4c549e Upgrade Font Awesome icons to v5.15.3 (rating89us)
2021-07-26 15:31:58 -04:00
selsta
57f9cf9d85 History: fix transactions missing after midnight 2021-07-26 00:42:44 +02:00
rating89us
d8fb9ec081 Transfer: use defaultFontColor for text cursor when address field is blank 2021-07-25 20:09:52 +02:00
rating89us
faf9ec3027 AddressBook: add Grab QR code inline button
Co-authored-by: selsta <selsta@users.noreply.github.com>
2021-07-25 09:08:17 +02:00
rating89us
22291b1df1 NetworkStatusItem: add tooltip to switch node button; adjust colors of lightning icon, switch node button and network status 2021-07-23 08:14:20 +02:00
rating89us
7805430f4f Account, Receive, RemoteNodeList, SettingsNode: selection indicator in lists 2021-07-23 08:13:01 +02:00
rating89us
b30be48a24 README: TOC, update building titles 2021-07-22 18:06:44 +02:00
rating89us
284caf83f6 RemoteNodeList: truncate long addresses 2021-07-21 01:34:02 +02:00
rating89us
d20c589e42 Tooltip: fix tooltip width 2021-07-16 09:59:45 +02:00
selsta
ea9ed3e0be openpgp: add missing include 2021-07-15 19:43:41 +02:00
rating89us
c4c549e57a Upgrade Font Awesome icons to v5.15.3 2021-07-12 23:15:59 +02:00
luigi1111
b6682330a6 Merge pull request #3611
0ce3e4b WizardOpenWallet1: navigate with keyboard; enable accessibility (rating89us)
2021-07-11 22:19:28 -04:00
luigi1111
b54ee598d8 Merge pull request #3523
20106b2 Tooltip: fix binding loop (selsta)
2021-07-11 22:18:49 -04:00
luigi1111
7da11b050c Merge pull request #3617
94b6a5b cmake: fix incorrect rebase (selsta)
2021-07-10 20:08:56 -04:00
selsta
94b6a5bbf5 cmake: fix incorrect rebase 2021-07-11 02:03:46 +02:00
luigi1111
5a88d4a669 Merge pull request #3565
3d6e9ce cmake: remove unnecessary file globbing (selsta)
2021-07-10 18:02:58 -04:00
selsta
3d6e9ce571 cmake: remove unnecessary file globbing 2021-07-10 23:58:25 +02:00
luigi1111
987e716374 Merge pull request #3614
3631482 SettingsInfo: fix displaying of Graphics mode and Tails on clipboard output (rating89us)
2021-07-10 17:55:11 -04:00
luigi1111
f81bfa1865 Merge pull request #3613
6739b51 WizardWalletInput: red border if error; error messages; remove placeholders; smaller font; icon for browse button (rating89us)
2021-07-10 17:54:34 -04:00
luigi1111
e4a3e282b5 Merge pull request #3593
2c0cf0d WizardCreateDevice1: move 'choose your device' dropdown to the top (rating89us)
2021-07-10 17:53:26 -04:00
luigi1111
c017522a3c Merge pull request #3599
f82336c TxConfirmationDialog: fix displaying of '<' when using fontMonoRegular (rating89us)
2021-07-10 17:52:32 -04:00
rating89us
6739b51a5b WizardWalletInput: red border if error; error messages; remove placeholders; smaller font; icon for browse button
Update WizardWalletInput.qml
2021-07-10 20:14:23 +02:00
rating89us
3631482419 SettingsInfo: fix displaying of Graphics mode and Tails on clipboard output 2021-07-09 23:00:18 +02:00
luigi1111
1c61ec2511 Merge pull request #3603
8419fce LanguageSidebar: navigate/select language with keyboard; enable accessibility; selected indicator; remember previous focused item (rating89us)
2021-07-06 11:50:34 -04:00
luigi1111
d0707d78a1 Merge pull request #3602
15dbbaf cmake: enable position independent code for quirc (selsta)
2021-07-06 11:50:01 -04:00
luigi1111
083b0fb7a8 Merge pull request #3601
d8f9d2f Transfer: fix fee label alignment (selsta)
2021-07-06 11:49:37 -04:00
luigi1111
24d113377b Merge pull request #3598
dbc8c7d qr: scan valid addresses that miss an uri prefix (selsta)
2021-07-06 11:48:58 -04:00
luigi1111
5e076325cd Merge pull request #3590
2db8f77 Transfer: UI changes to description field (use LineEdit, decrease font size, new placeholder) (rating89us)
2021-07-06 11:48:27 -04:00
luigi1111
5aef186c8a Merge pull request #3588
0de95e3 RemoteNodeList: reduce spacing between icons (selsta)
2021-07-06 11:47:49 -04:00
luigi1111
81f0209006 Merge pull request #3582
54e183a SettingsInfo: add portable mode to wallet mode (selsta)
2021-07-06 11:47:06 -04:00
luigi1111
b4e6f20b53 Merge pull request #3580
0fd0fc5 Receive: selected address details on top; QR code click to ampliate/right click to save as image; click on description to edit; display full address; use standard button for 'create new address' (rating89us)
2021-07-06 11:46:35 -04:00
luigi1111
a278781abf Merge pull request #3562
6610f6f cmake: fix compilation with zxcvbn, always enable (selsta)
2021-07-06 11:44:20 -04:00
luigi1111
2d82439b56 Merge pull request #3559
3eae630 History: collapse 'Sort & Filter' when user types (rating89us)
2021-07-06 11:43:48 -04:00
luigi1111
0b0bc87184 Merge pull request #3544
f75a244 Wizard: set unused wallet name (selsta)
2021-07-06 11:43:09 -04:00
luigi1111
59fcda43c6 Merge pull request #3505
76be4b8 main: set correct size for pruned blockchain (selsta)
2021-07-06 11:42:37 -04:00
luigi1111
6e87e2cb5b Merge pull request #3504
8236277 main: simplify fiat ticker code (selsta)
2021-07-06 11:42:09 -04:00
luigi1111
8730743207 Merge pull request #3503
b2255cf main: use Utils.epoch() for epoch (selsta)
2021-07-06 11:41:11 -04:00
luigi1111
4c67007e5b Merge pull request #3502
aa8c1a5 main: remove redundant assignment (selsta)
2021-07-06 11:40:42 -04:00
luigi1111
0ae1c721ef Merge pull request #3491
dbda233 pages: set correct icon fallback opacity (selsta)
2021-07-06 11:40:10 -04:00
luigi1111
21cce4cfb4 Merge pull request #3487
b2fbe51 StandardButton: fix warning with fallbackicon (selsta)
2021-07-06 11:39:19 -04:00
luigi1111
d595957405 Merge pull request #3165
3907dac Account: remove 'Balance:' label; add XMR; align balances (rating89us)
2021-07-06 11:36:19 -04:00
rating89us
0ce3e4b1e7 WizardOpenWallet1: navigate with keyboard; enable accessibility 2021-07-06 10:41:03 +02:00
rating89us
8419fce062 LanguageSidebar: navigate/select language with keyboard; enable accessibility; selected indicator; remember previous focused item 2021-07-04 21:56:57 +02:00
selsta
15dbbaf691 cmake: enable position independent code for quirc 2021-07-01 18:36:43 +02:00
selsta
d8f9d2f160 Transfer: fix fee label alignment 2021-07-01 01:19:57 +02:00
selsta
dbda233b94 pages: set correct icon fallback opacity 2021-07-01 00:46:03 +02:00
rating89us
f82336ce8c TxConfirmationDialog: fix displaying of "<" when using fontMonoRegular 2021-06-29 12:34:39 +02:00
selsta
dbc8c7d473 qr: scan valid addresses that miss an uri prefix 2021-06-29 04:53:24 +02:00
rating89us
2c0cf0d652 WizardCreateDevice1: move "choose your device" dropdown to the top 2021-06-28 00:33:49 +02:00
rating89us
2db8f77a0a Transfer: UI changes to description field (use LineEdit, decrease font size, new placeholder) 2021-06-26 21:25:19 +02:00
rating89us
0fd0fc5ceb Receive: selected address details on top; QR code click to ampliate/right click to save as image; click on description to edit; display full address; use standard button for "create new address" 2021-06-26 16:01:59 +02:00
selsta
0de95e3071 RemoteNodeList: reduce spacing between icons 2021-06-25 01:58:07 +02:00
luigi1111
b58bff39a0 Merge pull request #3586
614a7a0 RemoteNodeList: display shield icon if trusted daemon (rating89us)
2021-06-24 13:55:08 -05:00
luigi1111
bea763d7f8 Merge pull request #3585
b9a1fa8 History: display Payment proof dialog immediately after clicking the button (rating89us)
2021-06-24 13:54:42 -05:00
luigi1111
59a0184ebd Merge pull request #3584
51ac3ca StandardDropdown: use ArrowCursor; remove rotation of dropdownIcon; change background color on mouse hover; smaller text (rating89us)
2021-06-24 13:54:16 -05:00
luigi1111
1a8e3111e4 Merge pull request #3583
192b36f StandardDropdown: remove dots from corners (rating89us)
2021-06-24 13:53:22 -05:00
rating89us
614a7a086a RemoteNodeList: display shield icon if trusted daemon 2021-06-23 03:09:29 +02:00
rating89us
b9a1fa8563 History: display Payment proof dialog immediately after clicking the button 2021-06-22 21:19:27 +02:00
rating89us
51ac3ca981 StandardDropdown: use ArrowCursor; remove rotation of dropdownIcon; change background color on mouse hover; smaller text 2021-06-22 20:38:21 +02:00
rating89us
192b36f74f StandardDropdown: remove dots from corners 2021-06-22 10:09:11 +02:00
selsta
54e183a7f5 SettingsInfo: add portable mode to wallet mode 2021-06-22 02:30:54 +02:00
luigi1111
453388f744 Merge pull request #3578
64dd55a TitleBar: maximize window when title bar is double clicked (rating89us)
2021-06-21 13:41:10 -05:00
luigi1111
afc2b35ed0 Merge pull request #3576
4e2b1ce Transfer: don't overlap inside borders; fix margins (rating89us)
2021-06-21 13:40:36 -05:00
luigi1111
9114887866 Merge pull request #3575
08dd89d Transfer: remove leftMargin of 'Address' label (rating89us)
2021-06-21 13:39:47 -05:00
luigi1111
2afb346563 Merge pull request #3574
eacc57f StandardDropdown: use ColumnLayout; use same height of LineEdit; include dropdownLabel (rating89us)
2021-06-21 13:39:00 -05:00
luigi1111
bc8f39c311 Merge pull request #3571
c15c5b5 TransactionHistory: use displayAmount for amount (selsta)
2021-06-21 13:38:37 -05:00
luigi1111
286a3d140d Merge pull request #3569
ffd31c5 AddressBook: use LineEdit on descriptionLine; add tab/backtab; forceActiveFocus on addressLine; use Enter/Return key to save; cancel/delete buttons (rating89us)
2021-06-21 13:38:02 -05:00
luigi1111
5f2b5d940c Merge pull request #3550
417eaea History: stay on the same page after editing description (rating89us)
2021-06-21 13:36:34 -05:00
rating89us
64dd55a9a6 TitleBar: maximize window when title bar is double clicked 2021-06-20 19:28:11 +02:00
rating89us
eacc57fb44 StandardDropdown: use ColumnLayout; use same height of LineEdit; include dropdownLabel 2021-06-20 00:02:59 +02:00
rating89us
4e2b1cec95 Transfer: don't overlap inside borders; fix margins 2021-06-19 21:16:54 +02:00
rating89us
08dd89de58 Transfer: remove leftMargin of "Address" label 2021-06-19 18:21:40 +02:00
selsta
57c205206c TransactionInfo: add isCoinbase and description 2021-06-18 03:34:47 +02:00
selsta
c15c5b5227 TransactionHistory: use displayAmount for amount 2021-06-18 02:08:37 +02:00
rating89us
ffd31c50da AddressBook: use LineEdit on descriptionLine; add tab/backtab; forceActiveFocus on addressLine; use Enter/Return key to save; cancel/delete buttons 2021-06-17 13:37:19 +02:00
luigi1111
b970cad48b Merge pull request #3564
dfe8146 SettingsInfo, WizardRestoreWallet1, WizardCreateDevice1: Correct restore height date when typed in wrong format (rating89us)
2021-06-16 14:53:44 -05:00
luigi1111
752f1faa93 Merge pull request #3563
b319dbb main: fixes bug not accepting new restore height (rating89us)
2021-06-16 14:53:17 -05:00
luigi1111
60b33d3a91 Merge pull request #3545
52aef11 LineEdit: use ColumnLayout instead of Item (also used in LineEditMulti) (rating89us)
2021-06-16 14:49:26 -05:00
luigi1111
5de306ab7a Merge pull request #3513
877fb9e README: freenode -> libera (selsta)
2021-06-16 14:47:59 -05:00
rating89us
dfe8146f5c SettingsInfo, WizardRestoreWallet1, WizardCreateDevice1: Correct restore height date when typed in wrong format 2021-06-15 16:34:07 +02:00
selsta
6610f6f2da cmake: fix compilation with zxcvbn, always enable 2021-06-14 21:47:54 +02:00
rating89us
b319dbb1b2 main: fixes bug not accepting new restore height 2021-06-14 21:21:16 +02:00
rating89us
3eae630cfe History: collapse "Sort & Filter" when user types 2021-06-12 20:43:35 +02:00
rating89us
52aef114fa LineEdit: use ColumnLayout instead of Item (also used in LineEditMulti) 2021-06-11 17:13:52 +02:00
luigi1111
7c379e2cda Merge pull request #3548
979e0da History: add fontAwesomeFallbackIcon (rating89us)
2021-06-10 11:07:53 -05:00
luigi1111
244459e606 Merge pull request #3546
8ac1b4e AddressBook: add 'See transactions' button (rating89us)
2021-06-10 11:07:10 -05:00
luigi1111
0e561de0a9 Merge pull request #3543
c5bad8e SettingsLog: fix text color bug on theme switch; new warning and green text colors (rating89us)
2021-06-10 11:06:31 -05:00
luigi1111
ceac6c8a47 Merge pull request #3542
f6a66b6 SettingsLog: ScrollBar always visible (except Mac) (rating89us)
2021-06-10 11:06:04 -05:00
luigi1111
b542f15531 Merge pull request #3541
2f1092d Slider: use MoneroComponents.TextPlain instead of Text on label (rating89us)
2021-06-10 11:05:38 -05:00
luigi1111
3621ab3344 Merge pull request #3539
b825f6e StandardDropdown: add FontAwesome fallback icons (rating89us)
2021-06-10 11:05:01 -05:00
luigi1111
4850e13895 Merge pull request #3538
ad38f15 DatePicker: date input with fixed size; longer animation; move up calendar rectangle (rating89us)
2021-06-10 11:04:39 -05:00
luigi1111
950e20d400 Merge pull request #3537
5a41849 SettingsLog: new placeholder text in command field (no commands in translation string) (rating89us)
2021-06-10 11:04:15 -05:00
luigi1111
124a8b5f4e Merge pull request #3536
cea712e History: close sortAndFilter when exiting Transactions page (rating89us)
2021-06-10 11:03:31 -05:00
luigi1111
0bd4d731d2 Merge pull request #3535
1f8aa0d History: change default dates of 'Date from' and 'Date to' DatePicker components (rating89us)
2021-06-10 11:02:36 -05:00
luigi1111
e3a17a66ff Merge pull request #3534
9ab104b DatePicker: display currently selected month when opening calendar (rating89us)
2021-06-10 11:01:52 -05:00
luigi1111
4f385b9a04 Merge pull request #3533
39d561d DatePicker: support mouse wheel to navigate months (rating89us)
2021-06-10 11:01:19 -05:00
luigi1111
2c54787644 Merge pull request #3532
23301da DatePicker: highlight selected date/today; hide invalid days (rating89us)
2021-06-10 10:27:42 -05:00
luigi1111
7770621a2f Merge pull request #3531
2c51762 DatePicker: FontAwesome fallback icons (rating89us)
2021-06-10 10:25:55 -05:00
luigi1111
b22fc4266c Merge pull request #3528
f06d6e0 Transfer: add XMR unit on transactions with a single recipient; move 'send all' button next to Amount label (rating89us)
2021-06-10 10:22:52 -05:00
luigi1111
2290e7e762 Merge pull request #3527
1512908 Transfer: fix y position of recipient elements (rating89us)
2021-06-10 10:21:07 -05:00
luigi1111
f8344ce7c6 Merge pull request #3525
ed1bc2e build: fix typo (rating89us)
2021-06-10 10:20:12 -05:00
luigi1111
1be9ea4828 Merge pull request #3524
aca6174 AddressBook: add Font Awesome fallback icons (rating89us)
2021-06-10 10:19:35 -05:00
luigi1111
b07016b7cd Merge pull request #3522
c9ee4bf History: move cursor to end of search input field after importing address (rating89us)
2021-06-10 10:18:59 -05:00
luigi1111
179b74e570 Merge pull request #3521
10a01fa Receive: add tooltip to search transactions button (rating89us)
2021-06-10 10:18:27 -05:00
luigi1111
0a6f6cb9ac Merge pull request #3520
0775b52 History: clean search bar inline button (rating89us)
2021-06-10 10:16:26 -05:00
rating89us
417eaeae28 History: stay on the same page after editing description 2021-06-10 12:59:39 +02:00
rating89us
8ac1b4ef58 AddressBook: add "See transactions" button 2021-06-10 09:05:09 +02:00
rating89us
979e0da9e0 History: add fontAwesomeFallbackIcon 2021-06-09 17:14:55 +02:00
rating89us
1f8aa0dff0 History: change default dates of "Date from" and "Date to" DatePicker components 2021-06-09 09:38:12 +02:00
selsta
f75a2447a7 Wizard: set unused wallet name 2021-06-09 01:00:16 +02:00
rating89us
f6a66b6779 SettingsLog: ScrollBar always visible (except Mac) 2021-06-07 22:37:39 +02:00
rating89us
c5bad8ec49 SettingsLog: fix text color bug on theme switch; new warning and green text colors 2021-06-07 22:35:54 +02:00
rating89us
2f1092de55 Slider: use MoneroComponents.TextPlain instead of Text on label 2021-06-07 15:30:18 +02:00
rating89us
b825f6e1bd StandardDropdown: add FontAwesome fallback icons 2021-06-07 14:02:19 +02:00
rating89us
ad38f155bc DatePicker: date input with fixed size; longer animation; move up calendar rectangle 2021-06-07 13:39:16 +02:00
rating89us
5a418499d4 SettingsLog: new placeholder text in command field (no commands in translation string) 2021-06-07 12:03:28 +02:00
rating89us
cea712e51d History: close sortAndFilter when exiting Transactions page 2021-06-07 11:31:40 +02:00
rating89us
39d561d9f2 DatePicker: support mouse wheel to navigate months 2021-06-06 23:21:32 +02:00
rating89us
23301da51b DatePicker: highlight selected date/today; hide invalid days 2021-06-06 23:15:53 +02:00
rating89us
9ab104b38a DatePicker: display currently selected month when opening calendar 2021-06-06 21:55:34 +02:00
rating89us
2c517623a1 DatePicker: FontAwesome fallback icons 2021-06-06 20:40:06 +02:00
rating89us
f06d6e067f Transfer: add XMR unit on transactions with a single recipient; move "send all" button next to Amount label 2021-06-04 19:39:21 +02:00
rating89us
1512908751 Transfer: fix y position of recipient elements 2021-06-04 19:35:19 +02:00
rating89us
ed1bc2eece build: fix typo 2021-06-02 19:33:22 +02:00
rating89us
0775b529c4 History: clean search bar inline button 2021-06-02 19:09:31 +02:00
rating89us
aca6174ef4 AddressBook: add Font Awesome fallback icons 2021-06-02 17:07:01 +02:00
selsta
20106b29ba Tooltip: fix binding loop 2021-06-02 17:06:45 +02:00
rating89us
c9ee4bf286 History: move cursor to end of search input field after importing address 2021-06-02 16:56:34 +02:00
rating89us
10a01fa5b4 Receive: add tooltip to search transactions button 2021-06-02 16:43:11 +02:00
luigi1111
2946127ed7 Merge pull request #3512
8411ec0 main: hide/show popups before/after inactivity screen lock (rating89us)
2021-06-01 01:39:21 -05:00
luigi1111
416979cdbd Merge pull request #3496
7997e6a AddressBook: highlight background when selecting contact for transfer page (rating89us)
2021-06-01 01:38:45 -05:00
luigi1111
1442215ce5 Merge pull request #3490
9d3864b Implement tooltips in multiple pages and components (rating89us)
2021-06-01 01:37:47 -05:00
luigi1111
ba3bdcd6a1 Merge pull request #3216
fa45b8f Receive: add search transactions button (rating89us)
2021-06-01 01:35:46 -05:00
selsta
877fb9ea87 README: freenode -> libera 2021-05-29 05:18:32 +02:00
rating89us
9d3864b7f0 Implement tooltips in multiple pages and components 2021-05-29 04:02:19 +02:00
rating89us
8411ec0787 main: hide/show popups before/after inactivity screen lock 2021-05-28 12:22:59 +02:00
selsta
76be4b8c0a main: set correct size for pruned blockchain 2021-05-26 03:39:35 +02:00
selsta
8236277906 main: simplify fiat ticker code 2021-05-26 01:09:30 +02:00
selsta
b2255cfd24 main: use Utils.epoch() for epoch 2021-05-26 00:55:50 +02:00
selsta
aa8c1a5421 main: remove redundant assignment 2021-05-26 00:28:58 +02:00
rating89us
7997e6aaf4 AddressBook: highlight background when selecting contact for transfer page 2021-05-22 11:31:05 +02:00
rating89us
fa45b8f96e Receive: add search transactions button 2021-05-22 10:59:17 +02:00
selsta
b2fbe51659 StandardButton: fix warning with fallbackicon 2021-05-19 02:01:10 +02:00
selsta
afb88ff511 workflows: don't use cache on release tag 2021-05-13 22:05:44 +02:00
luigi1111
937cb98256 Merge pull request #3469
9cfeba9 cmake: cleanup hidapi / libusb (selsta)
2021-05-13 00:24:51 -05:00
selsta
9cfeba9ba1 cmake: cleanup hidapi / libusb 2021-05-13 07:12:28 +02:00
luigi1111
e730e3ff63 Merge pull request #3468
46dec78 cmake: move external subdir before -Werror (selsta)
2021-05-12 23:27:48 -05:00
luigi1111
6b580cbb00 Merge pull request #3467
c8c8736 js: fix getApproximateBlockchainHeight (testnet) (selsta)
2021-05-12 23:27:10 -05:00
luigi1111
cb33fe2fc0 Merge pull request #3466
380c5b5 Transfer: fix QR code scanner inline button icon (xiphon)
2021-05-12 23:26:38 -05:00
luigi1111
bff6f7587f Merge pull request #3464
9360de4 cmake: fix WITH_SCANNER static build (link against Qt5MultimediaQuick) (xiphon)
2021-05-12 23:26:11 -05:00
luigi1111
12a72970fb Merge pull request #3463
138e164 Transfer: highlight invalid address (xiphon)
2021-05-12 23:25:46 -05:00
luigi1111
16e1d64b74 Merge pull request #3462
410ad22 LineEditMulti: fix 'error' property (xiphon)
2021-05-12 23:25:23 -05:00
luigi1111
9dbad4745d Merge pull request #3461
8d59880 cmake: prepare v0.17.2.2 (selsta)
2021-05-12 23:24:59 -05:00
luigi1111
0e7d1ab65b Merge pull request #3459
7d34086 WizardSummary: display bootstrap address only in local node mode (selsta)
2021-05-12 23:24:29 -05:00
luigi1111
b69eff367c Merge pull request #3458
755d218 WizardSummary: display daemon address only in remote node mode (selsta)
2021-05-12 23:24:06 -05:00
luigi1111
54ef114370 Merge pull request #3456
b304140 Transfer: vertical center address (selsta)
2021-05-12 23:23:38 -05:00
luigi1111
e984949aa7 Merge pull request #3455
a021b71 cmake: don't add fstack-clash-protection with clang (selsta)
2021-05-12 23:22:36 -05:00
luigi1111
25be9d5b9b Merge pull request #3451
a89ac67 Docker: Linux - fix docker cache and apt update issue (xiphon)
2021-05-12 23:21:55 -05:00
selsta
75746a8153 cmake: explicitly link net and common 2021-05-10 23:35:40 +02:00
selsta
46dec78806 cmake: move external subdir before -Werror 2021-05-08 23:29:57 +02:00
selsta
c8c8736cf3 js: fix getApproximateBlockchainHeight (testnet) 2021-05-08 16:45:45 +02:00
xiphon
380c5b5588 Transfer: fix QR code scanner inline button icon 2021-05-08 11:38:35 +00:00
xiphon
9360de4ef8 cmake: fix WITH_SCANNER static build (link against Qt5MultimediaQuick) 2021-05-08 11:02:05 +00:00
xiphon
138e164878 Transfer: highlight invalid address 2021-05-08 10:02:19 +00:00
xiphon
410ad22821 LineEditMulti: fix 'error' property 2021-05-08 09:56:00 +00:00
selsta
8d59880d02 cmake: prepare v0.17.2.2 2021-05-07 15:52:28 +02:00
selsta
7d340869fc WizardSummary: display bootstrap address only in local node mode 2021-05-06 20:19:16 +02:00
selsta
755d218594 WizardSummary: display daemon address only in remote node mode 2021-05-06 19:25:48 +02:00
selsta
b304140720 Transfer: vertical center address 2021-05-05 22:29:47 +02:00
selsta
a021b71261 cmake: don't add fstack-clash-protection with clang 2021-05-05 21:39:15 +02:00
xiphon
a89ac67d59 Docker: Linux - fix docker cache and apt update issue 2021-04-30 14:05:27 +00:00
luigi1111
426dc3fa47 Merge pull request #3448
2cda1fc cmake: link with wallet_api instead of wallet_merged (selsta)
2021-04-29 14:16:56 -04:00
luigi1111
947a70a638 Merge pull request #3447
dac0c04 main: fix Monero GUI window centering (xiphon)
2021-04-29 14:16:32 -04:00
luigi1111
9041e73345 Merge pull request #3446
ab5cb01 docker: fix boost bintray links (selsta)
2021-04-29 14:16:10 -04:00
luigi1111
ea01a536ce Merge pull request #3445
bc528cc main: drop unused altKeyReleased routine (xiphon)
2021-04-29 14:15:46 -04:00
luigi1111
56f471b1b6 Merge pull request #3444
ad6f26c main: drop unused enableUI routine (xiphon)
2021-04-29 14:14:51 -04:00
luigi1111
9a216682c8 Merge pull request #3443
db8c4ed main: handleTransactionConfirmed - fix 'no file specified' case (xiphon)
2021-04-29 14:14:24 -04:00
luigi1111
e2e5a3919b Merge pull request #3441
837dd61 Revert 'Animation slow down for debugging' (selsta)
2021-04-29 14:13:57 -04:00
luigi1111
adc7c02782 Merge pull request #3439
51ece5f Wallet: drop unused paymentId property (xiphon)
2021-04-29 14:12:31 -04:00
luigi1111
4c85aea7c3 Merge pull request #3438
b3ad95f cmake: WIN_DEPLOY_DLLS - update libicu version to 68 (xiphon)
2021-04-29 14:12:09 -04:00
luigi1111
5c2076daa1 Merge pull request #3437
7558a23 main: remove minor switch/case code duplication (selsta)
2021-04-29 14:11:45 -04:00
luigi1111
578324348d Merge pull request #3436
14b1476 History: cleanup unused lookupPaymentID function (selsta)
2021-04-29 14:10:53 -04:00
luigi1111
dc3e35a928 Merge pull request #3434
989f135 Navbar: fix layout bug on resize (selsta)
2021-04-29 14:08:24 -04:00
luigi1111
0ee5259466 Merge pull request #3433
e13d49f Navbar: horizontally center text (selsta)
2021-04-29 14:07:58 -04:00
luigi1111
c3e88adc6d Merge pull request #3430
db0485c main: simplify blackTheme code (selsta)
2021-04-29 14:07:24 -04:00
luigi1111
c368ce2776 Merge pull request #3428
0fb9306 Makefile: add CMAKE_BUILD_TYPE=Debug to debug build (selsta)
2021-04-29 14:06:40 -04:00
selsta
2cda1fca69 cmake: link with wallet_api instead of wallet_merged 2021-04-27 13:49:28 +02:00
xiphon
dac0c04d20 main: fix Monero GUI window centering 2021-04-26 21:11:21 +00:00
selsta
ab5cb01510 docker: fix boost bintray links 2021-04-26 19:51:03 +02:00
xiphon
bc528ccb77 main: drop unused altKeyReleased routine 2021-04-26 11:52:31 +00:00
xiphon
ad6f26c8b4 main: drop unused enableUI routine 2021-04-26 11:46:56 +00:00
xiphon
db8c4edb08 main: handleTransactionConfirmed - fix 'no file specified' case 2021-04-26 11:17:59 +00:00
selsta
837dd6184e Revert "Animation slow down for debugging"
This reverts commit baff7f213f.
2021-04-25 23:53:43 +02:00
xiphon
51ece5fd00 Wallet: drop unused paymentId property 2021-04-25 00:05:35 +00:00
xiphon
b3ad95fdfc cmake: WIN_DEPLOY_DLLS - update libicu version to 68 2021-04-24 22:08:25 +00:00
luigi1111
d2fc4e60c6 Merge pull request #3431
4e67cd0 Wallet: omit redundant 'delete' on destruction (xiphon)
2021-04-24 16:17:06 -04:00
luigi1111
1ea38be404 Merge pull request #3429
1f904d4 RemoteNodeEdit: fix getAddress() and isValid() inconsistency (xiphon)
2021-04-24 16:16:33 -04:00
luigi1111
d69b1e0520 Merge pull request #3427
0a4b017 cmake: link translations target with Qt5::Core (selsta)
2021-04-24 16:16:05 -04:00
luigi1111
c11e32f511 Merge pull request #3208
01c3c19 SuccessfulTxDialog: add View progress button (rating89us)
2021-04-24 16:14:28 -04:00
selsta
7558a23243 main: remove minor switch/case code duplication 2021-04-24 08:25:12 +02:00
selsta
14b1476786 History: cleanup unused lookupPaymentID function 2021-04-24 07:25:05 +02:00
selsta
989f135d9a Navbar: fix layout bug on resize 2021-04-24 05:32:09 +02:00
selsta
e13d49f43e Navbar: horizontally center text 2021-04-24 05:24:43 +02:00
xiphon
4e67cd0014 Wallet: omit redundant 'delete' on destruction 2021-04-22 23:08:41 +00:00
selsta
db0485c600 main: simplify blackTheme code 2021-04-22 23:14:32 +02:00
xiphon
1f904d4cff RemoteNodeEdit: fix getAddress() and isValid() inconsistency 2021-04-22 21:00:48 +00:00
selsta
0a4b017697 cmake: link translations target with Qt5::Core 2021-04-22 21:03:41 +02:00
selsta
0fb93061b1 Makefile: add CMAKE_BUILD_TYPE=Debug to debug build 2021-04-22 18:54:25 +02:00
luigi1111
bc1131ce41 Merge pull request #3425
2fcacd1 main: update estimatedBlockchainSize (rating89us)
2021-04-22 01:58:29 -04:00
luigi1111
5667526ef6 Merge pull request #3424
341b267 Merchant: display selected subaddress (selsta)
2021-04-22 01:58:02 -04:00
luigi1111
fe5992debd Merge pull request #3423
398e28e Account, Receive: add missing fallback icons (selsta)
2021-04-22 01:57:35 -04:00
luigi1111
ca09151092 Merge pull request #3422
69a6c6b WizardDaemonSettings: implement full remote node configuration support (xiphon)
2021-04-22 01:57:04 -04:00
luigi1111
4ddc6b1c90 Merge pull request #3420
becc747 WalletManager: support kdf round in device wallet restore (selsta)
2021-04-22 01:56:39 -04:00
luigi1111
46bc94fbe8 Merge pull request #3419
820b221 WizardHome: fix kdf textbox displaying incorrect value (selsta)
2021-04-22 01:55:54 -04:00
luigi1111
842a9278d0 Merge pull request #3414
23f71e1 WizardSummary: don't display node address in simple mode (selsta)
2021-04-22 01:54:27 -04:00
luigi1111
f57e115e99 Merge pull request #3413
684fd94 WizardDaemonSettings: add reset button to db location (selsta)
2021-04-22 01:53:54 -04:00
luigi1111
beb566f11e Merge pull request #2242
9fc6179 macOS: add basic menubar support (selsta)
2021-04-22 01:53:03 -04:00
rating89us
2fcacd1e84 main: update estimatedBlockchainSize 2021-04-21 19:04:55 +02:00
selsta
341b267852 Merchant: display selected subaddress 2021-04-21 04:13:39 +02:00
selsta
398e28ed24 Account, Receive: add missing fallback icons 2021-04-21 03:57:39 +02:00
xiphon
69a6c6b821 WizardDaemonSettings: implement full remote node configuration support 2021-04-20 22:15:15 +00:00
selsta
becc74714b WalletManager: support kdf round in device wallet restore 2021-04-20 21:44:23 +02:00
selsta
820b221fa5 WizardHome: fix kdf textbox displaying incorrect value 2021-04-20 21:28:04 +02:00
selsta
23f71e1959 WizardSummary: don't display node address in simple mode 2021-04-19 07:21:11 +02:00
selsta
684fd941fb WizardDaemonSettings: add reset button to db location 2021-04-19 07:17:07 +02:00
selsta
9fc617956d macOS: add basic menubar support 2021-04-18 15:50:36 +02:00
luigi1111
02ae14fd6b Merge pull request #3405
62faf4d Navbar: fix width being slightly off (selsta)
2021-04-16 12:57:35 -05:00
luigi1111
a84d7bd2cb Merge pull request #3404
ba62f9c main: omit QML Screen type, use QGuiApplication::primaryScreen() instead (xiphon)
2021-04-16 12:57:08 -05:00
luigi1111
84b9264d1d Merge pull request #3401
767b9e0 TextPlain, Label: implement tooltips. Transfer: advanced - use tooltips (xiphon)
2021-04-16 12:56:34 -05:00
luigi1111
0ae6435429 Merge pull request #3397
6f7192b Transfer: fix desktop icon style (selsta)
2021-04-16 12:55:59 -05:00
luigi1111
c47332e2f1 Merge pull request #3395
d60bbb7 Wizard: use endsWith, fix todo (selsta)
2021-04-16 12:55:37 -05:00
luigi1111
7dcd33f203 Merge pull request #3394
c60252d LanguageSidebar: simplify code (selsta)
2021-04-16 12:55:08 -05:00
luigi1111
bed56137e3 Merge pull request #3392
475f263 main: lower minimum required QtQml.Models version to 2.2 (xiphon)
2021-04-16 12:54:44 -05:00
selsta
62faf4d82e Navbar: fix width being slightly off 2021-04-16 02:37:25 +02:00
xiphon
ba62f9c686 main: omit QML Screen type, use QGuiApplication::primaryScreen() instead 2021-04-15 19:50:32 +00:00
selsta
6f7192bb12 Transfer: fix desktop icon style 2021-04-15 14:55:40 +02:00
xiphon
767b9e05b3 TextPlain, Label: implement tooltips. Transfer: advanced - use tooltips 2021-04-15 00:09:45 +00:00
selsta
d60bbb72f7 Wizard: use endsWith, fix todo 2021-04-14 21:34:17 +02:00
selsta
c60252d3ce LanguageSidebar: simplify code 2021-04-14 19:17:01 +02:00
xiphon
475f26398d main: lower minimum required QtQml.Models version to 2.2 2021-04-14 15:34:05 +00:00
luigi1111
8444a9563e Merge pull request #3391
142c6bc cmake: prepare v0.17.2.1 (selsta)
2021-04-13 16:29:45 -05:00
luigi1111
2f41a6aecf Merge pull request #3390
f53af12 Wallet: fix transfer with Qt 5.12 (selsta)
2021-04-13 16:29:13 -05:00
luigi1111
61bb6d359f Merge pull request #3386
990e92b without StartupWMClass=monero-wallet-gui gnome-shell users can not add the applications to their favorites (Tobias Strauß)
2021-04-13 16:28:31 -05:00
luigi1111
938a4fada4 Merge pull request #3383
3a37364 cmake: remove typo (selsta)
2021-04-13 16:27:53 -05:00
selsta
142c6bc19f cmake: prepare v0.17.2.1 2021-04-13 16:15:24 +02:00
selsta
f53af12e02 Wallet: fix transfer with Qt 5.12 2021-04-13 07:27:05 +02:00
Tobias Strauß
990e92ba00 without StartupWMClass=monero-wallet-gui gnome-shell users can not add the applications to their favorites 2021-04-09 09:59:35 +02:00
luigi1111
816eeb4647 Merge pull request #3382
ddec66b build: prepare v0.17.2.0 (selsta)
2021-04-08 20:19:25 -05:00
luigi1111
d5b4f43f48 Merge pull request #3381
325e99d SettingsNode: fix icon size (selsta)
2021-04-08 20:10:16 -05:00
luigi1111
4597b4d94d Merge pull request #3380
c789efb workflows: test qml of docker compiled apps (selsta)
2021-04-08 20:09:52 -05:00
luigi1111
691fdac7a4 Merge pull request #3379
76b0b60 docker: build with QtQmlModels plugin (xiphon)
2021-04-08 20:01:08 -05:00
selsta
3a37364741 cmake: remove typo 2021-04-09 01:10:04 +02:00
selsta
c789efbe8a workflows: test qml of docker compiled apps 2021-04-08 01:36:06 +02:00
selsta
ddec66b2ad build: prepare v0.17.2.0 2021-04-08 01:32:54 +02:00
selsta
325e99d202 SettingsNode: fix icon size 2021-04-07 18:14:09 +02:00
xiphon
76b0b6013a docker: build with QtQmlModels plugin 2021-04-06 21:43:55 +00:00
luigi1111
183585653f Merge pull request #3373
6bc9627 SettingsNode: implement multiple remote nodes support (xiphon)
2021-04-06 11:35:23 -05:00
xiphon
6bc9627046 SettingsNode: implement multiple remote nodes support 2021-04-06 11:58:36 +00:00
luigi1111
ba7eeb12c5 Merge pull request #3371
ecc8b8c RemoteNodeEdit: change border color on focus (xiphon)
2021-04-05 21:43:23 -05:00
luigi1111
2354c615d1 Merge pull request #3370
74e1483 Checkbox: handle Enter/Return/Space keys, change border color on focus (xiphon)
2021-04-05 21:31:48 -05:00
luigi1111
3aa530aa84 Merge pull request #3345
6b0cb8d support pruning of new databases (benevanoff)
2021-04-05 21:31:00 -05:00
benevanoff
6b0cb8dadb support pruning of new databases 2021-04-05 18:56:19 -05:00
xiphon
ecc8b8cc99 RemoteNodeEdit: change border color on focus 2021-04-02 16:42:52 +00:00
xiphon
74e1483d0b Checkbox: handle Enter/Return/Space keys, change border color on focus 2021-04-02 12:10:24 +00:00
luigi1111
b3dace6b45 Merge pull request #3363
1e4c0d2 Renamed Norwegian translation file. (Anton Kling)
2021-03-30 14:07:07 -04:00
luigi1111
a17b88d80a Merge pull request #3361
7c881d0 LeftPanel: drop Advanced submenu items, use NavBar instead (xiphon)
2021-03-30 14:06:30 -04:00
luigi1111
1ee06fb78c Merge pull request #3360
d83f147 DaemonManager: start monerod with '--non-interactive' cli option set (xiphon)
2021-03-30 14:06:05 -04:00
luigi1111
ac2e9d370b Merge pull request #3332
a0a9d9e Transfer: implement sending to multiple recipients (xiphon)
2021-03-30 14:05:28 -04:00
xiphon
a0a9d9e31e Transfer: implement sending to multiple recipients 2021-03-23 08:50:10 +00:00
Jeremy Rand
66d29a4d40 Makefile: Add ppc64le target 2021-03-21 02:59:21 +00:00
Anton Kling
1e4c0d2e0d Renamed Norwegian translation file. 2021-03-21 00:12:35 +01:00
xiphon
7c881d0100 LeftPanel: drop Advanced submenu items, use NavBar instead 2021-03-20 09:20:09 +00:00
xiphon
d83f14799e DaemonManager: start monerod with '--non-interactive' cli option set 2021-03-19 10:31:43 +00:00
luigi1111
34df4e74d4 Merge pull request #3359
244d622 Docker: Android - switch to debian:stretch, build CMake from source (xiphon)
2021-03-19 01:09:50 -04:00
luigi1111
9593a16cb0 Merge pull request #3357
34d3f65 Navbar: reimplement as a reusable component, drop redundant code (xiphon)
e94ac7c Navbar: move to components (xiphon)
2021-03-19 01:08:50 -04:00
luigi1111
3e8bc1dcd3 Merge pull request #3354
ad19dbb cmake: sync submodule if DEV_MODE=ON (selsta)
2021-03-19 01:08:02 -04:00
luigi1111
8dd06bba5c Merge pull request #3325
92a2ae1 TxConfirmationDialog: implement multiple recipients support, layout fixes (xiphon)
2021-03-19 01:06:59 -04:00
xiphon
244d622818 Docker: Android - switch to debian:stretch, build CMake from source 2021-03-17 12:57:28 +00:00
xiphon
34d3f6575a Navbar: reimplement as a reusable component, drop redundant code 2021-03-17 12:00:17 +00:00
xiphon
e94ac7c75d Navbar: move to components 2021-03-17 11:28:01 +00:00
selsta
ad19dbb440 cmake: sync submodule if DEV_MODE=ON 2021-03-12 01:26:57 +01:00
luigi1111
c18614f96f Merge pull request #3347
40adc6b use preferred colors for DaemonManagerDialog (Ben Evanoff)
2021-03-05 14:01:59 -05:00
luigi1111
16fdedc4d0 Merge pull request #3342
4403387 Translations from Weblate (weblate)
2021-03-05 14:01:20 -05:00
luigi1111
057de959b9 Merge pull request #3330
16fd2b4 LineEdit: fontFamily and inputPadding properties, fix backtab (xiphon)
2021-03-05 13:58:54 -05:00
luigi1111
88d26dbecf Merge pull request #3328
2bb1092 LineEditMulti: right padding, fontFamily, backtab, inline btns vcenter (xiphon)
2021-03-05 13:58:28 -05:00
luigi1111
059af2bb49 Merge pull request #3326
4f10683 OSHelper: Linux - fix isCapsLock memory leak (xiphon)
2021-03-05 13:58:00 -05:00
Weblate
4403387fa4 Translations from Weblate
Translation files updated:

    Found 724 source text(s) (2 new and 722 already existing)
    Removed 2 obsolete entries

Translators:

* Spanish

    * Luis Alejandro Herrera Bolaños
    * ian vatega
    * Miguel Medina
    * Michael Russo
    * Samuel
    * 0x82b
    * kombometralla
    * Tony Nguyen

* Slovak

    * Boris Sipos

* Vietnamese

    * Tabula Rasa

* Italian

    * 8uDD4T
    * Gleb Golov

* Chinese (Traditional)

    * Lafudoci

* Catalan

    * Joan Montané

* Persian

    * Nima Ghotbi

* Esperanto

    * Gilberto F da Silva

* Russian

    * Russian Bear
    * Agent LvM
    * v1docq47

* Japanese

    * Scott Anecito
    * x52fws
    * Lana

* Portuguese (Portugal)

    * Demofrager
    * Ian appel
    * EvolBit

* French

    * Bertrand Jacquin
    * lir4376
    * Loué Marie
    * el00ruobuob

* Czech

    * Michal Vašíček
    * dskch83

* Polish

    * ambercookie

* Greek

    * warraxxx
    * Georgios Apostolopoulos
    * ΚΥΡΙΑΚΟΣ ΚΑΡΑΚΥΡΙΟΣ
    * Marinus Savoritias
    * Iason Andreou
    * Donald A. Iljazi

* Lithuanian

    * Vytas
    * Aivaras Kasperaitis

* Portuguese (Brazil)

    * Renato MB
    * netrik182
    * Mathkamy

* Norwegian Bokmål

    * Allan Nordhøy

* Dutch

    * obit33
    * Edwin den Boer
    * dutchcodes

* Hebrew

    * Ori Levenglick
    * Yan Abu Arab

* German

    * G. Orwell
    * mr
    * Paul Janowitz
    * Nicolas
    * GreenPiece
    * SJ
    * Deleted User
    * Wobole

Signed-off-by: erciccione <erciccione@protonmail.com>
2021-03-03 16:47:09 +01:00
xiphon
92a2ae1a11 TxConfirmationDialog: implement multiple recipients support, layout fixes 2021-03-03 00:53:51 +00:00
Ben Evanoff
40adc6bbbf use preferred colors for DaemonManagerDialog 2021-03-02 14:49:49 -06:00
luigi1111
c073867657 Merge pull request #3331
e25e44b AddressBook: don't alter tx Description on recipient selection (xiphon)
2021-02-18 15:03:27 -05:00
luigi1111
a7f5b44488 Merge pull request #3329
3c27c57 CheckBox: change opacity to 70% in disabled state (xiphon)
2021-02-18 15:02:07 -05:00
luigi1111
8b8948954d Merge pull request #3327
b20b956 Wallet: estimateTransactionFeeAsync - multi dest support (xiphon)
2021-02-18 15:01:14 -05:00
luigi1111
2c763f5014 Merge pull request #3323
f40b10e workflows: add py7zr to macos bundle (selsta)
2021-02-18 14:58:50 -05:00
luigi1111
5d566d1c02 Merge pull request #3321
38f21a3 installers/windows: fix typo in readme.htm (secure-designer)
2021-02-18 14:58:24 -05:00
luigi1111
41520b3a71 Merge pull request #3317
c948c9d README: Update the homebrew install instructions (toh995)
2021-02-18 14:57:31 -05:00
luigi1111
5039de8327 Merge pull request #3315
04d5fa5 Wallet: refactor createTransaction (xiphon)
2021-02-18 14:55:10 -05:00
xiphon
2bb1092472 LineEditMulti: right padding, fontFamily, backtab, inline btns vcenter 2021-02-08 20:30:05 +00:00
xiphon
16fd2b4447 LineEdit: fontFamily and inputPadding properties, fix backtab 2021-02-08 20:29:28 +00:00
xiphon
3c27c570d4 CheckBox: change opacity to 70% in disabled state 2021-02-05 15:32:04 +00:00
xiphon
e25e44b45f AddressBook: don't alter tx Description on recipient selection 2021-02-05 15:28:38 +00:00
xiphon
b20b956e15 Wallet: estimateTransactionFeeAsync - multi dest support 2021-02-04 11:32:30 +00:00
xiphon
4f10683c2c OSHelper: Linux - fix isCapsLock memory leak 2021-02-03 10:41:33 +00:00
selsta
f40b10ea0b workflows: add py7zr to macos bundle 2021-02-02 00:58:19 +01:00
secure-designer
38f21a3e89 installers/windows: fix typo in readme.htm 2021-01-30 20:03:55 +00:00
luigi1111
1f0f21a8e5 Merge pull request #3314
9cf7c7f DaemonManager: enable dns block list in simple mode (selsta)
2021-01-29 00:33:07 -05:00
toh995
c948c9dd7c README: Update the homebrew install instructions 2021-01-27 00:32:49 -08:00
xiphon
04d5fa51cf Wallet: refactor createTransaction 2021-01-25 11:57:49 +00:00
luigi1111
c1573c2c2a Merge pull request #3308
5848aee Navbar: cleanup layout (xiphon)
2021-01-22 15:09:07 -05:00
luigi1111
42fba21c6b Merge pull request #3306
83bb7a9 Makefile: support USE_SINGLE_BUILDDIR=OFF without git installed (xiphon)
2021-01-22 15:08:20 -05:00
luigi1111
04e3ac9200 Merge pull request #3305
d3102b1 DaemonManager: refactoring - drop singleton usage (xiphon)
2021-01-22 15:07:39 -05:00
luigi1111
f9f319d571 Merge pull request #3302
55baa8b main: restrict max window width/height, fix initial window alignment (xiphon)
2021-01-22 15:07:00 -05:00
luigi1111
090dca7848 Merge pull request #3301
18f16d9 SettingsLayout: 'Display wallet name in title bar' option (xiphon)
2021-01-22 15:05:58 -05:00
selsta
9cf7c7f03c DaemonManager: enable dns block list in simple mode
Co-authored-by: xiphon <xiphon@protonmail.com>
2021-01-22 20:50:51 +01:00
luigi1111
d3d26e37d0 Merge pull request #3309
a25b164 SettingsLog: disable daemon command input in Remote Node mode (xiphon)
2021-01-21 23:41:50 -05:00
luigi1111
b79f1b8ff4 Merge pull request #3307
a214003 README: Windows docker builds are reproducible since v0.17.1.9 (xiphon)
2021-01-21 23:40:17 -05:00
luigi1111
2a44f95f16 Merge pull request #3311
45b5150 Utils: fix removeTrailingZeros regression (xiphon)
2021-01-20 22:43:27 -05:00
luigi1111
dc0ce27963 Merge pull request #3310
bd21914 README: MacOS - add libsodium monero dependency (xiphon)
2021-01-20 22:42:54 -05:00
luigi1111
378da8093d Merge pull request #3304
93b2231 Subaddress: log account subaddresses refresh error (xiphon)
2021-01-20 22:42:01 -05:00
luigi1111
5261f79e9f Merge pull request #3298
f3a24d9 main: fix kraken fiat api (selsta)
2021-01-20 22:41:21 -05:00
luigi1111
1659c7fd1a Merge pull request #3295
07a9b0e workflows: print sha256sum of windows gui (selsta)
2021-01-20 22:40:50 -05:00
luigi1111
ec7bc577d6 Merge pull request #3292
e9b894d Transfer: implement 'Grab QR code from screen' functionality (xiphon)
2021-01-20 22:40:14 -05:00
luigi1111
3f4de99be4 Merge pull request #3289
7c32fe6 remove copy qr uri to clipboard button (Ben Evanoff)
2021-01-20 22:39:43 -05:00
luigi1111
1a11f2b192 Merge pull request #3215
cedfa5a History: search by receiving address, receiving address label, address book label (rating89us)
2021-01-20 22:39:03 -05:00
luigi1111
e21d7be725 Merge pull request #3168
baa0ffa WizardRestoreWallet1: add view-only option in placeholder of private spend key (rating89us)
2021-01-20 22:38:24 -05:00
luigi1111
4098352faf Merge pull request #3164
1373e70 account/receive: highlight background and text of selected item (rating89us)
2021-01-20 22:37:24 -05:00
xiphon
a25b164cd5 SettingsLog: disable daemon command input in Remote Node mode 2021-01-19 09:42:14 +00:00
xiphon
45b5150487 Utils: fix removeTrailingZeros regression 2021-01-16 03:31:23 +00:00
xiphon
bd21914b9b README: MacOS - add libsodium monero dependency 2021-01-15 11:34:04 +00:00
xiphon
5848aee1c3 Navbar: cleanup layout 2021-01-15 10:09:44 +00:00
xiphon
a214003559 README: Windows docker builds are reproducible since v0.17.1.9 2021-01-15 00:01:34 +00:00
xiphon
83bb7a9297 Makefile: support USE_SINGLE_BUILDDIR=OFF without git installed
# Conflicts:
#	Makefile
2021-01-14 23:21:33 +00:00
xiphon
d3102b1cc5 DaemonManager: refactoring - drop singleton usage 2021-01-14 19:14:22 +00:00
xiphon
93b22311e3 Subaddress: log account subaddresses refresh error 2021-01-14 08:19:13 +00:00
xiphon
55baa8b695 main: restrict max window width/height, fix initial window alignment 2021-01-13 03:14:57 +00:00
xiphon
18f16d9ebd SettingsLayout: 'Display wallet name in title bar' option 2021-01-12 12:59:28 +00:00
xiphon
e9b894da16 Transfer: implement 'Grab QR code from screen' functionality 2021-01-11 01:35:54 +00:00
selsta
f3a24d92a4 main: fix kraken fiat api 2021-01-11 00:29:48 +01:00
selsta
07a9b0e6f7 workflows: print sha256sum of windows gui 2021-01-08 05:33:01 +01:00
Alexander Blair
3ca5f10fa8 Merge pull request #3294
f7b81797 build: prepare v0.17.1.9 (selsta)
2021-01-07 18:00:05 -08:00
selsta
f7b817972f build: prepare v0.17.1.9 2021-01-08 02:56:28 +01:00
Alexander Blair
9399839d96 Merge pull request #3287
72ab846b installer: remove high dpi shortcut (selsta)
2021-01-03 18:46:20 -08:00
Alexander Blair
51a4d1f629 Merge pull request #3283
5662841d docker: Windows - use Qt 5.15.2 (xiphon)
2021-01-03 18:45:48 -08:00
Alexander Blair
bbe3716542 Merge pull request #3277
8d4cda03 QR-Code-scanner: integrate QUIRC library, implement QrDecoder, drop ZBar (xiphon)
2021-01-03 18:45:26 -08:00
Ben Evanoff
7c32fe6b5c remove copy qr uri to clipboard button 2021-01-02 14:34:59 -06:00
selsta
72ab846be5 installer: remove high dpi shortcut
Qt 5.15 supports high DPI natively
2021-01-01 05:13:36 +01:00
Alexander Blair
8e6a2cde0f Merge pull request #3285
c34d4ee9 build: prepare v0.17.1.8 (selsta)
2020-12-30 01:53:31 -08:00
selsta
c34d4ee97c build: prepare v0.17.1.8 2020-12-30 10:37:36 +01:00
Alexander Blair
0194cf8f22 Merge pull request #3280
ba4d6993 LineEdit: fix padding, fix inline buttons layout, multiple btns support (xiphon)
2020-12-28 11:41:47 -08:00
Alexander Blair
ad06fcc79e Merge pull request #3271
78f5360a Transfer: support pasting amount with whitespaces (xiphon)
2020-12-28 11:41:38 -08:00
Alexander Blair
7d4b82c691 Merge pull request #3270
a1fdffca WizardRestoreWallet1: fix mnemonic seed placeholder (xiphon)
2020-12-28 11:41:15 -08:00
Alexander Blair
69f989d617 Merge pull request #3281
3f0bbfb6 Transfer: updateFromQrCode - fix extra space (empty recipient name) (xiphon)
2020-12-26 13:47:31 -08:00
Alexander Blair
0f3df860e3 Merge pull request #3275
772b828b cmake: MacOS - detect ICU link directory (required by Boost.Locale) (xiphon)
2020-12-26 13:45:24 -08:00
xiphon
5662841d22 docker: Windows - use Qt 5.15.2 2020-12-26 08:37:45 +00:00
benevanoff
6dd7445938 Transfer: export all key images by default 2020-12-25 02:16:15 -06:00
xiphon
3f0bbfb6aa Transfer: updateFromQrCode - fix extra space (empty recipient name) 2020-12-24 10:07:08 +00:00
xiphon
ba4d6993b7 LineEdit: fix padding, fix inline buttons layout, multiple btns support 2020-12-24 08:20:38 +00:00
xiphon
8d4cda030e QR-Code-scanner: integrate QUIRC library, implement QrDecoder, drop ZBar 2020-12-23 15:08:42 +00:00
xiphon
772b828b67 cmake: MacOS - detect ICU link directory (required by Boost.Locale) 2020-12-20 20:00:23 +00:00
xiphon
78f5360af2 Transfer: support pasting amount with whitespaces 2020-12-14 11:59:45 +00:00
xiphon
a1fdffcabe WizardRestoreWallet1: fix mnemonic seed placeholder 2020-12-13 11:31:14 +00:00
luigi1111
fed00a5662 Merge pull request #3269
14a4777 build: prepare v0.17.1.7 (selsta)
2020-12-12 22:16:13 -06:00
luigi1111
79f2843b09 Merge pull request #3268
cebb789 Wallet: fix initialization flag handling (xiphon)
2020-12-12 22:15:10 -06:00
selsta
14a477748e build: prepare v0.17.1.7 2020-12-13 05:11:20 +01:00
xiphon
cebb78979c Wallet: fix initialization flag handling 2020-12-12 11:22:52 +00:00
Alexander Blair
df771470c2 Merge pull request #3267
90e9968d main: get back "Sending transaction ..." splash (xiphon)
2020-12-10 18:02:11 -08:00
Alexander Blair
e359c60f00 Merge pull request #3266
841d0e01 Utils: removeTrailingZeros - handle .0* decimal part (i.e. 1.00000) (xiphon)
2020-12-10 18:01:38 -08:00
Alexander Blair
53335a8487 Merge pull request #3264
2feee9e9 workflows: shorten name (selsta)
2020-12-10 18:01:19 -08:00
Alexander Blair
3f64312283 Merge pull request #3262
486ba055 main: disable QML cache (xiphon)
2020-12-10 17:59:09 -08:00
Alexander Blair
897946af13 Merge pull request #3260
ae8394e5 main: Linux - fix missing askDesktopShortcut setting (xiphon)
2020-12-10 17:58:42 -08:00
Alexander Blair
e90626e05a Merge pull request #3259
fa79e609 workflows: bump docker cache action (selsta)
2020-12-10 17:58:06 -08:00
xiphon
90e9968dcb main: get back "Sending transaction ..." splash 2020-12-10 23:59:12 +00:00
xiphon
841d0e01dc Utils: removeTrailingZeros - handle .0* decimal part (i.e. 1.00000) 2020-12-10 23:00:39 +00:00
selsta
2feee9e956 workflows: shorten name 2020-12-10 04:01:43 +01:00
xiphon
486ba05526 main: disable QML cache 2020-12-09 14:29:02 +00:00
xiphon
ae8394e5f8 main: Linux - fix missing askDesktopShortcut setting 2020-12-08 01:02:00 +00:00
selsta
fa79e609e1 workflows: bump docker cache action 2020-12-07 19:22:37 +01:00
luigi1111
cc352e4913 Merge pull request #3258
903539b build: prepare v0.17.1.6 (selsta)
2020-12-07 10:37:31 -06:00
selsta
903539bd30 build: prepare v0.17.1.6 2020-12-07 17:34:40 +01:00
rating89us
01c3c19653 SuccessfulTxDialog: add View progress button 2020-12-04 12:53:40 +01:00
Alexander Blair
af0b3142a0 Merge pull request #3255
606dbed4 README: update Linux Docker build instructions (xiphon)
2020-12-03 12:24:50 -08:00
Alexander Blair
6fe41e6f55 Merge pull request #3254
0d5d2dbf Transfer: fix focus, cycle focus between Address, Amount and Send (xiphon)
2020-12-03 12:24:22 -08:00
Alexander Blair
2a6ad67f77 Merge pull request #3253
110b09ef TxConfirmationDialog: fix keys handling (xiphon)
2020-12-03 12:23:58 -08:00
Alexander Blair
5652284572 Merge pull request #3252
0fdf81bc SuccessfulTxDialog: fix keys handling (xiphon)
2020-12-03 12:23:24 -08:00
Alexander Blair
2eeeadfd10 Merge pull request #3251
ea1fee2f main: Linux - ask to create desktop entry on the first start (xiphon)
2020-12-03 12:23:02 -08:00
xiphon
0d5d2dbf5e Transfer: fix focus, cycle focus between Address, Amount and Send 2020-12-03 19:40:15 +00:00
xiphon
606dbed4a0 README: update Linux Docker build instructions 2020-12-03 00:55:29 +00:00
Alexander Blair
301b20d19c Merge pull request #3249
ef54a32d workflows: print hash for reproducible builds (selsta)
2020-12-01 14:25:22 -08:00
Alexander Blair
f6196d48ab Merge pull request #3169
cd3a0f85 Restore: display red border if invalid seed (rating89us)
2020-12-01 14:25:01 -08:00
xiphon
110b09efba TxConfirmationDialog: fix keys handling 2020-12-01 16:25:35 +00:00
xiphon
0fdf81bc92 SuccessfulTxDialog: fix keys handling 2020-12-01 16:19:56 +00:00
xiphon
ea1fee2f5f main: Linux - ask to create desktop entry on the first start 2020-11-30 15:36:19 +00:00
selsta
ef54a32de0 workflows: print hash for reproducible builds 2020-11-26 10:34:19 +01:00
luigi1111
96f9c11320 Merge pull request #3248
2e81ea2 build: prepare v0.17.1.5 (selsta)
2020-11-25 17:24:18 -06:00
luigi1111
4a5b191f7f Merge pull request #3247
5150945 workflows: upload source archive artifact (xiphon)
2020-11-25 17:23:24 -06:00
luigi1111
148d487988 Merge pull request #3245
ec8cd13 portable: use portable storage folder to store QML disk cache (xiphon)
2020-11-25 17:22:38 -06:00
luigi1111
7b137f7682 Merge pull request #3097
56722e4 AddressBook: fix Qt warning (selsta)
2020-11-25 17:21:41 -06:00
selsta
2e81ea2c09 build: prepare v0.17.1.5 2020-11-25 16:36:37 +01:00
xiphon
5150945414 workflows: upload source archive artifact 2020-11-25 13:27:59 +00:00
xiphon
ec8cd137cc portable: use portable storage folder to store QML disk cache 2020-11-25 10:50:56 +00:00
Alexander Blair
d5365298d2 Merge pull request #3244
2d20bfd7 cmake: find libgcrypt include directory (xiphon)
2020-11-24 11:36:29 -08:00
Alexander Blair
30bf63b4b8 Merge pull request #3237
46cea8db History: fix sortCollapsedIcon rotation (xiphon)
2020-11-24 11:36:05 -08:00
Alexander Blair
e8ee55a502 Merge pull request #3236
b4c0cb65 Makefile: refactor USE_SINGLE_BUILDDIR=OFF builddir path (xiphon)
2020-11-24 11:35:45 -08:00
Alexander Blair
212fa083e2 Merge pull request #3231
56e61148 wizard: move language related settings to PersistentSettings (xiphon)
2020-11-24 11:35:24 -08:00
Alexander Blair
3daf16e65d Merge pull request #3229
45bfcfd2 workflows: build and upload macOS bundle (selsta)
2020-11-24 11:35:05 -08:00
Alexander Blair
abfaac9772 Merge pull request #3227
ff201af7 docker: Linux - use Qt 5.15.2 (xiphon)
2020-11-24 11:34:39 -08:00
Alexander Blair
28e6558a48 Merge pull request #3224
ef2be82c cmake: use QT_INSTALL_PREFIX instead of CMAKE_PREFIX_PATH (xiphon)
2020-11-24 11:34:15 -08:00
xiphon
2d20bfd7ac cmake: find libgcrypt include directory 2020-11-24 15:41:41 +00:00
selsta
45bfcfd2e9 workflows: build and upload macOS bundle 2020-11-24 01:00:26 +01:00
xiphon
46cea8db6b History: fix sortCollapsedIcon rotation 2020-11-15 02:50:18 +00:00
xiphon
b4c0cb65de Makefile: refactor USE_SINGLE_BUILDDIR=OFF builddir path 2020-11-15 02:45:28 +00:00
xiphon
56e611480a wizard: move language related settings to PersistentSettings 2020-11-12 22:47:07 +00:00
xiphon
ff201af778 docker: Linux - use Qt 5.15.2 2020-11-12 13:51:36 +00:00
xiphon
ef2be82c21 cmake: use QT_INSTALL_PREFIX instead of CMAKE_PREFIX_PATH 2020-11-10 02:00:07 +00:00
luigi1111
6fce5c7a84 Merge pull request #3223
1571662 build: prepare v0.17.1.4 (selsta)
2020-11-09 11:52:44 -06:00
selsta
157166269b build: prepare v0.17.1.4 2020-11-09 18:41:19 +01:00
luigi1111
caa273afea Merge pull request #3221
19a6f39 Revert 'docker: Linux - use Qt 5.15.2' (selsta)
2020-11-09 11:35:15 -06:00
luigi1111
d58ce3f599 Merge pull request #3217
18c964a docker: Android - use Qt 5.15.2, drop QT_PREFIX env variable (xiphon)
2020-11-09 11:32:46 -06:00
selsta
19a6f399f3 Revert "docker: Linux - use Qt 5.15.2"
This reverts commit 1adf58793f.
2020-11-09 15:37:46 +01:00
xiphon
18c964afca docker: Android - use Qt 5.15.2, drop QT_PREFIX env variable 2020-11-07 23:05:26 +00:00
luigi1111
158e0c3523 Merge pull request #3214
f3ddf52 build: prepare v0.17.1.3 (selsta)
2020-11-07 13:19:54 -06:00
luigi1111
770a7a344b Merge pull request #3204
e86fa3e cmake: workaround for MacOS '-framework' pkg-config flags issue (xiphon)
2020-11-07 13:17:21 -06:00
selsta
f3ddf525a4 build: prepare v0.17.1.3 2020-11-07 20:11:59 +01:00
rating89us
cedfa5aabb History: search by receiving address, receiving address label, address book label 2020-11-07 20:04:12 +01:00
luigi1111
df2b85e7ee Merge pull request #3200
5702bde workflows: upload Windows and Linux static binaries (xiphon)
2020-11-06 19:10:01 -06:00
xiphon
e86fa3e4fb cmake: workaround for MacOS '-framework' pkg-config flags issue 2020-11-06 13:51:02 +00:00
xiphon
5702bdef39 workflows: upload Windows and Linux static binaries 2020-11-06 13:48:08 +00:00
Alexander Blair
c7213abb9a Merge pull request #3212
be177d62 workflows: bump msys2 action to v2 (selsta)
2020-11-06 05:11:53 -08:00
Alexander Blair
5ee363f9f3 Merge pull request #3210
919b2e4f WizardLanguage: introduce LanguageButton component, replace the btn (xiphon)
8b9580d6 WizardHome: display icon + language instead of change language button (xiphon)
2020-11-06 05:11:29 -08:00
Alexander Blair
3e01647744 Merge pull request #3209
6f5bacab Logger: print to stdout till log file path gets initialized (xiphon)
2020-11-06 05:11:09 -08:00
Alexander Blair
f491b41100 Merge pull request #3205
6fab741f SettingsInfo: add selected node to info page (selsta)
2020-11-06 05:10:52 -08:00
Alexander Blair
a564abbe6b Merge pull request #3202
0997b38e SettingsWallet: fix warning (selsta)
2020-11-06 05:09:46 -08:00
Alexander Blair
149732af3a Merge pull request #3203
c2977ac4 DEPLOY: new hidapi release available (selsta)
2020-11-06 05:09:31 -08:00
Alexander Blair
2bb6da5f09 Merge pull request #3201
1adf5879 docker: Linux - use Qt 5.15.2 (xiphon)
2020-11-06 05:08:40 -08:00
Alexander Blair
11370c50eb Merge pull request #3199
d79f8e8b Makefile: MANUAL_SUBMODULES support (OFF by default) (xiphon)
2020-11-06 05:06:23 -08:00
Alexander Blair
0ae4677a25 Merge pull request #3198
a817bfba QThreadPool: adjust max threads count (4) (xiphon)
2020-11-06 05:06:10 -08:00
Alexander Blair
1c2879bda3 Merge pull request #3188
9fa597bb workflows: docker android apk build (xiphon)
2020-11-06 05:05:45 -08:00
selsta
0997b38e1e SettingsWallet: fix warning 2020-11-05 02:39:47 +01:00
selsta
be177d6205 workflows: bump msys2 action to v2 2020-11-05 00:32:16 +01:00
xiphon
919b2e4f3a WizardLanguage: introduce LanguageButton component, replace the btn 2020-11-04 03:10:02 +00:00
xiphon
8b9580d621 WizardHome: display icon + language instead of change language button
Co-authored-by: rating89us <45968869+rating89us@users.noreply.github.com>
2020-11-04 02:10:37 +00:00
xiphon
6f5bacabfd Logger: print to stdout till log file path gets initialized 2020-11-04 01:42:19 +00:00
selsta
6fab741f2e SettingsInfo: add selected node to info page 2020-11-02 01:26:40 +01:00
selsta
c2977ac410 DEPLOY: new hidapi release available 2020-11-01 00:25:08 +01:00
xiphon
1adf58793f docker: Linux - use Qt 5.15.2 2020-10-30 22:20:35 +00:00
xiphon
9fa597bb58 workflows: docker android apk build 2020-10-30 22:16:20 +00:00
xiphon
d79f8e8b17 Makefile: MANUAL_SUBMODULES support (OFF by default) 2020-10-30 03:05:06 +00:00
xiphon
a817bfba05 QThreadPool: adjust max threads count (4) 2020-10-30 02:58:38 +00:00
Alexander Blair
04429e85e6 Merge pull request #3159
9d2f083a repo: cleanup qmake (selsta)
2020-10-28 01:22:38 -07:00
Alexander Blair
e52d86d442 Merge pull request #3195
153154f4 cmake: Linux - Qt 5.15 installer support (xiphon)
2020-10-28 00:44:03 -07:00
Alexander Blair
7f164e739a Merge pull request #3194
9b18344d main: don't override user-provided QT_QPA_PLATFORM env variable (xiphon)
2020-10-28 00:43:43 -07:00
Alexander Blair
43214de7d0 Merge pull request #3193
ee013705 cmake: omit Qt5Widgets and Qt5Network modules (xiphon)
2020-10-28 00:43:18 -07:00
Alexander Blair
0cf683a6cf Merge pull request #3192
1b0f274a docker: Linux - CFLAGS and CXXFLAGS env variables (xiphon)
2020-10-28 00:42:59 -07:00
Alexander Blair
c9fd9634ee Merge pull request #3187
cd054f6c docker: fix Android build, update to Qt 5.15, README.md build steps (xiphon)
d6cb9b6c docker: move Android Dockerfile to root (xiphon)
2020-10-28 00:42:36 -07:00
Alexander Blair
ddcee95b88 Merge pull request #3186
fe730114 cmake: Android cross compilation support (xiphon)
2020-10-28 00:42:16 -07:00
Alexander Blair
299067a273 Merge pull request #3185
852378ac cmake: ZBar - Android support, fix find_package without pkg-config (xiphon)
2020-10-28 00:40:22 -07:00
Alexander Blair
08635e3030 Merge pull request #3163
25ca0811 transfer: new TxConfirmationDialog (rating89us)
2020-10-28 00:39:43 -07:00
Alexander Blair
fdff5f68dd Merge pull request #3160
9da52f23 SettingsWallet: disable creating view-only wallet for Ledger (rating89us)
2020-10-28 00:37:30 -07:00
xiphon
9b18344d23 main: don't override user-provided QT_QPA_PLATFORM env variable 2020-10-28 00:57:30 +00:00
xiphon
153154f484 cmake: Linux - Qt 5.15 installer support 2020-10-28 00:55:06 +00:00
xiphon
ee0137056d cmake: omit Qt5Widgets and Qt5Network modules 2020-10-28 00:44:58 +00:00
xiphon
1b0f274aed docker: Linux - CFLAGS and CXXFLAGS env variables 2020-10-27 10:59:41 +00:00
xiphon
cd054f6c26 docker: fix Android build, update to Qt 5.15, README.md build steps
Co-authored-by: takel
2020-10-26 11:24:45 +00:00
xiphon
d6cb9b6c85 docker: move Android Dockerfile to root 2020-10-22 04:13:19 +00:00
xiphon
852378accb cmake: ZBar - Android support, fix find_package without pkg-config 2020-10-21 20:48:38 +00:00
xiphon
fe73011422 cmake: Android cross compilation support 2020-10-21 20:29:17 +00:00
selsta
9d2f083a97 repo: cleanup qmake 2020-10-20 02:01:44 +02:00
Alexander Blair
33afd0bb83 Merge pull request #3180
954c9725 repo: prepare v0.17.1.1 (selsta)
2020-10-19 00:14:37 -07:00
Alexander Blair
a165a14519 Merge pull request #3181
6ee5effc Wallet: fix different signedness comparison (-Werror=sign-compare) (xiphon)
2020-10-19 00:14:12 -07:00
Alexander Blair
33e1801c57 Merge pull request #3175
e5b0837c SettingsNode: ignore selecting the same mode twice (xiphon)
2020-10-19 00:13:24 -07:00
Alexander Blair
fac3fcb518 Merge pull request #3174
a73ae625 DaemonManager: set out-peers to 16 in simple mode / bootstrap (selsta)
2020-10-19 00:12:52 -07:00
Alexander Blair
8457055f08 Merge pull request #3172
44df1bcc cmake: fix install targets (Bertrand Jacquin)
2020-10-19 00:12:31 -07:00
Alexander Blair
e01c847fde Merge pull request #3171
0a0dbf88 WizardRestoreWallet1: fix "wallet name" check in keys mode (selsta)
2020-10-19 00:12:05 -07:00
Alexander Blair
bedf04d08a Merge pull request #3161
b932df85 Wallet: interrupt refresh thread on wallet close (xiphon)
2020-10-19 00:11:35 -07:00
Alexander Blair
83da709436 Merge pull request #3158
79ee8934 History: fix failed and pending tx statuses (xiphon)
2020-10-19 00:11:09 -07:00
Alexander Blair
f51b0d7d0c Merge pull request #3156
1b2d9408 Makefile: add 'release-linux-armv8' target (xiphon)
2020-10-19 00:10:31 -07:00
Alexander Blair
1f9d60602a Merge pull request #3155
db4273ee NetworkStatusItem: 'starting/stopping the node' status (no splash) (xiphon)
2020-10-19 00:10:19 -07:00
Alexander Blair
7a285b3613 Merge pull request #3136
05733c14 Transfer: fix help text (white theme) (selsta)
2020-10-19 00:09:52 -07:00
xiphon
6ee5effc15 Wallet: fix different signedness comparison (-Werror=sign-compare)
Co-authored-by: Bertrand Jacquin <bertrand@jacquin.bzh>
2020-10-18 20:58:40 +00:00
selsta
954c972530 repo: prepare v0.17.1.1 2020-10-18 18:01:44 +02:00
rating89us
cd3a0f85a6 Restore: display red border if invalid seed 2020-10-18 17:06:34 +02:00
xiphon
e5b0837c8e SettingsNode: ignore selecting the same mode twice 2020-10-18 02:53:57 +00:00
selsta
a73ae62526 DaemonManager: set out-peers to 16 in simple mode / bootstrap 2020-10-18 02:07:29 +02:00
Bertrand Jacquin
44df1bccfc cmake: fix install targets
Binary should be installed in bin/ relative to CMAKE_INSTALL_PREFIX,
prior to this commit, monero-wallet-gui is installed in usr/ instead of
usr/bin

  -- Installing: image/usr/monero-wallet-gui

With this comment, file is installed in the right location:

  -- Installing: image/usr/bin/monero-wallet-gui

See: https://cmake.org/cmake/help/latest/command/install.html
2020-10-17 23:08:21 +01:00
selsta
0a0dbf8853 WizardRestoreWallet1: fix "wallet name" check in keys mode 2020-10-17 20:23:29 +02:00
rating89us
1373e709d6 account/receive: highlight background and text of selected item 2020-10-17 20:19:50 +02:00
rating89us
baa0ffa5f9 WizardRestoreWallet1: add view-only option in placeholder of private spend key 2020-10-17 17:53:52 +02:00
rating89us
3907dac198 Account: remove "Balance:" label; add XMR; align balances 2020-10-17 13:57:24 +02:00
rating89us
25ca081109 transfer: new TxConfirmationDialog 2020-10-17 12:11:13 +02:00
xiphon
b932df85fd Wallet: interrupt refresh thread on wallet close 2020-10-17 02:58:23 +00:00
rating89us
9da52f2387 SettingsWallet: disable creating view-only wallet for Ledger 2020-10-17 03:10:33 +02:00
xiphon
79ee893499 History: fix failed and pending tx statuses 2020-10-15 10:23:06 +00:00
xiphon
1b2d940850 Makefile: add 'release-linux-armv8' target 2020-10-14 15:51:29 +00:00
xiphon
db4273ee82 NetworkStatusItem: 'starting/stopping the node' status (no splash) 2020-10-14 02:26:56 +00:00
luigi1111
cb1f3ad0ce Merge pull request #3153
701f063 build: prepare v0.17.1.0 (selsta)
2020-10-13 12:41:38 -05:00
luigi1111
c81a842b6e Merge pull request #3150
6ed5369 cmake: set CMAKE_SKIP_RPATH on Linux to fix empty RPATH token issue (xiphon)
2020-10-13 12:40:39 -05:00
luigi1111
26ad7b78b5 Merge pull request #3147
4661167 onTransactionCommitted: don't show informationPopup on success (xiphon)
2020-10-13 12:39:34 -05:00
luigi1111
381442a138 Merge pull request #3145
39d9d7d Wallet: rework wallet refreshing (xiphon)
2020-10-13 12:38:40 -05:00
luigi1111
7cb24f50b8 Merge pull request #3143
8ad5fd4 main: wizard: console.log fixes (selsta)
2020-10-13 12:37:55 -05:00
luigi1111
8c5891e28a Merge pull request #3141
3c28ece Logger: runtime log config, no logs till a user selects wallet mode (xiphon)
2020-10-13 12:36:49 -05:00
luigi1111
61c0e15404 Merge pull request #3138
b76b43d README: minor sponsorships fixes (selsta)
2020-10-13 12:35:58 -05:00
luigi1111
b03714ec45 Merge pull request #3131
21d8c09 cmake: remove unused code (xiphon)
2020-10-13 12:35:12 -05:00
selsta
701f063797 build: prepare v0.17.1.0 2020-10-13 18:28:23 +02:00
xiphon
6ed5369829 cmake: set CMAKE_SKIP_RPATH on Linux to fix empty RPATH token issue 2020-10-11 19:51:05 +00:00
xiphon
4661167734 onTransactionCommitted: don't show informationPopup on success 2020-10-10 14:26:20 +00:00
xiphon
39d9d7d071 Wallet: rework wallet refreshing 2020-10-09 14:11:05 +00:00
selsta
8ad5fd4c76 main: wizard: console.log fixes 2020-10-08 21:24:55 +02:00
xiphon
3c28ecef93 Logger: runtime log config, no logs till a user selects wallet mode 2020-10-08 18:28:07 +00:00
luigi1111
d3943ca2a9 Merge pull request #3130
13ca3ee KeysFiles: QDirIterator is initially located before the first entry (xiphon)
2020-10-08 10:34:53 -05:00
luigi1111
73f76cec99 Merge pull request #3129
4cea7e1 docker: Linux - update freetype2 git source (xiphon)
2020-10-08 10:32:37 -05:00
selsta
b76b43da6c README: minor sponsorships fixes 2020-10-08 01:46:06 +02:00
selsta
05733c14b7 Transfer: fix help text (white theme) 2020-10-07 12:59:33 +02:00
xiphon
21d8c096ff cmake: remove unused code 2020-10-06 13:21:37 +00:00
xiphon
13ca3eeb84 KeysFiles: QDirIterator is initially located before the first entry 2020-10-05 12:36:00 +00:00
xiphon
4cea7e1647 docker: Linux - update freetype2 git source 2020-10-04 23:48:33 +00:00
luigi1111
afc2e846fd Merge pull request #3123
0b7cf4a cmake: update version (selsta)
2020-10-04 17:54:22 -05:00
luigi1111
c601313943 Merge pull request #3127
ff51dd0 History: fix amount handling for txex sent to the same account (xiphon)
2020-10-04 17:52:47 -05:00
luigi1111
73c0522a56 Merge pull request #3126
4768968 Translations from Weblate (erciccione)
2020-10-04 17:51:41 -05:00
luigi1111
06a66e3a00 Merge pull request #3122
caff619 workflows: don't brew update (selsta)
2020-10-04 17:43:16 -05:00
luigi1111
12355deb94 Merge pull request #3121
e2a82c9 Transfer: create SuccessfulTxDialog (rating89us)
2020-10-04 17:41:44 -05:00
luigi1111
cbbbf30198 Merge pull request #3120
7af0999 LeftPanel: add missing emptyString (selsta)
2020-10-04 17:40:10 -05:00
luigi1111
40e108eb2b Merge pull request #3026
4208b66 WizardModeSelection: optional 'Portable mode' feature support (xiphon)
2020-10-04 17:39:09 -05:00
luigi1111
cdfe9f338f Merge pull request #3025
f5c5df7 main: accountsDir runtime configuration support (xiphon)
2020-10-04 17:38:14 -05:00
luigi1111
adb04cef71 Merge pull request #3023
1aa98c3 MoneroSettings: portable mode, CWD relative 'monero-storage' dir (xiphon)
2020-10-04 17:37:21 -05:00
luigi1111
1123dd7046 Merge pull request #2992
f1fdbee history: 'in'/'to' fields + address labels + width/height + fix amounts (rating89us)
2020-10-04 17:35:45 -05:00
rating89us
f1fdbee25d history: "in"/"to" fields + address labels + width/height + fix amounts 2020-10-02 20:38:03 +02:00
xiphon
ff51dd08d3 History: fix amount handling for txex sent to the same account 2020-10-02 11:12:20 +00:00
erciccione
476896864c Translations from Weblate
Credits:

Spanish

    Michael Russo
    G.T.S.
    kombometralla
    CharlesCrisco
    nemecis rojas
    porokon7
    Viktor

Italian

    78carla
    erciccione
    Gleb Golov
    Anonymous

Russian

    Agent LvM
    solevoy-psih
    v1docq47
    Anonymous
    TheFuzzStone
    Russian Bear
    translator133

Portuguese (Portugal)

    Peter J. Mello
    EvolBit
    Anonymous

French

    icuntcode
    Bertrand Jacquin
    el00ruobuob
    Anonymous

Hindi

    srk raidu

Polish

    To Ja
    Anonymous

Portuguese (Brazil)

    vp11
    netrik182

Dutch

    Jaimie
    Jonathan Heirbaut
    Marcus
    obit33

German

    Paul Janowitz
    SJ
    Wobole
    Anonymous
    GreenPiece
2020-10-01 10:59:38 +02:00
selsta
0b7cf4a544 cmake: update version 2020-09-30 02:52:10 +02:00
selsta
caff6193f2 workflows: don't brew update 2020-09-30 01:58:57 +02:00
rating89us
e2a82c9037 Transfer: create SuccessfulTxDialog 2020-09-30 00:30:57 +02:00
luigi1111
28ee4164cd Merge pull request #3118
0d8e363 README: update to cmake (selsta)
2020-09-29 12:50:12 -05:00
selsta
7af099958e LeftPanel: add missing emptyString 2020-09-29 15:18:48 +02:00
selsta
0d8e363407 README: update to cmake 2020-09-29 15:01:03 +02:00
Alexander Blair
7306b84d41 Merge pull request #3117
67c47d46 DEPLOY: update with cmake (selsta)
2020-09-28 19:10:53 -07:00
Alexander Blair
9d25f7230b Merge pull request #3113
5b5c0ac6 workflows: cache docker build environment images (xiphon)
2020-09-28 19:10:26 -07:00
Alexander Blair
b28f2dae33 Merge pull request #3112
4c257aff docker: reduce Linux build environment image size (xiphon)
2020-09-28 19:09:58 -07:00
Alexander Blair
619b2d7947 Merge pull request #3111
be1f63f9 PasswordDialog: configurable Ok btn text/icon, non-primary Cancel (xiphon)
2020-09-28 19:09:32 -07:00
Alexander Blair
a23c49e5b6 Merge pull request #3110
9df9cb8d build: enable USE_SINGLE_BUILDDIR by default, OFF to disable (selsta)
2020-09-28 19:09:05 -07:00
Alexander Blair
61fc38b29c Merge pull request #3091
1b4c2170 build: set submodule to v0.17.0.1 (selsta)
2020-09-28 19:07:39 -07:00
Alexander Blair
22386aa7e1 Merge pull request #3089
0fcaadae main: command line option for socks5 proxy (selsta)
2020-09-28 19:06:58 -07:00
xiphon
f5c5df7b67 main: accountsDir runtime configuration support 2020-09-28 13:54:02 +00:00
xiphon
1aa98c3cfd MoneroSettings: portable mode, CWD relative 'monero-storage' dir 2020-09-28 13:50:01 +00:00
selsta
67c47d468c DEPLOY: update with cmake 2020-09-28 03:28:51 +02:00
selsta
0fcaadae53 main: command line option for socks5 proxy 2020-09-28 01:57:47 +02:00
xiphon
5b5c0ac658 workflows: cache docker build environment images 2020-09-26 14:26:53 +00:00
selsta
1b4c21700f build: set submodule to v0.17.0.1 2020-09-26 02:54:11 +02:00
selsta
9df9cb8da7 build: enable USE_SINGLE_BUILDDIR by default, OFF to disable 2020-09-26 02:15:58 +02:00
luigi1111
a32d39cc96 Merge pull request #3108
b12ec3b QR-Code-generator: remove from repo, use monero qrcodegen (selsta)
2020-09-25 18:27:48 -05:00
luigi1111
8ef7b7c89a Merge pull request #3106
839167a workflows: add static docker build (selsta)
2020-09-25 18:26:45 -05:00
luigi1111
1ef96f9544 Merge pull request #3105
b9e74f6 cmake: support ARCH and BUILD_64 overriding (xiphon)
2020-09-25 18:25:15 -05:00
luigi1111
d413b16d34 Merge pull request #3103
87400e7 cmake: add deploy target (mac / windows) (selsta)
2020-09-25 18:24:24 -05:00
luigi1111
37fea0ee33 Merge pull request #3101
9123988 main: Tails - enable 127.0.0.1:9050 socks5 proxy by default (xiphon)
2020-09-25 18:23:35 -05:00
selsta
b12ec3b0f0 QR-Code-generator: remove from repo, use monero qrcodegen 2020-09-25 01:37:29 +02:00
xiphon
4c257aff67 docker: reduce Linux build environment image size 2020-09-24 15:40:15 +00:00
xiphon
be1f63f93d PasswordDialog: configurable Ok btn text/icon, non-primary Cancel
Co-authored-by: rating89us <45968869+rating89us@users.noreply.github.com>
2020-09-24 14:32:52 +00:00
selsta
839167aff5 workflows: add static docker build 2020-09-24 08:25:04 +02:00
selsta
87400e781e cmake: add deploy target (mac / windows) 2020-09-24 04:28:53 +02:00
luigi1111
98ce87a572 Merge pull request #3102
270b86b workflows: remove qmake (selsta)
2020-09-22 10:43:38 -05:00
luigi1111
d555ba55a9 Merge pull request #3099
2d464a1 docker: Windows static build (cross-compilation from Linux) (xiphon)
2020-09-22 10:42:40 -05:00
luigi1111
1387fd4f9c Merge pull request #3098
6c67a39 README: update sponsors (selsta)
2020-09-22 10:39:04 -05:00
luigi1111
6ff43fa81e Merge pull request #3095
0dda579 Windows installer: Update for Oxygen Orion 0.17.0.0 (rbrunner7)
2020-09-22 10:33:42 -05:00
luigi1111
076c70906a Merge pull request #3094
e198752 cmake: support manual submodules (selsta)
2020-09-22 10:32:53 -05:00
luigi1111
923a32cfd5 Merge pull request #3090
1b519b8 fix build on arm (ph4r05)
2020-09-22 10:31:17 -05:00
luigi1111
e7c37fc7bc Merge pull request #3087
d488979 Remove Pirate language (erciccione)
2020-09-22 10:30:07 -05:00
luigi1111
2b83edc982 Merge pull request #3003
9fc260c account: update balances of account page when new block is found (rating89us)
2020-09-22 10:28:49 -05:00
xiphon
4208b66baf WizardModeSelection: optional 'Portable mode' feature support 2020-09-22 15:08:18 +00:00
xiphon
b9e74f6b6d cmake: support ARCH and BUILD_64 overriding 2020-09-22 15:01:36 +00:00
selsta
270b86b142 workflows: remove qmake 2020-09-22 03:03:06 +02:00
selsta
6c67a39d2e README: update sponsors 2020-09-21 21:46:22 +02:00
selsta
56722e4747 AddressBook: fix Qt warning 2020-09-21 00:47:32 +02:00
xiphon
91239881f1 main: Tails - enable 127.0.0.1:9050 socks5 proxy by default 2020-09-20 14:22:51 +00:00
xiphon
2d464a1266 docker: Windows static build (cross-compilation from Linux) 2020-09-20 10:15:04 +00:00
René Brunner
0dda5796ec Windows installer: Update for Oxygen Orion 0.17.0.0 2020-09-20 10:11:33 +02:00
selsta
e1987522e2 cmake: support manual submodules 2020-09-20 03:51:40 +02:00
Dusan Klinec
1b519b8302 fix build on arm 2020-09-16 21:35:30 +02:00
erciccione
d488979351 Remove Pirate language 2020-09-14 18:39:06 +02:00
luigi1111
d313c2de37 Merge pull request #3085
248ec22 WizardController: delete duplicated line (line 67) (rating89us)
2020-09-14 11:36:55 -05:00
luigi1111
560dd09f8a Merge pull request #3084
04eab65 WizardRestoreWallet1: reset radio buttons when loading (raiting89us)
2020-09-14 11:36:13 -05:00
luigi1111
ea778c41dd Merge pull request #3082
8643f85 cmake: MinGW - fix qtfreetype linking (xiphon)
2020-09-14 11:35:27 -05:00
luigi1111
6595a7b1c1 Merge pull request #3081
e0679ce cmake: cross-compilation to Windows - fix 'version' lib linking (xiphon)
2020-09-14 11:34:38 -05:00
luigi1111
dea513fc84 Merge pull request #3051
03db3f9 cmake: minor message improvements (selsta)
2020-09-14 11:33:43 -05:00
luigi1111
55759545d1 Merge pull request #3044
4e16698 MerchantTrackingList: fix Qt warning (selsta)
2020-09-14 11:32:28 -05:00
rating89us
248ec22eb5 WizardController: delete duplicated line (line 67) 2020-09-13 07:35:39 +02:00
rating89us
04eab65b10 WizardRestoreWallet1: reset radio buttons when loading 2020-09-13 07:33:28 +02:00
xiphon
8643f85fef cmake: MinGW - fix qtfreetype linking 2020-09-12 22:06:59 +00:00
xiphon
e0679ce5e6 cmake: cross-compilation to Windows - fix 'version' lib linking 2020-09-12 22:02:31 +00:00
luigi1111
31dbe7ea42 Merge pull request #3080
6467333 cmake: drop redundant CheckTrezor include (xiphon)
2020-09-12 16:00:31 -05:00
luigi1111
f745670b36 Merge pull request #3079
4effbd3 cmake: cross-compilation to Windows - use 'win32' Boost_THREADAPI (xiphon)
2020-09-12 15:59:29 -05:00
luigi1111
a80746adf1 Merge pull request #3078
8845ce6 cmake: cross-compilation to Windows - fix lrelease search paths (xiphon)
2020-09-12 15:56:03 -05:00
luigi1111
2e8bec15da Merge pull request #3077
3aeaf99 oshelper: 'shlobj.h' include should be lower case (xiphon)
2020-09-12 15:54:56 -05:00
luigi1111
24d8360da1 Merge pull request #3076
c41e3d8 cmake: cross-compilation to Windows - find MinGW prefixed windres (xiphon)
2020-09-12 15:54:05 -05:00
luigi1111
f75d988437 Merge pull request #3074
394e569 SettingsInfo: copy Tails information to clipboard (selsta)
2020-09-12 15:52:59 -05:00
luigi1111
3a1601f132 Merge pull request #3050
9d05462 cmake: fix DEV_MODE, checkout master in submodule (selsta)
2020-09-12 15:51:23 -05:00
luigi1111
fd956b54b5 Merge pull request #3033
749c166 main: socks5 proxy support (xiphon)
2020-09-12 15:49:57 -05:00
xiphon
6467333fe7 cmake: drop redundant CheckTrezor include 2020-09-10 23:06:30 +00:00
xiphon
4effbd3c8e cmake: cross-compilation to Windows - use 'win32' Boost_THREADAPI 2020-09-10 11:50:17 +00:00
xiphon
8845ce6d49 cmake: cross-compilation to Windows - fix lrelease search paths 2020-09-10 11:02:37 +00:00
xiphon
3aeaf99057 oshelper: 'shlobj.h' include should be lower case 2020-09-10 10:45:28 +00:00
xiphon
c41e3d8e7a cmake: cross-compilation to Windows - find MinGW prefixed windres 2020-09-10 10:37:06 +00:00
selsta
9d05462715 cmake: fix DEV_MODE, checkout master in submodule 2020-09-08 11:59:59 +02:00
selsta
394e56915d SettingsInfo: copy Tails information to clipboard 2020-09-07 22:58:34 +02:00
xiphon
749c166b10 main: socks5 proxy support 2020-09-07 20:35:20 +00:00
luigi1111
a563582d95 Merge pull request #3060
e1b5ee2 cmake: remove already defined functions (selsta)
2020-09-07 15:30:02 -05:00
luigi1111
a000b8d850 Merge pull request #3064
370607a Settings -> Info -> Copy to clipboard #3063 (xmrdsc)
2020-09-07 15:19:59 -05:00
luigi1111
4b626924e6 Merge pull request #3062
fed38b9 LineEdit: change background color when disabled (selsta)
2020-09-07 15:07:36 -05:00
luigi1111
e97fb0b3d8 Merge pull request #3061
17213bf cmake: move autogen to avoid warnings (selsta)
2020-09-07 15:06:49 -05:00
luigi1111
aa1ab4f448 Merge pull request #3059
35f92b7 tabs: remove from repo (selsta)
2020-09-07 15:06:01 -05:00
luigi1111
1752fde08b Merge pull request #3058
9255d64 cmake: copy monerod to mac bundle (selsta)
2020-09-07 15:05:18 -05:00
luigi1111
121904f340 Merge pull request #3056
86f5aae cmake: fix MacOS linking (-rpath, -bind_at_load, -dead_strip, etc.) (xiphon)
2020-09-07 15:04:30 -05:00
luigi1111
05f63a24cc Merge pull request #3055
75e4333 cmake: manually fix pkg-config prefix (QTBUG-80922 workaround) (xiphon)
2020-09-07 15:02:10 -05:00
luigi1111
e2085bdaa3 Merge pull request #3054
dc1d0a6 monero: update submodule to master branch HEAD (xiphon)
2020-09-07 15:01:05 -05:00
luigi1111
7e83173c77 Merge pull request #3053
1d2840f ipc: fix Qt deprecation warning with 5.15.1 beta (selsta)
2020-09-07 14:51:14 -05:00
luigi1111
183c8084a5 Merge pull request #3052
1895755 cmake: remove duplicate find_package (selsta)
2020-09-07 14:50:16 -05:00
luigi1111
5bc305679c Merge pull request #3032
5ea99a7 Wallet: WalletManager: implement proxy support (xiphon)
2020-09-07 14:46:14 -05:00
luigi1111
2557bdb35f Merge pull request #3030
43aeea8 Network: instantiable QML type, introduce proxyAddress property (xiphon)
2020-09-07 14:45:21 -05:00
luigi1111
79a87ca03b Merge pull request #3029
380b955 Downloader: introduce proxyAddress property (xiphon)
2020-09-07 14:44:26 -05:00
luigi1111
a8eab144e4 Merge pull request #3047
f51b0f6 fix windows deploy with QT 5.14+ (italocoin-project)
2020-09-07 14:43:32 -05:00
luigi1111
83cffa469e Merge pull request #3043
27e4771 docker: update Qt to 5.9.9 (selsta)
2020-09-07 14:42:00 -05:00
luigi1111
b1b7307578 Merge pull request #3042
c013d7d README: update list of third party monero packages (erciccione)
2020-09-07 14:41:14 -05:00
luigi1111
e0dfda2189 Merge pull request #3000
16646eb cmake: fix zxcvbn option description (selsta)
2020-09-07 14:39:25 -05:00
dsc
370607a7dc Settings -> Info -> Copy to clipboard #3063 2020-09-01 21:43:31 +02:00
xiphon
dc1d0a68c8 monero: update submodule to master branch HEAD 2020-08-31 23:05:34 +00:00
selsta
fed38b9e06 LineEdit: change background color when disabled 2020-08-29 23:22:49 +02:00
selsta
17213bfe8c cmake: move autogen to avoid warnings 2020-08-29 04:27:31 +02:00
selsta
e1b5ee24e9 cmake: remove already defined functions 2020-08-29 03:32:10 +02:00
selsta
35f92b76a2 tabs: remove from repo 2020-08-29 01:48:13 +02:00
selsta
9255d649d9 cmake: copy monerod to mac bundle 2020-08-29 00:42:30 +02:00
xiphon
86f5aae63d cmake: fix MacOS linking (-rpath, -bind_at_load, -dead_strip, etc.) 2020-08-28 17:54:17 +00:00
xiphon
75e433388f cmake: manually fix pkg-config prefix (QTBUG-80922 workaround) 2020-08-28 11:33:34 +00:00
Italocoin Project
f51b0f6704 fix windows deploy with QT 5.14+
this is a workaround on QT 5.14+ errors on mingw

fixes issue https://github.com/monero-project/monero-gui/issues/3041
2020-08-26 20:16:34 +02:00
selsta
1895755efb cmake: remove duplicate find_package 2020-08-26 03:18:41 +02:00
selsta
03db3f96ff cmake: minor message improvements 2020-08-26 03:07:18 +02:00
selsta
1d2840f8b5 ipc: fix Qt deprecation warning with 5.15.1 beta 2020-08-26 02:58:11 +02:00
selsta
4e16698558 MerchantTrackingList: fix Qt warning 2020-08-18 12:29:49 +02:00
erciccione
c013d7d125 README: update list of third party monero packages
Removed AUR package, since doesn't seem to exist anymore, added Debian package (the CCS-funded one) and updated xbps and guix packages.
2020-08-16 19:59:34 +02:00
selsta
27e4771622 docker: update Qt to 5.9.9 2020-08-16 01:21:23 +02:00
luigi1111
e65159163d Merge pull request #3038
6898d5d oshelper: always convert to canonical path in openContainingFolder (xiphon)
2020-08-14 14:16:19 -05:00
luigi1111
77b7a5244a Merge pull request #3024
eb924a3 KeysFiles: relative file path support (xiphon)
2020-08-14 14:15:26 -05:00
luigi1111
3c69023135 Merge pull request #3037
67be96e Translations from weblate (Monero-Weblate)
2020-08-08 20:48:31 -05:00
luigi1111
fad8dab165 Merge pull request #3035
9ce88c6 build: prepare v0.16.0.3 (selsta)
2020-08-08 20:46:53 -05:00
selsta
16646eb651 cmake: fix zxcvbn option description 2020-08-09 02:31:57 +02:00
xiphon
6898d5dd42 oshelper: always convert to canonical path in openContainingFolder 2020-08-06 18:58:15 +00:00
Anonymous
67be96e6d5 Translations from weblate
Languages:

- German
Currently translated at 97.2% (669 of 688 strings)
Translate-URL: https://translate.getmonero.org/projects/monero/gui-wallet/de/

- Russian
Currently translated at 97.9% (673 of 687 strings)
Translate-URL: https://translate.getmonero.org/projects/monero/gui-wallet/ru/

- Romanian
Currently translated at 85.5% (588 of 687 strings)
Translate-URL: https://translate.getmonero.org/projects/monero/gui-wallet/ro/

- Czech
Currently translated at 54.1% (372 of 687 strings)
Translate-URL: https://translate.getmonero.org/projects/monero/gui-wallet/cs/

-  Chinese (Simplified)
Currently translated at 94.3% (648 of 687 strings)
Translate-URL: https://translate.getmonero.org/projects/monero/gui-wallet/zh_Hans/

- Norwegian Bokmål
Currently translated at 90.3% (621 of 687 strings)
Translate-URL: https://translate.getmonero.org/projects/monero/gui-wallet/nb_NO/

- Turkish
Currently translated at 82.3% (566 of 687 strings)
Translate-URL: https://translate.getmonero.org/projects/monero/gui-wallet/tr/

- Greek
Currently translated at 46.5% (320 of 687 strings)
Translate-URL: https://translate.getmonero.org/projects/monero/gui-wallet/el/

- Japanese
Currently translated at 86.8% (597 of 687 strings)
Translate-URL: https://translate.getmonero.org/projects/monero/gui-wallet/ja/

- Italian
Currently translated at 92.2% (632 of 685 strings)
Translate-URL: https://translate.getmonero.org/projects/monero/gui-wallet/it/

  All languages were updated:

    Found 690 source text(s) (12 new and 678 already existing)
    Removed 9 obsolete entries

  Translators:

* Italian

    * 8uDD4T
    * erciccione

* Romanian

    * Marius Tanislav

* Turkish

    * xmoreee

* Japanese

    * Lana

* French

    * Anonymous

* Czech

    * Michal Poupe
    * dskch83

* Chinese (Simplified)

    * anony_xmr
    * C3Pool
    * Muge Niu
    * Anonymous
    * razorshaman909

* Greek

    * Stavros
    * warraxxx
    * Georgios Apostolopoulos

* Norwegian Bokmål

    * bitbooz

Co-authored-by: GreenPiece <villa@posteo.net>
Co-authored-by: v1docq47 <chiptune@protonmail.ch>
Co-authored-by: Agent LvM <agent.lvm@gmail.com>
Co-authored-by: dskch83 <skarkadaniel@gmail.com>
Co-authored-by: razorshaman909 <work909ang@gmail.com>
Co-authored-by: Muge Niu <mugeniu12138@gmail.com>
Co-authored-by: C3Pool <hkfoan@gmail.com>
Co-authored-by: xmoreee <sskacarfun@gmail.com>
Co-authored-by: warraxxx <kpantelidis@hotmail.gr>
Co-authored-by: 8uDD4T <8uDD4T@protonmail.com>
2020-08-06 12:30:49 +02:00
selsta
9ce88c6aeb build: prepare v0.16.0.3 2020-08-05 14:24:27 +02:00
xiphon
5ea99a73e7 Wallet: WalletManager: implement proxy support 2020-07-30 21:37:09 +00:00
xiphon
43aeea8eb7 Network: instantiable QML type, introduce proxyAddress property
# Conflicts:
#	main.qml
2020-07-30 16:49:22 +00:00
luigi1111
7eeda0a8f0 Merge pull request #3031
d1bde4f workflows: fix mac cmake (selsta)
2020-07-29 13:46:44 -05:00
luigi1111
9220937c4b Merge pull request #3027
0db4c36 QrScanThread: fix Qt 5.15 compability (selsta)
2020-07-29 13:35:36 -05:00
luigi1111
6aaf294f0b Merge pull request #3019
dcc040a WalletManager: instantiable QML type (xiphon)
2020-07-29 13:34:33 -05:00
luigi1111
721a0cbf91 Merge pull request #3018
352da92 QrCodeScanner: use parse_uri_to_object to parse scanned codes (xiphon)
2020-07-29 13:33:27 -05:00
selsta
d1bde4f8b2 workflows: fix mac cmake 2020-07-29 20:30:06 +02:00
xiphon
380b955bce Downloader: introduce proxyAddress property 2020-07-29 17:31:44 +00:00
selsta
0db4c36db0 QrScanThread: fix Qt 5.15 compability 2020-07-29 17:40:58 +02:00
xiphon
dcc040a119 WalletManager: instantiable QML type 2020-07-29 15:17:02 +00:00
luigi1111
63e32c4a83 Merge pull request #3017
99907e5 WalletManager: parse_uri_to_object extra parameters support (xiphon)
2020-07-29 09:53:31 -05:00
luigi1111
7972d8a219 Merge pull request #3015
e8bcabe cmake: fix static libraries linking (xiphon)
2020-07-29 09:50:05 -05:00
luigi1111
872b81fe39 Merge pull request #3014
829414e Transfer: fix 'Send' and 'Sweep' functionality (xiphon)
2020-07-29 09:49:04 -05:00
luigi1111
6136e88fcb Merge pull request #3013
085abb7 cmake: fix MacOS build (Qt installer) (xiphon)
2020-07-29 09:47:21 -05:00
luigi1111
c77637d141 Merge pull request #3012
410897c SettingsLog: add command history (rating89us)
2020-07-29 09:46:04 -05:00
luigi1111
0d047035fb Merge pull request #3007
13ee9b1 KeysFiles: fix WalletKeysFilesModel, should be instantiable QML type (xiphon)
2020-07-29 09:44:45 -05:00
luigi1111
b5aa659757 Merge pull request #3004
36262f0 version: use MONERO_VERSION_FULL const as monero core version (xiphon)
2020-07-29 09:42:24 -05:00
luigi1111
88d297d8cc Merge pull request #3002
f78c95b cmake: build bundle on macOS (selsta)
2020-07-29 09:38:55 -05:00
xiphon
eb924a34d1 KeysFiles: relative file path support 2020-07-28 17:38:03 +00:00
xiphon
352da92229 QrCodeScanner: use parse_uri_to_object to parse scanned codes 2020-07-16 17:30:00 +00:00
xiphon
99907e539a WalletManager: parse_uri_to_object extra parameters support 2020-07-16 17:28:00 +00:00
xiphon
e8bcabe66b cmake: fix static libraries linking 2020-07-15 23:26:14 +00:00
xiphon
829414ed01 Transfer: fix 'Send' and 'Sweep' functionality 2020-07-15 04:02:42 +00:00
xiphon
36262f029a version: use MONERO_VERSION_FULL const as monero core version 2020-07-15 03:45:03 +00:00
xiphon
13ee9b1f26 KeysFiles: fix WalletKeysFilesModel, should be instantiable QML type 2020-07-14 23:44:46 +00:00
xiphon
085abb798a cmake: fix MacOS build (Qt installer) 2020-07-14 23:36:30 +00:00
luigi1111
c137a6ea36 Merge pull request #3010
2fd3974 WalletManager: displayAmount should be static (xiphon)
2020-07-14 15:51:01 -05:00
luigi1111
2cea0fc669 Merge pull request #3009
7c50e1f PasswordDialog: focus on gui start (selsta)
2020-07-14 15:50:14 -05:00
luigi1111
aaa1cb47c0 Merge pull request #3006
dec5dcf KeysFiles: don't use WalletManager in findWallets (xiphon)
2020-07-14 15:49:19 -05:00
luigi1111
1577ce278b Merge pull request #3001
df885b6 cmake: set current monero-gui version (selsta)
2020-07-14 15:48:15 -05:00
luigi1111
9d48f96fc8 Merge pull request #2999
b22fb24 Donate to Monero feature (xmrdsc)
2020-07-14 15:47:29 -05:00
luigi1111
1a51e93e55 Merge pull request #2991
c9d36b1 cmake: translations deps handling, build translations as a library (xiphon)
d931022 cmake: implement MacOS 'release' build + CI support (xiphon)
2020-07-14 15:46:09 -05:00
luigi1111
b62b821002 Merge pull request #2989
8c8faf2 Support comma seperator for amount field, dynamically change to dot. Fixes #2951 (xmrdsc)
2020-07-14 15:45:01 -05:00
luigi1111
f3ee46175c Merge pull request #2935
f1e3926 WizardWalletInput: disallow (back)slash (selsta)
2020-07-14 15:43:58 -05:00
luigi1111
17a3c51a43 Merge pull request #2915
527adcb Utils: simplify for translations (selsta)
2020-07-14 15:43:08 -05:00
rating89us
410897ced7 SettingsLog: add command history 2020-07-14 22:38:54 +02:00
xiphon
2fd3974194 WalletManager: displayAmount should be static 2020-07-14 17:10:25 +00:00
selsta
7c50e1ff4b PasswordDialog: focus on gui start 2020-07-14 16:52:40 +02:00
xiphon
dec5dcf25c KeysFiles: don't use WalletManager in findWallets 2020-07-14 01:39:46 +00:00
rating89us
9fc260c62d account: update balances of account page when new block is found 2020-07-10 10:57:59 +02:00
xiphon
c9d36b1302 cmake: translations deps handling, build translations as a library 2020-07-09 16:42:32 +00:00
xiphon
d931022963 cmake: implement MacOS 'release' build + CI support 2020-07-09 15:23:04 +00:00
selsta
df885b6eaa cmake: set current monero-gui version 2020-07-09 08:13:08 +02:00
selsta
f78c95b73b cmake: build bundle on macOS 2020-07-09 08:12:36 +02:00
dsc
b22fb24e47 Donate to Monero feature 2020-07-08 22:50:48 +02:00
dsc
8c8faf29e4 Support comma seperator for amount field, dynamically change to dot. Fixes #2951 2020-07-08 22:14:28 +02:00
luigi1111
b7b1221221 Merge pull request #2997
f1b4eb6 history: remove trailing zeros in amount + fix amount display (rating89us)
2020-07-08 13:57:44 -05:00
luigi1111
38c3534ead Merge pull request #2996
d37c4dd history: fix search filter not working when there is a pending transaction (rating89us)
2020-07-08 13:56:35 -05:00
luigi1111
f631b75f0a Merge pull request #2994
50c22ca Mining: Indicate probability of finding a block in one day (glv2)
2020-07-08 13:55:27 -05:00
luigi1111
11fd19e0f8 Merge pull request #2988
2522ff1 Prevent textbox from turning active when window is not active. Fixes #2924 (xmrdsc)
2020-07-08 13:53:41 -05:00
luigi1111
1572b4cf79 Merge pull request #2978
fead82b RemoteNodeEdit: initialAddress, add square brackets on ipv6 input (xiphon)
2020-07-08 13:52:22 -05:00
luigi1111
10a47d783e Merge pull request #2977
f55bf48 cmake: fix git tag + commit detection and version.js generation (xiphon)
2020-07-08 13:51:19 -05:00
luigi1111
14cc1d096a Merge pull request #2976
a00ed6a cmake: implement translations support (xiphon)
2020-07-08 13:50:18 -05:00
luigi1111
840421fd7b Merge pull request #2974
7677103 docker: implement Docker Linux 'release-static' build (xiphon)
2020-07-08 13:49:07 -05:00
luigi1111
51739dfb22 Merge pull request #2949
1edc068 PasswordDialog: remove already defined z value (selsta)
2020-07-08 13:36:52 -05:00
luigi1111
be5e6772a4 Merge pull request #2948
53066ae QML: fix some Qt 5.15 warnings (selsta)
2020-07-08 13:35:55 -05:00
luigi1111
c869390272 Merge pull request #2940
c672d80 docs: add deploy readme (selsta)
2020-07-08 13:34:46 -05:00
Guillaume Le Vaillant
50c22ca300 Mining: Indicate probability of finding a block in one day 2020-07-08 19:30:27 +02:00
rating89us
f1b4eb6c56 history: remove trailing zeros in amount + fix amount display 2020-07-08 15:05:11 +02:00
rating89us
d37c4ddef2 history: fix search filter not working when there is a pending transaction 2020-07-08 15:01:19 +02:00
dsc
2522ff13fe Prevent textbox from turning active when window is not active. Fixes #2924 2020-07-07 15:33:54 +02:00
luigi1111
596b71b293 Merge pull request #2982
8159b75 cmake: fix monero-wallet-gui target dependencies (xiphon)
2020-07-05 23:45:33 -05:00
xiphon
8159b75be3 cmake: fix monero-wallet-gui target dependencies 2020-07-02 23:32:55 +00:00
xiphon
7677103f1b docker: implement Docker Linux 'release-static' build 2020-07-02 18:13:51 +00:00
xiphon
fead82b198 RemoteNodeEdit: initialAddress, add square brackets on ipv6 input 2020-07-02 13:39:56 +00:00
xiphon
f55bf48bad cmake: fix git tag + commit detection and version.js generation 2020-07-01 01:48:52 +00:00
luigi1111
e0faddf964 Merge pull request #2975
b54127e main: disable NetworkAccessBlockingFactory.h if Qt < 5.12 (selsta)
2020-06-30 14:43:32 -05:00
xiphon
a00ed6a75a cmake: implement translations support 2020-06-30 17:07:35 +00:00
selsta
b54127e997 main: disable NetworkAccessBlockingFactory.h if Qt < 5.12
Due to a potential Qt bug qrc:///lang/languages.xml gets
blocked resulting in broken translations.
2020-06-30 04:21:14 +02:00
selsta
c672d8016d docs: add deploy readme 2020-06-30 01:53:35 +02:00
luigi1111
ccd8eb1c3a Merge pull request #2967
1c62ede Revert 'main: update balance only when wallet is synced' (selsta)
2020-06-24 13:36:53 -05:00
luigi1111
d5b165bde2 Merge pull request #2966
34439af build: set submodule to v0.16.0.1 (selsta)
2020-06-24 13:34:33 -05:00
luigi1111
c978027933 Merge pull request #2964
e1e862b cmake: implement Linux 'release-static' build target (xiphon)
2020-06-24 13:10:35 -05:00
luigi1111
9deec4dad0 Merge pull request #2957
749460f README: update donation fund address (selsta)
2020-06-24 13:08:55 -05:00
luigi1111
e306992ce8 Merge pull request #2955
f64dcde simple mode: enable settings log tab (selsta)
2020-06-24 13:07:53 -05:00
luigi1111
19daa074ca Merge pull request #2909
66e7696 QML: disable networking (selsta)
2020-06-24 13:06:57 -05:00
selsta
1c62edeff4 Revert "main: update balance only when wallet is synced"
This reverts commit 333c9ee311.
2020-06-24 04:02:27 +02:00
selsta
34439af67e build: set submodule to v0.16.0.1 2020-06-24 03:59:45 +02:00
xiphon
e1e862bce4 cmake: implement Linux 'release-static' build target 2020-06-21 02:03:26 +00:00
luigi1111
0b2e74cdb5 Merge pull request #2963
a3fc675 cmake: fix x11 linking (xiphon)
2020-06-19 16:58:28 -05:00
luigi1111
3fee17e564 Merge pull request #2933
1e7d829 openpgp: fix gcc 5.4.0 compilation (xiphon)
2020-06-19 16:56:05 -05:00
xiphon
1e7d8293cb openpgp: fix gcc 5.4.0 compilation 2020-06-19 21:53:47 +00:00
xiphon
a3fc6754e0 cmake: fix x11 linking 2020-06-19 21:50:42 +00:00
luigi1111
8354c251c5 Merge pull request #2962
27532dc cmake: fix USE_DEVICE_TREZOR option (xiphon)
2020-06-19 16:16:57 -05:00
luigi1111
8f5053bd61 Merge pull request #2961
52c090b cmake: downgrade minimum required boost version to 1.58 (xiphon)
2020-06-19 16:16:08 -05:00
luigi1111
92b0a115f4 Merge pull request #2959
c0e0626 SettingsLayout: ask password for password relevant setting (selsta)
2020-06-19 16:15:20 -05:00
luigi1111
6a3e1aaf40 Merge pull request #2950
d18af7d LeftPanel: simpifly color binding (selsta)
2020-06-19 16:14:31 -05:00
luigi1111
c32e11d3e8 Merge pull request #2947
333c9ee main: update balance only when wallet is synced (rating89us)
2020-06-19 16:13:48 -05:00
luigi1111
9580c19da3 Merge pull request #2937
c6d5c5d workflows: update msys2 setup action v0 -> v1 (selsta)
2020-06-19 16:12:52 -05:00
xiphon
27532dc1bf cmake: fix USE_DEVICE_TREZOR option 2020-06-17 14:04:35 +00:00
selsta
c0e0626b84 SettingsLayout: ask password for password relevant setting 2020-06-17 10:01:42 +02:00
selsta
c6d5c5dc3a workflows: update msys2 setup action v0 -> v1 2020-06-15 23:07:48 +02:00
selsta
749460fb46 README: update donation fund address 2020-06-15 22:23:19 +02:00
luigi1111
c9ee76c2ee Merge pull request #2943
ef5d855 openpgp: implement public subkeys support (xiphon)
2020-06-15 15:11:56 -05:00
luigi1111
94dbf179d5 Merge pull request #2942
ff4de8e updater: use monero tools::sha256sum (xiphon)
2020-06-15 15:10:47 -05:00
luigi1111
7deecbfdf6 Merge pull request #2941
e6f3057 windeploy_helper: add libgcrypt and update 65 -> 67 (selsta)
2020-06-15 15:09:58 -05:00
luigi1111
29a742ba26 Merge pull request #2928
7f0c199 workflows: Windows CMake 'release-win64' target CI (xiphon)
2020-06-15 15:09:08 -05:00
luigi1111
47559e51be Merge pull request #2927
1580c3a DaemonManager: remove max-concurrency upper bound (selsta)
2020-06-15 15:07:59 -05:00
selsta
f64dcde600 simple mode: enable settings log tab 2020-06-15 13:17:42 +02:00
xiphon
52c090b82f cmake: downgrade minimum required boost version to 1.58 2020-06-14 12:30:40 +00:00
selsta
1edc068047 PasswordDialog: remove already defined z value
main already defines z
2020-06-13 04:47:17 +02:00
selsta
d18af7da72 LeftPanel: simpifly color binding 2020-06-13 03:34:16 +02:00
selsta
53066ae92b QML: fix some Qt 5.15 warnings 2020-06-12 03:10:32 +02:00
rating89us
333c9ee311 main: update balance only when wallet is synced 2020-06-12 00:08:04 +02:00
xiphon
ff4de8e8f7 updater: use monero tools::sha256sum 2020-06-10 15:11:15 +00:00
xiphon
ef5d855950 openpgp: implement public subkeys support 2020-06-10 12:48:55 +00:00
selsta
e6f30578c0 windeploy_helper: add libgcrypt and update 65 -> 67 2020-06-10 00:38:07 +02:00
selsta
f1e3926192 WizardWalletInput: disallow (back)slash 2020-06-04 18:33:07 +02:00
xiphon
7f0c19950b workflows: Windows CMake 'release-win64' target CI 2020-06-04 00:30:47 +00:00
selsta
1580c3a574 DaemonManager: remove max-concurrency upper bound 2020-05-29 13:58:53 +02:00
luigi1111
c8f4355e15 Merge pull request #2926
39561f8 cmake: workflows: implement 'release' Linux build target + CI (xiphon)
2020-05-28 12:55:08 -05:00
xiphon
39561f8ead cmake: workflows: implement 'release' Linux build target + CI 2020-05-28 14:51:52 +00:00
luigi1111
b15dbbb9b0 Merge pull request #2921
55cbc56 workflows: fix windows build (selsta)
2020-05-26 15:40:24 -05:00
luigi1111
a73a4363ec Update submodule to recent master (77a008f) 2020-05-26 13:10:17 -05:00
selsta
55cbc562b6 workflows: fix windows build 2020-05-24 23:34:31 +02:00
luigi1111
e6c4c32d01 Merge pull request #2919
c946905 OpenGL: Windows - fall back to software renderer if OpenGL < 2.1 (xiphon)
2020-05-21 12:42:00 -05:00
luigi1111
e36d4a918f Merge pull request #2917
43f0854 Translations from Weblate (Monero-Weblate)
2020-05-21 12:40:51 -05:00
luigi1111
0355ca2747 Merge pull request #2916
f38e460 build: set submodule to v0.16.0.0 (selsta)
2020-05-21 12:39:34 -05:00
xiphon
c946905907 OpenGL: Windows - fall back to software renderer if OpenGL < 2.1 2020-05-20 13:45:16 +00:00
luigi1111
a8bd2ab77e Merge pull request #2913
0de1ba9 Windows installer: Update for Nitrogen Nebula 0.16.0.0 (rbrunner7)
2020-05-18 12:30:09 -05:00
luigi1111
149e373367 Merge pull request #2912
1503885 cmake: always link libgcc, libstdc++ statically (xiphon)
2020-05-18 12:29:15 -05:00
luigi1111
fa3c8b5f89 Merge pull request #2911
754a968 build: release-win64 support (xiphon)
2020-05-18 12:28:20 -05:00
luigi1111
e0f6577afd Merge pull request #2910
efc9ad4 cmake: fix Qt 5.14+ build, link Qt5QmlModels if available (xiphon)
2020-05-18 12:26:49 -05:00
Anonymous
43f0854de9 Translations from Weblate
Credits:

* Ukrainian

    * reketen
    * TheFuzzStone

* Spanish

    * Michael Russo
    * kombometralla
    * CharlesCrisco
    * Anonymous
    * porokon7
    * Juanpaab

* Korean

    * enaSo97

* Croatian

    * TasmaniaKrama

* Finnish

    * vaa red

* Italian

    * 8uDD4T
    * Anonymous

* Chinese (Traditional)

    * Lafudoci

* Esperanto

    * Gilberto F da Silva

* Romanian

    * Marius Tanislav
    * Anonymous
    * Vlad G.

* Russian

    * Agent LvM
    * solevoy-psih
    * v1docq47
    * TheFuzzStone
    * Russian Bear
    * translator133

* Japanese

    * Scott Anecito

* Portuguese (Portugal)

    * Anonymous

* French

    * Anonymous
    * Viktor

* Czech

    * Anonymous

* Chinese (Simplified)

    * jindouyunz
    * anony_xmr
    * tan
    * Muge Niu
    * Anonymous
    * TE Scott
    * razorshaman909

* Bulgarian

    * Weblate Admin

* Arabic

    * Weblate Admin

* Slovenian

    * Matija Mazi

* Polish

    * To Ja
    * Anonymous

* Portuguese (Brazil)

    * ANMNQ
    * Nelson Renan
    * netrik182
    * Anonymous
    * Boçogrolho Tabúrcio Mendez
    * Asdrubal Petronidas Calhofos

* Norwegian Bokmål

    * bitbooz
    * Anonymous

* Dutch

    * Marcus

* Swedish

    * B
    * peter hermansson

* Danish

    * KforG
    * Poul
    * Anonymous

* German

    * Wobole
    * Anonymous
    * René Brunner
    * GreenPiece
2020-05-18 09:42:46 +00:00
selsta
f38e460842 build: set submodule to v0.16.0.0 2020-05-18 01:40:53 +02:00
selsta
527adcba17 Utils: simplify for translations 2020-05-16 18:11:39 +02:00
René Brunner
0de1ba9f51 Windows installer: Update for Nitrogen Nebula 0.16.0.0 2020-05-15 15:09:40 +02:00
selsta
66e769603c QML: disable networking 2020-05-15 06:21:08 +02:00
xiphon
15038850c2 cmake: always link libgcc, libstdc++ statically 2020-05-15 02:28:47 +00:00
xiphon
efc9ad45e4 cmake: fix Qt 5.14+ build, link Qt5QmlModels if available 2020-05-15 02:27:09 +00:00
xiphon
754a968706 build: release-win64 support 2020-05-15 02:24:14 +00:00
luigi1111
c20a0ef928 Merge pull request #2908
210248e cmake: disable '-pie' on Win with gcc (xiphon)
2020-05-14 16:06:39 -05:00
luigi1111
eab98e3a48 Merge pull request #2906
da4e0db cmake: rename monero-gui binary to monero-wallet-gui (xiphon)
2020-05-14 16:05:53 -05:00
luigi1111
2a8960bc2c Merge pull request #2905
f82948f cmake: drop '-std=c++0x' compiler flag (xiphon)
2020-05-14 16:05:04 -05:00
luigi1111
fe68f59763 Merge pull request #2903
9dd3f4f add isTrezor() function (rating89us)
2020-05-14 16:04:17 -05:00
luigi1111
80e8dd6aef Merge pull request #2901
72a3b34 Merchant: allow to exit when height < minHeight (selsta)
2020-05-14 16:03:22 -05:00
luigi1111
c82bd94bc3 Merge pull request #2899
abbe042 Filter out multiple blanks in seed input when counting words (rbrunner7)
2020-05-14 16:02:27 -05:00
luigi1111
28ca9503df Merge pull request #2897
d662e46 Merchant: display size warning when height < minHeight (rating89us)
2020-05-14 16:01:28 -05:00
luigi1111
73cc400ae8 Merge pull request #2896
bbc9ca8 Transfer: fix html paragraph tag (rating89us)
2020-05-14 16:00:43 -05:00
luigi1111
8b7438ace2 Merge pull request #2894
f7271d1 SettingsNode: add translation to Address and Port strings (rating89us)
2020-05-14 15:59:40 -05:00
xiphon
210248e6ef cmake: disable '-pie' on Win with gcc 2020-05-14 18:48:08 +00:00
xiphon
f82948f4b0 cmake: drop '-std=c++0x' compiler flag 2020-05-13 14:29:01 +00:00
xiphon
da4e0dbf0f cmake: rename monero-gui binary to monero-wallet-gui 2020-05-13 14:26:14 +00:00
rating89us
9dd3f4fecb add isTrezor() function 2020-05-13 13:22:49 +02:00
rbrunner7
abbe042c8a Filter out multiple blanks in seed input when counting words 2020-05-13 07:51:31 +02:00
selsta
72a3b346bb Merchant: allow to exit when height < minHeight 2020-05-12 20:43:46 +02:00
rating89us
d662e46146 Merchant: display size warning when height < minHeight 2020-05-11 00:42:45 +02:00
rating89us
bbc9ca8f08 Transfer: fix html paragraph tag 2020-05-10 23:48:48 +02:00
rating89us
f7271d1c7b SettingsNode: add translation to Address and Port strings 2020-05-09 19:31:36 +02:00
luigi1111
afe1ae9b9c Merge pull request #2892
b616a14 LanguageSidebar: fix white theme (selsta)
2020-05-08 12:27:37 -05:00
luigi1111
7f5b8ea0ad Merge pull request #2890
2f8c0ca Main: clear spendable funds message when closing wallet (rating89us)
2020-05-08 12:26:24 -05:00
luigi1111
aa5000f556 Merge pull request #2876
4354a76 StandardDropdown: drop Qt 5.8 workaround (xiphon)
2020-05-08 12:25:15 -05:00
luigi1111
8b6978b2a5 Merge pull request #2829
86d21a3 trezor: support new passphrase entry mechanism (ph4r05)
2020-05-08 12:21:59 -05:00
Dusan Klinec
86d21a34ba trezor: support new passphrase entry mechanism
- passphrase can be prompted also when wallet is running (thus added to the wallet listener)
- device/host decision is now made on the host
2020-05-08 18:40:17 +02:00
xiphon
4354a76df9 StandardDropdown: drop Qt 5.8 workaround 2020-05-07 21:55:44 +00:00
selsta
b616a14f88 LanguageSidebar: fix white theme 2020-05-07 21:04:03 +02:00
luigi1111
7536e922e9 Merge pull request #2885
8f70fb4 Transfer: improve warning message while connecting (selsta)
2020-05-07 10:49:44 -05:00
luigi1111
5bf0dd9684 Merge pull request #2884
c439d68 main: fix local node status check on closing uninitialized wallet (xiphon)
2020-05-07 10:31:35 -05:00
luigi1111
cdf4ce2d6f Merge pull request #2891
37a8bcb SimpleMode: use connection timer 'running' prop, fix daemon restart (xiphon)
2020-05-07 10:30:13 -05:00
xiphon
37a8bcb525 SimpleMode: use connection timer 'running' prop, fix daemon restart 2020-05-07 13:40:43 +00:00
rating89us
2f8c0ca499 Main: clear spendable funds message when closing wallet 2020-05-06 19:18:55 +02:00
luigi1111
38612c1285 Merge pull request #2881
487e706 Improved daemon sync progress bar (rbrunner7)
2020-05-06 00:41:41 -05:00
luigi1111
1d3a201077 Merge pull request #2879
ca79525 Slider component (xiphon)
503c1af SettingsLayout: implement autosave, enabled by default (10 minutes) (xiphon)
2020-05-06 00:40:36 -05:00
luigi1111
a91a4f51ab Merge pull request #2871
7db5de0 WizardAskPassword: drop custom password fields, use LineEdit (xiphon)
2020-05-06 00:39:26 -05:00
luigi1111
52fbbae484 Merge pull request #2883
f26f146 PasswordDialog: fix focus on open (selsta)
2020-05-06 00:38:20 -05:00
selsta
8f70fb4f79 Transfer: improve warning message while connecting 2020-05-05 13:12:10 +02:00
xiphon
c439d6814b main: fix local node status check on closing uninitialized wallet 2020-05-04 14:48:56 +00:00
selsta
f26f1469ca PasswordDialog: fix focus on open 2020-05-03 15:51:46 +02:00
rbrunner7
487e706f06 Improved daemon sync progress bar 2020-05-02 16:34:54 +02:00
xiphon
503c1af5f8 SettingsLayout: implement autosave, enabled by default (10 minutes) 2020-05-02 01:54:11 +00:00
xiphon
ca79525fdb Slider component 2020-05-02 01:54:05 +00:00
xiphon
7db5de082d WizardAskPassword: drop custom password fields, use LineEdit 2020-05-02 01:32:35 +00:00
luigi1111
ce6cc47afe Merge pull request #2845
7f9b28c WizardNav: use PageIndicator in wizardProgress (rating89us)
2020-05-01 15:51:48 -05:00
luigi1111
a10a94f51c Merge pull request #2866
5265e52 ProcessingSplash: new design (selsta)
2020-05-01 15:11:43 -05:00
luigi1111
1833c16e39 Merge pull request #2785
be954cc StandardDropdown: fix margins, text overlapping (xiphon)
2020-05-01 15:10:49 -05:00
luigi1111
d7207bfde3 Merge pull request #2874
387e643 Transfer: fix 'call method estimateTransactionFeeAsync of undefined' (xiphon)
2020-05-01 15:09:49 -05:00
selsta
5265e52b8b ProcessingSplash: new design 2020-05-01 22:09:27 +02:00
luigi1111
b6fdb709ba Merge pull request #2873
4a7ccd8 SettingsLayout: add check for updates checkbox (selsta)
2020-05-01 15:07:50 -05:00
luigi1111
9aef3bab33 Merge pull request #2870
2195c67 LineEdit: password mode, linking. PasswordDialog: use LineEdit (xiphon)
2020-05-01 15:06:46 -05:00
luigi1111
4b55197e18 Merge pull request #2848
c7f9ac9 LanguageSidebar: reenable (selsta)
3835387 wizard: add flags to language sidebar (mmbyday, selsta)
2020-05-01 15:04:55 -05:00
luigi1111
11617d2f76 Merge pull request #2846
2102e4b Merchant: fix confirmations (selsta)
b245d0a MerchantTrackingList: point out unconfirmed amount (selsta)
07ecca5 Merchant: fix payment URL (selsta)
3af99e9 Merchant: remove unused variables (selsta)
2020-05-01 15:03:04 -05:00
luigi1111
765e93cfd0 Merge pull request #2840
d31e661 Transfer: redesign advanced options (rating89us)
2020-05-01 14:58:56 -05:00
rating89us
d31e661cd1 Transfer: redesign advanced options 2020-05-01 11:48:53 +02:00
rating89us
7f9b28c05f WizardNav: use PageIndicator in wizardProgress 2020-05-01 11:40:47 +02:00
selsta
4a7ccd8d82 SettingsLayout: add check for updates checkbox 2020-05-01 03:46:58 +02:00
xiphon
be954cc2c4 StandardDropdown: fix margins, text overlapping 2020-05-01 01:30:40 +00:00
xiphon
387e643ae9 Transfer: fix 'call method estimateTransactionFeeAsync of undefined' 2020-04-29 22:33:08 +00:00
luigi1111
6f71d47806 Merge pull request #2868
5c13624 DaemonManager: drop unused 'initialized', 'm_has_daemon' members (xiphon)
2020-04-28 21:41:19 -05:00
luigi1111
135c970ad9 Merge pull request #2865
cfdba59 Wallet: implement async wallet storing (xiphon)
2020-04-28 21:40:17 -05:00
luigi1111
fd5d1f584e Merge pull request #2861
4b0dcb9 StandardDialog: reset button text on close (selsta)
2020-04-28 21:38:59 -05:00
xiphon
2195c67f58 LineEdit: password mode, linking. PasswordDialog: use LineEdit 2020-04-28 20:44:53 +00:00
xiphon
5c13624596 DaemonManager: drop unused 'initialized', 'm_has_daemon' members 2020-04-28 20:42:23 +00:00
xiphon
cfdba59584 Wallet: implement async wallet storing 2020-04-28 20:36:22 +00:00
luigi1111
4141832a4d Merge pull request #2869
3d24300 SettingsNode: forbid 'data-dir', 'bootstrap-daemon-address' flags (xiphon)
2020-04-28 15:24:11 -05:00
luigi1111
5f183da6e3 Merge pull request #2867
9748974 DaemonManager: fix memory leak (xiphon)
2020-04-28 15:23:03 -05:00
luigi1111
30c54b1c6e Merge pull request #2864
ce4cb65 WizardAskPassword: hide strength if getPasswordStrength is missing (xiphon)
2020-04-28 15:22:02 -05:00
luigi1111
c1da3d1c97 Merge pull request #2863
120b528 WizardDaemonSettings: bootstrap node address 'auto' special case (xiphon)
2020-04-28 15:21:19 -05:00
luigi1111
cbd03229dd Merge pull request #2862
33c1a6f repo: cleanup unused images (selsta)
2020-04-28 15:20:22 -05:00
luigi1111
2fc1b287dd Merge pull request #2860
fdb7f80 SettingsInfo: fix number string formatting (selsta)
2020-04-28 15:19:36 -05:00
luigi1111
7c8c6a116f Merge pull request #2856
a810bf3 CheckBox: add enabled property (selsta)
2020-04-28 15:18:51 -05:00
luigi1111
ef93139a80 Merge pull request #2855
b022735 main: add --disable-check-updates flag (selsta)
2020-04-28 15:17:57 -05:00
luigi1111
1b7844ec34 Merge pull request #2854
a99eef6 always use native directory separators in paths (xiphon)
2020-04-28 15:16:57 -05:00
luigi1111
8f63e8870f Merge pull request #2851
7ebdb88 README: list libgcrypt linux (selsta)
2020-04-28 15:16:10 -05:00
luigi1111
286c75aa5b Merge pull request #2850
9b98e0a checkUpates: installer support (Win), use GUI buildTag and version (xiphon)
2020-04-28 15:14:40 -05:00
luigi1111
0a4d65dd99 Merge pull request #2849
02eec35 src: fix qt 5.15 warnings (selsta)
2020-04-28 15:13:45 -05:00
luigi1111
83ccadb6a8 Merge pull request #2847
238b1b7 pages: remove legacy code (selsta)
2020-04-28 15:12:57 -05:00
luigi1111
eae7eff9db Merge pull request #2844
81d5dd1 Transfer: add offline transaction signing info in send button warning (rating89us)
2020-04-28 15:11:58 -05:00
selsta
2102e4be0d Merchant: fix confirmations 2020-04-28 19:30:22 +02:00
selsta
02eec351b9 src: fix qt 5.15 warnings 2020-04-28 19:00:53 +02:00
xiphon
ce4cb6512d WizardAskPassword: hide strength if getPasswordStrength is missing 2020-04-28 15:05:43 +00:00
xiphon
3d24300963 SettingsNode: forbid 'data-dir', 'bootstrap-daemon-address' flags 2020-04-27 13:18:23 +00:00
xiphon
9748974ce0 DaemonManager: fix memory leak 2020-04-27 12:46:15 +00:00
xiphon
120b5285fb WizardDaemonSettings: bootstrap node address "auto" special case 2020-04-26 01:14:29 +00:00
selsta
b022735506 main: add --disable-check-updates flag 2020-04-26 02:57:35 +02:00
selsta
33c1a6f4fc repo: cleanup unused images 2020-04-26 02:18:35 +02:00
selsta
4b0dcb95bf StandardDialog: reset button text on close 2020-04-25 21:10:25 +02:00
selsta
fdb7f806fa SettingsInfo: fix number string formatting 2020-04-25 20:55:32 +02:00
selsta
a810bf3eb7 CheckBox: add enabled property 2020-04-24 04:35:21 +02:00
xiphon
a99eef68f5 always use native directory separators in paths 2020-04-24 00:43:40 +00:00
selsta
7ebdb884a1 README: list libgcrypt linux 2020-04-23 23:31:43 +02:00
selsta
c7f9ac926b LanguageSidebar: reenable 2020-04-23 20:28:09 +02:00
xiphon
9b98e0a2f5 checkUpates: installer support (Win), use GUI buildTag and version 2020-04-23 16:08:10 +00:00
mmbyday
3835387eea wizard: add flags to language sidebar 2020-04-23 00:04:07 +02:00
selsta
238b1b777f pages: remove legacy code 2020-04-22 23:18:08 +02:00
selsta
3af99e91e4 Merchant: remove unused variables 2020-04-22 22:10:40 +02:00
selsta
07ecca5af4 Merchant: fix payment URL
This would previously get loaded on the Receive page.
2020-04-22 22:10:40 +02:00
selsta
b245d0af7a MerchantTrackingList: point out unconfirmed amount 2020-04-22 22:10:40 +02:00
luigi1111
585fb2810d Merge pull request #2843
5076757 SettingsLog: don't assign color to font family (selsta)
2020-04-22 13:37:34 -05:00
luigi1111
0784532001 Merge pull request #2842
1d5b940 Merchant: fix close button (selsta)
2020-04-22 13:36:37 -05:00
luigi1111
dcbdae0954 Merge pull request #2841
3563d44 Transfer: move address field to the top (rating89us)
2020-04-22 13:35:49 -05:00
luigi1111
2bef74fe8a Merge pull request #2838
ffceda9 SettingsLayout: add checkbox 'ask for password before sending a transaction' (rating89us)
2020-04-22 13:34:47 -05:00
rating89us
81d5dd1cae Transfer: add offline transaction signing info in send button warning 2020-04-21 20:57:55 +02:00
selsta
50767570f0 SettingsLog: don't assign color to font family 2020-04-21 20:02:23 +02:00
selsta
1d5b940349 Merchant: fix close button 2020-04-21 19:42:05 +02:00
rating89us
3563d44d99 Transfer: move address field to the top 2020-04-18 19:25:45 +02:00
rating89us
ffceda9159 SettingsLayout: add checkbox 'ask for password before sending a transaction' 2020-04-18 17:42:27 +02:00
luigi1111
a75a0fb8c5 Merge pull request #2839
fee81ba workflows: add trezor support ubuntu (selsta)
2020-04-17 22:10:21 -05:00
luigi1111
5fa64c34ec Merge pull request #2831
de6a9b6 Transfer: address book inline button, 2nd inline button, scan QR code button fixes (rating89us)
2020-04-17 22:09:18 -05:00
luigi1111
376421667a Merge pull request #2836
3f13a5c QRCodeScanner: don't load webcam on startup (mmbyday/selsta)
2020-04-17 20:53:46 -05:00
luigi1111
8a73fd241e Merge pull request #2835
a078705 QrScanThread: use sizeInBytes to fix warning (selsta)
2020-04-17 20:52:33 -05:00
luigi1111
9760886eff Merge pull request #2834
fb7470a build: find zbar header on macOS (selsta)
2020-04-17 20:49:18 -05:00
luigi1111
34089599cd Merge pull request #2833
e2c6ae6 AddressBook: remove leftover code (selsta)
2020-04-17 20:46:49 -05:00
luigi1111
4a7a98034e Merge pull request #2832
ea25b71 updater: fetch signed hashes from getmonero.org, verify downloads (xiphon)
2020-04-17 20:45:24 -05:00
luigi1111
79f78f48e2 Merge pull request #2830
5ebe3f5 Settings: move Merchant menu entry (tobtoht/selsta)
2020-04-17 20:43:40 -05:00
selsta
fee81ba210 workflows: add trezor support ubuntu 2020-04-16 22:53:33 +02:00
selsta
a078705ec6 QrScanThread: use sizeInBytes to fix warning 2020-04-16 19:11:29 +02:00
rating89us
de6a9b6779 Transfer: address book inline button, 2nd inline button, scan QR code button fixes
spacing fix
2020-04-16 13:25:28 +02:00
mmbyday
3f13a5c9a4 QRCodeScanner: don't load webcam on startup 2020-04-16 03:29:39 +02:00
selsta
fb7470a2a6 build: find zbar header on macOS 2020-04-16 03:13:33 +02:00
selsta
e2c6ae6472 AddressBook: remove leftover code 2020-04-16 02:08:32 +02:00
xiphon
ea25b71ca6 updater: fetch signed hashes from getmonero.org, verify downloads 2020-04-14 21:37:04 +00:00
thotbot
5ebe3f5092 Settings: move Merchant menu entry 2020-04-13 23:15:14 +02:00
luigi1111
8e4124f06a Merge pull request #2828
e1258e0 TitleBar: fix close icon fallback (selsta)
2020-04-13 15:49:17 -05:00
luigi1111
e47fd5f760 Merge pull request #2827
925cced README: add weblate's widget for translations status (erciccione)
2020-04-13 15:48:14 -05:00
luigi1111
8767c71107 Merge pull request #2825
94083e7 cmake: use monero core compilation and linking flags (xiphon)
2020-04-13 15:46:38 -05:00
luigi1111
2156a6533b Merge pull request #2824
5f27a45 '--verify-update', shasum support, OpenPGP signatures verification (xiphon)
2020-04-13 15:43:24 -05:00
luigi1111
7eac690d44 Merge pull request #2822
a49d579 build: fix MSYS2 folder detection (xiphon)
2020-04-13 15:40:42 -05:00
luigi1111
31adc6cfd6 Merge pull request #2821
6d7db13 Settings: rework wallet page (thotbot/xiphon)
2020-04-13 15:39:54 -05:00
luigi1111
d582fd338d Merge pull request #2819
6ed7fce UpdateDialog: implement update download functionality (xiphon)
2020-04-13 15:38:06 -05:00
luigi1111
eed51e3ffa Merge pull request #2772
48aab5c WalletManager: wallet recovery - seed offset passphrase support (xiphon)
2020-04-13 15:36:44 -05:00
luigi1111
6a889bdaa1 Merge pull request #2739
b5fafb5 Transfer: display estimated transaction fee, requires #6302 (xiphon)
2020-04-13 15:35:44 -05:00
xiphon
5f27a45910 '--verify-update', shasum support, OpenPGP signatures verification 2020-04-12 21:34:22 +00:00
selsta
e1258e0ada TitleBar: fix close icon fallback 2020-04-10 13:55:25 +02:00
erciccione
925cced7d7 README: add weblate's widget for translations status 2020-04-09 12:25:54 +02:00
xiphon
94083e746f cmake: use monero core compilation and linking flags 2020-04-08 02:31:16 +00:00
xiphon
a49d579bd3 build: fix MSYS2 folder detection 2020-04-06 17:22:34 +00:00
xiphon
6ed7fcec67 UpdateDialog: implement update download functionality 2020-04-06 16:59:33 +00:00
thotbot
6d7db135e7 Settings: rework wallet page 2020-04-05 13:07:11 +00:00
luigi1111
042400b83f Set submodule back to master 2020-04-04 14:30:32 -05:00
luigi1111
df54439972 Merge pull request #2818
a9fea24 workflows: retry on apt failure / increase timeout (selsta)
2020-04-04 13:22:37 -05:00
luigi1111
86252506f0 Merge pull request #2817
58987b2 network: provide common HTTP GET functionality with js callbacks (xiphon)
2020-04-04 13:21:23 -05:00
selsta
a9fea2462b workflows: retry on apt failure / increase timeout
Co-authored-by: xiphon <xiphon@protonmail.com>
2020-04-01 00:50:24 +02:00
xiphon
58987b2ec6 network: provide common HTTP GET functionality with js callbacks 2020-03-31 21:37:19 +00:00
luigi1111
aecd218d15 Merge pull request #2807
d07da76 MenuButton: add hover effect (xiphon)
2020-03-27 10:55:07 -05:00
luigi1111
856843b52a Merge pull request #2803
5872bc8 build: disable _FORTIFY_SOURCE when building without optimization (xiphon)
2020-03-27 10:53:46 -05:00
luigi1111
fc740a89ab Merge pull request #2801
dede10e Add QT Creator cache file to gitignore (tobtoht)
2020-03-27 10:19:31 -05:00
luigi1111
0643607ec3 Merge pull request #2792
d21c22b SettingsNode: blockchain location 'Reset' button (xiphon)
2020-03-27 10:16:58 -05:00
xiphon
5872bc8a2b build: disable _FORTIFY_SOURCE when building without optimization 2020-03-23 06:34:18 +00:00
xiphon
d07da76383 MenuButton: add hover effect 2020-03-14 01:19:08 +00:00
luigi1111
c092de97f2 Merge pull request #2805
c9e461d build: set submodule to v0.15.0.5 (selsta)
2020-03-10 18:58:00 -04:00
luigi1111
c84a8fb07d Merge pull request #2799
55b548f qt: drop Qt Network and Qt OpenSSL deps, use epee library instead (xiphon)
2020-03-10 18:56:04 -04:00
luigi1111
63b4566475 Merge pull request #2796
c7df74d README: add protobuf to linux instructions (selsta)
2020-03-10 18:50:54 -04:00
luigi1111
3699dc9f2e Merge pull request #2795
94a27b9 README: cleanup macOS instructions (selsta)
2020-03-10 18:49:22 -04:00
luigi1111
eee48ce74c Merge pull request #2797
b739cdd cmake: -static, -static-libgcc, -static-libstdc++ linker flags (xiphon)
2020-03-10 18:48:01 -04:00
luigi1111
9072f89a4e Merge pull request #2794
bf9b04b installers: fix warning (selsta)
2020-03-10 18:46:45 -04:00
selsta
c9e461dcb6 build: set submodule to v0.15.0.5 2020-03-09 20:50:16 +01:00
xiphon
55b548f31c qt: drop Qt Network and Qt OpenSSL deps, use epee library instead 2020-03-09 11:05:49 +00:00
thotbot
dede10ea1a Add QT Creator cache file to gitignore 2020-03-08 15:58:29 +00:00
xiphon
b739cdd52a cmake: -static, -static-libgcc, -static-libstdc++ linker flags 2020-03-06 11:54:16 +00:00
selsta
94a27b964a README: cleanup macOS instructions 2020-03-06 02:06:08 +01:00
selsta
c7df74dab7 README: add protobuf to linux instructions 2020-03-06 01:52:00 +01:00
selsta
bf9b04b126 installers: fix warning 2020-03-04 20:02:08 +01:00
xiphon
d21c22b444 SettingsNode: blockchain location 'Reset' button 2020-03-02 10:35:50 +00:00
luigi1111
cee56a7d23 Merge pull request #2789
dc3a99c Add and activate new language: Norwegian (erciccione)
2020-02-28 16:16:01 -05:00
luigi1111
c3a34227b7 Merge pull request #2788
566beea Add translations from Weblate + refresh + 1 new language: Norwegian (Monero-Weblate)
2020-02-28 16:14:19 -05:00
luigi1111
7a86856063 Merge pull request #2787
9deca92 fix multiple minor issues (c-style casts, default branch, etc.) (xiphon)
2020-02-28 16:11:15 -05:00
luigi1111
86f35992dc Merge pull request #2786
09ff85a main: show splash screen after passphrase entry (selsta)
2020-02-28 16:10:31 -05:00
luigi1111
cb84652c8e Merge pull request #2781
a0b6c8a PasswordDialog: don't skip equality check (selsta)
2020-02-28 16:09:36 -05:00
erciccione
dc3a99c9ca Add and activate new language: Norwegian 2020-02-28 14:08:23 +01:00
Weblate
566beeaf4b Add translations from Weblate + refresh + 1 new language: Norwegian
Refresh language files (Including monero-core.ts)

results:

Found 656 source text(s) (27 new and 629 already existing)
    Removed 18 obsolete entries

Translations:

Hungarian

Currently translated at 78.2% (506 of 647 strings)
Translate-URL: https://translate.getmonero.org/projects/monero/gui-wallet/hu/
Author: Zsolt András Kovács

Norwegian Bokmål

Currently translated at 100.0% (647 of 647 strings)
Translate-URL: https://translate.getmonero.org/projects/monero/gui-wallet/nb_NO/
Author: Chris
Reviewed by Luigi1111 and Rehrar in behalf of luigi1111's reviewer

Italian

Currently translated at 94.0% (608 of 647 strings)
Translate-URL: https://translate.getmonero.org/projects/monero/gui-wallet/it/
Author: Marco

    Ukrainian

    Currently translated at 93.2% (603 of 647 strings)
    Translate-URL: https://translate.getmonero.org/projects/monero/gui-wallet/uk/
    Author: Agent LvM

    Portuguese (Brazil)

    Currently translated at 97.7% (632 of 647 strings)
    Translate-URL: https://translate.getmonero.org/projects/monero/gui-wallet/pt_BR/
    Author: netrik182
2020-02-28 12:49:34 +00:00
xiphon
9deca92e07 fix multiple minor issues (c-style casts, default branch, etc.) 2020-02-28 10:25:57 +00:00
selsta
09ff85af44 main: show splash screen after passphrase entry 2020-02-27 18:39:35 +01:00
selsta
a0b6c8a397 PasswordDialog: don't skip equality check
credit to consistent-dream
2020-02-27 15:29:35 +01:00
luigi1111
44dfb80633 Merge pull request #2783
dfd8ff9 main: fix Trezor passphrase screen (selsta)
2020-02-26 14:52:44 -05:00
luigi1111
7067195c2f Merge pull request #2785
c14852c WizardController: invoke restart() after persistentSettings update (xiphon)
2020-02-26 14:51:10 -05:00
luigi1111
19cf510e62 Merge pull request #2784
57d3302 workflows: fix macOS build (selsta)
2020-02-26 14:17:57 -05:00
xiphon
c14852cbd7 WizardController: invoke restart() after persistentSettings update 2020-02-26 17:53:35 +00:00
selsta
57d330244b workflows: fix macOS build 2020-02-25 22:33:50 +01:00
selsta
dfd8ff9809 main: fix Trezor passphrase screen 2020-02-25 21:24:58 +01:00
luigi1111
b4a65c52cc Merge pull request #2778
636ca1c DaemonManager: async stop, simple mode wizard - show splash on stop (xiphon)
2020-02-19 22:17:04 -05:00
luigi1111
386c5e3d30 Merge pull request #2777
872b18d Simple mode: don't override bootstrap daemon textbox (selsta)
2020-02-19 22:16:13 -05:00
luigi1111
5069e6ecae Merge pull request #2776
98abdaa build: fix all warnings, treat warnings as errors (xiphon)
2020-02-19 22:15:08 -05:00
luigi1111
7c38a836d3 Merge pull request #2775
fbfc531 History: display Address Book names for known destination addresses (xiphon)
2020-02-19 22:13:53 -05:00
luigi1111
0731972499 Merge pull request #2774
0af7a43 macOS: add copyright notice (selsta)
2020-02-19 22:10:43 -05:00
luigi1111
f9b9d43ac1 Merge pull request #2773
478fdda macOS: add version to info.plist (selsta)
2020-02-19 22:09:43 -05:00
luigi1111
d1e431c5e8 Merge pull request #2769
98ab4ea misc: strip html out of translatable strings (selsta)
2020-02-19 22:07:38 -05:00
luigi1111
4c0996888a Merge pull request #2764
a20422d Transfer: allow to import key images using trusted remote node (xiphon)
2020-02-19 22:06:50 -05:00
luigi1111
a9d855ad00 Merge pull request #2584
d175070 installer: change blockchain folder string (selsta)
2020-02-19 22:05:43 -05:00
xiphon
636ca1c41d DaemonManager: async stop, simple mode wizard - show splash on stop 2020-02-16 15:01:17 +00:00
selsta
872b18d5af Simple mode: don't override bootstrap daemon textbox 2020-02-16 15:09:36 +01:00
xiphon
98abdaa5d5 build: fix all warnings, treat warnings as errors 2020-02-16 13:55:08 +00:00
xiphon
b5fafb55c9 Transfer: display estimated transaction fee, requires #6302 2020-02-16 11:55:36 +00:00
xiphon
fbfc5310d5 History: display Address Book names for known destination addresses 2020-02-15 15:57:38 +00:00
selsta
478fddaf57 macOS: add version to info.plist 2020-02-14 14:32:04 +01:00
selsta
d175070f55 installer: change blockchain folder string 2020-02-13 16:45:08 +01:00
selsta
0af7a4320d macOS: add copyright notice 2020-02-13 13:11:05 +01:00
xiphon
48aab5c6e5 WalletManager: wallet recovery - seed offset passphrase support 2020-02-12 13:49:26 +00:00
xiphon
a20422da74 Transfer: allow to import key images using trusted remote node 2020-02-06 15:14:38 +00:00
luigi1111
eb7fae92ef Merge pull request #2765
0629f06 DaemonManager: check monerod binary, error details on start failure (xiphon)
2020-02-05 21:42:11 -05:00
luigi1111
4b1a6eb49b Merge pull request #2718
e05e634 Keys: rename keys section to primary address & keys, add primary address (rating89us)
2020-02-05 21:41:07 -05:00
luigi1111
df614cd0a0 Merge pull request #2712
b4a6569 History: add filter options in search field (rating89us)
2020-02-05 21:40:17 -05:00
luigi1111
0adafaaa91 Merge pull request #2711
023951f Transfer: import key images always visible (rating89us)
2020-02-05 21:39:34 -05:00
luigi1111
467dd8b664 Merge pull request #2702
c7f272d Wizard: open wallet -> create wallet (rating89us)
2020-02-05 21:38:47 -05:00
luigi1111
dba48334e6 Merge pull request #2689
e5a6a50 Wizard: remove unnecessary periods (rating89us)
2020-02-05 21:37:35 -05:00
selsta
98ab4ea2aa misc: strip html out of translatable strings 2020-02-05 17:06:52 +01:00
xiphon
0629f06156 DaemonManager: check monerod binary, error details on start failure 2020-02-04 23:27:48 +00:00
rating89us
e05e6346ac Keys: rename keys section to primary address & keys, add primary address 2020-02-04 21:51:03 +01:00
luigi1111
d5469c8247 Merge pull request #2759
900f478 MenuButton: fix gradient (selsta)
2020-02-04 14:37:17 -05:00
luigi1111
080ec28eb4 Merge pull request #2758
742a465 AddressBook: thread-safety, fix use-after-free (xiphon)
2020-02-04 14:36:35 -05:00
luigi1111
8f197bc6ac Merge pull request #2756
b6d554e LeftPanel: NetworkStatusItem fixed at bottom left corner (rating89us)
2020-02-04 14:35:18 -05:00
luigi1111
82bc71c81d Merge pull request #2594
24ac001 main: fix warning (selsta)
2020-02-04 14:34:23 -05:00
luigi1111
5a4f27b375 Merge pull request #2592
163fa73 WizardOpenWallet1: fix warning (selsta)
2020-02-04 14:33:34 -05:00
rating89us
b6d554eebd LeftPanel: NetworkStatusItem fixed at bottom left corner 2020-02-02 18:51:50 +01:00
selsta
900f478abe MenuButton: fix gradient 2020-02-01 23:01:10 +01:00
xiphon
742a4659f4 AddressBook: thread-safety, fix use-after-free 2020-02-01 14:21:33 +00:00
luigi1111
35b7a5f6bb Merge pull request #2747
6940390 Wallet: implement 'Connecting' status, add 'disconnected' property (xiphon)
2020-01-30 16:32:56 -05:00
luigi1111
21e8c7ca17 Merge pull request #2749
e59e247 Merchant: strip html tags out of translatable string (xiphon)
2020-01-30 16:31:55 -05:00
luigi1111
8ef1b41093 Merge pull request #2748
8940d2b Translations from Weblate + Updated language files (Monero-Weblate)
2020-01-28 15:27:04 -05:00
luigi1111
911ff4288d Merge pull request #2746
7ebf50d Keys: stop displaying hw device msg in view-only wallets (rating89us)
2020-01-28 15:25:36 -05:00
luigi1111
6dd759de33 Merge pull request #2744
2c515ce History: address filter case insensitive (rating89us)
2020-01-28 15:24:34 -05:00
xiphon
e59e247048 Merchant: strip html tags out of translatable string 2020-01-28 16:33:01 +00:00
Weblate
8940d2b8d1 Translations from Weblate + Updated language files
Refresh:
Found 647 source text(s) (44 new and 603 already existing)
    Removed 45 obsolete entries

Translations:

Portuguese (Brazil)

Currently translated at 100.0% (648 of 648 strings)
Translate-URL: https://translate.getmonero.org/projects/monero/gui-wallet/pt_BR/

Korean

Currently translated at 37.3% (242 of 648 strings)
Translate-URL: https://translate.getmonero.org/projects/monero/gui-wallet/ko/

Spanish

Currently translated at 89.5% (580 of 648 strings)
Translate-URL: https://translate.getmonero.org/projects/monero/gui-wallet/es/

Swedish

Currently translated at 80.9% (524 of 648 strings)
Translate-URL: https://translate.getmonero.org/projects/monero/gui-wallet/sv/

Greek

Currently translated at 13.6% (88 of 648 strings)
Translate-URL: https://translate.getmonero.org/projects/monero/gui-wallet/el/

Dutch

Currently translated at 100.0% (648 of 648 strings)
Translate-URL: https://translate.getmonero.org/projects/monero/gui-wallet/nl/

Korean

Currently translated at 37.2% (241 of 648 strings)
Translate-URL: https://translate.getmonero.org/projects/monero/gui-wallet/ko/

Russian

Currently translated at 100.0% (648 of 648 strings)
Translate-URL: https://translate.getmonero.org/projects/monero/gui-wallet/ru/

Lithuanian

Currently translated at 61.1% (396 of 648 strings)
Translate-URL: https://translate.getmonero.org/projects/monero/gui-wallet/lt/
2020-01-28 15:44:40 +00:00
xiphon
6940390a5e Wallet: implement 'Connecting' status, add 'disconnected' property 2020-01-28 05:11:29 +00:00
rating89us
7ebf50dc6f Keys: stop displaying hw device msg in view-only wallets 2020-01-27 10:07:07 +01:00
rating89us
2c515ceb74 History: address filter case insensitive 2020-01-27 01:53:31 +01:00
luigi1111
39aa6e76b1 Merge pull request #2740
a3f5460 build: fix cmake command line ARCH def, add ARCH=native fallback (xiphon)
2e262d4 workflows: checkout v2 -> v1 (selsta)
2020-01-24 22:02:29 -05:00
luigi1111
aa5962519a Merge pull request #2733
f266480 Style: All button (transfer page) in white text (rating89us)
2020-01-24 21:59:47 -05:00
xiphon
a3f5460d12 build: fix cmake command line ARCH def, add ARCH=native fallback 2020-01-24 20:31:45 +01:00
selsta
2e262d41d7 workflows: checkout v2 -> v1 2020-01-24 13:16:22 +01:00
luigi1111
6de8547047 Merge pull request #2736
7e6fcff Update Arch Linux installation instructions (trulex)
2020-01-23 10:28:05 -05:00
luigi1111
59954df199 Merge pull request #2730
96106cc resources: drop JPEG images (xiphon)
2020-01-23 10:26:54 -05:00
luigi1111
8a66f7b6f7 Merge pull request #2729
ed9e061 cmake: set minimum required CMake version to 3.5 (Ubuntu 16.04 LTS) (xiphon)
2020-01-23 10:25:21 -05:00
luigi1111
a5e5bfad46 Merge pull request #2728
b56c0cd cmake: fix Linux detection (xiphon)
2020-01-23 10:24:36 -05:00
luigi1111
2058c78943 Merge pull request #2727
0043905 workflows: update checkout to v2 (selsta)
f36098d workflows: remove bundled boost (selsta)
2020-01-23 10:22:34 -05:00
luigi1111
4d279a5f02 Merge pull request #2726
fae5956 README: link to figma (design) (selsta)
2020-01-23 10:16:55 -05:00
luigi1111
29f0c4667c Merge pull request #2725
8dfd7a3 README: link to weblate (selsta)
2020-01-23 10:15:17 -05:00
luigi1111
f00b7b42c0 Merge pull request #2724
098e78f README: remove deprecated forum (selsta)
2020-01-23 10:14:27 -05:00
luigi1111
80a3da6efa Merge pull request #2723
4a30d1f Account: update label after rename (selsta)
2020-01-23 10:13:22 -05:00
luigi1111
2a1cd7dc01 Merge pull request #2719
148c1b9 Transfer: fix Send button state not being updated properly (xiphon)
2020-01-23 10:12:20 -05:00
luigi1111
9bc6e041ee Merge pull request #2717
cc22693 StandardDropdown: remove dots from upper corners (rating89us)
2020-01-23 10:10:52 -05:00
luigi1111
3bab6ccedf Merge pull request #2716
c4bdf56 Remove paste buttons (rating89us)
2020-01-23 10:09:47 -05:00
luigi1111
eebbd2b93e Merge pull request #2715
a8618b0 Pass -dead_strip and -dead_strip_dylibs on macOS (rex4539)
2020-01-23 10:08:50 -05:00
luigi1111
a807dcd5df Merge pull request #2714
50f3e67 Receive: buttons in rows + labels + 3D depth + FontAwesome icons (rating89us)
2020-01-23 10:06:51 -05:00
luigi1111
0009a886fe Merge pull request #2707
266b1f1 CheckBox: fix word wrap on windows (Qt 5.13.2) (selsta)
2020-01-22 17:25:52 -05:00
luigi1111
9c2bceaaed Merge pull request #2615
7cf0f21 build: support ARCH override for libwallet_merged (xiphon)
2020-01-22 17:21:40 -05:00
rating89us
50f3e67e81 Receive: buttons in rows + labels + 3D depth + FontAwesome icons 2020-01-19 17:29:49 -03:00
Darko Janković
7e6fcff3ee Update Arch Linux installation instructions 2020-01-19 17:32:27 +01:00
rating89us
f266480f7d Style: All button (transfer page) in white text 2020-01-18 14:12:25 -03:00
xiphon
96106cc818 resources: drop JPEG images 2020-01-17 11:58:51 +00:00
xiphon
ed9e061489 cmake: set minimum required CMake version to 3.5 (Ubuntu 16.04 LTS) 2020-01-17 11:01:30 +00:00
xiphon
b56c0cd8a2 cmake: fix Linux detection 2020-01-17 10:40:51 +00:00
selsta
f36098d60f workflows: remove bundled boost 2020-01-17 02:03:16 +01:00
selsta
00439052e6 workflows: update checkout to v2 2020-01-17 01:56:25 +01:00
selsta
fae5956bfb README: link to figma (design) 2020-01-17 00:41:48 +01:00
selsta
8dfd7a300d README: link to weblate 2020-01-17 00:36:27 +01:00
xiphon
7cf0f21ec0 build: support ARCH override for libwallet_merged 2020-01-16 13:54:52 +00:00
selsta
098e78f4ef README: remove deprecated forum 2020-01-16 03:58:20 +01:00
selsta
4a30d1fc38 Account: update label after rename 2020-01-15 22:41:39 +01:00
xiphon
148c1b9816 Transfer: fix Send button state not being updated properly 2020-01-15 13:52:40 +00:00
rating89us
cc22693504 StandardDropdown: remove dots from upper corners 2020-01-14 22:02:02 -03:00
rating89us
c4bdf5621c Remove paste buttons 2020-01-14 03:29:54 -03:00
Dimitris Apostolou
a8618b0471 Pass -dead_strip and -dead_strip_dylibs on macOS 2020-01-13 14:01:43 +02:00
rating89us
b4a6569e63 History: add filter options in search field 2020-01-12 16:20:20 -03:00
rating89us
e5a6a50e49 Wizard: remove unnecessary periods 2020-01-09 20:12:08 -03:00
rating89us
c7f272d86a Wizard: open wallet -> create wallet 2020-01-09 18:24:16 -03:00
rating89us
023951fd84 Transfer: import key images always visible
Closes #2687
2020-01-08 23:08:17 -03:00
luigi1111
ef2b0cfa4a Merge pull request #2709
a5b500c main: add blur to wizard password dialog (selsta)
2020-01-08 18:43:03 -05:00
luigi1111
fe08950b03 Merge pull request #2708
16fd1d1 windeploy: add libzstd and update libicu* (iDunk5400)
2020-01-08 18:40:42 -05:00
selsta
a5b500cd93 main: add blur to wizard password dialog 2020-01-08 21:56:15 +01:00
iDunk5400
16fd1d1eee windeploy: add libzstd and update libicu* 2020-01-08 21:47:04 +01:00
sebseb7
266b1f167d CheckBox: fix word wrap on windows (Qt 5.13.2) 2020-01-08 21:38:57 +01:00
luigi1111
40a1edbbcb Merge pull request #2695
5ca671e workflows: rename to be consistent with cli repo (selsta)
2020-01-06 11:21:25 -05:00
luigi1111
0999daf1f2 Merge pull request #2693
c98ffcc workflows: add windows support (selsta)
2020-01-06 11:20:29 -05:00
luigi1111
7462c64fe2 Merge pull request #2692
e74075b build: link ole32 on windows (selsta)
2020-01-06 11:17:47 -05:00
luigi1111
4920df95e3 Merge pull request #2691
916c0e4 workflows: fix macOS build (selsta)
2020-01-06 11:17:01 -05:00
luigi1111
6a453039ee Merge pull request #2694
118ad12 Update WizardCreateDevice1.qml (rating89us)
2020-01-02 10:52:18 -05:00
luigi1111
5281244b33 Merge pull request #2690
b626fcb build: autodetect MSYS2 install path, support non-standard location (xiphon)
2020-01-02 10:50:39 -05:00
luigi1111
525822f391 Merge pull request #2684
c765bbb build: define Boost_USE_STATIC_RUNTIME for static builds (xiphon)
2020-01-02 10:47:44 -05:00
luigi1111
23e3d82441 Merge pull request #2676
181866b Set minimum window size (tobtoht)
2020-01-02 10:46:18 -05:00
selsta
5ca671e5f5 workflows: rename to be consistent with cli repo 2019-12-31 00:20:49 +01:00
rating89us
118ad125c4 Update WizardCreateDevice1.qml 2019-12-30 13:47:45 -03:00
selsta
c98ffcca5d workflows: add windows support 2019-12-30 13:36:51 +01:00
selsta
e74075bb0e build: link ole32 on windows 2019-12-30 13:29:17 +01:00
selsta
916c0e4406 workflows: fix macOS build 2019-12-30 11:03:05 +01:00
xiphon
b626fcba08 build: autodetect MSYS2 install path, support non-standard location 2019-12-30 09:44:21 +00:00
xiphon
c765bbb1fd build: define Boost_USE_STATIC_RUNTIME for static builds 2019-12-24 11:25:17 +00:00
luigi1111
43f378b7d2 Merge pull request #2644
3c6a1e4 wizard: fix mode selection back button (selsta)
2019-12-23 09:30:21 -05:00
luigi1111
b73551d6ab Merge pull request #2643
3528bcd main: show wizard init screen when no wallet is found (selsta)
2019-12-23 09:29:15 -05:00
luigi1111
632d82ac95 Merge pull request #2640
c5785ed main: fix wallet lock is unlocked without password (selsta)
2019-12-23 09:28:21 -05:00
luigi1111
3fb775de28 Merge pull request #2680
6d0593a build: fix build on Ubuntu 16.04 GCC 5.4 (missing includes) (xiphon)
2019-12-23 09:06:27 -05:00
luigi1111
82affff63f Merge pull request #2679
13ea403 FutureScheduler: drop moveToThread, setParent might silently fail (xiphon)
2019-12-23 09:05:09 -05:00
xiphon
6d0593a26b build: fix build on Ubuntu 16.04 GCC 5.4 (missing includes) 2019-12-23 12:01:41 +00:00
xiphon
13ea4035b5 FutureScheduler: drop moveToThread, setParent might silently fail 2019-12-23 11:35:47 +00:00
luigi1111
1c97e9796d Merge pull request #2601
4a86a1c remove colored dots (tobtoht)
2019-12-21 18:43:06 -05:00
luigi1111
4eca4194b7 Merge pull request #2675
3f4f6f0 misc: remove unused components (tobtoht)
2019-12-21 18:16:01 -05:00
luigi1111
5c801ec2ad Merge pull request #2674
ded0a4d Scrollbar: don't autohide if enabled (except on Mac) (tobtoht)
2019-12-21 18:15:09 -05:00
luigi1111
7f324fb3e6 Merge pull request #2673
6a5de80 Add *.autosave (tobtoht)
2019-12-21 18:14:17 -05:00
luigi1111
710159a236 Merge pull request #2670
1fef418 main: enable high DPI scaling (selsta)
2019-12-21 18:12:46 -05:00
luigi1111
7afbcc9855 Merge pull request #2665
c6c094b SettingsWallet: cleanup on wallet close (xiphon)
2019-12-21 18:10:59 -05:00
luigi1111
8d0647d677 Merge pull request #2650
10dea60 Settings: fix page height (tobtoht)
2019-12-21 18:09:53 -05:00
luigi1111
9a5296f00e Merge pull request #2648
beeddea build: add application icon on Windows (xiphon)
2019-12-21 18:07:53 -05:00
luigi1111
6f53cc4dda Merge pull request #2645
66f6b95 Account: update balance card label (selsta)
2019-12-21 18:07:07 -05:00
luigi1111
86f573f02c Merge pull request #2642
f8262b0 misc: cleanup unused variables and comments (selsta)
2019-12-21 18:06:17 -05:00
thotbot
181866ba4a Set minimum window size 2019-12-21 21:43:37 +00:00
thotbot
ded0a4da48 Scrollbar: don't autohide if enabled (except on Mac) 2019-12-21 18:33:36 +00:00
thotbot
3f4f6f01dc misc: remove unused components 2019-12-21 15:13:23 +00:00
thotbot
6a5de80bd9 Add *.autosave 2019-12-21 11:16:43 +00:00
selsta
1fef418adb main: enable high DPI scaling 2019-12-21 06:31:25 +01:00
xiphon
c6c094bbd5 SettingsWallet: cleanup on wallet close 2019-12-20 19:28:17 +00:00
thotbot
10dea6073b Settings: fix page height 2019-12-20 16:15:36 +00:00
xiphon
beeddea678 build: add application icon on Windows 2019-12-20 13:27:47 +00:00
selsta
66f6b95b5c Account: update balance card label 2019-12-20 07:29:19 +01:00
selsta
3c6a1e45d7 wizard: fix mode selection back button 2019-12-20 06:32:42 +01:00
selsta
3528bcd6b5 main: show wizard init screen when no wallet is found 2019-12-20 03:49:31 +01:00
selsta
f8262b0d27 misc: cleanup unused variables and comments 2019-12-20 03:37:52 +01:00
selsta
c5785ed195 main: fix wallet lock is unlocked without password 2019-12-20 02:20:12 +01:00
luigi1111
500c7ec82e Merge pull request #2591
3e07eca main: blur on PasswordDialog, InputDialog or ProcessingSplash (xiphon)
2019-12-19 20:06:42 -05:00
xiphon
3e07ecabf9 main: blur on PasswordDialog, InputDialog or ProcessingSplash 2019-12-20 01:04:36 +00:00
luigi1111
98279f54fb Merge pull request #2635
aa96e2f build: define QT_NO_DEBUG for non--debug targets (xiphon)
2019-12-19 19:51:05 -05:00
luigi1111
a6818cd274 Merge pull request #2632
d6ccae3 Transfer: cleanup payment id code (tobtoht)
2019-12-19 19:50:11 -05:00
luigi1111
4c7d402eaf Merge pull request #2631
ec83dea build: support DEV_MODE env var to override default value (xiphon)
2019-12-19 19:49:06 -05:00
luigi1111
3984f8d1e8 Merge pull request #2630
3ea329e FutureScheduler: fix possible race, connect before setFuture (xiphon)
2019-12-19 19:48:10 -05:00
luigi1111
f2424ddeaa Merge pull request #2627
8c51172 Subaddress: fix use-after-free on accessing stale Wallet API data (xiphon)
2019-12-19 19:46:45 -05:00
luigi1111
b963028f10 Merge pull request #2626
a83adb7 Transfer: improve warning flow (tobtoht)
2019-12-19 19:45:33 -05:00
luigi1111
4aac66a024 Merge pull request #2625
131769f fix dropdown closure behavior (tobtoht)
2019-12-19 19:43:32 -05:00
luigi1111
598de0f03f Merge pull request #2623
c9900c0 SubaddressAccount: drop useless getAll 'update' default argument (xiphon)
e0ab9aa SubaddressAccount: fix use-after-free bug (xiphon)
2019-12-19 19:37:27 -05:00
luigi1111
bd3b26c33d Merge pull request #2604
50cb726 do not ask to start daemon if in remote node mode (tobtoht)
2019-12-19 19:36:17 -05:00
luigi1111
66f5b7310f Merge pull request #2622
94561ed fix clunky scrolling behavior on flickables (tobtoht)
2019-12-19 19:35:22 -05:00
luigi1111
5ff030783a Merge pull request #2616
5dccde2 History: don't hide 'Export all history' if there ain't any txes (xiphon)
2019-12-19 19:34:08 -05:00
luigi1111
7c11ac4d98 Merge pull request #2614
4e1f734 TransactionHistory: fix use-after-free bugs (xiphon)
2019-12-19 19:32:37 -05:00
luigi1111
05a0d21f4c Merge pull request #2590
cc86795 WizardController: always close and re-open newly created wallet (xiphon)
2019-12-19 19:30:32 -05:00
luigi1111
d0c2740a51 Merge pull request #2588
a113670 History: don't show empty paymentId in tx details (xiphon)
2019-12-19 19:29:36 -05:00
luigi1111
118752e775 Merge pull request #2587
1661c82 TransactionInfo: parse Wallet API provided data on initialization (xiphon)
2019-12-19 19:23:06 -05:00
luigi1111
1ed02f7d7a Merge pull request #2581
872b49f CMakeLists: remove duplicated x11 (selsta)
2019-12-19 19:21:55 -05:00
luigi1111
4042186fac Merge pull request #2580
ba24fd7 SettingsInfo: open containing folder on wallet log path click (xiphon)
088d32e OSHelper: file preselection support (Windows and Mac) (xiphon)
2019-12-19 19:20:53 -05:00
luigi1111
abd98b95f6 Merge pull request #2578
38d412a components: handle enter and return (selsta)
2019-12-19 19:19:32 -05:00
thotbot
d6ccae342d Transfer: cleanup payment id code 2019-12-20 00:18:52 +00:00
luigi1111
78f8cb2595 Merge pull request #2576
b940ad7 InputDialog: pre-populate input text (selsta)
2019-12-19 19:18:03 -05:00
xiphon
aa96e2ff3e build: define QT_NO_DEBUG for non--debug targets 2019-12-19 15:13:10 +00:00
xiphon
ec83dea3c3 build: support DEV_MODE env var to override default value 2019-12-19 00:52:26 +00:00
xiphon
3ea329e45f FutureScheduler: fix possible race, connect before setFuture 2019-12-19 00:37:00 +00:00
thotbot
a83adb70ad Transfer: improve warning flow 2019-12-19 00:16:00 +00:00
thotbot
94561ed2a6 fix clunky scrolling behavior on flickables 2019-12-17 23:11:11 +00:00
xiphon
8c511722e0 Subaddress: fix use-after-free on accessing stale Wallet API data 2019-12-17 21:51:04 +00:00
thotbot
131769f175 fix dropdown closure behavior 2019-12-17 20:21:04 +00:00
thotbot
4a86a1cf76 remove colored dots 2019-12-17 15:04:23 +00:00
xiphon
e0ab9aa898 SubaddressAccount: fix use-after-free bug 2019-12-17 14:18:54 +00:00
xiphon
cc86795fa3 WizardController: always close and re-open newly created wallet 2019-12-17 01:08:08 +00:00
thotbot
50cb72656a do not ask to start daemon if in remote node mode 2019-12-16 22:48:35 +00:00
xiphon
c9900c05b2 SubaddressAccount: drop useless getAll 'update' default argument 2019-12-16 14:35:50 +00:00
xiphon
4e1f7349c4 TransactionHistory: fix use-after-free bugs 2019-12-16 13:31:31 +00:00
xiphon
5dccde25f4 History: don't hide 'Export all history' if there ain't any txes 2019-12-16 09:30:23 +00:00
selsta
24ac001daa main: fix warning 2019-12-14 03:37:44 +01:00
selsta
163fa733ae WizardOpenWallet1: fix warning 2019-12-14 03:18:26 +01:00
xiphon
a113670905 History: don't show empty paymentId in tx details 2019-12-13 10:42:47 +00:00
xiphon
1661c82449 TransactionInfo: parse Wallet API provided data on initialization 2019-12-12 21:26:18 +00:00
xiphon
088d32e712 OSHelper: file preselection support (Windows and Mac)
Co-authored-by: selsta <selsta@sent.at>
2019-12-12 01:28:49 +00:00
xiphon
ba24fd79bb SettingsInfo: open containing folder on wallet log path click 2019-12-12 00:10:22 +00:00
luigi1111
46227bdad0 Merge pull request #2531
2833fdb cmake: use appropriate compiler flags (xiphon)
17ea26e build: fix monero-wallet-gui.pro source paths, rm qml.qrc duplicate (xiphon)
2019-12-09 22:05:22 -06:00
selsta
872b49f29a CMakeLists: remove duplicated x11 2019-12-10 03:01:02 +01:00
selsta
38d412a3fa components: handle enter and return 2019-12-10 02:52:15 +01:00
xiphon
2833fdb907 cmake: use appropriate compiler flags 2019-12-09 22:49:42 +00:00
selsta
b940ad72be InputDialog: pre-populate input text 2019-12-09 17:38:09 +01:00
xiphon
17ea26e02a build: fix monero-wallet-gui.pro source paths, rm qml.qrc duplicate 2019-12-09 14:03:24 +00:00
luigi1111
1cee81b996 Merge pull request #2404
8dd2a20 e04db92 d06ae80 c83c74d 1723d04 52182ef 97a9ac9 2d23917 91aff7c (TheCharlatan)
2019-12-09 07:52:41 -06:00
luigi1111
f03ea0461c Merge pull request #2560
6ce9a3c History: fix translations (xiphon)
2019-12-05 09:35:52 -06:00
xiphon
6ce9a3cba0 History: fix translations 2019-12-05 15:18:15 +00:00
luigi1111
8cd32987d4 Revert "Merge pull request #2526"
This reverts commit 457b1dee49, reversing
changes made to 7cca39ad48.
2019-12-05 09:03:56 -06:00
luigi1111
648b775a25 Merge pull request #2559
e81a589 Transfer: improve amount sanitization (xiphon)
2019-12-05 08:53:47 -06:00
luigi1111
b24ccc2fe3 Merge pull request #2558
074d8fb WizardLang: fix display text (selsta)
2019-12-05 08:52:57 -06:00
luigi1111
00783e7b68 Merge pull request #2557
b632d07 WizardRestoreWallet1: fix placeholder text visibility (selsta)
2019-12-05 08:52:11 -06:00
luigi1111
dafc47050a Merge pull request #2556
1c2920a WizardAskPassword: fix lock icon (selsta)
2019-12-05 08:51:05 -06:00
luigi1111
0e65d89172 Merge pull request #2555
676b8d6 History: add date, amount, integrated addr (incoming) to tx details (xiphon)
2019-12-05 08:50:15 -06:00
luigi1111
fd9e7d00ed Merge pull request #2553
9d5eb00 TransactionHistory: guard tx info list against concurrent access (xiphon)
2019-12-05 08:49:14 -06:00
luigi1111
3d7ded209a Merge pull request #2540
983a3ba Translation: fix untranslated strings (selsta)
2019-12-05 08:47:54 -06:00
xiphon
e81a589a8d Transfer: improve amount sanitization 2019-12-05 10:13:29 +00:00
selsta
074d8fb42e WizardLang: fix display text 2019-12-04 23:18:44 +01:00
selsta
b632d078e5 WizardRestoreWallet1: fix placeholder text visibility 2019-12-04 23:05:42 +01:00
selsta
1c2920a339 WizardAskPassword: fix lock icon 2019-12-04 22:24:08 +01:00
xiphon
676b8d6921 History: add date, amount, integrated addr (incoming) to tx details 2019-12-04 21:07:10 +00:00
xiphon
9d5eb002ae TransactionHistory: guard tx info list against concurrent access 2019-12-04 10:33:54 +00:00
luigi1111
63d4ba6df8 Merge pull request #2551
646d339 Wallet: persistent subaddress account selection (xiphon)
2019-12-03 22:32:58 -06:00
luigi1111
c2dbda63c6 Merge pull request #2543
bc40942 StandardDropdown: implement automatic closing (xiphon)
2019-12-03 22:32:10 -06:00
luigi1111
6e7b4ff9f9 Merge pull request #2542
32f7666 DatePicker: don't propagate mouse events to underlying controls (xiphon)
2019-12-03 22:31:20 -06:00
luigi1111
1269f0a13a Merge pull request #2532
265afe1 DaemonManager: increase daemon start timeout to 120 seconds (xiphon)
2019-12-03 22:30:22 -06:00
luigi1111
04b91e76f2 Merge pull request #2529
4cc3d3f Label: change cursor on link hover (selsta)
2019-12-03 22:29:14 -06:00
luigi1111
c9c7bb9171 Merge pull request #2528
2ab3d8e MiddlePanel: remove margin bottom (selsta)
2019-12-03 22:27:37 -06:00
luigi1111
619661a61d Merge pull request #2527
c06cb5c MiddlePanel: remove color stripe for consistency (selsta)
2019-12-03 22:26:51 -06:00
luigi1111
457b1dee49 Merge pull request #2526
20a5814 Transfer: add parenthesis to links (selsta)
2019-12-03 22:26:00 -06:00
luigi1111
7cca39ad48 Merge pull request #2520
7b0cd19 wizard: Language button on home and add back button (selsta)
2019-12-03 22:24:06 -06:00
luigi1111
90406dfd1e Merge pull request #2517
9e4bfb1 WarningBox: hover cursor and disable selecting text (selsta)
2019-12-03 22:22:45 -06:00
luigi1111
6d7abaf5c0 Merge pull request #2515
c0fa4f5 SettingsLayout: pointing mouse cursor and selecting text (selsta)
2019-12-03 22:21:51 -06:00
xiphon
bc40942889 StandardDropdown: implement automatic closing 2019-12-03 22:45:15 +00:00
xiphon
646d3394d3 Wallet: persistent subaddress account selection 2019-12-03 12:39:34 +00:00
selsta
c06cb5cc58 MiddlePanel: remove color stripe for consistency 2019-12-02 23:19:31 +01:00
selsta
983a3ba7ad Translation: fix untranslated strings 2019-12-02 00:09:43 +01:00
xiphon
265afe1610 DaemonManager: increase daemon start timeout to 120 seconds 2019-11-29 17:24:40 +00:00
xiphon
32f7666912 DatePicker: don't propagate mouse events to underlying controls 2019-11-29 17:22:00 +00:00
selsta
20a58143b6 Transfer: add parenthesis to links 2019-11-28 12:25:33 +01:00
selsta
4cc3d3f3e2 Label: change cursor on link hover 2019-11-28 00:59:44 +01:00
selsta
2ab3d8ebf2 MiddlePanel: remove margin bottom 2019-11-28 00:55:00 +01:00
selsta
9e4bfb1ef2 WarningBox: hover cursor and disable selecting text 2019-11-28 00:08:59 +01:00
xiphon
97a9ac9bf8 cmake: don't force LINUX=ON, DEBUG=ON, CMAKE_BUILD_TYPE=Release 2019-11-27 22:59:27 +01:00
xiphon
2d23917afb cmake: MinGW - set WIN32 executable property 2019-11-27 22:59:27 +01:00
xiphon
52182ef9b1 cmake: fix MinGW static builds, add 'release-static-win64' target 2019-11-27 22:59:27 +01:00
xiphon
91aff7c0e4 cmake: put monero-gui executable into 'bin' directory 2019-11-27 22:59:27 +01:00
xiphon
1723d04902 cmake: inherit ARCH_WIDTH from 'monero' subdirectory 2019-11-27 22:59:27 +01:00
TheCharlatan
c83c74d3c2 Add Apple support 2019-11-27 22:59:27 +01:00
TheCharlatan
d06ae80e0a Add support for msys/mingw32 2019-11-27 22:59:27 +01:00
TheCharlatan
8dd2a20ff8 Migrate build system to cmake
The content in this commit is not split in order to preserve working
compilation. Once this is added to master, the old build script will no
longer work and all existing build toolings will require changes.

Monero's cmake directory's files need to be copied to this project's cmake
directory in order for the linking and function definitions to work correctly.

Monero-gui has its own version check and generate file in order to not
conflict with monero's destination version files.

Most of the source files that are currently in monero-gui's root
directory are now moved to subdirectories. This is done to preserve
compilation order properly and to give some content structure.

The original CMakeList file included all headers it found in
subdirectories. Make sure that they are set manually to evade linking
errors.

The current build script always checks out latest master of the monero
submodule. The submodule rules in the current CMakeLists.txt file do not
enforce. An override to compile master nevertheless can still be given
with `-D DEV_MODE`.

To enable the linux X11 xcb linking the libraries had to be hardcoded. There
does not seem to be good support for this in pkgconfig, or in
existing cmake checks.
2019-11-27 22:59:27 +01:00
TheCharlatan
e04db9299d Add dsc's CMakeLists.txt file 2019-11-27 22:59:27 +01:00
selsta
7b0cd19487 wizard: Language button on home and add back button 2019-11-27 19:20:58 +01:00
selsta
c0fa4f5d27 SettingsLayout: pointing mouse cursor and selecting text 2019-11-27 18:49:18 +01:00
luigi1111
d5f4d5d93f Merge pull request #2506
f47335f Wizard, AddressBook, SettingsNode: prevent undesired text selection (xiphon)
2019-11-27 10:26:03 -06:00
luigi1111
9ba1960207 Merge pull request #2504
f75aa22 main: omit onWalletRefresh call with uninitialized currentWallet (xiphon)
2019-11-27 10:24:54 -06:00
luigi1111
04a665db0c Merge pull request #2449
4a52681 workflows: check if QML loads successfully (selsta)
2019-11-27 10:23:45 -06:00
xiphon
f47335f89f Wizard, AddressBook, SettingsNode: prevent undesired text selection 2019-11-27 12:33:30 +00:00
xiphon
f75aa22b26 main: omit onWalletRefresh call with uninitialized currentWallet 2019-11-27 09:14:35 +00:00
luigi1111
50e1ce1460 Merge pull request #2502
bd20626 Installer: fix 'GUI Wallet Guide' shortcut target filename (xiphon)
2019-11-26 15:18:25 -06:00
luigi1111
df02532fd5 Merge pull request #2500
8738210 PasswordDialog: fix text field height changing on input (Windows) (xiphon)
2019-11-26 15:17:38 -06:00
xiphon
bd20626460 Installer: fix 'GUI Wallet Guide' shortcut target filename 2019-11-26 16:25:24 +00:00
xiphon
8738210991 PasswordDialog: fix text field height changing on input (Windows) 2019-11-26 16:09:09 +00:00
luigi1111
6c2c17ada1 Merge pull request #2489
0daf2aa CheckBox: use Font Awesome plus/minus icons, remove unused images (xiphon)
2019-11-25 12:57:28 -06:00
luigi1111
380f218b3a Merge pull request #2494
56023fa build: MacOS openssl path provided by brew, fallback to default (xiphon)
2019-11-25 12:49:05 -06:00
luigi1111
12647fac73 Merge pull request #2491
1dc45ba Input: fix cursor shape, should be 'Qt.IBeamCursor' (xiphon)
2019-11-25 12:47:26 -06:00
luigi1111
9f0f40af80 Merge pull request #2486
06ccded Transfer: fix NaN fiat conversion (selsta)
2019-11-25 12:46:09 -06:00
luigi1111
c316fab29f Merge pull request #2485
ff38e96 build: set BUILD_TAG to fix update notification (selsta)
2019-11-25 12:45:22 -06:00
luigi1111
37de27d7f6 Merge pull request #2477
a9a59fd main: ask whether to stop local node upon switching to remote node (xiphon)
2019-11-25 12:44:28 -06:00
luigi1111
c61d857a67 Merge pull request #2464
e2a187f AppWindow: append wallet name to window title (xiphon)
2019-11-25 12:43:31 -06:00
xiphon
56023facaa build: MacOS openssl path provided by brew, fallback to default 2019-11-25 14:46:18 +00:00
xiphon
1dc45bad87 Input: fix cursor shape, should be 'Qt.IBeamCursor' 2019-11-25 07:56:30 +00:00
xiphon
0daf2aacf5 CheckBox: use Font Awesome plus/minus icons, remove unused images 2019-11-25 06:37:21 +00:00
selsta
06ccded94e Transfer: fix NaN fiat conversion 2019-11-25 00:57:59 +01:00
selsta
ff38e965bd build: set BUILD_TAG to fix update notification 2019-11-25 00:27:29 +01:00
xiphon
a9a59fd314 main: ask whether to stop local node upon switching to remote node 2019-11-24 10:19:40 +00:00
xiphon
e2a187f892 AppWindow: append wallet name to window title 2019-11-24 08:49:59 +00:00
selsta
4a526810ce workflows: check if QML loads successfully 2019-11-20 15:32:42 +01:00
luigi1111
2f5c47e95f Merge pull request #2448
d2b9d56 ContextMenu: styling, implement ContextMenuItem component (xiphon)
2019-11-19 10:36:34 -06:00
luigi1111
34b216e6dc Merge pull request #2444
5a65d28 build: set submodule to v0.15.0.1 (selsta)
2019-11-19 10:35:25 -06:00
xiphon
d2b9d5690b ContextMenu: styling, implement ContextMenuItem component 2019-11-19 12:32:53 +00:00
luigi1111
d10f1b5d30 Merge pull request #2447
d92cc94 readme: add 'zeromq-devel' to Fedora deps (xiphon)
2019-11-18 13:00:54 -06:00
luigi1111
fea3bb503f Merge pull request #2446
f57b2d5 workflows: add basic ubuntu/macOS build script (selsta)
2019-11-18 12:58:46 -06:00
xiphon
d92cc944cb readme: add 'zeromq-devel' to Fedora deps 2019-11-17 19:32:13 +00:00
selsta
f57b2d57cd workflows: add basic ubuntu/macOS build script 2019-11-14 22:12:38 +01:00
luigi1111
cf0e5a811e Merge pull request #2440
e9cdaf4 Transfer: convert and display entered amount in fiat currency (xiphon)
2019-11-13 09:08:16 -06:00
luigi1111
ea8f51d168 Merge pull request #2439
17f032e fiat: fix invalid type, don't round conversion rate to whole number (xiphon)
2019-11-13 09:06:51 -06:00
luigi1111
e8befc4c67 Merge pull request #2438
92f9bec installer: automatically set app version information (xiphon)
2019-11-13 09:05:55 -06:00
luigi1111
5518771a8b Merge pull request #2437
ef565e5 build: embed version metadata into binary (xiphon)
2019-11-13 09:04:49 -06:00
luigi1111
47bc0f2a3c Merge pull request #2435
0e3f3c1 SettingsWallet: refactor list items into separate component (xiphon)
2019-11-13 09:03:51 -06:00
luigi1111
8bd820b909 Merge pull request #2429
74e12ce ContextMenu: implement 'paste' context menu for all text fields (xiphon)
2019-11-13 09:03:02 -06:00
luigi1111
f948d0e214 Merge pull request #2428
5fe6b48 Settings: fix 'Light theme' checkbox (xiphon)
2019-11-13 09:02:03 -06:00
luigi1111
3a7c9e6c8e Merge pull request #2417
212c8dd Warning added that balance reflects only incoming transactions for view-only wallets (peli-pro)
2019-11-13 09:00:44 -06:00
selsta
5a65d28d29 build: set submodule to v0.15.0.1 2019-11-13 15:45:42 +01:00
xiphon
e9cdaf4dbe Transfer: convert and display entered amount in fiat currency 2019-11-13 08:10:49 +00:00
xiphon
17f032ea11 fiat: fix invalid type, don't round conversion rate to whole number 2019-11-13 06:34:33 +00:00
xiphon
ef565e5fa3 build: embed version metadata into binary 2019-11-12 16:23:02 +00:00
xiphon
92f9bec1e7 installer: automatically set app version information 2019-11-12 02:25:29 +00:00
xiphon
0e3f3c13a1 SettingsWallet: refactor list items into separate component 2019-11-11 21:14:39 +00:00
xiphon
74e12ce71d ContextMenu: implement 'paste' context menu for all text fields 2019-11-08 12:41:32 +00:00
xiphon
5fe6b48517 Settings: fix 'Light theme' checkbox 2019-11-04 21:47:38 +00:00
luigi1111
7f7a39292c Merge pull request #2427
2e1e227 build: MinGW fix gcc >= 9.1 build, enable stack protection (xiphon)
2019-11-04 11:06:35 -06:00
xiphon
2e1e227b4c build: MinGW fix gcc >= 9.1 build, enable stack protection 2019-11-04 16:26:28 +03:00
luigi1111
ee68bcb6e9 Merge pull request #2426
a4c17ac build: set submodule to v0.15.0.0 (selsta)
2019-11-03 19:13:04 -06:00
luigi1111
025a638082 Merge pull request #2424
06ba205 Windows Installer: Update for Carbon Chamaeleon 0.15.0.0 (rbrunner7)
2019-11-03 19:12:16 -06:00
luigi1111
33babc5d85 Merge pull request #2423
5df14ab Merchant: fix leaving the page (xiphon)
2019-11-03 19:11:29 -06:00
selsta
a4c17ac82b build: set submodule to v0.15.0.0 2019-11-03 23:56:27 +01:00
René Brunner
06ba205320 Windows Installer: Update for Carbon Chamaeleon 0.15.0.0 2019-11-01 16:13:11 +01:00
xiphon
5df14abed2 Merchant: fix leaving the page 2019-11-01 12:19:25 +00:00
luigi1111
cdad85c0ef Merge pull request #2419
40e2d20 Translations from Weblate (Monero-Weblate)
2019-10-26 19:06:42 -05:00
Weblate
40e2d2045b Translations from Weblate
Translators:

[Czech]
dskch83

[German]
Christian
M5M400
Sneaky Squid
Paul Rant

[Japanese]
Andrew Onishi
Scott Anecito

[French]
el00ruobuob
glv2

[Dutch]
Jonathan Heirbaut
siesero

[Italian]
erciccione
Luca Ciavatta
Alessandro Lotta
stefanomarty

[Finnish]
vaa red

[Chinese (Simplified)]
jindouyunz
TE Scott
razorshaman909

[Catalan]
Assumpta Anglada
BennyBeat
Ecron
Joan Montané

[Ukrainian]
Agent LvM
TheFuzzStone

[Russian]
Agent LvM
TheFuzzStone
Russian Bear

[Chinese (Traditional)]
Lafudoci
2019-10-26 13:08:33 +00:00
peli-pro
212c8dd054 Warning added that balance reflects only incoming transactions for view-only wallets 2019-10-17 14:25:36 +02:00
luigi1111
290582d428 Merge pull request #2416
582267a main: apply WalletMode check on start (xiphon)
2019-10-16 14:22:56 -05:00
xiphon
582267a923 main: apply WalletMode check on start 2019-10-15 18:07:08 +00:00
luigi1111
fe3c06c36b Merge pull request #2415
631a1c4 fix fee labels in transfer (#2412) (jtgrassie)
2019-10-14 17:59:13 -05:00
luigi1111
95d7826163 Merge pull request #2413
c60c9ee Change 'Pootle' to 'Weblate' in readme (erciccione)
2019-10-14 17:58:15 -05:00
luigi1111
5e2099ad47 Merge pull request #2411
965081c DaemonManager: reset disconnectedEpoch on start, start timeout 60s (xiphon)
2019-10-14 17:57:23 -05:00
luigi1111
44280d1e52 Merge pull request #2399
d3b20d2 SimpleMode: implement 'switch to another public node' button (xiphon)
2019-10-14 17:53:08 -05:00
luigi1111
897d879dad Merge pull request #2398
32257c8 DaemonManager: implement async sendCommand (xiphon)
2019-10-14 17:50:54 -05:00
Jethro Grassie
631a1c49c8 fix fee labels in transfer (#2412) 2019-10-13 13:07:52 -04:00
xiphon
d3b20d2c04 SimpleMode: implement "switch to another public node" button 2019-10-11 01:01:19 +00:00
erciccione
c60c9ee69a Change 'Pootle' to 'Weblate' in readme 2019-10-10 11:46:59 +02:00
xiphon
965081c554 DaemonManager: reset disconnectedEpoch on start, start timeout 60s 2019-10-09 02:02:58 +00:00
luigi1111
e6458b58ef Merge pull request #2402
f72ed25 Transfer: forbid long Payment IDs (xiphon)
2019-10-08 15:21:35 -05:00
luigi1111
9207462676 Merge pull request #2401
947e265 Transfer: warn on long Payment ID filled into description field (xiphon)
2019-10-08 15:20:07 -05:00
luigi1111
ab020358e7 Merge pull request #2400
77ff362 SettingsNode: 'auto' special case for Bootstrap Address edit (xiphon)
2019-10-08 15:19:01 -05:00
luigi1111
135cfbac68 Merge pull request #2397
9d40baa SimpleMode: allow wrong local daemon version (xiphon)
2019-10-08 15:17:50 -05:00
luigi1111
3dbf09e7ad Merge pull request #2393
a6cd010 windeploy: bump icu version to 64, add libdouble-conversion.dll (stoffu)
2019-10-08 15:17:02 -05:00
xiphon
32257c8fab DaemonManager: implement async sendCommand 2019-10-07 10:39:30 +00:00
luigi1111
5ecca50977 Merge pull request #2403
ae2fdc7 build: build, install and link against randomx library (xiphon)
2019-09-30 18:59:26 -05:00
xiphon
ae2fdc7ab3 build: build, install and link against randomx library 2019-09-28 12:20:30 +00:00
xiphon
f72ed257ce Transfer: forbid long Payment IDs 2019-09-28 02:01:20 +00:00
xiphon
947e265a1a Transfer: warn on long Payment ID filled into description field 2019-09-28 01:46:22 +00:00
xiphon
77ff362b58 SettingsNode: 'auto' special case for Bootstrap Address edit 2019-09-27 15:50:38 +00:00
xiphon
9d40baa3ef SimpleMode: allow wrong local daemon version 2019-09-26 23:36:18 +00:00
luigi1111
d3b81cb6f8 Merge pull request #2391
4905341 TitleBar: add close wallet button (selsta)
c87ebf1 TitleBar: slightly reduce size of moon icon (selsta)
2019-09-24 11:15:28 -05:00
selsta
c87ebf1f31 TitleBar: slightly reduce size of moon icon 2019-09-24 17:53:02 +02:00
selsta
4905341999 TitleBar: add close wallet button 2019-09-24 17:53:02 +02:00
luigi1111
047dee4eb4 Merge pull request #2396
413507b build: highlight minimum required Qt version (selsta)
2019-09-24 10:52:48 -05:00
luigi1111
dd1046b31f Merge pull request #2392
411505b SimpleMode: ignore persistent daemon flags (xiphon)
2019-09-24 10:51:29 -05:00
luigi1111
2b82a472ae Merge pull request #2390
4f4e879 main: set TERM='goaway' (selsta)
2019-09-24 10:48:43 -05:00
luigi1111
8d5ef035d2 Merge pull request #2389
448727f WizardLang: reduce top margin (selsta)
2019-09-24 10:47:37 -05:00
luigi1111
a3d41a80bf Merge pull request #2383
2ca76ff LeftPanel: new balance card (selsta)
2019-09-24 10:46:40 -05:00
selsta
413507bba9 build: highlight minimum required Qt version 2019-09-23 16:47:56 +02:00
selsta
2ca76ff13c LeftPanel: new balance card 2019-09-21 01:23:09 +02:00
stoffu
a6cd010695 windeploy: bump icu version to 64, add libdouble-conversion.dll 2019-09-19 14:06:18 +09:00
xiphon
411505bff5 SimpleMode: ignore persistent daemon flags 2019-09-16 23:54:05 +00:00
selsta
4f4e879f8d main: set TERM="goaway" 2019-09-15 20:43:52 +02:00
selsta
448727f4b5 WizardLang: reduce top margin 2019-09-14 21:47:20 +02:00
luigi1111
ca8138bb46 Merge pull request #2385
bc22de4 DaemonManager: use 'sync_info' to avoid bootstrap daemon requests (xiphon)
2019-09-14 12:46:18 -05:00
luigi1111
10764b8a68 Merge pull request #2384
2c78f77 WizardController: fix overlap with network type dropdown (selsta)
2019-09-14 12:45:20 -05:00
luigi1111
b91afaf5c7 Merge pull request #2378
738e802 macOS/Windows: fix compiler warning (selsta)
2019-09-14 12:44:35 -05:00
luigi1111
31501316c9 Merge pull request #2377
8dab075 repo: remove isMobile leftovers (selsta)
2019-09-14 12:43:36 -05:00
luigi1111
120a62257f Merge pull request #2376
5f81b57 TitleBar: show wallet name (selsta)
2019-09-14 12:42:51 -05:00
luigi1111
a1e416ee83 Merge pull request #2375
6df9e58 fontawesome: fix regular/solid font style (selsta)
2019-09-14 12:41:52 -05:00
luigi1111
3cf2dc0c04 Merge pull request #2370
0d247a9 SimpleMode: automatic public nodes discovering and switching (xiphon)
2019-09-14 12:41:02 -05:00
selsta
6df9e584b3 fontawesome: fix regular/solid font style 2019-09-10 13:14:10 +02:00
xiphon
0d247a9b8a SimpleMode: automatic public nodes discovering and switching 2019-09-09 15:24:26 +00:00
xiphon
bc22de47f9 DaemonManager: use 'sync_info' to avoid bootstrap daemon requests 2019-09-09 01:14:06 +00:00
luigi1111
a5b2d5e727 Merge pull request #2373
4c05bff main: node and log page are hidden in simple mode (selsta)
2019-09-08 20:13:24 -05:00
selsta
2c78f77eb2 WizardController: fix overlap with network type dropdown 2019-09-08 17:06:14 +02:00
selsta
738e802f3c macOS/Windows: fix compiler warning 2019-09-06 00:22:39 +02:00
selsta
8dab0755d3 repo: remove isMobile leftovers 2019-09-06 00:11:12 +02:00
selsta
5f81b573c0 TitleBar: show wallet name 2019-09-05 18:49:28 +02:00
luigi1111
a267712d10 Merge pull request #2358
5392dd7 TitleBar: change Light Theme icon from 'light bulb' to 'moon' (xiphon)
2019-09-04 09:49:57 -05:00
luigi1111
0abaae073d Merge pull request #2372
cb9cb6e FontAwesome: bump to 5.10.2 (xiphon)
2019-09-04 09:48:58 -05:00
luigi1111
a6791561d6 Merge pull request #2366
a83910d SettingsNode: make input read only (selsta)
2019-09-04 09:48:06 -05:00
luigi1111
3ca2473239 Merge pull request #2362
3a33dde fix invalid include paths, compilation warnings, update README.md (xiphon)
2019-09-04 09:46:13 -05:00
luigi1111
779cc3e24d Merge pull request #2361
336ed9d sync and update language files (erciccione)
2019-09-04 09:44:41 -05:00
luigi1111
cfd2139310 Merge pull request #2346
049cef9 android: fix build (selsta)
2019-09-04 09:42:09 -05:00
selsta
4c05bff21e main: node and log page are hidden in simple mode 2019-09-04 00:06:26 +02:00
xiphon
5392dd7ed0 TitleBar: change Light Theme icon from 'light bulb' to 'moon' 2019-09-03 18:51:12 +00:00
xiphon
cb9cb6eb09 FontAwesome: bump to 5.10.2 2019-09-03 18:43:12 +00:00
xiphon
3a33ddeecd fix invalid include paths, compilation warnings, update README.md 2019-09-02 20:01:28 +00:00
selsta
a83910d7de SettingsNode: make input read only 2019-09-01 02:38:03 +02:00
erciccione
336ed9d6e5 sync and update language files 2019-08-28 12:44:06 +02:00
luigi1111
346e942e93 Merge pull request #2360
29580de History: fix tx key 'click to reveal' handling (xiphon)
2019-08-27 14:58:33 -05:00
luigi1111
13a5be7306 Merge pull request #2357
67e08da README: update (selsta)
2019-08-27 14:57:46 -05:00
luigi1111
bdceff6380 Merge pull request #2355
e660b2d build: link libstdc++ on Windows to statically link libwinpthreads (xiphon)
2019-08-27 14:56:11 -05:00
luigi1111
17c61f897a Merge pull request #2353
40bdf69 Ledger: improve hw wallet splash screen (selsta)
2019-08-27 14:55:15 -05:00
luigi1111
9a58e88ec6 Merge pull request #2351
b616e1c SettingsNode: change icons (selsta)
2019-08-27 14:53:29 -05:00
luigi1111
355cccaa64 Merge pull request #2175
ab47b4a Expose get/set attrs for wallet cache in libwalletqt, requires #5534 (xmrdsc)
2019-08-27 14:52:17 -05:00
xiphon
29580de2c7 History: fix tx key 'click to reveal' handling 2019-08-26 04:05:35 +00:00
selsta
67e08da918 README: update 2019-08-22 00:07:12 +02:00
xiphon
e660b2d169 build: link libstdc++ on Windows to statically link libwinpthreads 2019-08-20 14:17:46 +00:00
selsta
40bdf692d1 Ledger: improve hw wallet splash screen 2019-08-17 01:05:22 +02:00
luigi1111
562c46660a Merge pull request #2349
1ec22b3 history: fix start/end of the day calculation, apply local timezone (xiphon)
2019-08-14 15:52:02 -05:00
luigi1111
0724dd0043 Merge pull request #2348
a01ffc6 daemon: async daemon status check, don't freeze on wallet startup (xiphon)
2019-08-14 15:45:54 -05:00
luigi1111
c0932a1bd5 Merge pull request #2347
e1bbc1e LeftPanel: use currency symbol for fiat toggle (selsta)
2019-08-14 15:44:21 -05:00
luigi1111
d7a65fafad Merge pull request #2340
2f5c926 WizardLanguage: add missing qsTr() (selsta)
2019-08-14 15:43:06 -05:00
luigi1111
239e27c1b5 Merge pull request #2338
18f7a6a Receive: fix warning (selsta)
2019-08-14 15:42:04 -05:00
luigi1111
1ca10373a3 Merge pull request #2336
30a3abe Wallet: explicitly set trusted daemon flag (xiphon)
2019-08-14 15:40:33 -05:00
luigi1111
ac6687f6ff Merge pull request #2313
01740a2 images: fix known incorrect sRGB profile warning (selsta)
2019-08-14 15:39:32 -05:00
selsta
b616e1c8f6 SettingsNode: change icons 2019-08-14 20:35:53 +02:00
xiphon
1ec22b3d0c history: fix start/end of the day calculation, apply local timezone 2019-08-13 14:25:16 +00:00
xiphon
a01ffc6e1a daemon: async daemon status check, don't freeze on wallet startup 2019-08-13 12:21:47 +00:00
selsta
e1bbc1e525 LeftPanel: use currency symbol for fiat toggle 2019-08-12 00:10:24 +02:00
selsta
049cef9ce3 android: fix build 2019-08-10 22:09:30 +02:00
selsta
18f7a6a694 Receive: fix warning 2019-08-07 14:19:56 +02:00
xiphon
30a3abedbe Wallet: explicitly set trusted daemon flag 2019-08-07 06:43:18 +00:00
selsta
2f5c926c82 WizardLanguage: add missing qsTr() 2019-08-06 23:44:53 +02:00
luigi1111
55b4425c5d Merge pull request #2335
f666e6f main: don't attempt to close already closed wallet (xiphon)
2019-08-06 15:06:27 -05:00
luigi1111
dc49d7af38 Merge pull request #2331
e546ce8 WizardRestoreWallet1: use RadioButtons instead of buttons (selsta)
2019-08-06 15:05:36 -05:00
luigi1111
e01c2e903a Merge pull request #2327
059a2d7 SettingsNode: make button text more consistent (selsta)
2019-08-06 15:04:39 -05:00
luigi1111
886be81af2 Merge pull request #2315
1e64ebe QML: warning fixes (selsta)
2019-08-06 15:03:40 -05:00
luigi1111
671ddf5bef Merge pull request #2314
8abf8f8 wizard: bug fixes (selsta)
2019-08-06 15:02:36 -05:00
luigi1111
5f8cb04fee Merge pull request #2221
2d72f55 device: show address on device display (ph4r05)
2019-08-06 15:01:48 -05:00
luigi1111
3f06560c51 Revert "set submodule v0.14.1.2"
This reverts commit 8d17018019.
2019-08-06 15:00:43 -05:00
xiphon
f666e6f42e main: don't attempt to close already closed wallet 2019-08-06 10:50:26 +00:00
selsta
e546ce83b4 WizardRestoreWallet1: use RadioButtons instead of buttons 2019-07-31 18:17:46 +02:00
selsta
059a2d754e SettingsNode: make button text more consistent 2019-07-27 18:08:24 +02:00
selsta
1e64ebe17a QML: warning fixes 2019-07-24 05:24:37 +02:00
selsta
8abf8f844f wizard: bug fixes
- property binding loop
- wrong transition
- html in plaintext
2019-07-24 05:07:54 +02:00
selsta
01740a253d images: fix known incorrect sRGB profile warning 2019-07-24 04:05:39 +02:00
luigi1111
0461a28701 Merge pull request #2310
ff23a5b prices: improve error message (selsta)
2019-07-23 11:29:46 -05:00
luigi1111
a3b1590286 Merge pull request #2309
afe2b14 QML: fix more warnings (selsta)
2019-07-23 11:28:50 -05:00
luigi1111
b5cbb8b990 Merge pull request #2308
d4a6826 WizardController: make scrollbar visible (selsta)
2019-07-23 11:27:34 -05:00
selsta
ff23a5bf1e prices: improve error message 2019-07-23 01:00:40 +02:00
selsta
afe2b14430 QML: fix more warnings 2019-07-22 23:11:38 +02:00
selsta
d4a6826d13 WizardController: make scrollbar visible 2019-07-22 22:28:46 +02:00
luigi1111
8d17018019 set submodule v0.14.1.2 2019-07-22 13:40:20 -05:00
luigi1111
a65222d057 Merge pull request #2302
7e40a81 Account: fix theme switch label color (selsta)
2019-07-22 13:35:24 -05:00
luigi1111
25e56ee8fb Merge pull request #2307
f20ab12 QML: fix various warnings (selsta)
2019-07-22 13:29:31 -05:00
luigi1111
40c3e38f5a Merge pull request #2305
e6642c4 Account/Receive: update table on new entry (selsta)
2019-07-22 13:25:20 -05:00
luigi1111
f810c56100 Merge pull request #2303
5b81a1a Windows installer: Bumped the version number to 0.14.1.2 (rbrunner7)
2019-07-22 13:24:14 -05:00
luigi1111
95b3bb955c Merge pull request #2300
8f7d2b5 WizardAskPassword: improve label (selsta)
2019-07-22 13:21:50 -05:00
luigi1111
8db07974e2 Merge pull request #2299
e7653d0 updating the readme (parasew)
2019-07-22 13:20:41 -05:00
luigi1111
6c25650bbd Merge pull request #2297
7480f9b Changes Change wallet/Continue to Cancel/Ok (notmike-5)
2019-07-22 13:18:23 -05:00
luigi1111
4775fd74b8 Merge pull request #2294
ba33649 Fix segfault on Tails (tobtoht)
2019-07-22 13:11:15 -05:00
selsta
f20ab12cf3 QML: fix various warnings 2019-07-21 23:23:03 +02:00
selsta
e6642c4338 Account/Receive: update table on new entry 2019-07-21 21:17:18 +02:00
René Brunner
5b81a1a9d6 Windows installer: Bumped the version number to 0.14.1.2 2019-07-20 17:27:31 +02:00
selsta
7e40a810eb Account: fix theme switch label color 2019-07-20 02:54:16 +02:00
Matthias
e7653d0497 updating the readme 2019-07-19 18:03:48 +03:00
selsta
8f7d2b592a WizardAskPassword: improve label 2019-07-18 23:25:50 +02:00
notmike
7480f9b559 Changes Change wallet/Continue to Cancel/Ok
see #2290 #2204
2019-07-18 09:02:53 -06:00
thotbot
ba33649d7e Fix segfault on Tails 2019-07-18 13:22:38 +00:00
luigi1111
705439c78b Merge pull request #2289
cddba56 Fix project file (xmrdsc)
2019-07-16 11:50:11 -05:00
dsc
cddba56848 Fix project file 2019-07-16 18:47:12 +02:00
luigi1111
39fe5478b9 Merge pull request #2287
b96004a main: don't lock on inactivity if passwordDialog is visible (selsta)
2019-07-16 11:38:46 -05:00
luigi1111
cb3c310eb8 Merge pull request #2286
d2e7358 PasswordDialog: label improvements (selsta)
2019-07-16 11:37:19 -05:00
luigi1111
c426f1eb83 Merge pull request #2283
e04d563 src: fix compiler warnings (selsta)
2019-07-16 11:36:26 -05:00
luigi1111
beb94783c6 Merge pull request #2258
0b61328 Detect tails, support data persistence (xmrdsc)
2019-07-16 11:35:16 -05:00
dsc
0b61328971 Detect tails, support data persistence
Co-authored-by: Thotbot <thotbot@protonmail.com>
Co-authored-by: Selsta <selsta@sent.at>
2019-07-16 18:33:44 +02:00
selsta
b96004a101 main: don't lock on inactivity if passwordDialog is visible 2019-07-16 14:17:22 +02:00
selsta
d2e7358db7 PasswordDialog: label improvements 2019-07-16 14:08:22 +02:00
luigi1111
cfec9dde96 Merge pull request #2257
96c99b2 Replace Qt.labs.settings with MoneroSettings to allow for more customization (xmrdsc)
2019-07-15 23:38:56 -05:00
selsta
e04d563eb4 src: fix compiler warnings 2019-07-16 03:34:46 +02:00
dsc
96c99b250e Replace Qt.labs.settings with MoneroSettings to allow for more customization 2019-07-16 01:47:07 +02:00
luigi1111
4370733b2b Merge pull request #2282
d113bf1 main: fix password dialog overlay (selsta)
2019-07-15 18:43:33 -05:00
luigi1111
cac7662558 Merge pull request #2279
59550ec Windows installer: Achieve reproducible builds (rbrunner7)
2019-07-15 18:42:42 -05:00
luigi1111
0abd21b434 Merge pull request #2276
4b0d1dc Fixes #2275, transactionCommited txid list (ph4r05)
2019-07-15 18:41:19 -05:00
luigi1111
0d29ea33d8 Merge pull request #2256
817115f Start script for Tails (xmrdsc)
2019-07-15 18:39:39 -05:00
luigi1111
3a9f0e1100 Merge pull request #2240
35a0f25 PasswordDialog: merge components and bug fixes (selsta)
2019-07-15 18:38:32 -05:00
selsta
d113bf1a66 main: fix password dialog overlay 2019-07-15 21:56:57 +02:00
Dusan Klinec
2d72f55e57 device: show address on device display 2019-07-15 17:54:50 +02:00
Dusan Klinec
4b0d1dcfbf Fixes #2275, transactionCommited txid list
txid list was empty when emitted
2019-07-15 16:17:21 +02:00
selsta
35a0f25b57 PasswordDialog: merge components and bug fixes
This commit merges PasswordDialog, PassphraseDialog and
NewPasswordDialog. Also the following bugs were fixed:

- Wizard pages still being active when opening a wallet
  from wizard.
- Capslock detection was buggy when copy pasting password, I
  replaced it with native implementations for each platform.
- isAlpha could throw errors when using special characters.
2019-07-15 00:05:10 +02:00
luigi1111
702b654f09 Merge pull request #2263
14619b9 History: don't reset date filtering when switching page (selsta)
2019-07-12 20:39:27 -05:00
luigi1111
f6de660e0e Merge pull request #2255
6baa963 NetworkStatusItem: simple mode has no node settings page (selsta)
2019-07-12 20:37:46 -05:00
luigi1111
b3402b3d4e Merge pull request #2251
5f5f210 History: dynamic number of tx rows (selsta)
2019-07-12 20:36:52 -05:00
luigi1111
5b411b471e Merge pull request #2250
84865cd History: allow to search for tx_note (selsta)
2019-07-12 20:35:29 -05:00
luigi1111
79dcb92d18 Merge pull request #2247
ab9e31e WalletManager: async close with splash screen (xiphon)
2019-07-12 20:34:10 -05:00
luigi1111
8bbc2e87bc Merge pull request #2246
c34a2b4 QML: fix warnings (selsta)
2019-07-12 20:33:22 -05:00
luigi1111
c10ea20f83 Merge pull request #2241
e1b4bcb build: minimum required qt version is 5.9 (selsta)
2019-07-12 20:32:14 -05:00
luigi1111
b4231a758c Merge pull request #2237
1b5796a WizardSummary: remove duplicated entry (selsta)
2019-07-12 20:31:17 -05:00
René Brunner
59550ec673 Windows installer: Achieve reproducible builds 2019-07-07 17:23:08 +02:00
selsta
6baa96360f NetworkStatusItem: simple mode has no node settings page 2019-07-05 20:57:19 +02:00
selsta
14619b9437 History: don't reset date filtering when switching page 2019-07-04 15:17:41 +02:00
dsc
817115fa47 Start script for Tails
Co-authored-by: thotbot <thotbot@protonmail.com>
2019-07-04 01:25:03 +02:00
selsta
5f5f2103c0 History: dynamic number of tx rows 2019-07-03 15:24:39 +02:00
selsta
84865cdead History: allow to search for tx_note 2019-07-03 13:54:01 +02:00
selsta
c34a2b43fc QML: fix warnings 2019-07-02 15:10:40 +02:00
xiphon
ab9e31e7cc WalletManager: async close with splash screen 2019-07-02 11:11:38 +00:00
selsta
e1b4bcb2ef build: minimum required qt version is 5.9 2019-07-01 14:40:20 +02:00
luigi1111
c4b3fbae1d Merge pull request #2235
9ab2922 Add vim generated files to gitignore (TheCharlatan)
2019-06-29 13:37:54 -05:00
selsta
1b5796a0ee WizardSummary: remove duplicated entry 2019-06-29 04:29:55 +02:00
TheCharlatan
9ab2922eb2 Add vim generated files to gitignore 2019-06-28 06:48:54 +02:00
luigi1111
036b3b56c5 Merge pull request #2229
be7810c qt: implement FutureScheduler, always await async code to complete (xiphon)
2019-06-25 14:02:40 -05:00
luigi1111
3c3848633e Merge pull request #1960
63ee61b transfer: make simple mode more simple (mmbyday)
2019-06-25 14:00:47 -05:00
xiphon
be7810c5a8 qt: implement FutureScheduler, always await async code to complete 2019-06-24 20:09:50 +00:00
luigi1111
c7956f76ea Merge pull request #2231
9d6038e main: make variable used once local to function (selsta)
df50c51 main: remove unused variables (selsta)
2019-06-21 14:46:02 -05:00
luigi1111
30997a8262 Merge pull request #2230
484d403 NetworkStatusItem: correctly display remote node status (selsta)
2019-06-21 14:44:53 -05:00
luigi1111
431a789a39 Merge pull request #2228
024fe1b MainApp: send unhandled events to base class (selsta)
2019-06-21 14:44:06 -05:00
luigi1111
8428e77c16 Merge pull request #2226
55ad588 main: fix UI freeze on close in remote node mode (xiphon)
2019-06-21 14:43:08 -05:00
luigi1111
fe40ceab20 Merge pull request #2224
2dc820c repo: remove unused components (xiphon)
2019-06-21 14:41:49 -05:00
luigi1111
27ad473695 Merge pull request #2223
d237e70 main: fix false positive daemonRunning (invalid daemon address check) (xiphon)
2019-06-21 14:41:05 -05:00
luigi1111
2c81f1808f Merge pull request #2222
68c5527 persistentSettings: preserve fiat balance toggle on wallet restart (xiphon)
2019-06-21 14:40:18 -05:00
luigi1111
f6a797fcb5 Merge pull request #2220
8d49ad9 tx_key not displayed by default, click to reveal (ph4r05)
6d03d63 get_tx_key, get_tx_proof, tx_spend_proof async (ph4r05)
2019-06-21 14:39:20 -05:00
luigi1111
934ca28e2c Merge pull request #2217
0d7289d Windows installer: Add 3 new exe files (pruning, stats) (rbrunner7)
2019-06-21 14:38:01 -05:00
luigi1111
de65413390 Merge pull request #2216
cbbd898 WalletManager: remove unused functions (selsta)
2019-06-21 14:37:14 -05:00
luigi1111
3bb69fd645 Merge pull request #2200
c69f0ad add missed translatable string in SettingsNode.qml (erciccione)
2019-06-21 14:36:20 -05:00
luigi1111
d301a9ac6e Merge pull request #2198
725cf73 wizardhome: add change network label (mmbyday)
2019-06-21 14:34:58 -05:00
luigi1111
a4648d9738 Merge pull request #2194
7aff9e6 remove Seed & Keys subtab in left panel (cryptochangements34)
2019-06-21 14:33:40 -05:00
luigi1111
df34693d4e Merge pull request #2189
6267be0 monero-wallet-gui.pro: add lupdate options no-obsolete and locations none (mmbyday)
2019-06-21 14:31:05 -05:00
luigi1111
edb849fa81 Merge pull request #2170
a3c620f restore height visibility enhancements (mmbyday)
2019-06-21 14:27:26 -05:00
selsta
df50c5111b main: remove unused variables 2019-06-21 01:54:17 +02:00
selsta
9d6038e0a3 main: make variable used once local to function 2019-06-21 01:24:39 +02:00
selsta
484d403921 NetworkStatusItem: correctly display remote node status 2019-06-21 00:43:29 +02:00
Dusan Klinec
6d03d63c88 get_tx_key, get_tx_proof, tx_spend_proof async 2019-06-20 14:57:10 +02:00
selsta
024fe1b834 MainApp: send unhandled events to base class 2019-06-19 20:36:16 +02:00
xiphon
d237e70ef1 main: fix false positive daemonRunning (invalid daemon address check) 2019-06-18 21:06:27 +00:00
Dusan Klinec
8d49ad9ba4 tx_key not displayed by default, click to reveal 2019-06-18 13:30:06 +02:00
xiphon
55ad5886b4 main: fix UI freeze on close in remote node mode 2019-06-18 11:23:13 +00:00
xiphon
2dc820c9d4 repo: remove unused components 2019-06-18 00:32:55 +00:00
xiphon
68c55270d4 persistentSettings: preserve fiat balance toggle on wallet restart 2019-06-17 20:51:18 +00:00
René Brunner
0d7289d94b Windows installer: Add 3 new exe files (pruning, stats) 2019-06-15 21:06:06 +02:00
luigi1111
d1e8b6f823 Merge pull request #2213
2524cc1 Wallet: async fetching wallet, daemon and target height (xiphon)
2019-06-14 14:34:27 -05:00
selsta
cbbd898cd5 WalletManager: remove unused functions 2019-06-14 17:08:26 +02:00
xiphon
2524cc179e Wallet: async fetching wallet, daemon and target height 2019-06-13 12:33:05 +00:00
erciccione
c69f0adac8 add missed translatable string in SettingsNode.qml 2019-06-06 15:04:54 +02:00
mmbyday
725cf737bc wizardhome: add change network label 2019-06-05 23:15:26 -07:00
luigi1111
68c7cf7276 Merge pull request #2197
42bf4b2 KeysFiles: fix file path (mmbyday)
2019-06-05 22:36:49 -05:00
luigi1111
c32f26fc8f Merge pull request #2192
8cb93ec Windows installer: Simplify script thanks to static linking of GUI wallet exe (rbrunner7)
2019-06-05 22:35:40 -05:00
luigi1111
863c75f6a2 Merge pull request #2188
f61656a Fix windows mingw build (mmbyday)
2019-06-05 22:34:48 -05:00
luigi1111
189f905785 Merge pull request #2182
73a3549 WalletManager: non-blocking mining status updates (xiphon)
2019-06-05 22:33:57 -05:00
luigi1111
477bce6117 Merge pull request #2180
a9cb42e WalletManager: fix compilation warnings (unused args, members order) (xiphon)
2019-06-05 22:32:52 -05:00
luigi1111
f8a6dec0ed Merge pull request #2179
1cffa8b WalletManager: fix crash on null/dangling pointer dereference (xiphon)
2019-06-05 22:31:39 -05:00
luigi1111
da39be9a8d Merge pull request #2178
8bc9fbe WalletManager: async setDaemonAddress (xiphon)
2019-06-05 22:30:46 -05:00
luigi1111
1c3201b17f Merge pull request #2177
a4928ba windeploy: deploy libssl and libcrypto binaries (xiphon)
2019-06-05 22:29:33 -05:00
mmbyday
42bf4b2e87 KeysFiles: fix file path 2019-06-04 23:46:10 -07:00
mmbyday
f61656a1b8 Fix windows mingw build 2019-06-04 13:55:14 -07:00
cryptochangements34
7aff9e6af0 remove Seed & Keys subtab in left panel 2019-06-03 17:32:38 -04:00
René Brunner
8cb93ec466 Windows installer: Simplify script thanks to static linking of GUI wallet exe 2019-06-02 09:10:00 +02:00
mmbyday
6267be0413 monero-wallet-gui.pro: add lupdate options no-obsolete and locations none
Co-authored-by: selsta <selsta@sent.at>
Co-authored-by: erciccione <erciccione@users.noreply.github.com>
2019-05-31 23:05:56 -07:00
xiphon
73a3549e09 WalletManager: non-blocking mining status updates 2019-05-30 23:17:26 +00:00
xiphon
a9cb42e2a4 WalletManager: fix compilation warnings (unused args, members order) 2019-05-28 15:55:10 +00:00
xiphon
1cffa8b68d WalletManager: fix crash on null/dangling pointer dereference 2019-05-28 15:46:26 +00:00
xiphon
8bc9fbecaf WalletManager: async setDaemonAddress 2019-05-28 15:08:50 +00:00
xiphon
a4928bae6a windeploy: deploy libssl and libcrypto binaries 2019-05-27 21:12:23 +00:00
luigi1111
a5a90c7ed8 Merge pull request #2176
bac13af translations for release 0.14.1 (Pootle) (Monero-Pootle)
2019-05-27 13:55:05 -05:00
luigi1111
d0e8cf2b43 Merge pull request #2174
65422ae use https to fetch remote nodes list on Windows (xiphon)
2019-05-27 13:42:20 -05:00
luigi1111
f197f507bc Merge pull request #2173
fbd6d68 build: Windows statically link gcc and c++ runtime (xiphon)
07bda54 build: Windows link against setupapi (hidapi dependency) (xipon)
2019-05-27 13:34:22 -05:00
luigi1111
4481aa7028 Merge pull request #2171
d3cf9ea Bootstrap warning text should be richtext (xmrdsc)
2019-05-27 13:30:18 -05:00
luigi1111
d71e7354d9 Merge pull request #2169
d518b20 WizardSummary: always show restore height when restoring from seed/keys/device (mmbyday)
2019-05-27 13:27:59 -05:00
luigi1111
bec3605757 Merge pull request #2168
ca9883b Fix restore height when using stagenet/testnet (mmbyday)
2019-05-27 13:26:12 -05:00
Monero-Pootle
bac13afc9b translations for release 0.14.1 (Pootle) 2019-05-27 13:19:30 +00:00
dsc
ab47b4a783 Expose get/set attrs for wallet cache in libwalletqt, requires #5534 2019-05-25 22:38:38 +02:00
mmbyday
d518b204b1 WizardSummary: always show restore height when restoring from seed/keys/device 2019-05-24 12:01:23 -07:00
mmbyday
ca9883b6c0 Fix restore height when using stagenet/testnet 2019-05-24 11:58:46 -07:00
xiphon
65422ae6ca use https to fetch remote nodes list on Windows 2019-05-22 15:03:01 +00:00
xiphon
07bda54c41 build: Windows link against setupapi (hidapi dependency) 2019-05-22 11:19:09 +00:00
xiphon
fbd6d683ed build: Windows statically link gcc and c++ runtime 2019-05-22 10:54:05 +00:00
xmrdsc
d3cf9eaf97 Bootstrap warning text should be richtext 2019-05-16 16:19:16 +02:00
mmbyday
a3c620f78d restore height visibility enhancements 2019-05-15 00:37:53 -07:00
luigi1111
c286c7e5a8 Merge pull request #2167
3734767 build: fix monero-wallet-gui.pro (selsta)
2019-05-13 12:57:49 -05:00
selsta
37347672a8 build: fix monero-wallet-gui.pro 2019-05-11 10:03:49 +02:00
luigi1111
f4982834ab Merge pull request #2165
5b79cf7 Windows installer: Update for Boron Butterfly 0.14.1.0 (rbrunner7)
2019-05-10 13:23:08 -05:00
luigi1111
209679abef Merge pull request #2164
96945c2 MiddlePanel: dynamic content height (selsta)
2019-05-10 13:22:15 -05:00
luigi1111
80a992553d Merge pull request #2158
ceed212 wallet: fix deadlock, omit invoking 'refresh' from callback (xiphon)
2019-05-10 13:21:14 -05:00
luigi1111
b77eca9db1 Merge pull request #2156
fbe1de1 keys: ux improvements for hardware device wallet (mmbyday)
2019-05-10 13:20:04 -05:00
luigi1111
cfa594e595 Merge pull request #2155
949e774 msys2: fix windows build with trezor (mmbyday)
2019-05-10 13:19:00 -05:00
luigi1111
abf823e38d Merge pull request #2147
c88bb60 transaction: async commit (ph4r05)
2019-05-10 13:01:29 -05:00
luigi1111
08caf05eb2 Merge pull request #2141
d4be763 Fiat API (xmrdsc)
2019-05-10 12:59:37 -05:00
René Brunner
5b79cf7a6a Windows installer: Update for Boron Butterfly 0.14.1.0 2019-05-07 10:37:30 +02:00
selsta
96945c2c79 MiddlePanel: dynamic content height 2019-05-07 07:34:50 +02:00
dsc
d4be7634cb Fiat API
Co-Authored-By: selsta <selsta@sent.at>
Co-Authored-By: Gene Peters <gene@telligent-data.com>
2019-05-06 04:36:23 +02:00
xiphon
ceed212e63 wallet: fix deadlock, omit invoking 'refresh' from callback
Co-authored-by: Dusan Klinec <dusan.klinec@gmail.com>
2019-05-03 18:43:11 +00:00
luigi1111
3c1fe1da8b Merge pull request #2157
1f2f081 Black theme by default (xiphon)
2019-05-03 13:06:07 -05:00
luigi1111
4b43a1dfb6 Merge pull request #2153
94440f9 readme: add svg module (mmbyday)
2019-05-03 13:04:37 -05:00
luigi1111
1fcd79729c Merge pull request #2149
5d3fe93 Check before disconnecting wallet (xmrdsc)
2019-05-03 13:01:13 -05:00
luigi1111
f53d01be56 Merge pull request #2146
c82bffe SettingsLayout: fix order (selsta)
2019-05-03 13:00:24 -05:00
luigi1111
58e7af27c4 Merge pull request #2145
c840549 Add copyright headers (mmbyday)
2019-05-03 12:59:28 -05:00
luigi1111
2d7b3e2bef Merge pull request #2144
119d91a labelSubHeader: fix width bug (mmbyday)
2019-05-03 12:58:41 -05:00
luigi1111
1b529fabef Merge pull request #2143
b74aa1a dialogs: fix titlebar disabledness (mmbyday)
2019-05-03 12:57:53 -05:00
luigi1111
eb53c72ca4 Merge pull request #2142
c151e5e wizardcreatedevice: cleanup layout (mmbyday)
2019-05-03 12:56:57 -05:00
luigi1111
d0a40b4ca8 Merge pull request #2133
cb4a9da RightPanel: cleanup from repo (selsta)
2019-05-03 12:47:46 -05:00
luigi1111
34e46eda64 Merge pull request #2100
171e1fc Fix checking for gui updates (mmbyday)
2019-05-03 12:46:42 -05:00
luigi1111
fc4ae89039 Merge pull request #2068
480acf4 Scan keysfiles in wizard - open wallet (xmrdsc)
2019-05-03 12:45:14 -05:00
xiphon
1f2f08190a Black theme by default 2019-05-03 14:39:09 +00:00
mmbyday
fbe1de1164 keys: ux improvements for hardware device wallet 2019-05-03 00:38:09 -07:00
mmbyday
949e774a9f msys2: fix windows build with trezor 2019-05-02 23:16:53 -07:00
mmbyday
94440f9d0b readme: add svg module
Fixes #2152
2019-05-02 14:01:14 -07:00
mmbyday
c151e5e7a1 wizardcreatedevice: cleanup layout 2019-05-02 12:11:21 -07:00
xmrdsc
5d3fe93e1f Check before disconnecting wallet 2019-05-02 16:27:35 +02:00
Dusan Klinec
c88bb60135 transaction: async commit
Addresses #2123, reduces UI freezing on long-lasting operation, improves Trezor experience
2019-05-02 16:19:22 +02:00
dsc
480acf441d Scan keysfiles in wizard - open wallet 2019-05-02 00:41:09 +02:00
selsta
c82bffeacc SettingsLayout: fix order 2019-05-01 23:17:41 +02:00
mmbyday
c840549db5 Add copyright headers 2019-05-01 13:53:04 -07:00
mmbyday
119d91ab80 labelSubHeader: fix width bug 2019-04-30 22:59:08 -07:00
mmbyday
b74aa1a585 dialogs: fix titlebar disabledness 2019-04-30 22:00:39 -07:00
mmbyday
171e1fc023 Fix checking for gui updates 2019-04-30 18:43:37 -07:00
luigi1111
97cd215491 Merge pull request #2131
83e4343 Transfer: warn when sending to a known long PID service (selsta)
2019-04-30 15:46:38 -05:00
selsta
83e434395b Transfer: warn when sending to a known long PID service 2019-04-30 22:45:11 +02:00
luigi1111
afd9449b1d Merge pull request #2136
ed0bccc LeftPanel: don't change font size if balance is hidden (selsta)
2019-04-30 15:40:39 -05:00
luigi1111
7ee0f5907f Merge pull request #2135
e9df885 Merchant: fix title bar with custom decorations turned off (selsta)
2019-04-30 15:39:48 -05:00
luigi1111
18f7c43fff Merge pull request #2134
e910e40 repo: cleanup unused files (selsta)
2019-04-30 15:38:57 -05:00
luigi1111
de257c0ab2 Merge pull request #2132
b1ceaea add missing language files for Greek (_el) and Nepali (_ne) (Monero-Pootle)
ca2356f round of translations + refresh template and language files (Monero-Pootle)
2019-04-30 15:28:28 -05:00
luigi1111
060a718b0c Merge pull request #2128
607b1f8 logging: initial log level set by ENV var (ph4r05)
2019-04-30 15:27:03 -05:00
luigi1111
8d9f33b5aa Merge pull request #2127
131c427 passworddialog: replace eye with font awesome (mmbyday)
2019-04-30 15:25:59 -05:00
luigi1111
5062886815 Merge pull request #2125
d37de31 sign: use radiobuttons to change modes (mmbyday)
2019-04-30 15:25:05 -05:00
luigi1111
7dfc6ceef5 Merge pull request #2124
5f38dbb wizard: fix non-existent property backTransition (mmbyday)
2019-04-30 15:23:56 -05:00
luigi1111
7daff4c13a Merge pull request #2117
b2a7cb3 macOS: enable fullscreen support (selsta)
2019-04-30 15:22:41 -05:00
luigi1111
6b54017f08 Merge pull request #2092
9b7adfc transfer: change description/pid checkbox (mmbyday)
2019-04-30 15:20:51 -05:00
luigi1111
776d0ab33d Merge pull request #2029
18f2acc IPC and custom protocol handler for monero:// (xmrdsc)
2019-04-30 15:20:05 -05:00
selsta
e910e40d0b repo: cleanup unused files 2019-04-30 03:10:51 +02:00
selsta
ed0bccc7e2 LeftPanel: don't change font size if balance is hidden 2019-04-30 02:48:34 +02:00
selsta
e9df885b26 Merchant: fix title bar with custom decorations turned off 2019-04-30 02:34:27 +02:00
selsta
cb4a9daca2 RightPanel: cleanup from repo 2019-04-30 02:14:11 +02:00
mmbyday
131c42701c passworddialog: replace eye with font awesome 2019-04-29 12:39:11 -07:00
dsc
18f2accc7f IPC and custom protocol handler for monero:// 2019-04-29 19:56:46 +02:00
Monero-Pootle
ca2356f509 round of translations + refresh template and language files 2019-04-29 14:36:07 +00:00
Monero-Pootle
b1ceaea4ac add missing language files for Greek (_el) and Nepali (_ne) 2019-04-29 14:36:00 +00:00
Dusan Klinec
607b1f8ede logging: initial log level set by ENV var 2019-04-29 14:26:34 +02:00
selsta
b2a7cb3d40 macOS: enable fullscreen support 2019-04-29 13:38:20 +02:00
mmbyday
5f38dbb7dd wizard: fix non-existent property backTransition 2019-04-28 23:44:08 -07:00
luigi1111
ff6ce6294b Merge pull request #2122
3658bf8 build: link against QtSVG module to enable SVG format support (xiphon)
2019-04-28 22:06:01 -05:00
luigi1111
03ade34cc7 Merge pull request #2121
6d60785 build: Mac OS X link CoreFoundation framework for static libhidapi (xiphon)
2019-04-28 22:05:18 -05:00
luigi1111
c8a3e29f9f Merge pull request #2120
91da476 wizard: reset remote node when switching network type (selsta)
2019-04-28 22:04:26 -05:00
luigi1111
cc5aab8c5f Merge pull request #2119
4ab1816 Mining: fix newline (selsta)
2019-04-28 22:03:37 -05:00
luigi1111
002404227f Merge pull request #2118
e6a8fcd Clean up m_wallet before opening new wallets (xmrdsc)
2019-04-28 22:02:44 -05:00
luigi1111
dff0a07a8a Merge pull request #2116
7ab8b4f SettingsLayout: userInactivitySliderTimer is not defined (selsta)
2019-04-28 21:58:45 -05:00
luigi1111
5f6a0d81de Merge pull request #2115
c92c362 components: remove show() from password dialogs (selsta)
2019-04-28 21:57:32 -05:00
luigi1111
e06e7d3e07 Merge pull request #2085
0e65f25 Update README.md for Qt 5.9.7 (xmrdsc)
2019-04-28 21:55:32 -05:00
luigi1111
78d8f1992b Merge pull request #2071
e84f462 Back transitions for the wizards (xmrdsc)
2019-04-28 21:54:43 -05:00
luigi1111
36b0900589 Merge pull request #2041
1644d3e Windows installer: Set up 'monero:' and 'moneroseed:' custom URI schemes (rbrunner7)
2019-04-28 21:53:35 -05:00
mmbyday
d37de31b35 sign: use radiobuttons to change modes 2019-04-27 21:47:25 -07:00
xiphon
3658bf8c53 build: link against QtSVG module to enable SVG format support 2019-04-28 01:40:21 +00:00
xiphon
6d60785800 build: Mac OS X link CoreFoundation framework for static libhidapi 2019-04-28 01:17:08 +00:00
selsta
91da476cb3 wizard: reset remote node when switching network type 2019-04-28 00:11:14 +02:00
selsta
4ab1816e1a Mining: fix newline 2019-04-27 23:47:44 +02:00
mmbyday
9b7adfc0a8 transfer: change description/pid checkbox 2019-04-26 02:03:50 -07:00
dsc
e6a8fcd6cc Clean up m_wallet before opening new wallets 2019-04-26 02:45:07 +02:00
dsc
e84f4623d8 Back transitions for the wizards 2019-04-26 01:53:42 +02:00
selsta
7ab8b4fac7 SettingsLayout: userInactivitySliderTimer is not defined 2019-04-25 23:41:55 +02:00
selsta
c92c3627a6 components: remove show() from password dialogs 2019-04-25 23:11:56 +02:00
luigi1111
e81cb7e640 Merge pull request #2081
99365fa Dynamic height for the settings->wallet (xmrdsc)
2019-04-25 16:01:42 -05:00
xmrdsc
0e65f25406 Update README.md for Qt 5.9.7 2019-04-25 23:00:22 +02:00
xmrdsc
99365fadf0 Dynamic height for the settings->wallet 2019-04-25 22:55:46 +02:00
luigi1111
7d9a698732 Merge pull request #2078
74dbe8b Account/Receive: update design (selsta)
2019-04-25 15:37:59 -05:00
selsta
74dbe8bfcb Account/Receive: update design 2019-04-25 22:36:02 +02:00
luigi1111
edaa28cc23 Merge pull request #2086
4b9da83 Change settings navbar text: Layout -> Interface (xmrdsc)
2019-04-25 15:33:06 -05:00
luigi1111
6477e18040 Merge pull request #2083
b8d2d05 Hide certain information from the transactions page if there are no transactions yet (xmrdsc)
2019-04-25 15:30:43 -05:00
luigi1111
9ce7c86558 Merge pull request #2073
a6525e7 wizard/device: hide splash screen (selsta)
2019-04-25 15:29:19 -05:00
luigi1111
36ec1a1c56 Merge pull request #2070
baff7f2 Animation slow down for debugging (xmrdsc)
2019-04-25 15:28:28 -05:00
luigi1111
b0ba2379f4 Merge pull request #2069
62285b0 Remove scaleRatio (xmrdsc)
2019-04-25 15:27:19 -05:00
luigi1111
5887f87677 Merge pull request #2058
247f129 Use Slider.onMoved for inactivity slider, remove Timer (xmrdsc)
2019-04-25 15:26:19 -05:00
xmrdsc
4b9da8385b Change settings navbar text: Layout -> Interface 2019-04-25 21:16:13 +02:00
xmrdsc
b8d2d05fce Hide certain information from the transactions page if there are no transactions yet 2019-04-25 21:13:41 +02:00
dsc
62285b01dc Remove scaleRatio 2019-04-25 21:09:23 +02:00
selsta
a6525e74e6 wizard/device: hide splash screen 2019-04-25 20:53:28 +02:00
xmrdsc
baff7f213f Animation slow down for debugging 2019-04-25 20:48:12 +02:00
luigi1111
e1c429110f Merge pull request #2096
f9dec6e wizard: replace icon with Font Awesome version (selsta)
2019-04-25 13:32:02 -05:00
selsta
f9dec6e882 wizard: replace icon with Font Awesome version 2019-04-25 20:29:53 +02:00
luigi1111
fd230789e9 Merge pull request #2113
035887d Activate Hindi language (erccicione)
2019-04-25 13:15:32 -05:00
luigi1111
f37a17581e Merge pull request #2111
24e7307 components: hide password on dialog opening (selsta)
2019-04-25 13:14:36 -05:00
luigi1111
8fd8bdcb2f Merge pull request #2107
04d0b14 InlineButton: fix warning and set font (selsta)
2019-04-25 13:12:40 -05:00
luigi1111
528aba8724 Merge pull request #2095
507441f History: improve human readable time format (selsta)
2019-04-25 13:08:00 -05:00
luigi1111
fb4dfd0ea8 Merge pull request #2060
42f7afa White theme (xmrdsc)
2019-04-25 13:05:54 -05:00
erciccione
035887d3be Activate Hindi language 2019-04-24 17:58:13 +02:00
selsta
24e7307a93 components: hide password on dialog opening 2019-04-24 14:14:36 +02:00
dsc
42f7afaefd White theme 2019-04-24 05:37:35 +02:00
selsta
04d0b14152 InlineButton: fix warning and set font 2019-04-23 23:21:47 +02:00
luigi1111
358e1d23fa Merge pull request #2106
7b7996d qrcodescanner: update icon with font awesome (mmbyday)
2019-04-23 15:34:24 -05:00
luigi1111
ba0f7fc9f6 Merge pull request #2105
45efb41 wizard: allow viewonly wallet restores (mmbyday)
2019-04-23 15:33:33 -05:00
luigi1111
b39f041177 Merge pull request #2103
1f90854 support user defined max-concurrency (xmrdsc)
2019-04-23 15:32:42 -05:00
luigi1111
4b324bb719 Merge pull request #2102
ee87122 wizardhome: fix network dropdown (mmbyday)
2019-04-23 15:30:08 -05:00
luigi1111
8cd97e807c Merge pull request #2098
c721670 main: remove unused openWalletFromFile and fileDialog code (xiphon)
2019-04-23 15:29:08 -05:00
luigi1111
f56d3ea590 Merge pull request #2097
ed603f3 device: fix hardware wallet creation / restore height (xiphon)
2019-04-23 15:28:16 -05:00
luigi1111
5d7102efd2 Merge pull request #2094
024abdb Merchant: remove unintentional file and add emptryString (selsta)
2019-04-23 14:06:21 -05:00
luigi1111
340b0836ff Merge pull request #2090
a6f7b13 wizard: don't translate hardware wallet names (selsta)
2019-04-23 14:04:31 -05:00
luigi1111
4926ee790b Merge pull request #2080
7f1fa6b Transfer: warn if description is a valid PID (selsta)
2019-04-23 14:01:44 -05:00
mmbyday
7b7996dc66 qrcodescanner: update icon with font awesome 2019-04-22 19:31:29 -07:00
mmbyday
45efb415cd wizard: allow viewonly wallet restores 2019-04-21 13:09:12 -07:00
mmbyday
ee87122d5b wizardhome: fix network dropdown 2019-04-21 12:26:55 -07:00
xmrdsc
1f908547e3 support user defined max-concurrency 2019-04-21 18:39:00 +02:00
xiphon
c721670098 main: remove unused openWalletFromFile and fileDialog code 2019-04-20 05:47:01 +00:00
xiphon
ed603f310e device: fix hardware wallet creation / restore height 2019-04-20 05:38:55 +00:00
selsta
507441f8b6 History: improve human readable time format 2019-04-19 14:20:26 +02:00
selsta
024abdb46f Merchant: remove unintentional file and add emptryString 2019-04-19 13:35:15 +02:00
René Brunner
1644d3eb17 Windows installer: Set up 'monero:' and 'moneroseed:' custom URI schemes 2019-04-18 18:19:00 +02:00
luigi1111
10926644bf Merge pull request #2088
15a5f76 add missing TranslationManager.emptyString (selsta)
2019-04-16 16:54:17 -04:00
luigi1111
e760d33dad Merge pull request #2084
c03ea40 Add Fedora requirements (xmrdsc)
2019-04-16 16:53:28 -04:00
luigi1111
2e4b7450ac Merge pull request #2079
5527507 repo: remove unused components/images (selsta)
2019-04-16 16:51:58 -04:00
luigi1111
09a89d8f4e Merge pull request #2076
71c3dd3 build: Linux static OpenSSL linking, add default OpenSSL lib path (xiphon)
2019-04-16 16:51:11 -04:00
luigi1111
f61a242f66 Merge pull request #2066
55fd233 readme: update link to pootle, add guide for translators, update copyright year (erciccione)
2019-04-16 16:50:23 -04:00
luigi1111
29e0f7c68f Merge pull request #2065
9c4688b PasswordDialog: don't always show() (mmbyday)
2019-04-16 16:49:25 -04:00
luigi1111
32d9c8f661 Merge pull request #2064
34fdfcb Use pkg-config to find libusb and protobuf (Trezor dependencies) (prusnak)
2019-04-16 16:48:18 -04:00
luigi1111
221a49a823 Merge pull request #2057
bd2687c flickable for wizardController (xmrdsc)
2019-04-16 16:47:31 -04:00
luigi1111
c30fd82636 Merge pull request #2056
7b0bdb1 wizard: fix clearing of restore wallet fields (mmbyday)
2019-04-16 16:46:37 -04:00
selsta
a6f7b13389 wizard: don't translate hardware wallet names 2019-04-16 16:53:35 +02:00
selsta
5527507115 repo: remove unused components/images 2019-04-16 16:44:00 +02:00
selsta
7f1fa6bbd6 Transfer: warn if description is a valid PID 2019-04-16 16:36:46 +02:00
selsta
15a5f76334 add missing TranslationManager.emptyString 2019-04-16 16:35:30 +02:00
xmrdsc
c03ea40552 Add Fedora requirements 2019-04-16 15:40:26 +02:00
xiphon
71c3dd3515 build: Linux static OpenSSL linking, add default OpenSSL lib path 2019-04-16 00:52:28 +00:00
erciccione
55fd2332ed readme: update link to pootle, add guide for translators, update copyright year 2019-04-14 11:05:12 +02:00
mmbyday
63ee61b8c4 transfer: make simple mode more simple 2019-04-12 21:36:13 -07:00
mmbyday
9c4688b3f0 PasswordDialog: don't always show() 2019-04-11 22:14:44 -07:00
dsc
bd2687c22f flickable for wizardController 2019-04-11 20:05:09 +02:00
mmbyday
7b0bdb1750 wizard: fix clearing of restore wallet fields 2019-04-11 01:28:19 -07:00
Pavol Rusnak
34fdfcb458 Use pkg-config to find libusb and protobuf (Trezor dependencies) 2019-04-10 22:10:32 +02:00
luigi1111
d2c47606ca Merge pull request #2061
568b78d Remove unused image, fix js/Utils.js, requires #5355 (xmrdsc)
2019-04-09 23:26:21 -04:00
dsc
568b78df81 Remove unused image, fix js/Utils.js, requires #5355 2019-04-09 15:27:28 +02:00
luigi1111
d72284dc0e Merge pull request #2025
7611e82 History redesign (xmrdsc)
2019-04-08 15:32:20 -04:00
dsc
7611e826aa History redesign 2019-04-08 21:28:51 +02:00
luigi1111
98a7a9e663 Merge pull request #2055
1e6e928 AddressBook: redesign (selsta)
2019-04-08 14:42:17 -04:00
selsta
1e6e928995 AddressBook: redesign 2019-04-08 20:40:35 +02:00
luigi1111
723ad8c8ae Merge pull request #2052
6833275 wizard: small UI fix (selsta)
2019-04-08 14:37:54 -04:00
luigi1111
c596e49a04 Merge pull request #2050
f7af87e Add compiled qml/js cache to gitignore (xmrdsc)
2019-04-08 14:36:33 -04:00
luigi1111
cd65cc12da Merge pull request #2037
1a2675b async device open and create from device, passphrase (ph4r05)
2019-04-08 14:35:29 -04:00
luigi1111
2f22503c8b Merge pull request #1822
5dbcd71 PasswordDialog: add CAPSLOCK checking (mmbyday)
2019-04-08 14:33:59 -04:00
dsc
247f129a24 Use Slider.onMoved for inactivity slider, remove Timer 2019-04-08 04:13:29 +02:00
Dusan Klinec
1a2675b246 async device open and create from device, passphrase
- passphrase entry on host added, requires early listener setting monero pull #5355
- wallet open and create from device shows splash to indicate possible long process
- create from device is async to support passphrase entry
2019-04-06 14:52:14 +02:00
selsta
6833275b2a wizard: small UI fix 2019-04-03 20:42:24 +02:00
luigi1111
19c2208dc4 Merge pull request #2019
9074633 device: Trezor support added (ph4r05)
2019-04-03 14:36:34 -04:00
luigi1111
82cf31010a Merge pull request #2049
49a3ead build: set monero submodule to master (selsta)
2019-04-03 14:32:00 -04:00
luigi1111
d3ad848ea1 Merge pull request #2035
8412218  README: update brew boost installation step (selsta)
2019-04-03 14:30:52 -04:00
luigi1111
f3cc2818c5 Merge pull request #2012
c2f1d01 main: automatically fix common wallet cache errors (mmbyday)
2019-04-03 14:27:34 -04:00
luigi1111
91d4470295 Merge pull request #1997
5403b94 Fix double titlebar (MaxXor)
2019-04-03 14:26:33 -04:00
xmrdsc
f7af87e57b Add compiled qml/js cache to gitignore 2019-04-03 18:11:25 +02:00
mmbyday
5dbcd714ea PasswordDialog: add CAPSLOCK checking 2019-04-02 13:18:16 -07:00
selsta
49a3eadd61 build: set monero submodule to master 2019-04-02 16:59:29 +02:00
luigi1111
d4d8ff54e6 Merge pull request #2036
51e48db addressbook description should not be richtext (xmrdsc)
2019-03-26 19:35:16 -04:00
dsc
51e48db6e5 addressbook description should not be richtext 2019-03-26 23:23:28 +01:00
selsta
8412218f70 README: update brew boost installation step 2019-03-26 12:26:07 +01:00
luigi1111
4bab4c510c Merge pull request #2022
190e2eb round of translations (about 600 strings) (Monero-Pootle)
2019-03-21 16:18:24 -04:00
luigi1111
d3d8e9fd0d Merge pull request #2021
e80e1b4 fix restore height option for hardware wallet restore (lacksfish)
2019-03-21 16:16:20 -04:00
luigi1111
11468d44be Merge pull request #2016
f5aec0e main: fix refreshing of language fields (mmbyday)
2019-03-21 16:15:21 -04:00
luigi1111
9c8b123fe5 Merge pull request #2015
e5bdf34 historytable: fix blockheight copying (mmbyday)
2019-03-21 16:14:34 -04:00
luigi1111
38788aab43 Merge pull request #2014
d6f8834 mining: fix layout issues (mmbyday)
2019-03-21 16:13:46 -04:00
luigi1111
9f53353b07 Merge pull request #2011
3562ab1 settingsnode: fix trusted node flag (mmbyday)
2019-03-21 16:13:02 -04:00
luigi1111
5c19a4d46f Merge pull request #1999
e664549 makes placeholder string untranslatable (erciccione)
2019-03-21 16:12:11 -04:00
luigi1111
3b791035bf Merge pull request #1976
dc5028f SettingsInfo: allow a date for restore height (selsta)
2019-03-21 16:11:08 -04:00
luigi1111
c47fed96b0 Merge pull request #1971
1ff1091 transfer, merchant: placehodler text for amount (mmbyday)
2019-03-21 16:10:15 -04:00
luigi1111
072d0dea24 Merge pull request #1965
01844ef transfer: messaging for disabled send button (mmbyday)
2019-03-21 16:09:13 -04:00
Monero-Pootle
190e2eb9ab round of translations (about 600 strings) 2019-03-17 18:49:54 +00:00
lacksfish
e80e1b4c1f fix restore height option for hardware wallet restore 2019-03-17 05:40:26 +01:00
Dusan Klinec
9074633751 device: Trezor support added 2019-03-15 14:21:37 +01:00
mmbyday
f5aec0eba9 main: fix refreshing of language fields 2019-03-12 18:53:56 -07:00
mmbyday
e5bdf34325 historytable: fix blockheight copying 2019-03-12 18:11:56 -07:00
mmbyday
d6f88349b9 mining: fix layout issues 2019-03-12 16:32:11 -07:00
mmbyday
c2f1d0168b main: automatically fix common wallet cache errors 2019-03-12 00:25:46 -07:00
mmbyday
3562ab1444 settingsnode: fix trusted node flag 2019-03-11 22:51:12 -07:00
erciccione
e664549f43 makes placeholder string untranslatable 2019-03-09 15:15:36 +01:00
MaxXor
5403b94f2e Fix double titlebar 2019-03-07 15:23:23 +01:00
luigi1111
02e1663471 Merge pull request #1991
2438b20 resync translations for 0.14.0 (round two) (erciccione)
2019-03-01 15:04:09 -06:00
erciccione
2438b20cf1 resync translations for 0.14.0 (round two) 2019-03-01 13:41:31 +01:00
luigi1111
287e379a24 Merge pull request #1990
0d24f64 invalidate wallet name after creation (xmrdsc)
2019-03-01 02:40:18 -06:00
luigi1111
cd9e1bf0ea Merge pull request #1989
fc68567 wizard: improve restore from device ui/ux (selsta)
2019-03-01 02:38:52 -06:00
luigi1111
39b0fa18e1 Merge pull request #1987
e729cd2 settingslayout: fix change language button does not change language (mmbyday)
2019-03-01 02:37:32 -06:00
luigi1111
5ce689972e Merge pull request #1981
3f0241a Revert 'Dont show message on simple mode disconnect/reconnect' (selsta)
2019-03-01 02:36:05 -06:00
dsc
0d24f642c3 invalidate wallet name after creation 2019-03-01 09:13:36 +01:00
selsta
fc68567f23 wizard: improve restore from device ui/ux 2019-03-01 08:37:35 +01:00
luigi1111
f7ac041b4e Merge pull request #1986
2af79ca Translations for 0.14.0 (Monero-Pootle)
1eadb1d wizard: allow restore height when creating wallet from device (mmbyday)
2019-02-28 22:24:30 -06:00
luigi1111
7fd1f8e025 Merge pull request #1985
61af76f wizard: allow restore height when creating wallet from device (mmbyday)
2019-02-28 16:59:50 -06:00
mmbyday
e729cd233c settingslayout: fix change language button does not change language 2019-02-28 14:44:11 -08:00
mmbyday
1eadb1dbf8 wizard: allow restore height when creating wallet from device 2019-02-28 21:49:19 +00:00
Monero-Pootle
2af79ca8b5 Translations for 0.14.0
Translations submitted on translate.getmonero.org. Before opening this PR all strings were synced to the codebase
2019-02-28 21:49:11 +00:00
luigi1111
effa019053 Merge pull request #1983
15f56e4 Update get_libwallet_api.sh, set submodule to release-v0.13 (xmrdsc)
2019-02-28 13:47:17 -06:00
luigi1111
b93b201eb3 Merge pull request #1980
e516a80 Removing HTTPs for Windows (xmrdsc)
2019-02-28 13:46:11 -06:00
mmbyday
61af76fcb8 wizard: allow restore height when creating wallet from device 2019-02-28 11:23:19 -08:00
dsc
15f56e4cea Update get_libwallet_api.sh, set submodule to release-v0.13 2019-02-28 18:14:52 +01:00
dsc
e516a8060a Removing HTTPs for Windows 2019-02-28 15:15:05 +01:00
selsta
3f0241a039 Revert "Dont show message on simple mode disconnect/reconnect"
This reverts commit 632423da07.
2019-02-28 13:08:41 +01:00
luigi1111
07df0f41bf Merge pull request #1977
c80bc12 Receive: change account -> address in string (selsta)
2019-02-27 17:40:36 -06:00
selsta
c80bc12284 Receive: change account -> address in string
Also remove stray spaces.
2019-02-27 23:18:24 +01:00
luigi1111
cf3f785fa2 Merge pull request #1975
87e93e1 Settings: fix create view only wallet button (selsta)
2019-02-27 14:43:29 -06:00
selsta
dc5028f019 SettingsInfo: allow a date for restore height 2019-02-27 00:26:16 +01:00
selsta
87e93e1b08 Settings: fix create view only wallet button 2019-02-27 00:08:30 +01:00
luigi1111
42103432b7 Merge pull request #1970
891ea15 SettingsWallet: hide creating a view wallet for viewOnly wallets (mmbyday)
2019-02-25 14:42:06 -06:00
luigi1111
842fe0d5f7 Merge pull request #1969
9b17235 sign, receive: fix reference errors (mmbyday)
2019-02-25 14:41:10 -06:00
luigi1111
94c50199ea Merge pull request #1968
6a7d42f LineEditMulti: fix binding loop (xiphon)
2019-02-25 14:39:53 -06:00
luigi1111
c2091e3a33 Merge pull request #1966
d3400db wizardController: cleanup restart variables (mmbyday)
2019-02-25 14:39:04 -06:00
luigi1111
a22203573f Merge pull request #1963
89d87b6 Add high-res images for mode selection wizard icons (xmrdsc)
2019-02-25 14:38:00 -06:00
luigi1111
0a5e87d007 Merge pull request #1962
05f0f82 Save wallet password (xmrdsc)
2019-02-25 14:36:45 -06:00
luigi1111
a237d16f7d Merge pull request #1961
632423d Dont show message on simple mode disconnect/reconnect (xmrdsc)
2019-02-25 14:33:04 -06:00
mmbyday
1ff1091ea4 transfer, merchant: placehodler text for amount 2019-02-25 12:17:54 -08:00
mmbyday
891ea158dc SettingsWallet: hide creating a view wallet for viewOnly wallets 2019-02-25 11:22:30 -08:00
mmbyday
9b17235533 sign, receive: fix reference errors 2019-02-25 09:45:06 -08:00
xiphon
6a7d42f3de LineEditMulti: fix binding loop 2019-02-25 17:24:17 +00:00
mmbyday
d3400db5c0 wizardController: cleanup restart variables 2019-02-25 08:30:59 -08:00
mmbyday
01844efaa7 transfer: messaging for disabled send button 2019-02-25 08:15:08 -08:00
dsc
89d87b66d4 Add high-res images for mode selection wizard icons 2019-02-25 16:24:34 +01:00
dsc
05f0f82bdc Save wallet password 2019-02-25 16:15:52 +01:00
dsc
632423da07 Dont show message on simple mode disconnect/reconnect 2019-02-25 16:07:03 +01:00
luigi1111
a89ffd02d0 Merge pull request #1959
47fcd31 wizardsummary: hide restore height when creating new wallet (mmbyday)
2019-02-25 04:52:16 -06:00
luigi1111
eb71974e73 Merge pull request #1958
3ac8772 addressbook: fix placeholder text for stagenet/testnet (mmbyday)
2019-02-25 04:51:12 -06:00
luigi1111
c7542932f0 Merge pull request #1956
341c00b Main: fix changing language from settings (mmbyday)
2019-02-25 04:50:21 -06:00
mmbyday
47fcd31806 wizardsummary: hide restore height when creating new wallet 2019-02-24 13:45:10 -08:00
mmbyday
341c00b15c Main: fix changing language from settings 2019-02-24 13:34:37 -08:00
mmbyday
3ac8772546 addressbook: fix placeholder text for stagenet/testnet 2019-02-24 13:25:11 -08:00
luigi1111
f3a47dbff8 Merge pull request #1953
9bc3bbd Windows installer: Update for Boron Butterfly 0.14.0.0 (rbrunner7)
2019-02-24 10:30:20 -06:00
luigi1111
944ab59642 Merge pull request #1952
fd842bb StandardButton: fix button appearance on Qt 5.7 (xiphon)
2019-02-24 10:29:29 -06:00
luigi1111
d9c2b34d3f Merge pull request #1951
30d8ba7 Fix color for daemon settings radiobutton (xmrdsc)
2019-02-24 10:28:48 -06:00
luigi1111
ecb683bd94 Merge pull request #1949
3dc04b0 Replace language sidebar with a dedicated language screen (xmrdsc)
2019-02-24 10:27:44 -06:00
luigi1111
64718235c7 Merge pull request #1947
08ec5e9 wizard: fix restore from key and seed functionality (mmbyday)
2019-02-24 10:16:36 -06:00
René Brunner
9bc3bbd966 Windows installer: Update for Boron Butterfly 0.14.0.0 2019-02-24 08:09:22 +01:00
xiphon
fd842bb9e4 StandardButton: fix button appearance on Qt 5.7 2019-02-24 09:21:34 +03:00
dsc
30d8ba72d1 Fix color for daemon settings radiobutton 2019-02-24 07:00:58 +01:00
dsc
3dc04b0df3 Replace language sidebar with a dedicated language screen 2019-02-24 06:31:01 +01:00
mmbyday
08ec5e99ac wizard: fix restore from key and seed functionality 2019-02-23 10:02:51 -08:00
luigi1111
c2889c2b81 Merge pull request #1909
f329a71 Wizard redesign (xmrdsc)
c6107d8 wizard: allow calendar date for restoration height (mmbyday)
2019-02-22 11:30:58 -06:00
mmbyday
c6107d8376 wizard: allow calendar date for restoration height 2019-02-22 03:05:29 +01:00
dsc
f329a71029 Wizard redesign 2019-02-22 03:05:27 +01:00
luigi1111
333f4aaf83 Merge pull request #1944
235a1ee Address input field indicative text based on nettype (xmrdsc)
2019-02-21 14:16:33 -06:00
luigi1111
f2b4c468a2 Merge pull request #1943
3aff7dd Fix default daemon/remote node RPC port based on the network type (xiphon)
2019-02-21 14:15:39 -06:00
luigi1111
7a5456e3e4 Merge pull request #1939
bd42200 settingsnode: enable trusted daemon option (mmbyday)
2019-02-21 14:13:38 -06:00
luigi1111
a219eb5d47 Merge pull request #1928
2c64769 Add Font-Awesome (xmrdsc)
2019-02-21 14:12:26 -06:00
dsc
235a1ee4b0 Address input field indicative text based on nettype 2019-02-20 06:29:44 +01:00
xiphon
3aff7ddcef Fix default daemon/remote node RPC port based on the network type 2019-02-17 14:40:03 +00:00
mmbyday
bd42200a29 settingsnode: enable trusted daemon option 2019-02-16 21:19:37 -08:00
luigi1111
0064e595c3 Merge pull request #1936
f91b38f Revert 02493be (xiphon)
2019-02-14 11:18:07 -06:00
luigi1111
b1ae99c3df Merge pull request #1870
d369040 openalias: usuability improvements on addressbook/transfer page (mmbyday)
2019-02-14 11:15:26 -06:00
xiphon
f91b38ff53 Revert "Bring back paymentID to tranfer page and force hide paymentId on a settings toggle (and reset fields on transfer page)"
This reverts commit 02493be6eb.
2019-02-12 13:42:22 +03:00
mmbyday
d36904096d openalias: usuability improvements on addressbook/transfer page 2019-02-06 22:19:56 -08:00
luigi1111
ed760cfc82 Merge pull request #1932
27285d0 HistoryTable: fix time alignment (selsta)
2019-02-06 16:12:55 -06:00
luigi1111
b5f63184a9 Merge pull request #1931
fe959dc warningbox: make text readonly (mmbyday)
2019-02-06 16:11:34 -06:00
luigi1111
bb14eeb4fc Merge pull request #1930
57ade04 transfer: fix non-existent property cursorPosition (mmbyday)
2019-02-06 16:09:55 -06:00
luigi1111
9e0311fa3d Merge pull request #1929
a3128c9 Cleanup advanced pages (xmrdsc)
2019-02-06 16:08:45 -06:00
luigi1111
3caa1c6840 Merge pull request #1923
d76330d Merchant: fix checkbox (mmbyday)
2019-02-06 16:06:20 -06:00
luigi1111
64df6a027e Merge pull request #1914
28332f5 Receive: update subaddress table design (selsta)
2019-02-06 16:04:55 -06:00
luigi1111
8850661b6c Merge pull request #1856
ecb6949 StandardDialog: make scrollable + close button (mmbyday)
2019-02-06 16:02:12 -06:00
luigi1111
b4e19cb3e8 Merge pull request #1807
6fa805d qrscanner: update addressbook and transfer UI (mmbyday)
2019-02-06 15:59:10 -06:00
selsta
27285d04dd HistoryTable: fix time alignment 2019-02-04 05:37:05 +01:00
mmbyday
57ade0406e transfer: fix non-existent property cursorPosition 2019-02-01 17:43:40 -08:00
mmbyday
fe959dceb4 warningbox: make text readonly 2019-02-01 17:38:46 -08:00
mmbyday
6fa805df62 qrscanner: update addressbook and transfer UI 2019-02-01 15:39:41 -08:00
dsc
a3128c9103 Cleanup advanced pages 2019-02-01 22:20:38 +01:00
dsc
2c64769a51 Add Font-Awesome 2019-02-01 18:18:06 +01:00
mmbyday
d76330d32a Merchant: fix checkbox 2019-02-01 00:37:09 -08:00
selsta
28332f54e6 Receive: update subaddress table design 2019-02-01 08:22:03 +01:00
luigi1111
c7f3deb5cc Merge pull request #1922
8eb4f0d Force save daemon flags (xmrdsc)
515d051 daemonFlags input: fillWidth and force wrap (multiline) (xmrdsc)
2019-02-01 01:11:18 -06:00
luigi1111
0ac4c8c07d Merge pull request #1921
9b5b241 History: omit redundant 'Cancel' button in confirmation dialog (xiphon)
2019-02-01 01:09:58 -06:00
luigi1111
f8008002f6 Merge pull request #1920
da3eae2 Dynamic monerod --max-concurrency, max 6 (xmrdsc)
2019-02-01 01:09:04 -06:00
luigi1111
666dee9bd8 Merge pull request #1916
02493be Bring back paymentID to tranfer page and force hide paymentId on a settings toggle (and reset fields on transfer page) (xmrdsc)
2019-02-01 01:07:47 -06:00
luigi1111
225abb3144 Merge pull request #1913
15b7fe1 layout: fix top margin on various pages (selsta)
2019-02-01 01:06:31 -06:00
luigi1111
d2113686ab Merge pull request #1907
eec1560 IconButton: fix mousearea and animation (selsta)
2019-02-01 01:05:32 -06:00
luigi1111
10d8fc01ea Merge pull request #1905
bd809ab add account support (selsta)
2019-02-01 01:04:38 -06:00
luigi1111
443e9c260d Merge pull request #1876
65f99c9 PasswordDialog: cancel button text is more descriptive and dynamic (mmbyday)
2019-02-01 01:02:36 -06:00
luigi1111
73d6b2744e Merge pull request #1872
4b78ef7 Use MoneroComponents for keys page and make warningbox selectable (xmrdsc)
2019-02-01 01:00:55 -06:00
luigi1111
b78968b9d5 Merge pull request #1861
d5a69cb history: enable set_tx_note (mmbyday)
2019-02-01 00:02:07 -06:00
dsc
515d051c6a daemonFlags input: fillWidth and force wrap (multiline) 2019-01-30 15:13:30 +01:00
dsc
8eb4f0db2a Force save daemon flags 2019-01-30 15:09:45 +01:00
dsc
da3eae20f0 Dynamic monerod --max-concurrency, max 6 2019-01-30 10:38:11 +01:00
xiphon
9b5b241163 History: omit redundant 'Cancel' button in confirmation dialog 2019-01-29 22:42:32 +03:00
dsc
02493be6eb Bring back paymentID to tranfer page and force hide paymentId on a settings toggle (and reset fields on transfer page) 2019-01-28 14:17:06 +01:00
skftn
4b78ef71dc Use MoneroComponents for keys page and make warningbox selectable 2019-01-24 09:07:19 +01:00
selsta
eec1560ead IconButton: fix mousearea and animation
Co-authored-by: mmbyday <mmbyday@protonmail.com>
2019-01-23 16:09:49 +01:00
selsta
bd809abc52 add account support
Co-authored-by: kenshi84 <kenshi84@protonmail.ch>
2019-01-22 23:07:30 +01:00
selsta
15b7fe159f layout: fix top margin on various pages 2019-01-22 15:10:53 +01:00
luigi1111
9689fff957 Merge pull request #1912
fd3280c CSV export functionality for transaction history (xmrdsc)
2019-01-21 15:04:28 -06:00
luigi1111
aa0742fe05 Merge pull request #1908
a84bdce tabs: cleanup from repo (selsta)
2019-01-21 15:03:07 -06:00
luigi1111
ea92e411c4 Merge pull request #1906
c963fac WalletManager: fix handling Payment URLs with empty amount (xiphon)
2019-01-21 15:02:22 -06:00
luigi1111
3577bef711 Merge pull request #1904
b758c79 AddressBook: hide 'Add' form when invoked from 'Send' tab (xiphon)
2019-01-21 15:01:25 -06:00
luigi1111
1593038224 Merge pull request #1889
c06870b repo: cleanup unused components (selsta)
2019-01-21 15:00:02 -06:00
luigi1111
7ff851aabc Merge pull request #1883
578f826 images: remove unused images (selsta)
2019-01-21 14:58:58 -06:00
selsta
c06870ba53 repo: cleanup unused components
- PrivacyLevel
- TickDelegate
2019-01-21 21:58:15 +01:00
luigi1111
2fbc3d7290 Merge pull request #1895
ae2c666 translations with pootle (translate.getmonero.org) (Monero-Pootle)
2019-01-21 14:57:53 -06:00
selsta
578f8261d7 images: remove unused images 2019-01-21 21:56:27 +01:00
luigi1111
2b3be5ef9a Merge pull request #1894
3840126 merchant: hide color stripe (selsta)
2d18821 merchant: round in ago() function (selsta)
aa82615 merchant: fix payment tracker sorting (selsta)
84c509c merchant: fix timezone offset (selsta)
2019-01-21 14:56:27 -06:00
luigi1111
b44bcffd6f Merge pull request #1891
fa64421 receive/wizard: fix warnings (mmbyday)
2019-01-21 14:55:03 -06:00
luigi1111
e68d922a0c Merge pull request #1886
bea033b SettingsWallet: readd change password button (selsta)
2019-01-21 14:53:45 -06:00
luigi1111
a6824c6802 Merge pull request #1885
f2749fa repo: cleanup unused pages and components (selsta)
2019-01-21 14:52:40 -06:00
luigi1111
8a4596ee47 Merge pull request #1884
310679c QML: fix various warnings (xiphon)
2019-01-21 14:51:43 -06:00
luigi1111
6404bf9bb3 Merge pull request #1881
52e5317 images: add more @2x high DPI versions (selsta)
2019-01-21 14:50:04 -06:00
luigi1111
7316716e15 Merge pull request #1879
bebb902 build: always checkout latest remote master (selsta)
2019-01-21 14:48:56 -06:00
luigi1111
90b0f4fa55 Merge pull request #1878
77cd521 Wizard/Device: set estimated restore height if none is provided (selsta)
2019-01-21 14:48:08 -06:00
luigi1111
f6ba2e28cb Merge pull request #1873
b26cbe8 HistoryTable: show address and address label in tx details (mmbyday)
2019-01-21 14:47:14 -06:00
luigi1111
442320bc36 Merge pull request #1866
bb37234 Transfer: disable long payment ids by default (selsta)
2019-01-21 14:45:48 -06:00
luigi1111
2207fd5b29 Merge pull request #1865
3c0f269 Transfer: remove ability to transfer with detached short payment ids (selsta)
2019-01-21 14:44:38 -06:00
luigi1111
eb028646b2 Merge pull request #1836
ba2815b receive: add 'Download QR-Code image' and 'Copy Payment URL' buttons (xiphon)
2019-01-21 14:43:35 -06:00
dsc
fd3280c254 CSV export functionality for transaction history 2019-01-21 04:50:43 +01:00
selsta
a84bdce356 tabs: cleanup from repo 2019-01-18 00:15:24 +01:00
xiphon
c963facc8c WalletManager: fix handling Payment URLs with empty amount 2019-01-16 18:01:11 +00:00
xiphon
b758c799d4 AddressBook: hide 'Add' form when invoked from 'Send' tab 2019-01-15 20:24:18 +00:00
selsta
bea033b18a SettingsWallet: readd change password button 2019-01-15 18:29:42 +01:00
xiphon
ba2815b6c9 receive: add "Download QR-Code image" and "Copy Payment URL" buttons 2019-01-10 15:07:39 +00:00
Monero-Pootle
ae2c666a49 translations with pootle (translate.getmonero.org) 2019-01-10 12:55:30 +00:00
selsta
84c509c00d merchant: fix timezone offset 2019-01-10 11:19:21 +01:00
selsta
aa82615374 merchant: fix payment tracker sorting
If the History page wasn't opened once
before opening the Merchant page,
sorting was messed up.
2019-01-10 11:19:16 +01:00
selsta
2d1882108f merchant: round in ago() function 2019-01-10 11:11:02 +01:00
selsta
38401262cf merchant: hide color stripe 2019-01-10 11:10:48 +01:00
mmbyday
b26cbe8101 HistoryTable: show address and address label in tx details 2019-01-09 23:15:21 -08:00
selsta
f2749fa1f0 repo: cleanup unused pages and components
- Dashboard
- TableHeader
- SearchInput
- DashboardTable
2019-01-10 06:58:43 +01:00
selsta
52e5317133 images: add more @2x high DPI versions
Thanks to knueffelbund for drawing the missing @2x graphics.

Co-authored-by: GBKS <chri@sto.ph>
2019-01-10 06:44:16 +01:00
mmbyday
fa64421f94 receive/wizard: fix warnings 2019-01-09 21:32:27 -08:00
xiphon
310679c680 QML: fix various warnings 2019-01-10 04:57:57 +03:00
luigi1111
36eb1f80e1 Merge pull request #1890
8022db3 Proof: don't round amounts received (selsta)
2019-01-09 17:52:26 -06:00
luigi1111
dc7a95c8d1 Merge pull request #1888
9aef631 Wizard: use one icon and add @2x version (selsta)
2019-01-09 17:50:41 -06:00
luigi1111
a6289ba0f5 Merge pull request #1887
cae85bc Wizard: remove grey triangle (selsta)
2019-01-09 17:49:47 -06:00
luigi1111
999c2d1faa Merge pull request #1882
1050883 DatePicker: use one icon and add @2x version (selsta)
2019-01-09 17:47:39 -06:00
luigi1111
cc22466fa3 Merge pull request #1875
b4b4149 add new unactivated languages (bn,fa,ga,kmr,ur,zu) (ericcione)
2019-01-09 17:46:31 -06:00
luigi1111
6eac7daac9 Merge pull request #1874
c2e2777 wizard: add copying seed to clipboard warning (mmbyday)
2019-01-09 17:45:30 -06:00
luigi1111
4b2df0418a Merge pull request #1867
600c5a7 mining: optimize update function, improve performance (mmbyday)
2019-01-09 17:44:31 -06:00
luigi1111
5a682b37ec Merge pull request #1793
85cd428 Merchant page (xmrdsc)
2019-01-09 17:43:31 -06:00
selsta
8022db34c6 Proof: don't round amounts received 2019-01-08 10:07:50 +01:00
selsta
9aef631a25 Wizard: use one icon and add @2x version 2019-01-08 06:55:22 +01:00
selsta
cae85bce85 Wizard: remove grey triangle 2019-01-08 06:17:01 +01:00
selsta
10508839cb DatePicker: use one icon and add @2x version 2019-01-07 11:06:52 +01:00
selsta
bebb902aeb build: always checkout latest remote master 2019-01-02 14:53:12 +01:00
selsta
77cd521ffe Wizard/Device: set estimated restore height if none is provided
requires #5034
2019-01-02 10:12:21 +01:00
erciccione
b4b4149173 add new unactivated languages (bn,fa,ga,kmr,ur,zu) 2018-12-30 16:45:50 +01:00
mmbyday
65f99c9cbc PasswordDialog: cancel button text is more descriptive and dynamic 2018-12-30 00:44:52 -08:00
mmbyday
c2e27772e4 wizard: add copying seed to clipboard warning 2018-12-29 23:19:28 -08:00
luigi1111
97de72b27d Merge pull request #1869
7fe69ca Receive: fix priority dropdown alignment (selsta)
2018-12-29 15:07:58 -06:00
luigi1111
4320ead7f8 Merge pull request #1868
57556bf sign: fix style references (mmbyday)
2018-12-29 15:06:34 -06:00
luigi1111
659b89936f Merge pull request #1821
a8a518d Keys: add clipboard warning (mmbyday)
2018-12-29 15:03:27 -06:00
luigi1111
f2fad10483 Merge pull request #1800
125e1d4 Logging: fix logging file paths (mmbyday)
2018-12-29 15:02:18 -06:00
dsc
85cd428dcb Merchant page 2018-12-29 18:08:21 +01:00
selsta
bb37234142 Transfer: disable long payment ids by default 2018-12-28 20:06:51 +01:00
selsta
7fe69cac94 Receive: fix priority dropdown alignment
Also remove unnecessary row layout.
2018-12-28 19:10:50 +01:00
mmbyday
57556bf73c sign: fix style references 2018-12-27 20:50:19 -08:00
mmbyday
600c5a76f1 mining: optimize update function, improve performance 2018-12-27 20:42:37 -08:00
selsta
3c0f269c64 Transfer: remove ability to transfer with detached short payment ids 2018-12-27 01:18:19 +01:00
luigi1111
48a267f631 Merge pull request #1863
c57b2ef PrivacyLevelSmall: fix variable shadowing (xiphon)
2018-12-26 16:14:47 -06:00
luigi1111
c038c8e40a Merge pull request #1860
530a815 mining: fix unable to assign to int warning (mmbyday)
2018-12-26 16:13:48 -06:00
luigi1111
e553376c82 Merge pull request #1858
e098a3f history: enable search by recipient address (mmbyday)
2018-12-26 16:13:00 -06:00
luigi1111
b3794a8ece Merge pull request #1857
c484157 HistoryTable: icon for mining reward transactions (mmbyday)
2018-12-26 16:12:12 -06:00
luigi1111
b88ac2baa9 Merge pull request #1855
55c3d07 Transfer: hide PaymentId and Description by default (xiphon)
2018-12-26 16:11:02 -06:00
luigi1111
f5b684811c Merge pull request #1854
548bc5f CheckBox: iconOnTheLeft property, optional uncheckedIcon and border, rich text format (xiphon)
2018-12-26 16:09:24 -06:00
luigi1111
1f2d2db1fe Merge pull request #1853
787234e LineEditMulti: fix showingHeader and padding (empty label case) (xiphon)
2018-12-26 16:08:10 -06:00
luigi1111
342f85a68f Merge pull request #1852
2b5f920 main: use custom daemon settings goes directly to settings>node page (mmbyday)
2018-12-26 16:06:14 -06:00
luigi1111
bd3721a8e0 Merge pull request #1851
da5dade keys: add text for viewonly wallet (mmbyday)
2018-12-26 16:04:49 -06:00
luigi1111
886cea3172 Merge pull request #1838
d8b40b6 build: fixes build with Trezor, requires #4945, on current monero master (ph4r05)
2018-12-26 16:03:09 -06:00
luigi1111
a2a4754982 Merge pull request #1826
7708b09 Sign: redesign page with message/file toggle (mmbyday)
2018-12-26 16:01:33 -06:00
mmbyday
d5a69cb638 history: enable set_tx_note 2018-12-25 11:52:41 -08:00
xiphon
c57b2ef12d PrivacyLevelSmall: fix variable shadowing 2018-12-25 19:44:37 +00:00
mmbyday
530a81563c mining: fix unable to assign to int warning 2018-12-24 09:53:06 -08:00
xiphon
55c3d07a14 Transfer: hide PaymentId and Description by default 2018-12-24 11:13:32 +03:00
mmbyday
ecb6949c30 StandardDialog: make scrollable + close button 2018-12-23 17:16:20 -08:00
mmbyday
e098a3f15e history: enable search by recipient address 2018-12-22 13:34:19 -08:00
mmbyday
c484157068 HistoryTable: icon for mining reward transactions 2018-12-21 21:36:30 -08:00
xiphon
548bc5f028 CheckBox: iconOnTheLeft property, optional uncheckedIcon and border, rich text format 2018-12-22 01:19:15 +03:00
mmbyday
da5dadec3b keys: add text for viewonly wallet 2018-12-21 10:18:49 -08:00
xiphon
787234e838 LineEditMulti: fix showingHeader and padding (empty label case) 2018-12-21 06:24:13 +00:00
mmbyday
2b5f920bc2 main: use custom daemon settings goes directly to settings>node page 2018-12-20 16:36:37 -08:00
mmbyday
7708b09ea2 Sign: redesign page with message/file toggle 🎨 2018-12-20 14:09:37 -08:00
luigi1111
002c800ee8 Merge pull request #1850
b38a93a Receive: fix subaddress alignment (selsta)
2018-12-20 14:37:14 -06:00
luigi1111
561ff356b8 Merge pull request #1849
6778742 openalias: handle address validation correctly (mmbyday)
2018-12-20 14:36:29 -06:00
luigi1111
806262a5a2 Merge pull request #1848
c2c1260 main: disable resize bar if custom decorations are off (selsta)
2018-12-20 14:35:16 -06:00
luigi1111
25b53782ab Merge pull request #1845
da6d01c MiddlePanel: fix scrollbar margin top/bottom (selsta)
2018-12-20 14:34:25 -06:00
luigi1111
d7f9ea7467 Merge pull request #1843
d2d4c21 SettingsLog: fix TextArea layout, border, scrollbar (xiphon)
2018-12-20 14:33:29 -06:00
luigi1111
d6981981d3 Merge pull request #1842
09a49f6 RadioButton: remove a gap between rectangle and text, fix layout (xiphon)
2018-12-20 14:32:27 -06:00
luigi1111
9477fe9286 Merge pull request #1841
50a9c00 images: add @2x high DPI versions (selsta)
2018-12-20 14:31:19 -06:00
luigi1111
1e4e9384eb Merge pull request #1830
84a6042 mining: add visual icon/indicator that mining is enabled, visible on all the screens (mmbyday)
2018-12-20 14:30:08 -06:00
luigi1111
7cf94734be Merge pull request #1820
09201b1 Clear text fields up switching wallets (mmbyday)
2018-12-20 14:28:29 -06:00
luigi1111
1e3c2f014c Merge pull request #1818
d10ce17 SettingsInfo: use MoneroComponents.StandardButton (mmbyday)
2018-12-20 14:27:29 -06:00
luigi1111
5d285452b3 Merge pull request #1814
5bebf83 Lock wallet on inactivity (xmrdsc)
2018-12-20 14:26:24 -06:00
mmbyday
67787421e1 openalias: handle address validation correctly 2018-12-20 12:24:55 -08:00
dsc
5bebf83d52 Lock wallet on inactivity 2018-12-20 10:38:38 +01:00
selsta
b38a93a412 Receive: fix subaddress alignment 2018-12-20 00:06:23 +01:00
selsta
da6d01c451 MiddlePanel: fix scrollbar margin top/bottom 2018-12-19 23:37:42 +01:00
selsta
c2c1260da0 main: disable resize bar if custom decorations are off 2018-12-19 22:10:54 +01:00
selsta
50a9c00c59 images: add @2x high DPI versions 2018-12-19 16:56:38 +01:00
xiphon
d2d4c21cde SettingsLog: fix TextArea layout, border, scrollbar 2018-12-19 08:06:52 +03:00
mmbyday
84a60424ef mining: add visual icon/indicator that mining is enabled, visible on all the screens 2018-12-18 19:07:26 -08:00
xiphon
09a49f6392 RadioButton: remove a gap between rectangle and text, fix layout 2018-12-18 20:45:56 +00:00
Dusan Klinec
d8b40b6c46 build: fixes build with Trezor, requires #4945, on current monero master 2018-12-18 21:09:10 +01:00
luigi1111
bac833c1dd Merge pull request #1809
fbac6f2 standard-button: handle changing text/icon at runtime (xiphon)
2018-12-18 13:31:39 -06:00
luigi1111
0c9c96206e Merge pull request #1808
f3941c3 Package import requires a version number (xmrdsc)
2018-12-18 13:30:43 -06:00
mmbyday
09201b17fb Clear text fields up switching wallets 2018-12-18 11:07:58 -08:00
mmbyday
d10ce1744c SettingsInfo: use MoneroComponents.StandardButton 💄 2018-12-18 10:31:25 -08:00
luigi1111
7c0a557e62 Merge pull request #1839
481ef1f mining: display max cpu thread count and warn about impact (mmbyday)
2018-12-18 09:52:57 -06:00
luigi1111
4c3f84a695 Merge pull request #1835
515bb16 fix various QML warnings (xiphon)
2018-12-18 09:52:02 -06:00
luigi1111
9b3a0d5b13 Merge pull request #1834
77ec8e5 middlepanel: fix length of scrollable area on Transfer page (mmbyday)
2018-12-18 09:50:31 -06:00
luigi1111
4d2b454e6d Merge pull request #1832
616fd66 main: hide Unlock time when switching wallets (mmbyday)
2018-12-18 09:49:34 -06:00
luigi1111
8ea0c16390 Merge pull request #1831
1d5937e wizard: add close button by enabling titlebar (mmbyday)
2018-12-18 09:48:24 -06:00
luigi1111
83f8508f56 Merge pull request #1829
bd82898 PasswordDialog: hide balance when passwordDialog is open (xiphon)
2018-12-18 09:45:36 -06:00
luigi1111
16e08c2a12 Merge pull request #1825
e1623e0 readme: add 'Translations' section and link to pootle in 'Development resources' (erciccione)
2018-12-18 09:44:41 -06:00
luigi1111
619cc2b147 Merge pull request #1824
da7abd8 Transfer: fix amount label boldness (mmbyday)
2018-12-18 09:38:42 -06:00
luigi1111
b8f531382d Merge pull request #1823
fc26bd1 Transfer: transaction priority persists over page changes and reset to automatic after successful send (mmbyday)
2018-12-18 09:36:30 -06:00
luigi1111
f463d2c511 Merge pull request #1817
9c09294 settings-wallet: use StandardButton instead of custom buttons (xiphon)
2018-12-18 09:34:04 -06:00
luigi1111
5b3adeeb73 Merge pull request #1815
d70f714 settings-node: use StandardButton instead of custom buttons (xiphon)
2018-12-18 09:32:15 -06:00
luigi1111
29df4ab244 Merge pull request #1813
564f256 settingsLog: fix layout glitch when loaded first time (mmbyday)
2018-12-18 09:25:36 -06:00
luigi1111
923fe7b02b Merge pull request #1811
793b4ab StandardDropdown: fix variable name (> Qt 5.7) (selsta)
2018-12-18 09:22:19 -06:00
mmbyday
481ef1f895 mining: display max cpu thread count and warn about impact 2018-12-17 21:17:28 -08:00
erciccione
e1623e0928 readme: add 'Translations' section and link to pootle in 'Development resources' 2018-12-17 23:15:52 +01:00
mmbyday
a8a518d728 Keys: add clipboard warning 💬 2018-12-17 13:12:12 -08:00
xiphon
515bb16418 fix various QML warnings 2018-12-17 09:10:11 +00:00
mmbyday
77ec8e5bda middlepanel: fix length of scrollable area on Transfer page 2018-12-16 22:30:02 -08:00
mmbyday
616fd6603f main: hide Unlock time when switching wallets 2018-12-16 20:13:07 -08:00
mmbyday
1d5937e1e8 wizard: add close button by enabling titlebar 2018-12-16 19:27:27 -08:00
xiphon
bd8289803e PasswordDialog: hide balance when passwordDialog is open
Co-authored-by: mmbyday <mmbyday@protonmail.com>
2018-12-15 04:07:01 +00:00
mmbyday
da7abd885a Transfer: fix amount label boldness 🐛 2018-12-14 09:17:00 -08:00
mmbyday
fc26bd175e Transfer: transaction priority persists over page changes and reset to automatic after successful send 2018-12-13 19:53:50 -08:00
xiphon
9c09294d95 settings-wallet: use StandardButton instead of custom buttons 2018-12-13 19:10:20 +00:00
xiphon
d70f714f35 settings-node: use StandardButton instead of custom buttons 2018-12-13 18:45:21 +00:00
mmbyday
564f256f81 settingsLog: fix layout glitch when loaded first time 🐛 2018-12-13 10:19:46 -08:00
selsta
793b4ab708 StandardDropdown: fix variable name (> Qt 5.7)
Newer Qt versions don't like the name "column"
2018-12-13 18:13:39 +01:00
xiphon
fbac6f2afa standard-button: handle changing text/icon at runtime 2018-12-13 08:43:38 +00:00
dsc
f3941c37d4 Package import requires a version number 2018-12-13 09:12:23 +01:00
luigi1111
59fc48bd8b Merge pull request #1805
646ce0d MiddlePanel: fix color stripe z value (selsta)
2018-12-12 14:03:42 -06:00
luigi1111
68014ee4b2 Merge pull request #1802
db51dd0 Toggle hiding balance via Settings->Layout->Hide balance (xmrdsc)
2018-12-12 14:02:15 -06:00
luigi1111
2d9dc09be9 Merge pull request #1804
7e95253 MiddlePanel: use QtQuick.Control scrollbar (selsta)
2018-12-12 14:00:30 -06:00
luigi1111
3cf2b7ddbc Merge pull request #1803
fe6ce68 Use Text.PlainText as default for Text (xmrdsc)
2018-12-12 13:58:17 -06:00
selsta
646ce0dc0b MiddlePanel: fix color stripe z value 2018-12-12 15:33:21 +01:00
selsta
7e95253fa2 MiddlePanel: use QtQuick.Control scrollbar 2018-12-12 14:52:55 +01:00
dsc
fe6ce682bf Use Text.PlainText as default for Text 2018-12-12 11:41:52 +01:00
dsc
db51dd0c39 Toggle hiding balance via Settings->Layout->Hide balance 2018-12-12 09:33:24 +01:00
luigi1111
03f09865e8 Merge pull request #1797
84bf873 MiddlePanel: add scrollbars (mmbyday)
2018-12-11 14:02:04 -06:00
luigi1111
7b10b0b6b7 Merge pull request #1796
49c3b4e README: add MSYS2 workaround for qmlcachegen Bad address error with qt 5.11.2 (stoffu)
2018-12-11 14:01:11 -06:00
luigi1111
f8cd4c86d9 Merge pull request #1794
e650818 TextField.onEditingFinished() is not available in Qt versions lower than 5.9. Replace with onEditingFinished() (xmrdsc)
b466f9f string.startsWith() is not available in Qt versions lower than 5.8. Replace with string.indexOf() (xmrdsc)
2018-12-11 13:59:03 -06:00
luigi1111
bd451e1402 Merge pull request #1791
e0796b2 standard-button: fix layout (xiphon)
f8a920d standard-button: add hover color animation (xiphon)
831dc59 standard-button: remove redundant 'icon' property (xiphon)
2018-12-11 13:57:21 -06:00
luigi1111
ee8d7f8f65 Merge pull request #1790
923fba3 submodules: update master to v0.13.0.4 to fix bad offset calculation otherwise unable to transfer funds (mmbyday)
2018-12-11 13:55:47 -06:00
luigi1111
3712da7e3f Merge pull request #1789
fa0c691 PasswordDialog: add ability to toggle text echo mode (mmbyday)
2018-12-11 13:54:34 -06:00
mmbyday
125e1d4a19 Logging: fix logging file paths 🐛 2018-12-11 10:36:37 -08:00
mmbyday
84bf8736d7 MiddlePanel: add scrollbars 💄 2018-12-10 10:49:07 -08:00
mmbyday
fa0c691666 PasswordDialog: add ability to toggle text echo mode 💄 2018-12-10 09:14:01 -08:00
stoffu
49c3b4e83c README: add MSYS2 workaround for qmlcachegen Bad address error with qt 5.11.2 2018-12-10 15:47:58 +09:00
dsc
b466f9fe96 string.startsWith() is not available in Qt versions lower than 5.8. Replace with string.indexOf() 2018-12-09 17:44:01 +01:00
dsc
e650818016 TextField.onEditingFinished() is not available in Qt versions lower than 5.9. Replace with onEditingFinished() 2018-12-09 17:43:55 +01:00
mmbyday
923fba3973 submodules: update master to v0.13.0.4 to fix bad offset calculation otherwise unable to transfer funds ⬆️ 2018-12-08 14:14:01 -08:00
xiphon
831dc59013 standard-button: remove redundant 'icon' property 2018-12-09 00:49:23 +03:00
xiphon
f8a920dc38 standard-button: add hover color animation 2018-12-09 00:49:22 +03:00
xiphon
e0796b24c9 standard-button: fix layout 2018-12-09 00:49:22 +03:00
luigi1111
0f05127262 Merge pull request #1788
1ea7766 import utils fix (xmrdsc)
2018-12-07 19:03:36 -06:00
luigi1111
fc06005e3a Merge pull request #1786
b1b8efd wizard: use hand cursor instead of arrow (xiphon)
2018-12-07 19:02:48 -06:00
luigi1111
c67077e428 Merge pull request #1785
950ac55 receive: enable advanced option checkbox2 to persist (mmbyday)
2018-12-07 19:01:46 -06:00
luigi1111
b5c7811dde Merge pull request #1784
a4efe92 readme: Add zbar pacman command to windows compile instructions (mmbyday)
2018-12-07 19:00:52 -06:00
luigi1111
4a6762a427 Merge pull request #1782
f72b407 checkbox: remove a gap between rectangle and text, fix layout (xiphon)
2018-12-07 18:59:59 -06:00
luigi1111
cda7dcb484 Merge pull request #1780
493623e settings: fix Binding loop detected for property preferredHeight (mmbyday)
2018-12-07 18:59:09 -06:00
luigi1111
2697ac69b2 Merge pull request #1779
722d32a wizard: fix flags hovering, cursor, layout (xiphon)
2018-12-07 18:58:15 -06:00
luigi1111
54f9b7413f Merge pull request #1778
56bd606 addressbook: improve readability by truncating long text and allowing wrapmode on address/description/paymentid fields (mmbyday)
2018-12-07 18:57:26 -06:00
luigi1111
99fe6fb628 Merge pull request #1775
a1170dd images: remove black background from History arrow (selsta)
2018-12-07 18:56:18 -06:00
luigi1111
9dcb3604d7 Merge pull request #1774
4bfd856 Enable clipboard copy functionality on XMR amounts (mmbyday)
2018-12-07 18:55:25 -06:00
luigi1111
4355dab38c Merge pull request #1769
97847d5 macOS: fix UI issues with dark mode (selsta)
2018-12-07 17:52:40 -06:00
dsc
1ea77662fe import utils fix 2018-12-07 08:48:20 +01:00
xiphon
b1b8efdc3b wizard: use hand cursor instead of arrow 2018-12-06 21:43:29 +00:00
mmbyday
950ac55281 receive: enable advanced option checkbox2 to persist 2018-12-06 14:56:23 -05:00
mmbyday
a4efe92e6d readme: Add zbar pacman command to windows compile instructions 2018-12-05 22:28:16 -05:00
xiphon
f72b4073ac checkbox: remove a gap between rectangle and text, fix layout 2018-12-05 21:14:12 +03:00
selsta
a1170dd9f9 images: remove black background from History arrow
convert downArrow.png -fuzz 50% -transparent black downArrow.png
convert upArrow-green.png -fuzz 20% -transparent black upArrow-green.png
2018-12-05 00:04:30 +01:00
luigi1111
71a1ff6677 Merge pull request #1772
8e0e088 HistoryTable: missing TransactionID text fix (mmbyday)
2018-12-04 14:32:52 -06:00
mmbyday
493623e929 settings: fix Binding loop detected for property preferredHeight 2018-12-04 15:17:51 -05:00
luigi1111
b27632e131 Merge pull request #1771
6c60b37 Fix Receive.qml:388: Error: Insufficient arguments (mmbyday)
2018-12-04 13:32:15 -06:00
xiphon
722d32a50c wizard: fix flags hovering, cursor, layout 2018-12-04 22:23:23 +03:00
mmbyday
56bd6065e5 addressbook: improve readability by truncating long text and allowing wrapmode on address/description/paymentid fields 2018-12-04 14:16:03 -05:00
mmbyday
4bfd8560cd Enable clipboard copy functionality on XMR amounts 2018-12-04 13:29:50 -05:00
luigi1111
9f6b4334a1 Merge pull request #1764
0a3c806 fix clipping of text in search box (mmbyday)
2018-12-03 01:07:28 -06:00
luigi1111
b5722cfce2 Merge pull request #1753
bbc790a get_libwallet_api: configure cmake toolchain for msys (stoffu)
2018-12-03 01:06:32 -06:00
luigi1111
72808de1ad Merge pull request #1768
02134c4 transfer: paste Payment URL to fill the payment form fields (xiphon)
2018-12-01 14:03:51 -06:00
luigi1111
6182d85f7e Merge pull request #1767
01209b1 SettingsNode: make TextArea readOnly (mmbyday)
2018-12-01 14:01:46 -06:00
luigi1111
41326d0a8d Merge pull request #1766
7a9c6f4 sign: fix label layout consistency (mmbyday)
2018-12-01 14:00:37 -06:00
luigi1111
377dd544eb Merge pull request #1765
079cfe2 titlebar: fix logos when isMobile (mmbyday)
2018-12-01 13:30:11 -06:00
luigi1111
dcddaad2be Merge pull request #1762
b9c7d8d keys: dynamic panel height and qrcode is no longer clipped (mmbyday)
2018-12-01 12:59:34 -06:00
luigi1111
f5c428b546 Merge pull request #1759
33e04a3 keys: bug fixes and aligned with wallet definition URI scheme (mmbyday)
2018-12-01 12:58:16 -06:00
luigi1111
11d65ea2d7 Merge pull request #1757
8ede250 icon background change to white for consistency (mmbyday)
2018-12-01 12:50:47 -06:00
luigi1111
401aafab48 Merge pull request #1756
eb311b9 receive: qrcode fixes (mmbyday)
2018-12-01 12:49:11 -06:00
luigi1111
eb7e271fc6 Merge pull request #1752
722e37f get_libwallet_api: init/update submodules after optional merging of PRs (stoffu)
2018-12-01 12:44:28 -06:00
luigi1111
7b2548b9fb Merge pull request #1746
5bdbe25 update translations (first Pootle commit) (Monero-Pootle)
2018-12-01 12:20:08 -06:00
luigi1111
46f0bb3f28 Merge pull request #1498
c840e2b Allow adjusting number of rounds for the key derivation function (stoffu)
2018-12-01 12:18:18 -06:00
mmbyday
8e0e088e70 HistoryTable: missing TransactionID text fix 2018-12-01 20:17:00 +02:00
mmbyday
6c60b37e63 Fix Receive.qml:388: Error: Insufficient arguments 2018-12-01 20:13:31 +02:00
selsta
97847d5a06 macOS: fix UI issues with dark mode 2018-11-30 07:51:39 +01:00
mmbyday
7a9c6f4de4 sign: fix label layout consistency 2018-11-30 06:12:19 +02:00
xiphon
02134c4fc6 transfer: paste Payment URL to fill the payment form fields 2018-11-30 03:51:03 +00:00
mmbyday
01209b11b9 SettingsNode: make TextArea readOnly 2018-11-30 04:34:14 +02:00
stoffu
c840e2b664 Allow adjusting number of rounds for the key derivation function 2018-11-30 11:22:32 +09:00
mmbyday
079cfe226d titlebar: fix logos when isMobile 2018-11-30 02:32:05 +02:00
mmbyday
b9c7d8d7b1 keys: dynamic panel height and qrcode is no longer clipped 2018-11-30 01:42:44 +02:00
Monero-Pootle
5bdbe25b3a update translations (first Pootle commit) 2018-11-29 18:38:04 +00:00
mmbyday
33e04a3190 keys: bug fixes and aligned with wallet definition URI scheme 2018-11-28 17:17:15 -08:00
mmbyday
0a3c80688b fix clipping of text in search box 2018-11-28 16:41:34 -08:00
mmbyday
8ede250bc6 icon background change to white for consistency 2018-11-28 15:06:26 -08:00
mmbyday
eb311b9aca receive: qrcode fixes 2018-11-28 14:03:05 -08:00
stoffu
bbc790a981 get_libwallet_api: configure cmake toolchain for msys 2018-11-27 17:22:02 +09:00
stoffu
722e37fb84 get_libwallet_api: init/update submodules after optional merging of PRs 2018-11-27 14:37:22 +09:00
luigi1111
45781ab4a1 Merge pull request #1750
2c44d97 transfer: fix amount validation regexp (xiphon)
2018-11-25 18:37:41 -06:00
luigi1111
777cea24c8 Merge pull request #1749
a79d76f transfer: prepend '0' to amount starting with '.' (xiphon)
2018-11-25 18:36:15 -06:00
luigi1111
bbc4bb27fe Merge pull request #1734
0a2e02b issue_1: fix push error (buricl)
2018-11-25 18:34:58 -06:00
luigi1111
0b73229f6c Merge pull request #1706
12a3d68 receive: fix Amount and QR-Code layout (xiphon)
3b36dc9 receive: add Payment URL (xiphon)
2018-11-25 18:33:47 -06:00
xiphon
2c44d979c6 transfer: fix amount validation regexp 2018-11-24 14:06:59 +00:00
xiphon
a79d76ff3f transfer: prepend '0' to amount starting with '.' 2018-11-24 00:39:17 +00:00
luigi1111
0e21b3cfda Merge pull request #1717
d9280b1 Build: fix static link to hidapi (MoroccanMalinois)
2018-11-20 17:58:24 -06:00
luigi1111
3e57bb344e Merge pull request #1657
3481acb Print the GUI version on application startup (skftn)
2018-11-17 23:58:35 -06:00
luigi1111
33a8a7276b Merge pull request #1722
aba5a0b Windows Installer: Update for Beryllium Bullet 0.13.0.4, take one+two (rbrunner)
2018-11-17 23:55:13 -06:00
luigi1111
4a744cf949 Merge pull request #1733
b34d540 components: RemoteNodeEdit validate port number range (xiphon)
1c61de0 settings: fix Remote Node 'Connect' button (xiphon)
2018-11-16 12:01:52 -06:00
luigi1111
73eb6b4b75 Merge pull request #1732
01054f2 left-panel: implement wallet 'Logout' shortcut button (xiphon)
2018-11-16 11:58:11 -06:00
luigi1111
d81ad1ce4f Merge pull request #1737
ebeb3fe mac build: remove PCSC framework (selsta)
2018-11-13 11:19:56 -06:00
luigi1111
8ae4a7708e Merge pull request #1620
6868e26 update catalan translation (duub)
2018-11-13 11:14:17 -06:00
selsta
ebeb3fefdb mac build: remove PCSC framework 2018-11-12 13:21:16 +01:00
buricl
0a2e02bb4d issue_1: fix push error 2018-11-12 00:42:45 +01:00
xiphon
1c61de082a settings: fix Remote Node 'Connect' button 2018-11-11 03:02:42 +03:00
xiphon
b34d5409e6 components: RemoteNodeEdit validate port number range 2018-11-11 02:44:48 +03:00
duub qnnp
6868e26678 update catalan translation 2018-11-10 13:54:16 +00:00
luigi1111
270a637924 Merge pull request #1728
808ecf5 settings-node: implement correct 'Start/Stop daemon' button logic (xiphon)
42a9e2f settings-node: change element id 'btnStopNode' to 'btnStartStopNode' (xiphon)
2018-11-09 13:24:36 -06:00
luigi1111
71603973c8 Merge pull request #1727
44d3966 left-panel: use consistent font size (xiphon)
2018-11-09 13:22:38 -06:00
luigi1111
7969f69866 Merge pull request #1699
3985524 password dialog: show error in place (xiphon)
2018-11-09 13:20:22 -06:00
luigi1111
ac709fed45 Merge pull request #1659
665eaf0 build: use correct monero core tag (xiphon)
2018-11-09 13:18:07 -06:00
xiphon
01054f2549 left-panel: implement wallet 'Logout' shortcut button 2018-11-07 20:16:33 +00:00
xiphon
42a9e2fe35 settings-node: change element id 'btnStopNode' to 'btnStartStopNode' 2018-11-06 22:19:07 +03:00
xiphon
808ecf57ac settings-node: implement correct 'Start/Stop daemon' button logic 2018-11-06 22:18:56 +03:00
luigi1111
6eb8c8c9d6 Merge pull request #1687
1aec393 Update Indonesian Translation (geomars)
2018-11-06 12:45:57 -06:00
geomars
1aec393c2f Update Indonesian Translation
Fix double closing tag an add space

Update and fix Indonesian translations
2018-11-06 18:41:32 +00:00
luigi1111
c6ebb71948 Merge pull request #1724
a261339 fix typo in finnish translation (erciccione)
2018-11-06 11:30:11 -06:00
luigi1111
0d7f135aaa Merge pull request #1712
0aed3cc fixed missing line break (DrRac27)
2018-11-06 11:27:41 -06:00
luigi1111
57aeeb0a6c Merge pull request #1707
11c0041 [IT-Translation] Typo fix and translation change (hrumag)
2018-11-06 11:26:33 -06:00
luigi1111
19082461e8 Merge pull request #1664
6dcd2b7 fix strings not marked as translatable (erciccione)
d32dabf syn and add unpicked strings in language files (erciccione)
2018-11-06 11:25:07 -06:00
xiphon
44d3966951 left-panel: use consistent font size 2018-11-06 00:40:55 +00:00
hrumag
11c0041794 [IT-Translation] Typo fix and translation change
[monero-core_it.ts] Typo fix and translation term change

[monero-core_it.ts] Translation term change
"wallet" => "portafoglio"
"inclusa" => "incorporata"

[monero-core_it.ts] Translation term change
    "wallet" => "portafoglio"

[monero-core_it.ts] General fixes
2018-11-04 17:43:00 +01:00
erciccione
a261339ddc fix typo in finnish translation 2018-11-03 11:55:18 +00:00
René Brunner
aba5a0b4ad Windows Installer: Update for Beryllium Bullet 0.13.0.4, take one+two 2018-11-02 13:18:41 +01:00
MoroccanMalinois
d9280b1711 Build: fix static link to hidapi 2018-11-02 02:31:08 +01:00
luigi1111
2641eda20a Merge pull request #1710
b1e9676 Debian 9 dependency (lunarthegrey)
2018-10-31 11:49:18 -05:00
luigi1111
8ed48b667e Merge pull request #1709
15ac299 settings: don't call parseFloat, isFinite to parse height (xiphon)
2018-10-31 11:47:14 -05:00
luigi1111
313e0865c6 Merge pull request #1708
7dea3a2 wizard: optionally hide restore 'From QR Code' btn (xiphon)
2018-10-31 11:38:23 -05:00
luigi1111
0fcccfe2d8 Merge pull request #1704
8d5e97a Changed Bulgarian flag to match style. (kasperaitis)
2018-10-31 11:37:15 -05:00
luigi1111
76b437e494 Merge pull request #1703
85a3682 Correction of View-Only Wallet description (see Issue #1610) (Leza89)
2018-10-31 11:36:12 -05:00
luigi1111
1c58d4377a Merge pull request #1695
a30ce26 Fix daemon host/port setting to allow tab switching (sectioneight)
2018-10-31 11:33:47 -05:00
luigi1111
459ece51b6 Merge pull request #1662
64f8c07 Adjustments to the Swedish translation (snaggen)
2018-10-31 11:32:07 -05:00
xiphon
15ac299fef settings: don't call parseFloat, isFinite to parse height 2018-10-29 19:01:46 +00:00
DrRac27
0aed3ccc96 fixed missing line break 2018-10-29 18:08:50 +01:00
Lunar
b1e9676f32 Debian 9 dependency 2018-10-28 11:15:40 -05:00
xiphon
7dea3a2373 wizard: optionally hide restore 'From QR Code' btn 2018-10-28 14:56:33 +03:00
xiphon
3b36dc997c receive: add Payment URL 2018-10-27 12:42:25 +00:00
xiphon
12a3d687c6 receive: fix Amount and QR-Code layout 2018-10-27 12:27:18 +00:00
Mattias Eriksson
64f8c07c5a Adjustments to the Swedish translation 2018-10-26 09:11:36 +02:00
Leza89
85a3682ac6 Correction of View-Only Wallet description (see Issue #1610)
* changed

<location filename="../pages/settings/SettingsWallet.qml" line="185"/>
        <source>Creates a new wallet that can only view transactions, cannot initialize transactions.</source>

to

"Creates a new wallet that can only view and initiate transactions, but requires a spendable wallet to sign transactions before sending"

in /pages/settings/SettingsWallet.qml (Thanks for the guidance, Erciccione)

* Updated all translations and added "unfinished" tag where necessary

* Updated german translation
2018-10-25 21:26:20 +02:00
Aivaras Kasperaitis
8d5e97acd3 Changed Bulgarian flag to match style. 2018-10-25 13:45:52 +03:00
xiphon
665eaf00c5 build: use correct monero core tag 2018-10-24 19:27:52 +00:00
erciccione
d32dabfd7f syn and add unpicked strings in language files 2018-10-24 19:29:30 +01:00
erciccione
6dcd2b76fa fix strings not marked as translatable 2018-10-24 19:27:48 +01:00
xiphon
39855241fc password dialog: show error in place 2018-10-24 06:54:31 +03:00
Aiden Scandella
a30ce26dba Fix daemon host/port setting to allow tab switching
Previously, these were multiline editing (for some reason I'm not sure,
perhaps you can have multiple remote nodes?)

I tried various workarounds, but the simplest was to change them to
simply LineEdit (like username/password) and now my bug is fixed.
2018-10-23 00:03:40 -07:00
luigi1111
3aa6da058a Merge pull request #1681
9a09e61 Rename 'blackball' for clarity (moneromooo-monero)
2018-10-19 00:04:30 -05:00
luigi1111
7fd4de60db Merge pull request #1677
e5dd174 Ukrainian translation for GUI 0.13 -- done (TheFuzzStone)
2018-10-19 00:02:34 -05:00
moneromooo-monero
9a09e6189b Rename "blackball" for clarity
Apparently some people seem to think it's a censorship list...
2018-10-18 20:51:03 +01:00
TheFuzzStone
e5dd174d69 Ukrainian translation for GUI 0.13 -- done 2018-10-18 17:32:47 +01:00
luigi1111
7615b86ac7 Merge pull request #1660
784ca96 fixed: networkStatus overlaps menu, padding (xiphon)
2018-10-16 18:16:45 -05:00
luigi1111
9735327df9 Merge pull request #1647
607ee52 Link to libhidapi rather than pcsclite (bjacquin)
2018-10-16 18:15:50 -05:00
luigi1111
b590282f66 Merge pull request #1669
a34608a Linking libhidapi for Linux; updating README (skftn)
2018-10-16 16:32:49 -05:00
luigi1111
2e2e7be4d0 Merge pull request #1667
cd024be tracking: query blockchain height only once during update (xiphon)
cf8f36b tracking: don't fetch redundant txes (xiphon)
2018-10-16 16:31:47 -05:00
luigi1111
003c916d71 Merge pull request #1656
258cd58 Resetting monero submodule to master (skftn)
2018-10-16 16:25:17 -05:00
luigi1111
e255b7828b Merge pull request #1653
977f2f4 README: add note for incompatible MSYS2 Qt version (Lafudoci)
2018-10-16 16:24:06 -05:00
luigi1111
3da9eab934 Merge pull request #1652
448519d Linking hidapi for OSX builds (skftn)
2018-10-16 16:09:08 -05:00
luigi1111
d7f0be3270 Merge pull request #1648
79452bc Add border to generated QR codes (glv2)
2018-10-16 16:05:59 -05:00
Sander Ferdinand
a34608a801 Linking libhidapi for Linux; updating README 2018-10-16 22:27:52 +02:00
xiphon
cf8f36ba76 tracking: don't fetch redundant txes 2018-10-16 18:37:48 +00:00
xiphon
cd024bed8b tracking: query blockchain height only once during update 2018-10-16 18:32:38 +00:00
xiphon
784ca96cca fixed: networkStatus overlaps menu, padding 2018-10-16 05:20:04 +00:00
Sander Ferdinand
3481acbe3c Print the GUI version on application startup 2018-10-16 02:03:29 +02:00
Lafudoci
977f2f4d93 README: add note for incompatible MSYS2 Qt version 2018-10-15 23:36:55 +08:00
Sander Ferdinand
258cd58c96 Resetting monero submodule to master 2018-10-15 17:25:55 +02:00
Sander Ferdinand
448519ddc1 Linking hidapi for OSX builds 2018-10-14 21:50:21 +02:00
Guillaume LE VAILLANT
79452bc9ac Add border to generated QR codes 2018-10-14 13:55:59 +02:00
Bertrand Jacquin
607ee5254a Link to libhidapi rather than pcsclite 2018-10-14 00:13:37 +01:00
luigi1111
7adeb694c1 Merge pull request #1644
97cfbf5 Linking crypto32 and libhidapi for Windows builds (skftn)
2018-10-13 13:23:07 -05:00
luigi1111
ba2c9b5beb Merge pull request #1643
d845e6b fix styling in bulgarian translation and sync with code (erciccione)
2018-10-13 13:21:03 -05:00
luigi1111
3cd4336bd0 Merge pull request #1642
421f6b5 Fix tags in Bulgarian translation (Lafudoci)
2018-10-13 13:18:52 -05:00
luigi1111
d86aa1a5a3 Merge pull request #1607
cc72eb2 Update monero-core_ro.ts (ni311)
2018-10-13 13:17:26 -05:00
Sander Ferdinand
97cfbf5c50 Linking crypto32 and libhidapi for Windows builds 2018-10-13 19:40:05 +02:00
ni311
cc72eb24c2 Update monero-core_ro.ts 2018-10-13 16:36:39 +01:00
erciccione
d845e6bb9e fix styling in bulgarian translation and sync with code 2018-10-13 11:31:08 +01:00
Lafudoci
421f6b582b Fix tags in Bulgarian translation 2018-10-13 14:11:34 +08:00
luigi1111
caae87e72b Merge pull request #1637
71bb2e8 Added the Bulgarian translation file (whotheff)
1e7f3c8 Updating languages.xml (whotheff)
b780142 Added the Bulgarian flag and updating qml.qrc (skftn)
2018-10-12 17:42:52 -05:00
luigi1111
fc7f2793e3 Merge pull request #1562
3bf20a0 Dll update (BigslimVdub)
2018-10-12 15:11:47 -05:00
luigi1111
ad88e60394 Merge pull request #1616
a636a04 fix some malaysian language to Indonesian (ha-yi)
2018-10-11 17:31:44 -05:00
luigi1111
f75086ca28 Merge pull request #1631
b9f2e37 Update Swedish translation with changes in PR#1609 (snaggen)
2018-10-11 14:47:05 -05:00
luigi1111
e7c73164a6 Merge pull request #1605
e21f890 Replacing the optional ring size slider in favor of static ring size 11 (skftn)
2018-10-11 14:45:45 -05:00
Sander Ferdinand
b780142c14 Added the Bulgarian flag and updating qml.qrc 2018-10-11 17:59:04 +02:00
whotheff
1e7f3c8126 Updating languages.xml 2018-10-11 17:58:56 +02:00
whotheff
71bb2e87c8 Added the Bulgarian translation file 2018-10-11 17:57:39 +02:00
luigi1111
6ca3c1a23e Merge pull request #1630
bdb1251 README: update MSYS2 dependencies for Ledger (Lafudoci)
2018-10-10 18:36:24 -05:00
luigi1111
f86bcc61c5 Merge pull request #1634
ead8dc2 Including pirate.png in qml.qrc (skftn)
2018-10-10 16:25:47 -05:00
luigi1111
77f0e9b912 Merge pull request #1633
ca29d7e Qt 5.7 does not support string.startsWith(); use string.indexOf() instead (skftn)
2018-10-10 16:10:38 -05:00
Sander Ferdinand
ead8dc27d0 Including pirate.png in qml.qrc 2018-10-10 20:33:21 +02:00
Sander Ferdinand
ca29d7e1be Qt 5.7 does not support string.startsWith(); use string.indexOf() instead 2018-10-10 20:15:44 +02:00
Sander Ferdinand
e21f8903ee Replacing the optional ring size slider in favor of static ring size 11 2018-10-10 20:04:00 +02:00
luigi1111
b4e0dd107c Merge pull request #1625
3e9df9d Linking libsodium (skftn)
2018-10-10 11:48:31 -05:00
luigi1111
cae90e8287 Merge pull request #1624
da02e4d Bumping monero submodule tag to 0.13 (skftn)
2018-10-10 11:47:17 -05:00
luigi1111
bee64abe2e Merge pull request #1623
cf321fa Added libsodium to install instructions (skftn)
2018-10-10 11:45:07 -05:00
luigi1111
c3f84d6de4 Merge pull request #1622
de8e80a sync all language files, including 'monero-core.ts', for 0.13 (erciccione)
2018-10-10 11:43:58 -05:00
Mattias Eriksson
b9f2e372d0 Update Swedish translation with changes in PR#1609 2018-10-10 09:48:01 +02:00
Lafudoci
bdb1251cfa README: update MSYS2 dependencies for Ledger 2018-10-10 10:54:59 +08:00
Sander Ferdinand
3e9df9d975 Linking libsodium 2018-10-10 02:30:51 +02:00
Sander Ferdinand
cf321fa8f3 Added libsodium to install instructions 2018-10-10 01:25:08 +02:00
Sander Ferdinand
da02e4df42 Bumping monero submodule tag to 0.13 2018-10-10 01:08:42 +02:00
erciccione
de8e80a9bd sync all language files, including 'monero-core.ts', for 0.13 2018-10-09 23:42:44 +01:00
luigi1111
f0cd704fad Merge pull request #1618
4359fe7 CZech translation for Monero 0.13 (ruzaq)
2018-10-09 17:34:41 -05:00
luigi1111
cd87af1415 Merge pull request #1621
703e499 Update monero-core_sv.ts (freminik)
2018-10-09 17:32:30 -05:00
luigi1111
6693fc7449 Merge pull request #1613
5671a45 update slovenian translation: part 2 (gorazdko)
2018-10-09 17:30:15 -05:00
luigi1111
c14df12ce6 Merge pull request #1612
c8d3b55 Hungarian update 0.13 (turossztrapacska)
2018-10-09 17:29:01 -05:00
luigi1111
271650cfbe Merge pull request #1611
b2c264e Updating Serbian language (alexej996)
2018-10-09 17:27:28 -05:00
luigi1111
d523b16c5b Merge pull request #1556
c09806d Update translation for fork (cryptobench)
2018-10-09 17:26:24 -05:00
luigi1111
1455ca8cbf Merge pull request #1593
24992f1 Updated finnish translation (rpinola)
2018-10-09 17:24:54 -05:00
luigi1111
b859854fbf Merge pull request #1608
0fdd75b Updated Lithuanian language. (kasperaitis)
2018-10-09 17:22:18 -05:00
luigi1111
3cda2b663a Merge pull request #1603
2e5012f Translation and corrections for Hebrew #1582 (samuelgozi)
2018-10-09 16:55:26 -05:00
luigi1111
8599aa4e32 Merge pull request #1601
851571c Translation update and added more missing spaces (BlackLotus64)
2018-10-09 16:54:25 -05:00
luigi1111
a1410b444b Merge pull request #1600
80954c3 i18n: update zh-cn (Equim-chan)
2018-10-09 16:52:26 -05:00
luigi1111
34b06c1a0f Merge pull request #1599
1df0520 Dutch translation update (ProkhorZ)
2018-10-09 16:49:33 -05:00
luigi1111
e0cbf43947 Merge pull request #1597
6400c88 Updated Japanese translations for 0.13 (takuto-h)
2018-10-09 16:48:34 -05:00
luigi1111
4934f77c6f Merge pull request #1598
3f5d55d Update monero-core_ru.ts (LvMsterfild)
2018-10-09 16:45:14 -05:00
luigi1111
8d28d0f842 Merge pull request #1596
0d3cb9f updated pt_PT translation (rmbb)
2018-10-09 16:42:17 -05:00
Gorazd
5671a450c8 update slovenian translation: part 2
update slovenian translation: part 1
2018-10-09 23:42:09 +02:00
luigi1111
61ce53f47e Merge pull request #1591
6760d5e edit arabic localization (3b7ameed)
2018-10-09 16:40:43 -05:00
luigi1111
5cb02b9e01 Merge pull request #1590
64d0bd9 update pt_BR strings (netrik182)
2018-10-09 16:39:43 -05:00
freminik
703e499d52 Update monero-core_sv.ts 2018-10-09 22:38:35 +01:00
luigi1111
361ff60f11 Merge pull request #1588
d80b0a3 update german language file (lovvskillz)
2018-10-09 16:38:07 -05:00
luigi1111
b68ac66237 Merge pull request #1586
9d24649 French translation for 0.13 (el00ruobuob)
2018-10-09 16:36:44 -05:00
luigi1111
928966188b Merge pull request #1585
324cb8a Update monero-core_tr.ts (xmoreee)
2018-10-09 16:34:54 -05:00
luigi1111
65a8e5e4aa Merge pull request #1584
5a1ca85 Update monero-core_it.ts (serhack)
2018-10-09 16:32:35 -05:00
luigi1111
66d99324dd Merge pull request #1566
3bc4d6a Allow arguments to be passed to start-gui.sh (nunocastromartins)
2018-10-09 16:31:21 -05:00
Phillip Jensen
c09806d560 Update translation for fork
Small tweak
2018-10-09 21:34:23 +02:00
Aivaras Kasperaitis
0fdd75be59 Updated Lithuanian language. 2018-10-09 20:32:57 +03:00
Ruzicka Pavel
4359fe706e CZech translation for Monero 0.13 2018-10-09 16:54:27 +02:00
Hayi Nukman
a636a04f0a fix some malaysian language to Indonesian 2018-10-09 15:24:01 +07:00
MB
0d3cb9f6e4 updated pt_PT translation 2018-10-08 21:14:24 +01:00
turossztrapacska
c8d3b55741 Hungarian update 0.13 2018-10-08 13:38:50 +01:00
vadim
d80b0a39a8 update german language file 2018-10-08 11:39:38 +02:00
alexej996
b2c264ea59 Updating Serbian language 2018-10-08 01:24:50 +02:00
Samuel Elgozi
2e5012f55b Translation and corrections for Hebrew #1582
Fixed some inconsistencies in the Hebrew translation

I changed some inconsistencies like missing ": " and spelling.

Fixed the missing place marker in line 2784
2018-10-07 15:48:02 +01:00
Agent LvM
3f5d55d224 Update monero-core_ru.ts 2018-10-07 15:23:55 +01:00
SerHack
5a1ca8578b Update monero-core_it.ts
Update monero-core_it.ts

Update monero-core_it.ts
2018-10-07 08:30:26 -04:00
BlackLotus64
851571c7f6 Translation update and added more missing spaces 2018-10-05 15:40:49 -05:00
3b7ameed
6760d5edf9 edit arabic localization 2018-10-05 20:20:55 +02:00
Equim
80954c3979 i18n: update zh-cn 2018-10-06 01:58:40 +08:00
netrik182
64d0bd91ef update pt_BR strings 2018-10-05 15:14:33 +00:00
ProkhorZ
1df05202e9 Dutch translation update 2018-10-05 02:38:06 +02:00
xmoreee
324cb8aa0d Update monero-core_tr.ts
issue (#1582)
https://github.com/monero-project/monero-gui/issues/1582
2018-10-04 13:24:54 +01:00
Takuto Hayashi
6400c885cc Updated Japanese translations for 0.13 2018-10-04 12:48:18 +09:00
luigi1111
2ac690ce20 Merge pull request #1592
ed607e6 Update monero-core_sk.ts (jarole)
2018-10-03 13:50:39 -05:00
luigi1111
ab382dc604 Merge pull request #1589
56c593f Polish translation update for 0.13 (einsteinsfool)
2018-10-03 13:48:55 -05:00
luigi1111
ac0e9f7fb7 Merge pull request #1581
088b343 update zh-tw translation for v0.13 (Lafudoci)
2018-10-03 13:41:25 -05:00
luigi1111
78a003c161 Merge pull request #1489
af0f58f fixed 'Keys' CTRL+Y hotkey (xiphon)
2018-10-03 13:31:48 -05:00
jaro Lee
ed607e6e95 Update monero-core_sk.ts
sk lang. for 0.13
2018-10-03 17:43:10 +01:00
Lafudoci
088b343d2f update zh-tw translation for v0.13 2018-10-03 23:58:05 +08:00
el00ruobuob
9d24649d61 French translation for 0.13 2018-10-03 17:08:14 +02:00
rpinola
24992f144e Updated finnish translation 2018-10-03 15:32:38 +03:00
Piotr Kąkol
56c593fd67 Polish translation update for 0.13 2018-10-03 02:07:40 +02:00
luigi1111
af2af06165 Merge pull request #1574
59a63e7 Fix blackball section to conform to format change (moneromooo-monero)
2018-10-01 14:04:02 -05:00
luigi1111
4d56befb85 Merge pull request #1576
aa9b6df add pirate language (erciccione)
2018-10-01 13:22:49 -05:00
luigi1111
a6efacdd8f Merge pull request #1572
1109f9c refresh all language files and monero_core.ts (erciccione)
ea4728a adds 'pages/settings/*.qml' in the sources who get picked by lupdate (erciccione)
2018-10-01 13:21:33 -05:00
erciccione
ea4728afde adds 'pages/settings/*.qml' in the sources who get picked by lupdate 2018-10-01 15:22:35 +01:00
erciccione
1109f9cec9 refresh all language files and monero_core.ts 2018-10-01 15:22:29 +01:00
erciccione
aa9b6df0c4 add pirate language 2018-10-01 13:48:22 +01:00
moneromooo-monero
59a63e7725 Fix blackball section to conform to format change 2018-09-30 12:02:56 +01:00
xiphon
af0f58f727 fixed "Keys" CTRL+Y hotkey 2018-09-27 14:01:14 +00:00
Nuno Martins
3bc4d6a10f Allow arguments to be passed to start-gui.sh
Allows arguments (`-h`, `-l`) to be passed to `start-gui.sh`, otherwise
the log file location cannot be specified when using the script.
2018-09-19 18:29:34 +02:00
BigslimVdub
3bf20a0bd1 Dll update
Update for latest msys2 build dll files
2018-09-17 13:06:04 -05:00
luigi1111
3fd37b96a0 Merge pull request #1446
9bb6a25 Add support for creating hardware wallet (stoffu)
2018-09-12 18:18:36 -05:00
luigi1111
c46b5c82cd Merge pull request #1553
ccb1f36 Changed regex to support amount lines starting with a period, but block the transaction creation wizard (skftn)
94e3d98 Increased left margin for the amount text (skftn)
2018-09-12 17:29:01 -05:00
luigi1111
77a2ebc2c4 Merge pull request #1554
b31c04e pro: disable -fstack-protector* on windows (stoffu)
2018-09-12 16:09:30 -05:00
luigi1111
0c3f39ee0d Merge pull request #1542
9e50dfc Squashed intermediate steps; Final version of (180806__German_Translation) (Leza89)
2018-09-12 16:01:33 -05:00
stoffu
b31c04e148 pro: disable -fstack-protector* on windows
as per https://github.com/monero-project/monero/pull/4290
2018-09-04 19:16:26 +09:00
Sander Ferdinand
94e3d98452 Increased left margin for the amount text 2018-09-04 11:45:23 +02:00
Sander Ferdinand
ccb1f36083 Changed regex to support amount lines starting with a period, but block the transaction creation wizard 2018-09-04 11:45:20 +02:00
luigi1111
b585e7b498 Merge pull request #1494
d53a335 Fix some swedish translations (snaggen)
241ebc9 Change translation of solo mining... (snaggen)
2018-08-28 13:13:53 -05:00
luigi1111
6f73948846 Merge pull request #1547
4b5c985 Updated Spanish Translation (lh1008)
2018-08-24 14:59:27 -05:00
luigi1111
567bc07627 Merge pull request #1546
a04576d Corrected language code for Ukrainian in the localized file (ordtrogen)
2018-08-24 14:58:20 -05:00
luigi1111
2aa37133fe Merge pull request #1544
8115632 Spanish: Consistent translation of term 'mining' (ordtrogen)
2018-08-24 14:57:21 -05:00
luigi1111
fb1e39bbad Merge pull request #1543
a1e7134 update zh-tw translation for new strings (Lafudoci)
2018-08-24 14:56:16 -05:00
luigi1111
134422cb65 Merge pull request #1516
a60b05d Changed flag images. Changed flags file names to ISO alpha-2 standard. (kasperaitis)
2018-08-24 14:54:56 -05:00
luigi1111
d03c8959c8 Merge pull request #1447
d5b48aa Fixed russian translation (kerastinell)
2018-08-24 14:52:51 -05:00
Leza89
9e50dfc3ce Squashed intermediate steps; Final version of (180806__German_Translation)
Thank you, MaxXor, for reviewing
2018-08-24 21:27:28 +02:00
stoffu
9bb6a25f31 Add support for creating hardware wallet 2018-08-24 12:54:43 +09:00
lh1008
4b5c985349 Updated Spanish Translation 2018-08-22 12:28:27 -05:00
ordtrogen
8115632db5 Spanish: Consistent translation of term 'mining' 2018-08-21 23:30:15 +02:00
ordtrogen
a04576d4c3 Corrected language code for Ukrainian in the localized file 2018-08-21 22:40:06 +02:00
Lafudoci
a1e7134433 update zh-tw translation for new strings 2018-08-21 11:19:27 +08:00
Mattias Eriksson
241ebc9388 Change translation of solo mining...
from Enskild utvinning to Individuell utvinning
2018-08-20 13:10:22 +02:00
Mattias Eriksson
d53a335abc Fix some swedish translations
Mining should be translated to Utvinning according to
discussions on tp-sv@listor.tp-sv.se since it is already
an established term used in many Bitcoin projects.
And, if another term should be used Myntning was sugested
but had to stand back for the established term Utvinning.
2018-08-20 13:10:22 +02:00
Aivaras Kasperaitis
a60b05d40d Changed flag images. Changed flags file names to ISO alpha-2 standard. 2018-08-16 17:58:06 +03:00
luigi1111
c3f41ae003 Merge pull request #1523
756ea88 add finnish localization (rpinola)
2018-08-15 16:36:11 -05:00
luigi1111
3483b8dbec Merge pull request #1511
Settings overhaul (27 commits by skftn)
2018-08-14 16:15:31 -05:00
Sander Ferdinand
034f83bfb3 Fixes a SettingsLog layout bug 2018-08-06 09:57:13 +02:00
Sander Ferdinand
0a3d75d197 Fixes a particular hard to track bug where ColumnLayout considers MouseArea as part of its height/width after the parent StackView changed state a few times 2018-08-05 23:55:38 +02:00
Sander Ferdinand
39f2b99c7b Settings alignment and size adjustments 2018-08-05 23:45:25 +02:00
Sander Ferdinand
0fed21d6de Added component WarningBox and added a warning to remote node page 2018-08-05 23:45:20 +02:00
Sander Ferdinand
a9fa808dd1 Included copyright headers 2018-08-05 23:32:31 +02:00
Sander Ferdinand
5e3a8958f3 Disable layout options when in mobile mode 2018-08-05 23:32:31 +02:00
Sander Ferdinand
d5e27ff07d Copy to clipboard functionality for the Info page 2018-08-05 23:32:26 +02:00
Sander Ferdinand
8eee948f07 Replace SettingsInfo wallet name with wallet path 2018-08-05 20:56:39 +02:00
Sander Ferdinand
3d7090bdba Fixes a layout bug for SettingsLog.qml 2018-08-05 20:56:39 +02:00
Sander Ferdinand
eef3f8a3ac Lighten up the grey colors a bit 2018-08-05 20:56:32 +02:00
Sander Ferdinand
2671cd926c Change text selection color for input dialogs 2018-08-05 13:16:27 +02:00
Sander Ferdinand
666203bd0e Fixes the wallet creation height dialog 2018-08-05 13:13:59 +02:00
Sander Ferdinand
46ee2e9cc8 Include version.js 2018-08-05 12:55:24 +02:00
rpinola
756ea882c9 add finnish localization 2018-08-03 20:41:05 +02:00
kerastinell
d5b48aab07 Fixed russian translation 2018-08-03 18:19:42 +02:00
luigi1111
eece475fb8 Merge pull request #1469
bacad37 added missing translation for Croatian language (Fajl)
2018-08-02 17:49:38 -05:00
luigi1111
dda2390983 Merge pull request #1534
fb8ba82 Add hungarian translation (turossztrapacska)
2018-08-02 17:48:23 -05:00
luigi1111
496332a878 Merge pull request #1532
d2ee184 Correctly maximize window (MaxXor)
2018-08-02 17:46:34 -05:00
luigi1111
b43a268873 Merge pull request #1530
f3891ff Fix build instructions for Linux (MaxXor)
2018-08-02 17:45:43 -05:00
luigi1111
f156acda72 Merge pull request #1529
5e4bc36Fix return value when deleting an addressbook entry (MaxXor)
2018-08-02 17:44:37 -05:00
luigi1111
8076e71109 Merge pull request #1528
2842c33 Fix some QML warnings (MaxXor)
2018-08-02 14:05:23 -05:00
luigi1111
51e0f442d6 Merge pull request #1527
0451895 fixed: disable password dialog hotkeys handling when it is hidden (xiphon)
2018-08-02 14:04:20 -05:00
luigi1111
e1e55807bc Merge pull request #1525
0218312 Windows installer: Updates for 0.12.3.0 (rbrunner7)
2018-08-02 14:03:25 -05:00
luigi1111
4cc30a8cd6 Merge pull request #1521
7d1bbee Update monero-core_zh-cn.ts (CallMeMhz)
2018-08-02 14:02:05 -05:00
luigi1111
3c9b5b71df Merge pull request #1517
e629df9 Fix libwallet rebuilding even if it already exists (xiphon)
2018-08-02 13:59:51 -05:00
luigi1111
06bbda0c99 Merge pull request #1467
abccad8 Keys: allow keys to be copied separately (stoffu)
2018-08-02 13:58:49 -05:00
luigi1111
a9bea84086 Merge pull request #1450
06899c9 Update Ukranian language for GUI 0.12.1 (TheFuzzStone)
2018-08-02 13:57:44 -05:00
bormiki
fb8ba824f6 Add hungarian translation 2018-08-01 20:19:45 +02:00
Luka Fajl
bacad3733d added missing translation for Croatian language 2018-07-31 14:46:29 +02:00
MaxXor
d2ee1845e1 Correctly maximize window 2018-07-28 08:06:05 -04:00
MaxXor
5e4bc36fc3 Fix return value when deleting an addressbook entry 2018-07-28 07:47:16 -04:00
MaxXor
f3891ffe04 Fix build instructions for Linux 2018-07-28 07:45:43 -04:00
MaxXor
2842c33759 Fix some QML warnings 2018-07-28 07:37:43 -04:00
xiphon
045189553e fixed: disable password dialog hotkeys handling when it is hidden 2018-07-28 12:00:41 +03:00
René Brunner
0218312055 Windows installer: Updates for 0.12.3.0 2018-07-27 14:45:02 +02:00
Mega Hertz
7d1bbeef10 Update monero-core_zh-cn.ts 2018-07-25 14:02:04 +02:00
xiphon
9e9aa31df2 build: use 'exit' instead of 'return' in get_libwallet_api.sh 2018-07-19 23:06:48 +03:00
Sander Ferdinand
951be246b7 Updating qml.qrc 2018-07-18 18:59:14 +02:00
Sander Ferdinand
9872689abe Fixes some javascript errors 2018-07-18 18:28:00 +02:00
Sander Ferdinand
6be5e5731e Added settings page: Info 2018-07-18 18:23:53 +02:00
Sander Ferdinand
eb457019dd Move function to show the seed page to Utils.js 2018-07-18 16:51:56 +02:00
Sander Ferdinand
b7dbb83294 Added settings page: Log 2018-07-18 16:16:48 +02:00
Sander Ferdinand
28bd9a72d2 Added settings page: Wallet 2018-07-18 16:16:48 +02:00
Sander Ferdinand
9019fa8baa Added settings page: Node 2018-07-18 16:16:48 +02:00
Sander Ferdinand
1257eb642a Added settings page: Layout 2018-07-18 16:16:48 +02:00
Sander Ferdinand
140b7634ff Added settings navbar componenent 2018-07-18 16:16:48 +02:00
Sander Ferdinand
48da5a3dba Reworked page 'Settings', added a stackview 2018-07-18 16:16:48 +02:00
Sander Ferdinand
58f1e3c8a9 Added property itemTopMargin for component StandardDropdown 2018-07-18 16:16:48 +02:00
Sander Ferdinand
da27e1c78b Added static images for the Settings page 2018-07-18 16:16:48 +02:00
Sander Ferdinand
4f4d969416 Extra properties for components LineEditMulti and RemoteNodeEdit 2018-07-18 16:16:46 +02:00
Sander Ferdinand
15c5269e35 Moving settings QML files under pages/settings/ 2018-07-18 13:37:59 +02:00
TheFuzzStone
06899c937c Update Ukranian language for GUI 0.12.1 2018-07-18 11:57:54 +02:00
luigi1111
1107daab98 Merge pull request #1415
da93fc4 export/import key images (cryptochangements34)
2018-07-17 18:14:28 -05:00
luigi1111
292c11ee06 Merge pull request #1448
7116001 Update monero-core_tr.ts (IST34)
2018-07-17 16:59:42 -05:00
luigi1111
d554c7809d Merge pull request #1449
ac8e88e allow restoring from only spendkey (cryptochangements34)
2018-07-17 16:58:16 -05:00
luigi1111
527b48278a Merge pull request #1451
b5253f0 use radio buttons for export qr code (cryptochangements34)
2018-07-17 16:57:04 -05:00
luigi1111
9331f2cff1 Merge pull request #1452
f7bbdd3 add explicit mainnet button and move nettypes to advanced options (cryptochangements34)
2018-07-17 16:56:03 -05:00
luigi1111
2633419c8e Merge pull request #1454
f258ae4 don't check local daemon status on settings page, update on onWalletConnectionStatusChanged (pazos)
2018-07-17 16:54:17 -05:00
luigi1111
5d0854491a Merge pull request #1444
254553f Add libwinscard to link line on Windows (iDunk5400)
2018-07-17 16:52:29 -05:00
luigi1111
1fe61f2bc7 Merge pull request #1503
716366c revert 28fb9fa (cryptochangements34)
2018-07-17 16:48:40 -05:00
luigi1111
fb32dda5a1 Merge pull request #1491
030ff09 mobile view: draggable window (xiphon)
2018-07-17 16:43:41 -05:00
luigi1111
ceef6c8b6d Merge pull request #1488
0295641 hotkey for 'Shared RingDB' changed to CTRL+G instead of CTRL+A (xiphon)
2018-07-17 16:42:20 -05:00
luigi1111
c029dc8a5e Merge pull request #1482
0e4fa41 Update outdated libraries for windows build (PidgeyBE)
2018-07-17 16:40:15 -05:00
luigi1111
b78d9d0c03 Merge pull request #1479
28069f7 Added Lithuanian language. (kasperaitis)
2018-07-17 16:39:02 -05:00
luigi1111
8161cf3acb Merge pull request #1478
6e08eb1 windeploy: copy start-low-graphics-mode.bat (stoffu)
2018-07-17 16:37:26 -05:00
luigi1111
b9fcd8f60b Merge pull request #1473
f1f0109 Fix version string by picking up unannotated tags (stoffu)
2018-07-17 16:36:23 -05:00
luigi1111
07a4dd26a5 Merge pull request #1471
c1dd25a remove non-free SF fonts, add Roboto fonts + license (pazos)
2018-07-17 16:35:04 -05:00
luigi1111
ceda53d8d2 Merge pull request #1510
33c195d Change 'Default' fee level to 'Automatic' (cryptochangements34)
2018-07-17 16:32:26 -05:00
luigi1111
9662ef5a7c Merge pull request #1466
eb26b37 remove embedded Adobe color profile in denmark.png (erciccione)
2018-07-17 16:30:59 -05:00
luigi1111
7a629a5b37 Merge pull request #1476
53c3151 mark some strings as translatable (erciccione)
855d959 refresh all language files including new translatable strings (erciccione)
2018-07-17 16:29:38 -05:00
cryptochangements34
33c195d01d Change "Default" fee level to "Automatic" 2018-07-16 09:55:40 -05:00
Aivaras Kasperaitis
28069f7fb6 Added Lithuanian language. 2018-07-16 00:36:42 +03:00
cryptochangements34
716366c54f revert 28fb9fa2be
Changing the application name caused wallets created prior to v0.12 to "forget" their config
2018-07-09 14:39:21 -04:00
xiphon
030ff0994d mobile view: draggable window 2018-07-03 19:56:23 +03:00
xiphon
0295641aeb hotkey for "Shared RingDB" changed to CTRL+G instead of CTRL+A 2018-07-03 16:26:37 +03:00
PidgeyBE
0e4fa41c63 Update outdated libraries for windows build
https://github.com/monero-project/monero-gui/issues/1455
2018-07-01 23:56:52 +02:00
stoffu
6e08eb1c56 windeploy: copy start-low-graphics-mode.bat 2018-06-27 09:59:47 +09:00
erciccione
855d95909a refresh all language files including new translatable strings 2018-06-26 15:02:26 +03:00
erciccione
53c3151a23 mark some strings as translatable 2018-06-26 14:52:47 +03:00
Martín Fdez
c1dd25a77e remove non-free SF fonts, add Roboto fonts + license 2018-06-21 18:29:31 +02:00
stoffu
f1f0109621 Fix version string by picking up unannotated tags 2018-06-21 20:36:46 +09:00
Martín Fdez
f258ae4b60 don't check local daemon status on settings page, update on onWalletConnectionStatusChanged 2018-06-20 22:26:45 +02:00
stoffu
abccad8771 Keys: allow keys to be copied separately 2018-06-19 12:58:30 +09:00
erciccione
eb26b37b86 remove embedded Adobe color profile in denmark.png 2018-06-18 16:14:10 +03:00
cryptochangements34
f7bbdd3044 add explicit mainnet button and move nettypes to advanced options 2018-06-07 12:23:47 -04:00
cryptochangements34
b5253f03db use radio buttons for export qr code 2018-06-06 17:01:30 -04:00
cryptochangements34
ac8e88ee53 allow restoring from only spendkey 2018-06-05 21:16:19 -04:00
IST34 Token
7116001f5c Update monero-core_tr.ts 2018-06-05 18:29:52 +03:00
iDunk5400
254553f90e Add libwinscard to link line on Windows
This fixes monero-wallet-gui linking error in MSYS2 since PC/SC hw device support was added to Windows builds
2018-06-02 21:49:50 +02:00
luigi1111
cd46edb23f Merge pull request #1430
08f61e2 update instructions for debian based distros
2018-05-25 13:07:02 -05:00
luigi1111
9d43cf3b44 Merge pull request #1429
acaf0f5 update hebrew translation
2018-05-24 16:16:17 -05:00
pazos
08f61e25de update instructions for debian based distros 2018-05-24 16:33:06 +02:00
erciccione
acaf0f525d update hebrew translation 2018-05-24 10:32:07 +02:00
luigi1111
08c424cbc8 Merge pull request #1427
4a8545c Russian Language GUI Update for v0.12.1
2018-05-23 15:47:28 -05:00
luigi1111
fa560ad0a0 Merge pull request #1422
ccec187 Update Czech translation for 0.12.1
2018-05-22 15:11:28 -05:00
Pavel Ruzicka
ccec187ed6 Update Czech translation for 0.12.1
https://taiga.getmonero.org/project/erciccione-monero-localization/task/284
2018-05-22 20:18:44 +02:00
luigi1111
ddb51583d3 Merge pull request #1428
d06a16f require at least qt 5.7.0 when building the project
2018-05-22 12:26:26 -05:00
luigi1111
fec309b907 Merge pull request #1424
275c3df Fixed wrong argument for retrieving mixins
2018-05-22 12:25:03 -05:00
luigi1111
e91552ab3c Merge pull request #1426 (recovered #1390)
122ed15 update FR translations for v0.12.1
2018-05-22 12:21:05 -05:00
luigi1111
8efddfbb77 Merge pull request #1425
f4e58f1 fix restoreHeightEdit is not defined.
2018-05-22 12:19:48 -05:00
luigi1111
d89ff0fea1 Merge pull request #1423
c691fc1 update slovak translation
2018-05-22 12:18:37 -05:00
luigi1111
ba39119aab Merge pull request #1417
82c9a02 Update monero-core_pt-pt.ts
2018-05-22 12:17:20 -05:00
luigi1111
834e617736 Merge pull request #1414
cc32479 Update monero-core_zh-cn.ts
2018-05-22 12:16:21 -05:00
luigi1111
f63b098b61 Merge pull request #1408
a11eab5 updated Swedish translation of GUI strings
2018-05-22 12:15:24 -05:00
luigi1111
35bf427159 Merge pull request #1391
f6beb48 Upload new updated version danish translation
2018-05-22 12:13:33 -05:00
Ordtrogen Översättning
a11eab5bb7 updated Swedish translation of GUI strings 2018-05-22 18:13:51 +02:00
pazos
d06a16f7da require at least qt 5.7.0 when building the project 2018-05-22 14:31:34 +02:00
cryptochangements34
122ed15e11 update FR translations for v0.12.1
erciccione's review
2018-05-22 13:03:07 +02:00
fero-sk
c691fc1915 update slovak translation 2018-05-22 12:53:56 +02:00
MalMen
82c9a02447 Update monero-core_pt-pt.ts 2018-05-22 12:35:12 +02:00
widdy
f4e58f1aad fix restoreHeightEdit is not defined. 2018-05-22 18:22:29 +08:00
4broaf
cc32479662 Update monero-core_zh-cn.ts 2018-05-22 12:19:33 +02:00
luigi1111
9272767e4e Merge pull request #1418
5ba724b don't scroll to bottom after appending a new log message
2018-05-21 23:17:33 -05:00
luigi1111
3102118e38 Merge pull request #1406
fd03f08 translated and reviewed
2018-05-21 23:11:39 -05:00
luigi1111
5b725a4f20 Merge pull request #1393
d003b25 use regex for value input
2018-05-21 23:10:29 -05:00
luigi1111
82d925a1d8 Merge pull request #1384
8c5b403 Updated Polish Monero GUI translation for v0.12.1
2018-05-21 23:08:04 -05:00
luigi1111
520a4f4260 Merge pull request #1378
63478b1 fix typos in Receive.qml and SharedRingDB.qml
290339a missing <p>
2018-05-21 23:06:22 -05:00
luigi1111
5732245dac Merge pull request #1413
427b161 Update of romanian translation
2018-05-21 23:03:25 -05:00
luigi1111
ee6bcdb7d0 Merge pull request #1411
7dab8e5 Update monero-core_tr.ts
6e3f2f6 Update monero-core_tr.ts
2018-05-21 23:02:26 -05:00
luigi1111
2cb8f9fd2e Merge pull request #1410
7db6695 Translation of new items
9224056 Update monero-core_eo.ts
2018-05-21 23:00:16 -05:00
luigi1111
9ca81e6413 Merge pull request #1409
2539441 Update german strings for v0.12.1.0
2018-05-21 22:58:44 -05:00
luigi1111
56d6e38f85 Merge pull request #1400
25426c5 GUI Refresh for v0.12.1 - Italian translation
2018-05-21 22:56:40 -05:00
luigi1111
562f711e64 Merge pull request #1399
3314dbd Upload a new update version spanish translation
2018-05-21 22:55:44 -05:00
luigi1111
ed64160716 Merge pull request #1397
fa0e444 Update Traditional Chinese translation for v0.12.1
2018-05-21 22:54:45 -05:00
luigi1111
ca0978e094 Merge pull request #1392
a9fe150 0.12.1 Dutch translation update
2018-05-21 22:53:25 -05:00
luigi1111
fdfd387e80 Merge pull request #1386
f37efc4 Updating Serbian translation
2018-05-21 22:52:18 -05:00
luigi1111
6df6ad636c Merge pull request #1385
bcbf50a Update Japanese translations for 0.12.1
e551454 Add missing colon
2018-05-21 22:51:14 -05:00
einsteinsfool
275c3df302 Fixed wrong argument for retrieving mixins 2018-05-22 00:44:38 +02:00
Phillip Jensen
f6beb48f5e Upload new updated version danish translation
Few fixes
2018-05-21 12:24:01 +02:00
ni311
427b161606 Update of romanian translation
update of RO
2018-05-20 22:05:53 +02:00
hrumag
25426c5430 GUI Refresh for v0.12.1 - Italian translation 2018-05-20 19:28:42 +02:00
Keksoj
92240564bc Update monero-core_eo.ts
minor fixes
2018-05-16 22:43:25 +02:00
lh1008
3314dbd79f Upload a new update version spanish translation 2018-05-15 14:25:09 -05:00
rafficer
253944186b Update german strings for v0.12.1.0
German translation round 1

German translation round 2

Fix line break

German translation for v0.12.1.0

Fixed typos according to review

Fixed grammar

Fix typo

Fixes according to review by erciccione
2018-05-15 19:47:17 +02:00
Lafudoci
fa0e444db0 Update Traditional Chinese translation for v0.12.1 2018-05-16 01:05:25 +08:00
pazos
5ba724b7fa don't scroll to bottom after appending a new log message 2018-05-15 17:31:42 +02:00
xmoreee
6e3f2f6777 Update monero-core_tr.ts
I have changed %50 to 50%.
But  "%50" was correct translation.
May be we need an escape char before % sign.
2018-05-15 15:30:37 +03:00
cryptochangements34
da93fc4a86 export/import key images 2018-05-14 17:43:52 -04:00
curumimxara
fd03f083bd translated and reviewed
fixes
2018-05-14 15:51:15 -04:00
einsteinsfool
8c5b403b7c Updated Polish Monero GUI translation for v0.12.1 2018-05-14 16:51:50 +02:00
xmoreee
7dab8e509f Update monero-core_tr.ts 2018-05-13 20:20:45 +03:00
erciccione
290339a22d missing <p> 2018-05-13 17:11:25 +02:00
erciccione
63478b1c48 fix typos in Receive.qml and SharedRingDB.qml 2018-05-13 17:08:36 +02:00
Keksoj
7db6695768 Translation of new items
Almost all new items translated here. Would new an esperanto-speaking peer review but it'll do for now.
2018-05-13 14:29:36 +02:00
ProkhorZ
a9fe150778 0.12.1 Dutch translation update
Update of the NL translation for release 0.12.1. according to issue #1377. Paging @erciccione.
2018-05-13 09:05:46 +02:00
Aleksej Jocic
f37efc48a0 Updating Serbian translation 2018-05-12 11:46:23 +02:00
Takuto Hayashi
e551454fea Add missing colon 2018-05-12 09:51:51 +09:00
Takuto Hayashi
bcbf50a5bf Update Japanese translations for 0.12.1 2018-05-12 09:51:51 +09:00
cryptochangements34
d003b255b9 use regex for value input 2018-05-11 18:56:04 -04:00
luigi1111
06fdf27be2 Merge pull request #1388
78e0ae1 use radio buttons in daemon wizard
2018-05-11 17:48:06 -05:00
cryptochangements34
78e0ae1a4e use radio buttons in daemon wizard 2018-05-11 18:40:10 -04:00
luigi1111
b6a7836447 Merge pull request #1379
827c80d ctrl+tab switch pages in the same order as leftpanel
2bbd5c6 ctrl+shift+tab, switch pages in Leftpanel reverse order
2018-05-11 17:00:26 -05:00
luigi1111
4954491273 Merge pull request #1375
adb47ad minng warning label when daemon not syncd
2018-05-11 16:59:06 -05:00
luigi1111
4c2640d4b3 Merge pull request #1358
341ac18 log qt/qml to easylogging, add --log-file cmdline option
92582a9 delete unused WalletManager functions
c9daab7 don't use cmdline arguments as daemon arguments
7283fe4 use qWarning/qCritical on QrCodeScanner info/errors
15155f2 print logs on console
2018-05-11 16:57:43 -05:00
luigi1111
adc1db585a Merge pull request #1305
5109cb7 ReadMe: Updated Windows/MSYS2 compile instructions
2018-05-11 16:53:37 -05:00
luigi1111
f4ddb6faf9 Merge pull reqeust #1398
01dcfe0 fix typo on Info.plist
34b9a04 replace osx toolbar appname with CFBundleName
2018-05-11 16:51:12 -05:00
luigi1111
da014b07a9 Merge pull request #1387
31ef55d make some daemon wizard wording more clear
2018-05-11 16:48:45 -05:00
luigi1111
ecf4839f01 Merge pull request #1382
bde1d47 fix libpng16 warnings and *some* file permissions -> mogrify *.png
2018-05-11 16:47:34 -05:00
luigi1111
5730c4a29e Merge pull request #1381
6729ae7 don't translate log categories
2018-05-11 16:46:43 -05:00
luigi1111
fe811e2ec2 Merge pull request #1376
8ace062 refresh all language files
2018-05-11 16:45:43 -05:00
pazos
2bbd5c6814 ctrl+shift+tab, switch pages in Leftpanel reverse order 2018-05-11 22:30:40 +02:00
Agent LvM
4a8545c99f Russian Language GUI Update for v0.12.1 2018-05-11 21:04:15 +03:00
Martín Fdez
34b9a04af5 replace osx toolbar appname with CFBundleName 2018-05-10 23:26:59 +02:00
Martín Fdez
01dcfe01bb fix typo on Info.plist 2018-05-10 23:10:53 +02:00
cryptochangements34
31ef55d838 make some daemon wizard wording more clear 2018-05-08 20:47:39 -04:00
pazos
bde1d472d3 fix libpng16 warnings and *some* file permissions -> mogrify *.png 2018-05-08 19:17:24 +02:00
pazos
6729ae7380 don't translate log categories 2018-05-08 19:12:29 +02:00
pazos
827c80d4d8 ctrl+tab switch pages in the same order as leftpanel 2018-05-08 19:00:30 +02:00
pazos
15155f2db8 print logs on console 2018-05-08 18:22:21 +02:00
pazos
7283fe41c2 use qWarning/qCritical on QrCodeScanner info/errors 2018-05-08 18:19:55 +02:00
pazos
c9daab71bf don't use cmdline arguments as daemon arguments 2018-05-08 18:15:26 +02:00
pazos
92582a9785 delete unused WalletManager functions 2018-05-08 18:14:00 +02:00
pazos
341ac18f1a log qt/qml to easylogging, add --log-file cmdline option 2018-05-08 18:13:29 +02:00
cryptochangements34
adb47adf9b minng warning label when daemon not syncd 2018-05-07 21:27:22 -04:00
erciccione
8ace0628a1 refresh all language files 2018-05-07 23:18:22 +02:00
luigi1111
a7e99dc08a Merge pull request #1368
70492cc remove white background from portugal.png and srbija.png
2018-05-07 15:54:18 -05:00
luigi1111
4f7a4a4f70 Merge pull request #1367
894b10e add Info.plist template
2018-05-07 15:53:08 -05:00
luigi1111
b56074bef1 Merge pull request #1366
6147d81 Fix use of persistentSettings.testnet to nettype
2018-05-07 15:51:53 -05:00
luigi1111
ff3987ccab Merge pull request #1362
fe53cdd Brighter backgrounds
7418a10 Improve contrast - brighten up borders
48b9aa4 Brigther left panel
26aabd2 Bottom left panel needs to have a transparent background
2018-05-07 15:50:45 -05:00
luigi1111
6de8e70004 Merge pull request #1359
5a1952f Reordered QR/Tracking sections on the receive page
44ad8a3 Redesigned the tracking section
cb94523 This doesnt belong here
6ff273f First iteration of the subaddress table restyle
0e49e4a Reimplemented create/edit/copy (sub)address icons and buttons
5487383 Variable address truncation (for mobile)
9018ae3 Dynamic page height for the receive page
dc1d5e9 Check the 'to receive amount' with the transaction tracker
229fba2 Introduced 'show advanced options' checkbox
d6427a1 Fixes undefined references to 'bg', was previously moved to main.inactiveOverlay
1541d87 Fixes undefined reference to 's'
178be38 Cursor pointer on link hover for richtexts
bfbe00e Removed obsolete SubaddressTable.qml component
3e5f5f3 Adding editIcon.png
bff2701 Fixes the background for 2 popups
2018-05-07 15:48:38 -05:00
luigi1111
d69176e936 Merge pull request #1299
d8606ea Name of Turkish language and list of languages
2018-05-07 15:43:53 -05:00
erciccione
70492cc169 remove white background from portugal.png and srbija.png 2018-05-03 13:53:08 +02:00
Sander Ferdinand
26aabd2226 Bottom left panel needs to have a transparent background 2018-05-03 12:56:54 +02:00
Sander Ferdinand
48b9aa450d Brigther left panel 2018-05-03 12:53:30 +02:00
Sander Ferdinand
bff27010f3 Fixes the background for 2 popups 2018-05-03 12:35:53 +02:00
Sander Ferdinand
3e5f5f3245 Adding editIcon.png 2018-05-03 12:35:53 +02:00
Sander Ferdinand
bfbe00e11c Removed obsolete SubaddressTable.qml component 2018-05-03 12:35:53 +02:00
Sander Ferdinand
178be387bb Cursor pointer on link hover for richtexts 2018-05-03 12:35:53 +02:00
Sander Ferdinand
1541d87122 Fixes undefined reference to 's' 2018-05-03 12:35:53 +02:00
Sander Ferdinand
d6427a1efb Fixes undefined references to 'bg', was previously moved to main.inactiveOverlay 2018-05-03 12:35:53 +02:00
Sander Ferdinand
229fba2de9 Introduced 'show advanced options' checkbox 2018-05-03 12:35:53 +02:00
Sander Ferdinand
dc1d5e9e0a Check the 'to receive amount' with the transaction tracker 2018-05-03 12:35:53 +02:00
Sander Ferdinand
9018ae3afe Dynamic page height for the receive page 2018-05-03 12:35:53 +02:00
Sander Ferdinand
5487383068 Variable address truncation (for mobile) 2018-05-03 12:35:53 +02:00
Sander Ferdinand
0e49e4ad37 Reimplemented create/edit/copy (sub)address icons and buttons 2018-05-03 12:35:53 +02:00
Sander Ferdinand
6ff273fd32 First iteration of the subaddress table restyle 2018-05-03 12:35:34 +02:00
Sander Ferdinand
cb94523747 This doesnt belong here 2018-05-03 12:35:34 +02:00
Sander Ferdinand
44ad8a3be1 Redesigned the tracking section 2018-05-03 12:35:34 +02:00
Sander Ferdinand
5a1952f7ac Reordered QR/Tracking sections on the receive page 2018-05-03 12:35:34 +02:00
pazos
894b10eeb4 add Info.plist template 2018-05-02 17:27:22 +02:00
Doyle T
6147d81cc5 Fix use of persistentSettings.testnet to nettype 2018-05-02 11:29:47 +10:00
ProkhorZ
d8606ea917 Name of Turkish language and list of languages
1. Change 'Turkish' to 'Türkçe' in the opening screen. I don't speak Turkish, but the language name is pretty obvious.
2. Change wallet_language for Turkish to English, because there's actually not a mnemonics word list in Turkish at the moment, although it's listed here in the comment above.
3. Update that list of available seed languages. Source: https://github.com/monero-project/monero/blob/master/src/mnemonics/electrum-words.cpp
4. Change wallet_language for Catalan to 'English', because there's no Catalan word list. Personally, I think 'Español' would be more useful to speakers of Catalan, but that's a political decision which requires discussion.
2018-05-01 16:44:38 +02:00
luigi1111
7cea134352 Merge pull request #1346
610682c Added component RadioButton; changed 'settings->daemon mode' checkboxes to use them
c409441 Radio buttons for the welcome wizard
2018-04-30 23:15:06 -05:00
luigi1111
08e5154535 Merge pull request #1345
2c73ca2 Added missing translations
2018-04-30 23:12:09 -05:00
luigi1111
aa74e9e026 Merge pull request #1337
l33t

b846673 Reformat Settings->Debug Info
170ddf1 Removes 'Daemon log path:' from the debug info
199aedf Dialog(s) for changing restore height
ec640dc Cursor pointer on link hover
2018-04-30 23:09:31 -05:00
luigi1111
3c45dcca7a Merge pull request #1294
2d69718 Rename monero-core_rs.ts to monero-core_sr.ts
2018-04-30 23:06:58 -05:00
luigi1111
1eaedb3e8e Merge pull request #1232 2018-04-30 23:05:56 -05:00
Sander Ferdinand
7418a10d28 Improve contrast - brighten up borders 2018-04-30 00:52:48 +02:00
Sander Ferdinand
fe53cddd03 Brighter backgrounds 2018-04-30 00:45:24 +02:00
Sander Ferdinand
ec640dcd1b Cursor pointer on link hover 2018-04-28 18:14:13 +02:00
Aleksej Jocic
2d697187ff Rename monero-core_rs.ts to monero-core_sr.ts 2018-04-28 17:49:45 +02:00
Sander Ferdinand
c40944144a Radio buttons for the welcome wizard 2018-04-28 16:40:01 +02:00
Sander Ferdinand
610682c2be Added component RadioButton; changed 'settings->daemon mode' checkboxes to use them 2018-04-28 15:21:46 +02:00
Sander Ferdinand
199aedf60a Dialog(s) for changing restore height 2018-04-28 15:17:36 +02:00
Sander Ferdinand
170ddf1f6f Removes 'Daemon log path:' from the debug info 2018-04-28 03:28:05 +02:00
Sander Ferdinand
b8466739f9 Reformat Settings->Debug Info 2018-04-28 03:28:05 +02:00
luigi1111
9f0d771f40 Merge pull request #1357
e1359ac refactor platform dependant code
400c385 add minimal cmdline parser
ffeecb6 move monero stuff after app constructor + cmdline parser
1b07cda move screen defs earlier in main function & fix width and height
74233bf force -platform xcb on linux
59a4afe consistency in if/else statements and MACROS
2018-04-27 15:43:58 -05:00
luigi1111
dbcd11563f Merge pull request #1356
df3e5de remove old unused files
73d93c3 remove windows resource file, qmake will generate one for us
2018-04-27 15:40:56 -05:00
luigi1111
19ac2aeb19 Merge pull request #1347
3635b2f Change input address placeholder from '4...' to '4.. / 8..'
2018-04-27 15:38:45 -05:00
luigi1111
37bceb7897 Merge pull request #1344
c13b4cb Redesigned shared ringdb panel
b75eedd Fixes CTRL-A hotkey
1e8f8bf Reformat help tooltips
2018-04-27 15:37:31 -05:00
luigi1111
679d18166f Merge pull request #1341
7d8d477 Redesigned the daemon console pop-up
acefb96 Added 'Windows.js' for dialogs/windows
47f9a17 Modify password dialog and move customdecorations function out of main.qml
4d56ed9 Make the titlebar more modular
7fe9d71 Added daemonConsole component to main.qml
75ccc7a Added Utils.js, for miscellaneous Javascript functions
2018-04-27 15:35:34 -05:00
luigi1111
1deef73237 Merge pull request #1290
791c267 fix Leftpanel overlay
2018-04-27 15:31:53 -05:00
pazos
73d93c3c23 remove windows resource file, qmake will generate one for us 2018-04-26 20:04:55 +02:00
pazos
59a4afef3c consistency in if/else statements and MACROS 2018-04-25 17:11:19 +02:00
Sander Ferdinand
75ccc7a31b Added Utils.js, for miscellaneous Javascript functions 2018-04-25 16:32:12 +02:00
Sander Ferdinand
7fe9d71eb3 Added daemonConsole component to main.qml 2018-04-25 16:32:12 +02:00
Sander Ferdinand
4d56ed9e27 Make the titlebar more modular 2018-04-25 16:32:12 +02:00
Sander Ferdinand
47f9a1765a Modify password dialog and move customdecorations function out of main.qml 2018-04-25 16:31:13 +02:00
Sander Ferdinand
acefb96520 Added 'Windows.js' for dialogs/windows 2018-04-25 16:31:13 +02:00
Sander Ferdinand
7d8d477a19 Redesigned the daemon console pop-up 2018-04-25 16:31:13 +02:00
pazos
74233bf459 force -platform xcb on linux 2018-04-25 15:36:08 +02:00
pazos
1b07cdad1c move screen defs earlier in main function & fix width and height 2018-04-25 15:33:23 +02:00
pazos
ffeecb6234 move monero stuff after app constructor + cmdline parser 2018-04-25 15:29:17 +02:00
pazos
400c385a5c add minimal cmdline parser 2018-04-25 15:26:54 +02:00
pazos
e1359ace86 refactor platform dependant code 2018-04-25 15:23:56 +02:00
pazos
df3e5de3f1 remove old unused files 2018-04-25 15:00:19 +02:00
Sander Ferdinand
1e8f8bf3cd Reformat help tooltips 2018-04-25 14:54:04 +02:00
Sander Ferdinand
3635b2f001 Change input address placeholder from '4...' to '4.. / 8..' 2018-04-25 14:25:02 +02:00
luigi1111
60cefb3820 Merge pull request #1353
eed5005 Settings: do not invoke status command when using remote node
2018-04-24 21:45:57 -05:00
luigi1111
d2f90be148 Merge pull request #1351
0988f54 Removing legacy whatis button from titlebar
2018-04-24 21:44:21 -05:00
luigi1111
8532b240be Merge pull request #1339
544b872 Selection color for inputs
2018-04-24 21:42:19 -05:00
luigi1111
1956f5896d Merge pull request #1286
cd4418d Receive: make tracking optional
a9331a7 Set daemon address to WalletManager (requires #3576)
2018-04-24 21:40:46 -05:00
luigi1111
366534a295 Merge pull request #1017
cfc6abc Embed the translation files in the monero-wallet-gui binary
2018-04-24 21:38:40 -05:00
luigi1111
631560c95a Merge pull request #1336
25e5b35 dynamic panel height for the settings page
2018-04-24 21:35:52 -05:00
stoffu
eed500560d Settings: do not invoke status command when using remote node 2018-04-24 18:41:46 +09:00
Gene Peters
0988f54bd2 Removing legacy whatis button from titlebar 2018-04-23 17:47:35 -07:00
Guillaume LE VAILLANT
cfc6abcfdc Embed the translation files in the monero-wallet-gui binary
If a translation file exists in a "translations" directory located in the same
directory as the binary, it is used in priority (this can be useful when working
on translations as you don't have to recompile the whole program all the time),
and if no such file is found the embedded translation file is used.
2018-04-23 13:56:12 +02:00
luigi1111
5a5d92e6f6 Merge pull request #1323
b38729f fix openalias resolve
2018-04-22 20:04:15 -05:00
luigi1111
d248e45563 Merge pull request #1321
251db80 show correct address in wizard if remote node used
2018-04-22 20:03:00 -05:00
luigi1111
dba28580e9 Merge pull request #1311
28fb9fa update ApplicationName to monero-gui
2018-04-22 20:00:56 -05:00
Sander Ferdinand
b75eedde0a Fixes CTRL-A hotkey 2018-04-22 22:49:11 +02:00
Phillip Jensen
2c73ca216e Added missing translations 2018-04-22 21:10:12 +02:00
Sander Ferdinand
c13b4cb7bd Redesigned shared ringdb panel 2018-04-22 20:07:31 +02:00
lovvskillz
d5b8ce4bec fix some grammar and wording (#11)
* fix some grammar and wording

* remove the space in front of the dots
2018-04-22 18:31:36 +02:00
Rafficer
85aa323a2d Rename "entfernter Node" to "remote-Node" 2018-04-22 18:31:36 +02:00
vadim
b0f54f6d1d fix typo 2018-04-22 18:31:36 +02:00
Rafficer
acb76b867e remove translatorcomment 2018-04-22 18:31:36 +02:00
vadim
977d9873a7 fix unfinished type 2018-04-22 18:31:36 +02:00
Rafficer
ee328592e9 updated empty fields to unfinished 2018-04-22 18:31:35 +02:00
FalconGoat
431feea267 Translating leftover terms 2018-04-22 18:31:35 +02:00
Rafficer
4f62745207 Added new translations 2018-04-22 18:31:35 +02:00
FalconGoat
05bb8beb71 Proof-read some missed entries 2018-04-22 18:31:35 +02:00
FalconGoat
ab42e7b23a Implemented conclusions from today's discussion 2018-04-22 18:31:35 +02:00
FalconGoat
b4a54eb047 Some work done 2018-04-22 18:31:35 +02:00
Rafficer
5279971bd7 second half update 2018-04-22 18:31:35 +02:00
FalconGoat
f86360faf4 Finished 1st run over chunk
Translate all instances of balance to 'Guthaben'
2018-04-22 18:31:34 +02:00
Rafficer
57d8ec5e32 updated/added german translations 2018-04-22 18:31:34 +02:00
FalconGoat
68898636a4 begin translation 2018-04-22 18:29:24 +02:00
cryptochangements34
b38729fc0e fix openalias resolve 2018-04-21 21:48:31 -04:00
Sander Ferdinand
544b872ada Selection color for inputs 2018-04-21 15:26:48 +02:00
Sander Ferdinand
25e5b3528e dynamic panel height for the settings page 2018-04-20 22:42:32 +02:00
luigi1111
72541b6d51 Merge pull request #1329
9c44252 fix black checkmark on sharedringdb page
2018-04-19 11:39:22 -05:00
luigi1111
a7a954bb22 Merge pull request #1322
66f2983 fix typo in daemon setup wizard
2018-04-19 11:38:03 -05:00
luigi1111
d72e9873d1 Merge pull request #1320
f04a9e0 single colour privacy level
2018-04-19 11:37:02 -05:00
luigi1111
46dc634a5c Merge pull request #1315
d074854 replace qDebug for qWarning, lean message
2018-04-19 11:35:20 -05:00
luigi1111
9b8badc00c Merge pull request #1306
67e9109 Implement 'rightIcon' and 'rightIconInactive' image properties for componenent StandardButton
2018-04-19 11:33:11 -05:00
luigi1111
7251254d8f Merge pull request #1287
6ba65d4 Settings: use checkbox instead of button for daemon mode switching
2018-04-19 11:31:47 -05:00
qubenix
9c4425295b fix black checkmark on sharedringdb page
+ changed `checkedBlackIcon.png` to `checkedIcon-black.png` in pages/SharedRingDB.qml
2018-04-18 14:28:19 -06:00
cryptochangements34
f04a9e07e1 single colour privacy level 2018-04-15 09:45:30 -04:00
cryptochangements34
66f29831e1 fix typo in daemon setup wizard 2018-04-14 23:50:05 -04:00
cryptochangements34
251db80609 show correct address in wizard if remote node used 2018-04-14 23:33:51 -04:00
pazos
791c26734f fix Leftpanel overlay 2018-04-13 21:43:15 +02:00
pazos
d074854aae replace qDebug for qWarning, lean message 2018-04-13 19:37:48 +02:00
cryptochangements34
28fb9fa2be update ApplicationName to "monero-gui" 2018-04-12 20:56:11 -04:00
Sander Ferdinand
67e9109c14 Implement 'rightIcon' and 'rightIconInactive' image properties for componenent StandardButton 2018-04-10 22:36:39 +02:00
René Brunner
5109cb7b33 ReadMe: Updated Windows/MSYS2 compile instructions 2018-04-10 21:29:17 +02:00
luigi1111
b4353a31ac Merge pull request #1239
4e6a421 Add Qt Runtime version to settings page
2018-04-08 17:54:20 -05:00
luigi1111
a15f088e8b Merge pull request #1245
84fad36 Add missing newline to transfer confirm dialog
2018-04-08 17:53:13 -05:00
luigi1111
3034348ac8 Merge pull request #1243
9393529 ProgressBar: fix conversion to percentage
2018-04-08 17:50:09 -05:00
luigi1111
4927d9c29e Merge pull request #1258
ffd49c1 Updated README.md with new dependencies for Ubuntu 16.04+:
2018-04-08 17:45:31 -05:00
luigi1111
d71c35ab22 Merge pull request #1263
6ef2a8e Wallet: fix listener leak
2018-04-08 17:43:59 -05:00
luigi1111
11e3380ab1 Merge pull request #1272
4a96678 Fixes a bug where progress bars were not 100% filled visually (slightly off)
2018-04-08 17:42:39 -05:00
luigi1111
3d00c4ae30 Merge pull request #1271
3b76636 Refactoring signal functions
1378ae4 Reset flickable scrollview to 0 Y position
2018-04-08 17:40:11 -05:00
luigi1111
8db58b42af Merge pull request #1270
6ca0713 Fixes blockchain size warnings
2018-04-08 17:39:03 -05:00
luigi1111
8d5690c834 Merge pull request #1269
39ca338 Fixes misaligned symbols/shortcuts and changes Shared RingDB shortcut to 'A'
2018-04-08 17:37:58 -05:00
luigi1111
a8e545891c Merge pull request #1268
0e92a8f Fixes transparent dropdown
2018-04-08 17:36:43 -05:00
stoffu
6ba65d4caa Settings: use checkbox instead of button for daemon mode switching 2018-04-07 14:32:47 +09:00
stoffu
a9331a757f Set daemon address to WalletManager (requires #3576) 2018-04-07 14:10:31 +09:00
stoffu
cd4418dc45 Receive: make tracking optional 2018-04-07 14:09:28 +09:00
Sander Ferdinand
4a96678580 Fixes a bug where progress bars were not 100% filled visually (slightly off) 2018-04-05 11:56:44 +02:00
Sander Ferdinand
1378ae45c3 Reset flickable scrollview to 0 Y position 2018-04-05 11:52:09 +02:00
Sander Ferdinand
3b76636d6b Refactoring signal functions 2018-04-05 10:32:43 +02:00
Sander Ferdinand
6ca0713739 Fixes blockchain size warnings 2018-04-05 09:21:43 +02:00
Sander Ferdinand
39ca338f96 Fixes misaligned symbols/shortcuts and changes Shared RingDB shortcut to 'A' 2018-04-05 08:30:51 +02:00
Sander Ferdinand
0e92a8f723 Fixes transparent dropdown 2018-04-05 08:20:36 +02:00
moneromooo-monero
6ef2a8e21d Wallet: fix listener leak 2018-04-04 16:59:45 +01:00
Michal
ffd49c1777 Updated README.md with new dependencies for Ubuntu 16.04+:
qml-module-qtquick-controls2
    qml-module-qt-labs-folderlistmodel
2018-04-04 11:52:17 +01:00
stoffu
84fad36282 Add missing newline to transfer confirm dialog 2018-04-03 12:29:40 +09:00
stoffu
9393529613 ProgressBar: fix conversion to percentage 2018-04-03 11:51:37 +09:00
luigi1111
76a105261e Merge pull request #1240
199ed44 Bring QTQuick.Controls version down to 2.0
2018-04-02 12:29:06 -05:00
dEBRUYNE-1
199ed44aae Bring QTQuick.Controls version down to 2.0 2018-04-02 11:40:42 +02:00
Martín Fdez
4e6a4213ff Add Qt Runtime version to settings page 2018-04-01 22:10:30 +02:00
luigi1111
fbe5ba8317 Merge pull request #1236
9f58e29 Add libpcsclite to link line if libwallet_merged is linked against it
2018-03-31 16:52:32 -05:00
luigi1111
12aa815c5a Merge pull request #1234
abe0ae9 Adds warning message for when a transaction with a non-default mixin value is created
2018-03-31 14:46:09 -05:00
luigi1111
2a8d6f192a Merge pull request #1205
2067cbe link to boost lib filenames from msys2 package
2018-03-31 14:43:00 -05:00
Sander Ferdinand
abe0ae9304 Adds warning message for when a transaction with a non-default mixin value is created 2018-03-31 21:42:38 +02:00
luigi1111
4fc34f6886 Merge pull request #1230
afd624d Key reuse warning
2018-03-31 14:35:34 -05:00
Sander Ferdinand
afd624d0c0 Key reuse warning 2018-03-31 21:34:04 +02:00
luigi1111
f06ee51f05 Merge pull request #1235
f6fb6df Move the dialog title down a bit
2018-03-31 14:32:40 -05:00
luigi1111
be0b04c54e Merge pull request #1233
86746a1 Number comparison should be float
2018-03-31 14:30:59 -05:00
luigi1111
ed358e6e16 Merge pull request #1201
71fe3e4 replace turkish flag
2018-03-31 14:22:32 -05:00
iDunk5400
9f58e29f1c Add libpcsclite to link line if libwallet_merged is linked against it
This fixes unresolved dependencies when linking monero-wallet-gui if libwallet_merged was built with HW device support.
2018-03-31 19:54:51 +02:00
Sander Ferdinand
f6fb6df48c Move the dialog title down a bit 2018-03-31 19:21:08 +02:00
Sander Ferdinand
86746a1563 Number comparison should be float 2018-03-31 16:25:11 +02:00
luigi1111
47dc499413 Merge pull request #1226
4cfa813 Monero submodule: use release-v0.12 branch
2018-03-31 05:21:47 -05:00
luigi1111
a7594d64a2 Merge pull request #1221
2bd8e2f Bring back wallet name at the password dialog
2018-03-31 04:43:14 -05:00
luigi1111
a229f7006f Merge pull request #1220
a272427 Increase panel height for the settings page
2018-03-31 04:42:10 -05:00
luigi1111
34b6bcf504 Merge pull request #1219
90818ef Disable send button when there is an insufficient unlocked balance
2018-03-31 04:40:54 -05:00
luigi1111
0ef429fdac Merge pull request #1218
77648e7 Bring back the 'unlocked balance' text in the balance card
2018-03-31 04:39:29 -05:00
luigi1111
a090c724f8 Merge pull request #1217
e638ed0 Explicitly import MoneroComponents; prevent namespace pollution
2018-03-31 04:37:33 -05:00
dEBRUYNE-1
4cfa813cd5 Monero submodule: use release-v0.12 branch 2018-03-31 10:19:58 +02:00
Sander Ferdinand
2bd8e2feda Bring back wallet name at the password dialog 2018-03-31 03:56:56 +02:00
Sander Ferdinand
a272427423 Increase panel height for the settings page 2018-03-31 03:39:26 +02:00
Sander Ferdinand
e638ed0272 Explicitly import MoneroComponents; prevent namespace pollution 2018-03-31 03:25:20 +02:00
Sander Ferdinand
90818efe5e Disable send button when there is an insufficient unlocked balance 2018-03-31 03:16:35 +02:00
Sander Ferdinand
77648e71e9 Bring back the 'unlocked balance' text in the balance card 2018-03-31 03:01:20 +02:00
luigi1111
959c2fcc32 Merge pull request #1204
018ada3 Display Arabic in Arabic (العربية) in menu
2018-03-30 14:32:25 -05:00
luigi1111
79c946367f Merge pull request #1206
Look at the PR, I'm not listing the commits here
2018-03-30 14:29:06 -05:00
Sander Ferdinand
b32b308332 Dont use displayAmount, use amount instead 2018-03-29 23:04:05 +01:00
Sander Ferdinand
011e301324 Turn the SharedRing page black 2018-03-29 23:04:05 +01:00
Sander Ferdinand
fb6b467dcb Removed unused property 2018-03-29 23:04:04 +01:00
Sander Ferdinand
d98221ac56 Fixes the placeholder texts for RemoteNodeEdit in the wallet creation wizard 2018-03-29 23:04:04 +01:00
Sander Ferdinand
6e503cd0e2 Replace violet checkbox mark with a black one 2018-03-29 23:04:04 +01:00
Sander Ferdinand
408878290e nettype comparison needs to be loose 2018-03-29 23:04:04 +01:00
Sander Ferdinand
d2d6e3ad66 Fixes the placeholder texts for inputboxes in the wallet recovery wizard 2018-03-29 23:04:04 +01:00
Sander Ferdinand
0b7966f625 Fixes transaction confirmation dialog and also makes sure you will not be able to transfer funds when the daemon is not up (to date) 2018-03-29 23:04:04 +01:00
Sander Ferdinand
9afaa7cf0f Avoid logging addresses and other sensitive data 2018-03-29 23:04:04 +01:00
Sander Ferdinand
b35d60db2d Remove unused whatIsIcon.png related code 2018-03-29 23:04:04 +01:00
Sander Ferdinand
1d34d21a60 Removing unused function get_color() 2018-03-29 23:04:04 +01:00
Sander Ferdinand
da2c6e8bc8 Fixes javascript error; .trim() on undefined 2018-03-29 23:04:04 +01:00
Sander Ferdinand
0bfff8844e nettype comparison needs to be loose 2018-03-29 23:04:04 +01:00
Sander Ferdinand
3c24044736 Cleanup after rebase 2018-03-29 23:04:04 +01:00
Sander Ferdinand
3d4eb7a5f5 Progress bars are always visible after recent change to two bars 2018-03-29 23:04:04 +01:00
Sander Ferdinand
06bda869e0 font.bold for amount/address/paymentid on the transfer page 2018-03-29 23:04:04 +01:00
Sander Ferdinand
c001e31241 Fixes runtime QML warning 2018-03-29 23:04:04 +01:00
Sander Ferdinand
3f9926487d Fixes typo 2018-03-29 23:04:04 +01:00
Sander Ferdinand
84e6461248 Change 'money' to 'monero' 2018-03-29 23:04:04 +01:00
Sander Ferdinand
60f64a30ad Implement node bootstrap on the Settings page 2018-03-29 23:04:04 +01:00
Sander Ferdinand
28608e4ce0 Restyling the dialog boxes a bit more 2018-03-29 23:04:04 +01:00
Sander Ferdinand
2d7ef434be Updated balance card; removes lock icon 2018-03-29 23:04:04 +01:00
Sander Ferdinand
7e8915966b Bring QT version down to 5.7 2018-03-29 23:04:04 +01:00
Sander Ferdinand
625b92318f Restyled warning box (not connected to daemon) 2018-03-29 23:04:03 +01:00
Sander Ferdinand
b38ee48e59 Redesigned NewPasswordDialog 2018-03-29 23:04:03 +01:00
Sander Ferdinand
72a7fac467 Restyled password dialog 2018-03-29 23:04:03 +01:00
Sander Ferdinand
916c7acbb7 Design polish work 2018-03-29 23:04:03 +01:00
Sander Ferdinand
6e794e3c50 Redoing the Sign/Verify page 2018-03-29 23:04:03 +01:00
Sander Ferdinand
7c0f704fbd Clip subaddr table items 2018-03-29 23:04:03 +01:00
Sander Ferdinand
f544d9ac78 Exit application when wallet variable is empty 2018-03-29 23:04:03 +01:00
Sander Ferdinand
8f368b9b3b Remove seed from WizardFinished for now, as it yields an undefined error 2018-03-29 23:04:03 +01:00
Sander Ferdinand
5213daad77 Dynamic subaddr table height, dont show history table when there is none 2018-03-29 23:04:03 +01:00
Sander Ferdinand
57c0477fc6 Design polish work 2018-03-29 23:04:03 +01:00
Sander Ferdinand
70983136bc Generate proof from history view and made javascript file with tx related functions 2018-03-29 23:04:03 +01:00
Sander Ferdinand
09935ba4b0 Fixes duplicate id 2018-03-29 23:04:03 +01:00
Sander Ferdinand
3ba4224b69 Redesigned StandardDialog 2018-03-29 23:04:03 +01:00
Sander Ferdinand
69b4d56fdd Small style changes 2018-03-29 23:04:03 +01:00
Sander Ferdinand
bbc16e36dd Fixes the progressbars alignment 2018-03-29 23:04:03 +01:00
Sander Ferdinand
499419a23c Redesigned txkey/sign pages 2018-03-29 23:04:03 +01:00
Sander Ferdinand
30bf765b75 Fixing up after rebase 2018-03-29 23:04:03 +01:00
Sander Ferdinand
bb9e4ee0b9 Changed scrollbar width 2018-03-29 23:04:03 +01:00
Sander Ferdinand
57a9508849 Receive page; modified subaddress table 2018-03-29 23:04:03 +01:00
Sander Ferdinand
4977049425 Fixes some fonts, introduces a new checkbox and fixes 0 amount history entries 2018-03-29 23:04:03 +01:00
Sander Ferdinand
53b5b7a5c7 Fixing the start-up wizards 2018-03-29 23:04:03 +01:00
Sander Ferdinand
a128581ae5 Restyled addressbook panel 2018-03-29 23:04:02 +01:00
Sander Ferdinand
6677a185f8 Some font adjustments 2018-03-29 23:04:02 +01:00
Sander Ferdinand
a9b6a70d15 Cleanup after rebase 2018-03-29 23:04:02 +01:00
Sander Ferdinand
cf2791a246 New history page, including the mobile version. 2018-03-29 23:04:02 +01:00
Sander Ferdinand
c28d2daf20 White text for tick delegate 2018-03-29 23:04:02 +01:00
Sander Ferdinand
4f3bf839f7 Hover effects for titlebar buttons 2018-03-29 23:04:02 +01:00
Sander Ferdinand
129562594d Removing unnecessary label 2018-03-29 23:04:02 +01:00
Sander Ferdinand
676d976e53 Pointinghand cursor for checkboxes 2018-03-29 23:04:02 +01:00
Sander Ferdinand
e339034082 Added better gradient for MenuButton, implemented 'arrow.png' for checked menu buttons and replaced leftPanel background gradient 2018-03-29 23:04:02 +01:00
Sander Ferdinand
5a36aa7fce Change default font color / family for checkboxes 2018-03-29 23:04:02 +01:00
Sander Ferdinand
f262ce5209 Finishing up on the settings page for now and modified some QML components 2018-03-29 23:04:02 +01:00
Sander Ferdinand
be9cb8931c StandardButton - removed unused properties and some layout changes to settings page 2018-03-29 23:04:02 +01:00
Sander Ferdinand
0477af1b0d Settings - dropdown for log level 2018-03-29 23:04:02 +01:00
Sander Ferdinand
0b9e89691d Remove debugging leftovers from transfer page 2018-03-29 23:04:02 +01:00
Sander Ferdinand
d654ec1647 Settings page WIP 2018-03-29 23:04:02 +01:00
Sander Ferdinand
a1cdb572e2 Added 2 components: LineEditMulti.qml && LabelButton.qml - multiline line edits 2018-03-29 23:04:02 +01:00
Sander Ferdinand
e5357c8a0b Receive page development 2018-03-29 23:04:02 +01:00
cryptochangements34
de3fd183d8 Re-style AddressBookTable 2018-03-29 23:04:02 +01:00
Sander Ferdinand
328eb32a24 Various QML development 2018-03-29 23:04:02 +01:00
Sander Ferdinand
f48cd1b82b Checkbox/Standard button development 2018-03-29 23:04:01 +01:00
Sander Ferdinand
948669edbc Move default divider/button colors to Style.qml 2018-03-29 23:04:01 +01:00
Sander Ferdinand
868fbe2f2d Move default font color to Style.qml 2018-03-29 23:04:01 +01:00
Sander Ferdinand
22792df5cd Hide the custom titlebar when custom decorations are turned off 2018-03-29 23:04:01 +01:00
Sander Ferdinand
af9e4e86f0 Replacing checkbox, using default values from component 2018-03-29 23:04:01 +01:00
Sander Ferdinand
5028491ab3 Added new checkbox checked icon 2018-03-29 23:04:01 +01:00
Sander Ferdinand
5cd38c5aa7 Updating QRC 2018-03-29 23:04:01 +01:00
Sander Ferdinand
3d5fee0a2f StandardButton/StandardDropdown QML development 2018-03-29 23:04:01 +01:00
Sander Ferdinand
8295b9dffd Checkbox QML development 2018-03-29 23:04:01 +01:00
Sander Ferdinand
8c44c4c842 Adressbook QML development 2018-03-29 23:04:01 +01:00
Sander Ferdinand
df21e36f5b Removing copy button for addressLine, fixing margins for advanced options 2018-03-29 23:04:01 +01:00
Sander Ferdinand
d77e045f5d Added InputMulti - multiline inputbox 2018-03-29 23:04:01 +01:00
Sander Ferdinand
fb40d137f8 Hover effects for inlineButton 2018-03-29 23:04:01 +01:00
Sander Ferdinand
bfd2a63aca Lowering default font size to 18 for input boxes 2018-03-29 23:04:01 +01:00
Sander Ferdinand
01f7b6cbfb Transfer page QML development 2018-03-29 23:04:01 +01:00
Sander Ferdinand
3d65a5d90d LineEdit; included copy button 2018-03-29 23:04:01 +01:00
Sander Ferdinand
b09dfc2511 Added some Style properties 2018-03-29 23:04:01 +01:00
Sander Ferdinand
02380fbf1a Changing testnet label color to be red 2018-03-29 23:04:01 +01:00
Sander Ferdinand
6d31c48522 LineEdit: cursor: pointer for QML rich text on input labels 2018-03-29 23:04:01 +01:00
Sander Ferdinand
901e77e6f1 LineEdit: added placeholder label, added input label 2018-03-29 23:04:01 +01:00
Sander Ferdinand
a07fd46718 Update MiddlePanel background gradient 2018-03-29 23:04:01 +01:00
Sander Ferdinand
98479c4dc4 MiddlePanel background gradient 2018-03-29 23:04:01 +01:00
Sander Ferdinand
c3e1b51ac4 Dropdown button development - removing the second column 2018-03-29 23:04:01 +01:00
Sander Ferdinand
6d21b9919d InlineButton development 2018-03-29 23:04:01 +01:00
Sander Ferdinand
36ac2ee86d Inline button/icon for input boxes 2018-03-29 23:04:01 +01:00
Sander Ferdinand
63132dc1db Keeping the progressbar color orange 2018-03-29 23:04:01 +01:00
Sander Ferdinand
82553b0df2 NetworkStatus section development 2018-03-29 23:04:00 +01:00
Sander Ferdinand
dc445edaae Hide 'unlocked balance' when no funds are available 2018-03-29 23:04:00 +01:00
Sander Ferdinand
2e89f86b9f Removing unused import 2018-03-29 23:04:00 +01:00
cryptochangements34
bb836dae38 Use jpg for gradiency 2018-03-29 23:04:00 +01:00
Sander Ferdinand
8fbd8b99d7 leftPanel gradient background 2018-03-29 23:04:00 +01:00
Sander Ferdinand
9f0874ee06 Removing unused import 2018-03-29 23:04:00 +01:00
Sander Ferdinand
e62fab767a Added inlineButton for lineEdit and worked on network status progress bar + text 2018-03-29 23:04:00 +01:00
cryptochangements34
f9e264ca0a Adjust gradient image height 2018-03-29 23:04:00 +01:00
cryptochangements34
2629c767a8 adjust images size 2018-03-29 23:04:00 +01:00
cryptochangements34
af7ad482c2 Move button gradiency
Moves the block of code that deals with the gradiency so that it is placed underneath labels and other images rather than on top
2018-03-29 23:04:00 +01:00
cryptochangements34
f6f26af7cb use PNG for menuButton gradiency 2018-03-29 23:04:00 +01:00
Sander Ferdinand
f15d6f5197 Added some styles, changed some margins, testing with the new LineEdit 2018-03-29 23:04:00 +01:00
Sander Ferdinand
e7eb3bdfef Re-do LineEdit/Input - decoupled placeholder text 2018-03-29 23:04:00 +01:00
Sander Ferdinand
5360d2c231 Smaller menubutton height for small screens 2018-03-29 23:04:00 +01:00
Sander Ferdinand
9462899e97 Position testnet label 2018-03-29 23:04:00 +01:00
Sander Ferdinand
9819e63fcc Singleton for future style definition. For now, put the fonts there 2018-03-29 23:04:00 +01:00
Sander Ferdinand
50eafab5dc Have the menu buttons make use of the new font 2018-03-29 23:04:00 +01:00
Sander Ferdinand
229bade38c Added font: SFUIDisplay, updated QRC 2018-03-29 23:04:00 +01:00
Sander Ferdinand
5fdc9d894e New menu button layout - implemented arrow thingy 2018-03-29 23:04:00 +01:00
Sander Ferdinand
ad68107e1b New titlebar logo 2018-03-29 23:03:59 +01:00
Sander Ferdinand
f14dc70663 Implement subtle gradient behind balance card 2018-03-29 23:03:59 +01:00
Sander Ferdinand
b34432c6ac Titlebar, first version 2018-03-29 23:03:59 +01:00
Sander Ferdinand
5be04964a3 Added images, updated QRC 2018-03-29 23:03:59 +01:00
Sander Ferdinand
9347e8d936 Changed some colors & margins for LeftPanel 2018-03-29 23:03:59 +01:00
Sander Ferdinand
f6dc84a26a Added top-border for titlebar 2018-03-29 23:03:59 +01:00
Sander Ferdinand
ed95c4f4bf Added question.png, updated QRC 2018-03-29 23:03:59 +01:00
Sander Ferdinand
4c432000cb Removing borders; changing left-border color 2018-03-29 23:03:59 +01:00
Sander Ferdinand
f51cf35935 Added transparent monero icons 2018-03-29 23:03:59 +01:00
Sander Ferdinand
3b4d7ba93e Added a white version of the monero logo 2018-03-29 23:03:59 +01:00
Sander Ferdinand
8a3490a300 Added titlebar images, updated QRC 2018-03-29 23:03:59 +01:00
Sander Ferdinand
c64977a7db Removing some obsolete rectangles 2018-03-29 23:03:59 +01:00
Sander Ferdinand
f362953afc New layouts for leftpanel 2018-03-29 23:03:58 +01:00
Dan Miller
2067cbec31 link to boost lib filenames from msys2 package 2018-03-29 11:53:54 -07:00
cryptochangements34
018ada3433 Display Arabic in Arabic (العربية) in menu 2018-03-29 10:43:22 -04:00
Sander Ferdinand
f49ad844b8 Redoing the menu buttons 2018-03-28 21:01:24 +02:00
Sander Ferdinand
f68ca5d76e Add property fontBold to Labels, change default color 2018-03-28 21:01:24 +02:00
Sander Ferdinand
2556f24b8f Updating QRC 2018-03-28 21:01:24 +02:00
Sander Ferdinand
d03f94da46 Increasing left panel width to 300 2018-03-28 21:01:24 +02:00
Sander Ferdinand
9943ceaf0e Added 2 image resources 2018-03-28 21:01:24 +02:00
luigi1111
bf8b8f4512 Merge pull request #1199
d5e3835 get_libwallet_api.sh: init/update monero submodules
2018-03-28 13:48:51 -05:00
erciccione
71fe3e4ae4 replace turkish flag 2018-03-28 15:45:09 +02:00
moneromooo-monero
d5e3835bbf get_libwallet_api.sh: init/update monero submodules 2018-03-28 00:08:22 +01:00
luigi1111
e877d83023 Merge pull request #1106
fb33f35 Fix Arabic translation listed twice in the project file
2018-03-27 11:51:07 -05:00
luigi1111
00e34f7846 Merge pull request #1172
65ea07a Add a shared ringdb management page - rings and blackballed outputs
22a1114 Add segregation key reuse mitigation options
2018-03-27 11:49:36 -05:00
moneromooo-monero
22a1114501 Add segregation key reuse mitigation options 2018-03-26 20:57:33 +01:00
moneromooo-monero
65ea07af61 Add a shared ringdb management page - rings and blackballed outputs 2018-03-26 20:57:33 +01:00
Guillaume LE VAILLANT
fb33f35e45 Fix Arabic translation listed twice in the project file 2018-03-26 21:16:47 +02:00
luigi1111
fdaf557b99 Merge pull request #1144
33634d1 Add Portuguese localization
2018-03-26 13:13:46 -05:00
MB
33634d1ffe Add Portuguese localization 2018-03-26 20:07:42 +02:00
luigi1111
3934ba32ec Merge pull request #1195
def4434 Windows Installer: Updates for Lithium Luna i.e. 0.12.0.0
2018-03-26 12:59:43 -05:00
luigi1111
e4d75c6680 Merge pull request #1161
c8f0cf3 Stagenet
2018-03-26 12:57:14 -05:00
Agent LvM
278458bb64 (squash and merge) Russian and Ukrainian translations (#1184)
* Activate Ukrainian localization

* Add monero-core_ua.ts and update monero-core_ru.ts
2018-03-26 13:42:03 -04:00
René Brunner
def4434909 Windows Installer: Updates for Lithium Luna i.e. 0.12.0.0 2018-03-22 18:46:01 +01:00
luigi1111
e39ea7119f Merge pull request #1190
c72ffb4 Additional DLLs in 'windeploy_helper.sh': ICU, stack protection, regexp
2018-03-20 18:11:05 -04:00
luigi1111
9247609009 Merge pull request #1109
f182a72 Update Spanish translations
2018-03-20 18:03:37 -04:00
luigi1111
40f34ecc9e Merge pull request #1185
b1a5eba remove duplicate entries in qml.qrc
2018-03-20 18:00:10 -04:00
luigi1111
808743da94 Merge pull request #1191
ee6dd2e progress bar improvements
2018-03-20 17:58:27 -04:00
Jaquee
ee6dd2ec56 progress bar improvements 2018-03-20 19:23:04 +01:00
René Brunner
c72ffb4212 Additional DLLs in 'windeploy_helper.sh': ICU, stack protection, regexp 2018-03-19 20:46:58 +01:00
erciccione
b1a5ebacf3 remove duplicate entries in qml.qrc 2018-03-17 19:28:04 +01:00
luigi1111
da0155e260 Merge pull request #1182
37cb006 separate progress bars for daemon and wallet
d253991 remove obsolete remote node logic
2018-03-15 16:41:30 -04:00
Jaquee
d253991ecb remove obsolete remote node logic 2018-03-15 16:51:03 +01:00
Jaquee
37cb0061ee separate progress bars for daemon and wallet 2018-03-15 16:35:47 +01:00
luigi1111
9038bb3803 Merge pull request #1180
0aa3269 add window icon for linux
2018-03-14 21:29:28 -04:00
pazos
0aa32694ef add window icon for linux 2018-03-14 18:08:52 +01:00
stoffu
c8f0cf3543 Stagenet 2018-03-14 23:26:25 +09:00
i3visio
f182a72d19 Update Spanish translations
Update non translated strings and remove commonly unneeded expressions in Spanish
translations such as `Por favor,` and similar ones. `type="unfinished"` tags from
already translated resources have also been removed.
2018-03-14 15:03:43 +01:00
luigi1111
c5363da1e8 Merge pull request #1178
587e6e8 add turkish localization
2018-03-13 23:39:41 -04:00
luigi1111
a8ba815fb3 Merge pull request #1141
5d2d6ad UTF-8 support for filenames and paths under Windows
2018-03-13 23:37:33 -04:00
rtonline
587e6e8c24 add turkish localization 2018-03-13 23:43:32 +01:00
luigi1111
f12d47386f Merge pull request #1176
c0ffe5b Transfer: min ring size is now 7, from 5
2018-03-13 17:41:03 -04:00
luigi1111
8ba5e9a164 Merge pull request #1174
df2b8d3 build: remove readline from dependencies
2018-03-13 17:33:58 -04:00
luigi1111
3c6625a506 Merge pull request #1173
ff46368 Mac build: relro, now and noexecstack are unsupported for Mac
2018-03-13 17:32:42 -04:00
luigi1111
0096765676 Merge pull request #1171
17c3602 Settings: fix visibility of bootstrap daemon setting
2018-03-13 17:31:12 -04:00
luigi1111
8241991e8a Merge pull request #1162
a0a60eb mac build: link against PCSC
2018-03-13 17:29:15 -04:00
luigi1111
5f11583915 Merge pull request #1154
d399528 Use Esperanto mnemonic seed for Esperanto GUI
2018-03-13 17:28:05 -04:00
luigi1111
56f6c0a48b Merge pull request #1153
c853888 WalletManager: add logging API from QML
2018-03-13 17:26:44 -04:00
luigi1111
77cccf3836 Merge pull request #1130
6399a42 Dutch translation of GUI text added in January
59e653b Improved Dutch translation of January GUI update
2018-03-13 17:17:15 -04:00
luigi1111
84e345e655 Merge pull request #1102
18b36d5 Update zh-tw translation
2018-03-13 17:06:41 -04:00
luigi1111
92a62da383 Merge pull request #1075
08beb71 Store wallet log in ~/Library/Logs/ in macOS
2018-03-13 17:03:58 -04:00
luigi1111
39db876fee Merge pull request #1082
4c9e2c1 [Issue 1080] Fixed undefined variable for password rewrite when changing wallet initial block height
2018-03-13 16:27:27 -04:00
luigi1111
6ca78702f0 Merge pull request #1152
7d29ac8 updated Brazilian Portuguese
2018-03-13 16:20:54 -04:00
luigi1111
d13705749a Merge pull request #1114
9cf2ba7 Update monero-core_hr.ts
7f6c4aa Complete Croatian translation
f826c3f activate croatian language in languages.xml
2018-03-13 16:19:08 -04:00
luigi1111
5af989fa29 Merge pull request #1099
87e8b09 Catalan translation
7db2c0c update translation using lupdate
2018-03-13 16:16:16 -04:00
luigi1111
689123fa95 Merge pull request #1015
da32161 Use wallet2_api isAddressLocal utils method for isDaemonLocal check
2018-03-13 16:14:08 -04:00
luigi1111
fd5e3dcecb Merge pull request #1005
9cdfad3 Left Panel: seeds and keys not selected when open
2018-03-13 16:11:59 -04:00
luigi1111
d6e03df7de Merge pull request #1006
4d2f586 TextBlock: Fix multi select bug
2018-03-13 16:08:21 -04:00
stoffu
a0a60eba69 mac build: link against PCSC 2018-03-12 20:23:53 +09:00
moneromooo-monero
c0ffe5b96a Transfer: min ring size is now 7, from 5 2018-03-12 10:16:41 +00:00
ProkhorZ
d399528078 Use Esperanto mnemonic seed for Esperanto GUI
Issue #1131
2018-03-09 14:51:39 +01:00
rbrunner7
5d2d6adfaf UTF-8 support for filenames and paths under Windows 2018-03-08 20:34:30 +01:00
erciccione
7db2c0c9f7 update translation using lupdate 2018-03-07 15:30:51 +01:00
EdwardLow
87e8b09065 Catalan translation 2018-03-07 15:30:46 +01:00
stoffu
df2b8d3c8d build: remove readline from dependencies 2018-03-07 18:06:08 +09:00
stoffu
ff46368783 Mac build: relro, now and noexecstack are unsupported for Mac 2018-03-07 11:42:45 +09:00
Lafudoci
18b36d5593 Update zh-tw translation
Unify the translation of "address"

Minor fix
2018-03-07 09:30:06 +08:00
stoffu
17c36025a0 Settings: fix visibility of bootstrap daemon setting 2018-03-07 08:33:51 +09:00
luigi1111
ce8913b5bf Merge pull request #1113
4360d9b Compile with stack protector
2018-03-06 12:34:46 -05:00
luigi1111
7c9ba196c9 Merge pull request #1140
70d42ee Wizard: allow seed without checksum
2018-03-06 12:33:01 -05:00
luigi1111
be986cf599 Merge pull request #1132
c096be4 Update Japanese translation
2018-03-06 12:31:21 -05:00
luigi1111
e6eef867dc Merge pull request #1150
a44d15a get_libwallet_api.sh: fix debug/release hardcoded path
8b97eed monero-wallet-gui.pro: use hardening flags
986275c get_libwallet_api.sh: fix comment referencing the wrong library
f45b0a7 main: do not crash if we can't load some stuff
2018-03-06 12:29:48 -05:00
luigi1111
4479026649 Merge pull request #1149
22de9db Fix a few uses of undefined data on startup and exit
2018-03-06 12:26:03 -05:00
luigi1111
2deff0611d Merge pull request #1091
89ec822 removed persistentSettings.startLocalNode as it's synonym for !persistentSettings.useRemoteNode
af882e8 rectified visual switch between local node & remote node
fd1f4bf Bootstrap daemon (requires #3165)
2018-03-06 12:24:20 -05:00
luigi1111
7dae6a1ff0 Merge pull request #1133
1b5b78a First piece of translations updates
53d2cd4 Update monero-core_pl.ts
1ad20a1 Merge pull request #1 from monero-project/master
2d47554 Merge branch 'szogun1987-polish-translations' into master
5adc399 Merge pull request #2 from szogun1987/master
746f3ad Remove comments from translation file
d07e415 Merge branch 'master' into szogun1987-polish-translations
a5820bf fixture of comments from PR
491c1d2 Unlock polish language in menu
cdb2d17 Filled missing Polish translations.
d6395ea Changing Polish translations based on the feedback and fixing some minor errors
b49b8bf Changed order of some words in Polish translation
1f29558 Fixed some mistakes/typos in previous Polish translations
2018-03-06 12:16:53 -05:00
luigi1111
767a9b3042 Merge pull request #1105
c1389a2 update Italian translation
2018-03-06 12:02:17 -05:00
luigi1111
94760e550e Merge pull request #1129
014caff Create monero-core_rs.ts
9da4dc4 Update languages.xml
b1b8239 Added serbian flag
2e4b084 added serbian
ca00bf8 added serbia
2018-03-06 12:00:35 -05:00
luigi1111
168a187f51 Merge pull request #1124
5db9185 startsWith is unsupported for Qt < 5.8, use indexOf instead
2018-03-06 11:58:09 -05:00
luigi1111
09455a7bd7 Merge pull request #1121
bd173c9 Updated Swedish localization after merge #1076
2018-03-06 11:56:47 -05:00
luigi1111
9b27a3de69 Merge pull request #1125
86bd96e Updated Romanian translations
5e974f8 Remove type=unfinished from correct translations
10f8407 Corrections to unfinished strings in Ro translation
2018-03-06 11:54:14 -05:00
luigi1111
1983f1bee0 Merge pull request #1126
2b4402e Update Hebrew Translation
2018-03-06 11:49:10 -05:00
luigi1111
efab83fa46 Merge pull request #1024
d253b1d Add GuixSD distro package to README.md
2018-03-06 11:47:38 -05:00
luigi1111
ecbfaffae7 Merge pull request #1080
6fc8cfc update zh-cn translation
2018-03-06 11:43:13 -05:00
ProkhorZ
59e653b458 Improved Dutch translation of January GUI update
See comments on PR #1127 and #1130
2018-03-05 00:39:13 +01:00
moneromooo-monero
c85388815b WalletManager: add logging API from QML
requires #3345
2018-03-04 18:22:40 +00:00
mandrill-pie
10f8407a0d Corrections to unfinished strings in Ro translation 2018-03-04 14:31:19 +08:00
moneromooo.monero
f45b0a7d25 main: do not crash if we can't load some stuff
This happens with some Qt widgets/components aren't found
2018-03-03 23:27:15 +00:00
moneromooo.monero
22de9db4e1 Fix a few uses of undefined data on startup and exit 2018-03-03 23:26:20 +00:00
moneromooo.monero
986275c42c get_libwallet_api.sh: fix comment referencing the wrong library 2018-03-03 22:57:18 +00:00
moneromooo.monero
8b97eed79c monero-wallet-gui.pro: use hardening flags 2018-03-03 22:56:52 +00:00
moneromooo.monero
a44d15a7e9 get_libwallet_api.sh: fix debug/release hardcoded path 2018-03-03 22:56:38 +00:00
einsteinsfool
1f29558526 Fixed some mistakes/typos in previous Polish translations 2018-02-28 23:23:02 +01:00
einsteinsfool
b49b8bffa1 Changed order of some words in Polish translation 2018-02-28 17:50:08 +01:00
einsteinsfool
d6395eab06 Changing Polish translations based on the feedback and fixing some minor errors 2018-02-28 17:40:15 +01:00
netrik182
7d29ac861b updated Brazilian Portuguese 2018-02-25 16:22:33 -03:00
stoffu
70d42ee328 Wizard: allow seed without checksum 2018-02-25 21:52:04 +09:00
mandrill-pie
5e974f8845 Remove type=unfinished from correct translations 2018-02-24 09:39:21 +08:00
einsteinsfool
cdb2d17a2e Filled missing Polish translations. 2018-02-22 19:03:27 +01:00
Wojciech Gomoła
491c1d26bf Unlock polish language in menu 2018-02-22 07:51:14 +01:00
mandrill-pie
86bd96e063 Updated Romanian translations 2018-02-22 10:40:10 +08:00
Wojciech Gomoła
a5820bfd9a fixture of comments from PR 2018-02-21 13:40:14 +01:00
Wojciech Gomoła
d07e415733 Merge branch 'master' into szogun1987-polish-translations 2018-02-21 13:36:57 +01:00
Takuto Hayashi
c096be427e Update Japanese translation 2018-02-21 12:04:22 +09:00
xmronadaily
ca00bf8b62 added serbia 2018-02-20 21:47:43 +01:00
xmronadaily
2e4b084ebf added serbian 2018-02-20 21:47:43 +01:00
xmronadaily
b1b8239722 Added serbian flag 2018-02-20 21:47:43 +01:00
xmronadaily
9da4dc4899 Update languages.xml 2018-02-20 21:47:43 +01:00
xmronadaily
014caff418 Create monero-core_rs.ts 2018-02-20 21:47:37 +01:00
ProkhorZ
6399a4281f Dutch translation of GUI text added in January
Plus a few corrections of older translations
2018-02-20 21:20:58 +01:00
Wojciech Gomoła
746f3adb6e Remove comments from translation file 2018-02-20 19:03:36 +01:00
erciccione
f826c3fe65 activate croatian language in languages.xml 2018-02-20 17:24:21 +01:00
Mario Kralj
7f6c4aa4c8 Complete Croatian translation 2018-02-20 17:23:14 +01:00
TasmaniaKrama
9cf2ba7b03 Update monero-core_hr.ts
add fixes suggested in review of #1057
2018-02-20 17:23:03 +01:00
milargos
2b4402e0d4 Update Hebrew Translation 2018-02-20 18:14:40 +02:00
stoffu
5db9185409 startsWith is unsupported for Qt < 5.8, use indexOf instead 2018-02-20 12:10:19 +09:00
Ordtrogen Översättning
bd173c9fc3 Updated Swedish localization after merge #1076 2018-02-18 12:45:30 +01:00
luigi1111
084c1c84f3 Merge pull request #1110
7765205 translation slovenian language
2018-02-11 19:34:28 -05:00
luigi1111
591a7c9662 Merge pull request #1100
a975357 Update FR translations
2018-02-11 19:32:16 -05:00
luigi1111
76636ef992 Merge pull request #1020
b8e5230 add start-low-graphics-mode.bat

618d6cf remove linebreaks
2018-02-11 19:29:29 -05:00
luigi1111
45544c723f Merge pull request #1108
1f64326 resize south_korea.png and czech.png to 100x100 px
2018-02-11 19:23:55 -05:00
luigi1111
4bed8fab02 Merge pull request #1084
74b2023 change name displayed from Swedish to Svenska
2018-02-11 19:21:04 -05:00
luigi1111
1cd4f0e8e3 Merge pull request #1107
cf14d74 change egyptian flag
2018-02-11 19:19:30 -05:00
jernejml
7765205fe2 translation slovenian language 2018-02-11 20:19:21 +01:00
Guillaume LE VAILLANT
4360d9b67b Compile with stack protector 2018-02-07 15:37:15 +01:00
cryptochangements34
a9753578d7 Update FR translations 2018-02-04 12:02:21 -05:00
erciccione
1f64326321 resize south_korea.png and czech.png to 100x100 px 2018-02-03 16:15:02 +01:00
hqwrong
6fc8cfc827 update zh-cn translation 2018-02-01 13:49:29 +08:00
erciccione
cf14d744ee change egyptian flag 2018-01-31 22:00:38 +01:00
Miguel Herranz
08beb71cca Store wallet log in ~/Library/Logs/ in macOS
In macOS it is not usual to modify anything inside an application. If
the user that runs the application doesn't have writing permissions the
log will not be saved.

This modifies the path to store them in macOS' standard location for
application logs.
2018-01-31 00:08:27 +01:00
erciccione
c1389a2f94 update Italian translation 2018-01-30 20:53:40 +01:00
luigi1111
50fb2ddf69 Merge pull request #1101
2061bc5 UnsignedTransaction: Removing the Priority enum accordingly to libwalletapi update
2018-01-30 00:28:19 -05:00
stoffu
fd1f4bf628 Bootstrap daemon (requires #3165) 2018-01-30 07:45:11 +09:00
stoffu
af882e87f5 rectified visual switch between local node & remote node 2018-01-30 07:45:08 +09:00
stoffu
89ec822ba5 removed persistentSettings.startLocalNode as it's synonym for !persistentSettings.useRemoteNode 2018-01-30 07:45:03 +09:00
luigi1111
5c664685da Merge pull request #1083
b9757fe Transfer: automatically use low priority if no backlog is present
2018-01-29 16:19:44 -05:00
Neozaru
2061bc5212 UnsignedTransaction: Removing the Priority enum accordingly to libwalletapi update 2018-01-29 12:30:46 +01:00
Wojciech Gomoła
5adc39915e Merge pull request #2 from szogun1987/master
Refresh with drop
2018-01-28 15:30:37 +01:00
Wojciech Gomoła
2d47554741 Merge branch 'szogun1987-polish-translations' into master 2018-01-28 15:21:55 +01:00
Wojciech Gomoła
1ad20a1fb3 Merge pull request #1 from monero-project/master
Refresh with source fork
2018-01-28 14:52:53 +01:00
Wojciech Gomoła
53d2cd4ea7 Update monero-core_pl.ts 2018-01-27 12:26:21 +01:00
stoffu
b9757fe837 Transfer: automatically use low priority if no backlog is present (requires #3123) 2018-01-27 11:00:10 +09:00
luigi1111
bed05a484c Merge pull request #1076
c483c9c Updating all translation files

84d3639 Fixing situations where lupdate got confused
2018-01-26 14:37:56 -05:00
luigi1111
629f460eb6 Merge pull request #1065
fdd528b Update copyright for 2018
2018-01-26 14:33:47 -05:00
luigi1111
ef6a6ed651 Merge pull request #977
cee0474 Subaddresses minimal version: supports default account only

a6a7b56 ditch payment ID from the Receive page
2018-01-26 14:29:40 -05:00
erciccione
74b20236d6 change name displayed from Swedish to Svenska 2018-01-20 12:01:43 +01:00
Neozaru
4c9e2c1f1a [Issue 1080] Fixed undefined variable for password rewrite when changing wallet initial block height 2018-01-17 11:56:53 +01:00
luigi1111
b137f73440 Merge pull request #980
eda9ea1 Update monero-core_ru.ts
2018-01-16 20:08:52 -05:00
Jonathan Cross
84d3639991 Fixing situations where lupdate got confused 2018-01-14 22:38:26 +01:00
Jonathan Cross
c483c9c532 Updating all translation files 2018-01-14 22:12:51 +01:00
kenshi84
a6a7b56d73 ditch payment ID from the Receive page 2018-01-13 14:37:14 +09:00
kenshi84
cee0474e37 Subaddresses minimal version: supports default account only 2018-01-13 14:37:07 +09:00
luigi1111
3b069ec049 Merge pull request #1021
c320878 put wallet name in debug info
2018-01-11 17:02:24 -05:00
luigi1111
d52486dfab Merge pull request #889
cec206e Refactor wallet password dialog

cf488f4 Allow password to be changed
2018-01-11 11:03:05 -05:00
xmr-eric
fdd528b99e Update copyright for 2018 2018-01-08 12:51:26 -05:00
luigi1111
f378035836 Merge pull request #1028
7f336b8 German translations
2018-01-06 17:29:50 -05:00
luigi1111
7c1ecc0950 Merge pull request #1052
4f0e67a README.md: Copy changes from /monero/
2018-01-06 17:27:32 -05:00
luigi1111
da2ea50616 Merge pull request #1050
c6fd3ec czech translation, seed generation fix
2018-01-06 17:25:41 -05:00
luigi1111
ba8ddb23da Merge pull request #1056
b5c936c Add monero-core_ar.ts

6ec32c5 Add files via upload (Egyptian flag)

533b1ea Update languages.xml

13358cf Update monero-wallet-gui.pro

6c2fd8e Update qml.qrc
2018-01-06 17:23:35 -05:00
luigi1111
bdb99725a0 Merge pull request #1031
addee25 Typo fixes monero-core_nl.ts
2018-01-06 17:20:41 -05:00
luigi1111
4189900e86 Merge pull request #981
c1ac91d Refresh base translations before making any changes.

7ba6eac Cleanup html/css in text to be translated.

934f538 Regenerated en translation file from clean ver
2018-01-06 17:17:19 -05:00
luigi1111
fc131bd465 Merge pull request #965
83efc38 Android: Disable password strength meter

0ece8a9 Android dockerfile: add zmq dependency

dab4d5a Android: use new repo path
2018-01-06 17:14:56 -05:00
luigi1111
5268199679 Merge pull request #1047
158d50e Teach build.sh to find qmake on systems where it's called qmake-qt5.
2018-01-06 17:11:26 -05:00
stoffu
cf488f4406 Allow password to be changed 2018-01-05 16:11:32 +09:00
stoffu
cec206ec8d Refactor wallet password dialog 2018-01-05 16:11:29 +09:00
3b7ameed
b5c936c496 Add monero-core_ar.ts 2018-01-03 17:11:33 +02:00
3b7ameed
6c2fd8e431 Update qml.qrc 2018-01-03 17:11:33 +02:00
3b7ameed
13358cf0a3 Update monero-wallet-gui.pro 2018-01-03 17:11:33 +02:00
3b7ameed
533b1ea283 Update languages.xml 2018-01-03 17:11:33 +02:00
3b7ameed
6ec32c5056 Add files via upload
Egyptian flag
2018-01-03 17:11:33 +02:00
xmr-eric
4f0e67a8be README.md: Copy changes from /monero/ 2017-12-30 17:31:15 -05:00
medusadigital
618d6cf3c0 remove linebreaks 2017-12-30 22:38:39 +01:00
luigi1111
ac509ed798 Merge pull request #982
8543429 Windows installer: Switch from 'comparetimestamp' to 'ignoreversion'
2017-12-30 15:56:09 -05:00
Ruzicka Pavel
c6fd3ece1a czech translation, seed generation fix 2017-12-28 13:08:34 +01:00
luigi1111
e3663d054e Merge pull request #984
3ad64ee Update languages.xml

9c1d207 Add files via upload

c2a1a7b Update monero-wallet-gui.pro

d46000f Update qml.qrc

9b1aac4 Add monero-core_sk.ts
2017-12-27 13:08:30 -05:00
fero-sk
9b1aac45fa Add monero-core_sk.ts 2017-12-27 19:01:53 +01:00
fero-sk
d46000f77c Update qml.qrc 2017-12-27 19:01:52 +01:00
fero-sk
c2a1a7bfb3 Update monero-wallet-gui.pro 2017-12-27 19:01:10 +01:00
fero-sk
9c1d20737e Add files via upload 2017-12-27 19:00:33 +01:00
fero-sk
3ad64eef66 Update languages.xml 2017-12-27 19:00:30 +01:00
luigi1111
860946c146 Merge pull request #1009
30af56d +czech translation

33c4950 czech translation updated

c50eb93 add czech files on monero-wallet-gui.pro and qml.qrc
2017-12-27 12:53:29 -05:00
luigi1111
62b6a37483 Merge pull request #1029
48f7102 Call Monero::Utils::onStartup in main.cpp (requires #2952)
2017-12-27 12:48:58 -05:00
erciccione
c50eb93c3d add czech files on monero-wallet-gui.pro and qml.qrc 2017-12-27 17:56:33 +01:00
Ruzicka Pavel
33c4950757 czech translation updated 2017-12-27 15:45:10 +01:00
Ruzicka Pavel
30af56d392 +czech translation 2017-12-27 15:44:59 +01:00
MoroccanMalinois
dab4d5a8d7 Android: use new repo path 2017-12-24 17:36:39 +00:00
MoroccanMalinois
0ece8a968e Android dockerfile: add zmq dependency 2017-12-24 17:35:46 +00:00
Evan Klitzke
158d50e5fa Teach build.sh to find qmake on systems where it's called qmake-qt5. 2017-12-24 00:05:46 -08:00
MoroccanMalinois
83efc3893b Android: Disable password strength meter 2017-12-24 01:32:18 +00:00
User
c3208785cf put wallet name in debug info 2017-12-21 15:40:47 -05:00
potatored
addee255ff Typo fixes monero-core_nl.ts
Some typos, has to be 'uw' instead of 'u'. Like 'your' instead of 'you'.
2017-12-21 14:55:52 +01:00
luigi1111
64ce0e62e2 Merge pull request #1018
4617a09 show only valid qr codes with valid payment ids
2017-12-19 11:35:43 -06:00
stoffu
48f7102e39 Call Monero::Utils::onStartup in main.cpp (requires #2952) 2017-12-19 11:09:43 +09:00
luigi1111
4982d23738 Merge pull request #1023
745b40a Readme.md: Forgot one heading...
2017-12-18 11:53:43 -06:00
Schnoffel
7f336b884b German translations 2017-12-17 22:22:05 +01:00
luigi1111
4ba2672d84 Merge pull request #1010
4299c79 Fixing Dutch translation spelling mistake
2017-12-17 12:42:23 -06:00
luigi1111
339da86683 Merge pull request #964
c09041f First Danish translation of the Monero GUI
2017-12-17 12:39:01 -06:00
luigi1111
93565d996c Merge pull request #1014
b73bcdf Receive page: QR code bug fix for invalid payment ids
2017-12-17 12:37:06 -06:00
luigi1111
1d71429b74 Merge pull request #1001
c8dd663 hide balance in receive tab
2017-12-17 12:35:13 -06:00
luigi1111
d71c31e1bf Merge pull request #996
a116427 History: Properly label failed transactions
2017-12-17 12:33:14 -06:00
luigi1111
f9447fa4a1 Merge pull request #989
bdffc7d Transfer: remove pre-v5 priority list (followup for #824)
2017-12-17 12:28:57 -06:00
luigi1111
fbd508781e Merge pull request #967
5cda1f5 Spend proof
2017-12-17 12:24:35 -06:00
Vasile
d253b1da9e Add GuixSD distro package to README.md 2017-12-15 14:57:19 +01:00
Wojciech Gomoła
1b5b78ab25 First piece of translations updates 2017-12-15 11:39:03 +01:00
xmr-eric
745b40acad Readme.md: Forgot one heading... 2017-12-14 14:59:30 -05:00
Tim L
b73bcdf4b9 Receive page: QR code bug fix for invalid payment ids 2017-12-13 09:25:37 -05:00
medusadigital
b8e5230d7d add start-low-graphics-mode.bat
add start-low-graphics-mode.bat
2017-12-13 13:21:55 +01:00
User
c8dd6632a7 hide balance in receive tab
add updateBalance on advanced click

remove state variable and hide balance when advanced clicked

remove advanced state from left panel

add qsTr to make HIDDEN translateable
2017-12-13 06:37:18 -05:00
User
4617a09af9 show only valid qr codes with valid payment ids
fix broken amount field

remove unnecessary braces

remove bad pid string and whitespace changes

remove payment id check in qr generation
2017-12-13 05:03:01 -05:00
stoffu
bdffc7d12b Transfer: remove pre-v5 priority list (followup for #824) 2017-12-12 09:46:37 +09:00
Tim L
da3216156d Use wallet2_api isAddressLocal utils method for isDaemonLocal check 2017-12-11 16:44:01 -05:00
luigi1111
9d22b6ab4d Merge pull request #972
3757dc2 Esperanto fixes
2017-12-11 11:12:40 -06:00
Robert Fridzema
4299c79828 Fixing Dutch translation spelling mistake
Dutch explanation:
https://www.beterspellen.nl/website/index.php?pag=106

has to do with noun and adjective words.


Fixing Dutch translation spelling mistake
2017-12-11 09:20:05 +01:00
cryptobench
c09041f7f0 First Danish translation of the Monero GUI
Added danish

Added danish translation

Added linkup to Danish flag

</languages> corrected to new line

Accidently put it behind danish translation, so it wouldn't keep formatting.

Removed blank lines + changed wallet-lan to English

Uploaded Danish flag

Delete dk.png not ideal size

Uploaded denmark.png 100x100

Fixed a typo

</message> wasnt closed

Removed some spaces

Fixed punctuations.

edit punctuation after github's bug

Fixed typo
2017-12-11 00:10:23 +01:00
luigi1111
7e801642c2 Merge pull request #1000
77bcdf9 replace wallet/wallet2_api.h with wallet/api/wallet2_api.h to compile
2017-12-10 16:06:46 -06:00
luigi1111
3b23446c31 Merge pull request #976
1f51d4b Left panel: add view only wallet label
2017-12-10 15:53:01 -06:00
luigi1111
850fc25b6d Merge pull request #1007
65a3474 change countdown to start connecting to local daemon from 5 to 10 seconds
2017-12-10 15:50:56 -06:00
luigi1111
e3fde20f74 Merge pull request #997
c118724 Password input: reset on failed input
2017-12-10 15:49:13 -06:00
luigi1111
a77aed0ded Merge pull request #991
c5d28ba Switch Core with GUI in README.md, fix headings
2017-12-10 15:47:11 -06:00
luigi1111
fd2003e71f Merge pull request #963
aacf181
Add zeroMQ to installation instructions
2017-12-10 15:46:00 -06:00
erciccione
65a3474a80 change countdown to start connecting to local daemon from 5 to 10 seconds 2017-12-09 14:20:35 +01:00
xmr-eric
c5d28ba9c0 Switch Core with GUI in README.md, fix headings
Recently the GUI repo had its name changed from monero-core to monero-gui. This PR updates the build instructions and elsewhere with the new repo name and link.

This PR also seeks to put the heading capitalization policy inline with the main Monero readme. Capitalizing every single word in a heading begins to feel redundant and cumbersome when headings become long (and many are indeed quite long). A much better practice is capitalizing just the initial word. See: https://github.com/monero-project/monero/pull/2881
2017-12-08 19:33:47 -05:00
Tim L
4d2f5864c1 TextBlock: Fix multi select bug 2017-12-08 16:28:12 -05:00
Tim L
9cdfad3512 Left Panel: seeds and keys not selected when open 2017-12-08 10:54:17 -05:00
User
77bcdf9434 replace wallet/wallet2_api.h with wallet/api/wallet2_api.h to compile 2017-12-08 02:29:28 -05:00
Tim L
c1187241db Password input: reset on failed input 2017-12-07 11:49:43 -05:00
Tim L
a116427567 History: Properly label failed transactions 2017-12-07 09:08:26 -05:00
Tim L
1f51d4b52d Left panel: add view only wallet label 2017-12-07 09:08:08 -05:00
René Brunner
85434298d9 Windows installer: Switch from 'comparetimestamp' to 'ignoreversion' 2017-12-01 16:16:00 +01:00
Jonathan Cross
934f53817c Regenerated en translation file from clean ver 2017-12-01 15:41:49 +01:00
Jonathan Cross
7ba6eac43a Cleanup html/css in text to be translated. 2017-12-01 15:38:57 +01:00
Jonathan Cross
c1ac91d926 Refresh base translations before making any changes. 2017-12-01 15:37:04 +01:00
AJIekceu4
eda9ea15c6 Update monero-core_ru.ts 2017-12-01 17:04:33 +07:00
Jonathan Cross
3757dc27f1 Esperanto fixes 2017-12-01 00:06:33 +01:00
stoffu
5cda1f5ac1 Spend proof 2017-11-30 08:36:28 +09:00
luigi1111
d9d2050f29 Merge pull request #966
d8f3a52 Bugfix with tx proof + update
2017-11-29 17:27:22 -06:00
luigi1111
bbf9b4b258 Merge pull request #888
4f0fee1 update translation: typo fix and changes
2017-11-28 16:21:53 -06:00
luigi1111
21a9bfb5e4 Merge pull request #968
8e1f1db Rename tx privacy Normal setting to Default
2017-11-27 16:00:23 -06:00
stoffu
d8f3a52378 Bugfix with tx proof + update 2017-11-26 11:46:41 +09:00
Anton Krylov
aacf1814aa Add zeroMQ to installation instructions 2017-11-24 23:29:24 +03:00
lancillotto
4f0fee1a18 update translation: typo fix and changes 2017-11-24 02:03:18 +01:00
luigi1111
ca71131463 Merge pull request #954
476b727 Smoother and faster animations for the menu buttons

1ada4f8 Decreasing menu button height

c349b5d Add easing to page switching animation - OutCubic
2017-11-22 11:57:55 -06:00
luigi1111
2dfc8d6324 Merge pull request #794
3e90c3d update of the esperanto translation

78e3cd4 fix conflicts and rebase

4066cb2 Merge branch 'patch-1' into fix

c712444 c712444
2017-11-22 11:23:03 -06:00
luigi1111
549034dfce Merge pull request #919
794c146 Changed 'apt-get' to 'apt'
2017-11-22 11:19:44 -06:00
luigi1111
1353a47447 67ecb6a remove monero/build before building libwallet 2017-11-22 11:15:06 -06:00
xmr-eric
8e1f1dbf05 Rename tx privacy "Normal" setting to "Default"
With this PR, both tx priority and tx privacy settings will have similar terminology.
2017-11-20 11:50:56 -05:00
luigi1111
2147803d45 Merge pull request #873
d79fe0f Tx proof
2017-11-20 00:16:43 -06:00
stoffu
d79fe0f457 Tx proof 2017-11-20 14:34:48 +09:00
luigi1111
da020fd0be Merge pull request #958
8956a35 Fix for tx confirm password not showing up
2017-11-16 09:53:45 -06:00
stoffu
8956a35aae Fix for tx confirm password not showing up 2017-11-16 12:25:05 +09:00
luigi1111
aa432e5e44 Merge pull request #953
11f3e6f Update Settings.qml
2017-11-15 11:19:04 -06:00
luigi1111
ebfebe795a Merge pull request #947
c441697 Correcting a typo
2017-11-15 11:17:47 -06:00
luigi1111
d5d59b5dc6 Merge pull request #751
50b9281 static debug build
2017-11-13 09:35:17 -06:00
Sander Ferdinand
c349b5d248 Add easing to page switching animation - OutCubic 2017-11-12 22:26:52 +01:00
Sander Ferdinand
1ada4f8826 Decreasing menu button height 2017-11-12 22:18:20 +01:00
Sander Ferdinand
476b727db1 Smoother and faster animations for the menu buttons 2017-11-12 22:12:56 +01:00
fungible-crypto
11f3e6f8e7 Update Settings.qml
[LOW priority] [UX misspelling]
Updated misspelling and added period.
2017-11-12 15:01:19 -06:00
xc
c441697594 Correcting a typo 2017-11-10 20:30:58 +03:00
Jaquee
67ecb6a85d remove monero/build before building libwallet
requires #2694
2017-11-08 11:23:00 +01:00
luigi1111
a01bb509ea Merge pull request #936
1e4e8ae tx confirm password dialog: clear when cancelled
2017-11-06 16:33:32 -06:00
luigi1111
6b0e6ed84b Merge pull request #941
60f4dcc Fix blockchain size typo
2017-11-06 16:29:50 -06:00
Jaquee
60f4dcc106 Fix blockchain size typo 2017-11-05 16:32:53 +01:00
luigi1111
c58dfa913b Merge pull request #826
Remote nodes + mobile layout
2017-11-03 15:29:10 -05:00
Jaquee
ceeb9b667f do not try to start local node automatically if user has cancelled 2017-11-03 18:08:59 +01:00
Jaquee
3c67b9ee62 Enable sign/verify on ios/android 2017-11-03 17:02:26 +01:00
Jaquee
a8e19b8fb6 Enable password strength meter on iOS 2017-11-03 16:57:12 +01:00
Jaquee
15ea9ec748 trim daemon address 2017-11-03 16:57:12 +01:00
Jaquee
4775a5b74d mobile layout tweaks 2017-11-03 16:57:12 +01:00
Jaquee
bfafd7b279 Add ios files to .gitignore 2017-11-03 16:57:12 +01:00
Jaquee
09461397a8 Menu button color fix 2017-11-03 16:57:12 +01:00
Jaquee
2d357b6c12 Keys page height fix 2017-11-03 16:57:12 +01:00
Jaquee
a72a76d3e6 IOS open from file workaround 2017-11-03 16:57:12 +01:00
Jaquee
394b20ee36 history table - improved mobile layout 2017-11-03 16:57:12 +01:00
Jaquee
2170f6a46d Improve copy text handling 2017-11-03 16:57:12 +01:00
Jaquee
e6ada22611 start local node if not started 2017-11-03 16:57:12 +01:00
Jaquee
4b871306e4 fix popups positioning 2017-11-03 16:57:12 +01:00
Jaquee
e324e160da new dialog z fixes 2017-11-03 16:57:12 +01:00
Jaquee
44b72eaff2 refresh history updates 2017-11-03 16:57:12 +01:00
Jaquee
b8f38f29ae don't close async 2017-11-03 16:57:12 +01:00
Jaquee
3d21b1168f Add blockchain folder FileDialog 2017-11-03 16:57:12 +01:00
Jaquee
b9152286ec Android: handle back-button + add statusBox 2017-11-03 16:57:12 +01:00
Jaquee
72d220462a AddressBook mobile redesign 2017-11-03 16:57:12 +01:00
Jaquee
58030c67c8 Transfer - mobile redesign 2017-11-03 16:57:11 +01:00
Jaquee
aded122465 Sign page - redesign 2017-11-03 16:57:11 +01:00
Jaquee
d834fb419c Receive page mobile layout fix 2017-11-03 16:57:11 +01:00
Jaquee
c1c6d9ee6d History: use mobile layout 2017-11-03 16:57:11 +01:00
Jaquee
aec65db8c3 add mobile menu 2017-11-03 16:57:11 +01:00
Jaquee
1c7f529141 fix Qt 5.8 crash on app exit bug in StandardDialog 2017-11-03 16:57:11 +01:00
Jaquee
d437b98a12 standardbuttons - default colors 2017-11-03 16:57:11 +01:00
Jaquee
027ed0e328 StandardDialog redesign 2017-11-03 16:57:11 +01:00
Jaquee
b82a17aa97 progressBar redesign 2017-11-03 16:57:11 +01:00
Jaquee
31675f4c16 processing splash - mobile redesign 2017-11-03 16:57:11 +01:00
Jaquee
30fde8d7fd make input text selectable by mouse 2017-11-03 16:57:11 +01:00
Jaquee
e3eab0c667 networkstatus: add remote node 2017-11-03 16:57:11 +01:00
Jaquee
e0e69b35bd password dialog mobile redesign 2017-11-03 16:57:11 +01:00
Jaquee
f605793cfc components android focus workaround 2017-11-03 16:57:11 +01:00
Jaquee
b6f268d3a5 remote node settings and use-while-local-is-syncing 2017-11-03 16:57:11 +01:00
Jaquee
ab44064fcc main.qml mobile scaling 2017-11-03 16:57:11 +01:00
Jaquee
4dc0d36b98 pages mobile scaling 2017-11-03 16:57:11 +01:00
Jaquee
9e0db8f4ff components mobile scaling 2017-11-03 16:57:11 +01:00
Jaquee
66bb3fe7ac add easylogging dependency 2017-11-03 16:57:11 +01:00
Jaquee
5e877c7939 Android build settings 2017-11-03 16:57:11 +01:00
Jaquee
806f496faf wizarddaemonsettings remove lightwallet settings until #2109 is merged 2017-11-03 16:57:11 +01:00
Jaquee
418e4816d4 add android back button key filter 2017-11-03 16:57:11 +01:00
Jaquee
a6606a3330 IOS libwallet build script 2017-11-03 16:57:11 +01:00
Jaquee
4e8c7d95ad add remoteNodeEdit component 2017-11-03 16:57:11 +01:00
Jaquee
01899f04f5 Remove twitter stuff from rightpanel 2017-11-03 16:57:11 +01:00
Jaquee
44079aab37 android fix: release focus after scrolling 2017-11-03 16:57:11 +01:00
Jaquee
a57da2f0cd MiddlePanel scaling 2017-11-03 16:57:11 +01:00
Jaquee
316ddf1c05 mobile: hide mining, sign/verify pages 2017-11-03 16:57:11 +01:00
Jaquee
855f2068f2 Leftpanel scaling/mobile layout 2017-11-03 16:57:10 +01:00
Jaquee
603c1e7ee9 Add Keys page 2017-11-03 16:57:10 +01:00
Jaquee
abd5f50713 historyTable mobile layout 2017-11-03 16:57:10 +01:00
Jaquee
085dfe114a checkbox redesign 2017-11-03 16:57:10 +01:00
Jaquee
0e6028aacf wizard: disable password strenght meter on mobiles 2017-11-03 16:57:10 +01:00
Jaquee
bcb7bcffdb wizard: reworked testnet settings 2017-11-03 16:57:10 +01:00
Jaquee
b205acc51b Wizard: add qrcode scanner to recover page 2017-11-03 16:57:10 +01:00
Jaquee
a3088b1eeb Wizard: add daemon settings page 2017-11-03 16:09:23 +01:00
Jaquee
bbcb780cfa wizard: use m_wallet instead of storing in settingsObj 2017-11-01 17:02:44 +01:00
Jaquee
91953f1a3a Wizard: add scaleRatio 2017-11-01 17:02:44 +01:00
Jaquee
7af8383caf add scaleRatio property and isAndroid 2017-11-01 17:02:44 +01:00
Jaquee
c72207c2e2 transactionInfo: use empty str when fee=0 2017-11-01 17:02:44 +01:00
Jaquee
8553771f89 add localDaemonSynced() 2017-11-01 17:02:44 +01:00
Jaquee
d78f9f5e70 delete addressbook in wallet destructor 2017-11-01 17:02:44 +01:00
Jaquee
77335b300a QrCodeScanner: parse extra parameters 2017-11-01 17:02:44 +01:00
luigi1111
6f95f8a754 Merge pull request #903
5dc1803 use master branch from monero submodule
2017-10-31 16:24:35 -05:00
luigi1111
05844b0a29 Merge pull request #911
913ef54 Store cache on exit
2017-10-31 15:32:00 -05:00
stoffu
1e4e8ae59a tx confirm password dialog: clear when cancelled 2017-10-29 13:00:18 +09:00
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
Bas Joe
794c146c49 Changed 'apt-get' to 'apt' 2017-10-23 20:42:34 +02: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
Jaquee
913ef54c22 Store cache on exit 2017-10-22 16:15:14 +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
Jaquee
5dc180393f use master branch from monero submodule 2017-10-16 18:26:34 +02: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
Keksoj
c712444e17 Merge pull request #1 from erciccione/fix
Fix conflicts and rebase.
2017-09-15 23:01:11 +02:00
erciccione
4066cb22ea Merge branch 'patch-1' into fix 2017-09-15 14:53:00 +00:00
erciccione
78e3cd4a63 fix conflicts and rebase 2017-09-15 15:42:02 +01: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
Keksoj
3e90c3d825 update of the esperanto translation
Changed the esperanto version entirely, with lots of small corrections. 
Deleted the "vanished" items.
No more "unfinished" items. 
Glad to help.
2017-07-13 11:42:27 +02:00
Jaquee
50b9281865 static debug build 2017-05-30 18:29:26 +02:00
632 changed files with 286401 additions and 328855 deletions

1
.dockerignore Normal file
View File

@@ -0,0 +1 @@
*

107
.github/qt_helper.py vendored Normal file
View File

@@ -0,0 +1,107 @@
#!/usr/bin/env python3
import defusedxml.ElementTree
import hashlib
import mmap
import pathlib
import subprocess
import sys
import urllib.parse
import urllib.request
import xml.etree.ElementTree as ET
MAX_TRIES = 32
def fetch_links_to_archives(os, target, major, minor, patch, toolchain):
MAX_XML_SIZE = 1024 * 1024 * 1024
MIRROR = 'download.qt.io'
base_url = f'https://{MIRROR}/online/qtsdkrepository/{os}/{target}/qt{major}_{major}{minor}{patch}'
url = f'{base_url}/Updates.xml'
for _ in range(MAX_TRIES):
try:
resp = urllib.request.urlopen(url).read(MAX_XML_SIZE)
update_xml = defusedxml.ElementTree.fromstring(resp)
break
except KeyboardInterrupt:
raise
except BaseException as e:
print('error', e, flush=True)
else:
return
for pkg in update_xml.findall('./PackageUpdate'):
name = pkg.find('.//Name')
if name == None:
continue
if name.text != f'qt.qt{major}.{major}{minor}{patch}.{toolchain}':
continue
version = pkg.find('.//Version')
if version == None:
continue
archives = pkg.find('.//DownloadableArchives')
if archives == None or archives.text == None:
continue
for archive in archives.text.split(', '):
url = f'{base_url}/{name.text}/{version.text}{archive}'
file_name = pathlib.Path(urllib.parse.urlparse(url).path).name
yield {'name': file_name, 'url': url}
def download(links):
metalink = ET.Element('metalink', xmlns = "urn:ietf:params:xml:ns:metalink")
for link in links:
file = ET.SubElement(metalink, 'file', name = link['name'])
ET.SubElement(file, 'url').text = link['url']
data = ET.tostring(metalink, encoding='UTF-8', xml_declaration=True)
for _ in range(MAX_TRIES):
with subprocess.Popen([
'aria2c',
'--connect-timeout=8',
'--console-log-level=warn',
'--continue',
'--follow-metalink=mem',
'--max-concurrent-downloads=100',
'--max-connection-per-server=16',
'--max-file-not-found=100',
'--max-tries=100',
'--min-split-size=1MB',
'--retry-wait=1',
'--split=100',
'--summary-interval=0',
'--timeout=8',
'--user-agent=',
'--metalink-file=-',
], stdin=subprocess.PIPE) as aria:
aria.communicate(data)
if aria.wait() == 0:
return True
return False
def calc_hash_sum(files):
obj = hashlib.new('sha256')
for path in files:
with open(path, 'rb') as f:
with mmap.mmap(f.fileno(), 0, mmap.MAP_SHARED, mmap.PROT_READ) as m:
file_hash = hashlib.new('sha256', m).digest()
obj.update(file_hash)
return obj.digest().hex()
def extract_archives(files, out='.', targets=[]):
for path in files:
if subprocess.Popen(['7z', 'x', '-bd', '-y', '-aoa', f'-o{out}', path] + targets,
stdout=subprocess.DEVNULL,
).wait() != 0:
return False
return True
def main():
os, target, version, toolchain, expect = sys.argv[1:]
major, minor, patch = version.split('.')
links = [*fetch_links_to_archives(os, target, major, minor, patch, toolchain)]
print(*[l['url'].encode() for l in links], sep='\n', flush=True)
assert download(links)
result = calc_hash_sum([l['name'] for l in links])
print('result', result, 'expect', expect, flush=True)
assert result == expect
assert extract_archives([l['name'] for l in links], '.', ['{}.{}.{}'.format(major, minor, patch)])
[pathlib.Path(l['name']).unlink() for l in links]
if __name__ == '__main__':
main()

107
.github/verify_p2pool.py vendored Normal file
View File

@@ -0,0 +1,107 @@
import requests
import subprocess
from urllib.request import urlretrieve
import difflib
sech_key = "https://p2pool.io/SChernykh.asc"
sech_key_backup = "https://raw.githubusercontent.com/monero-project/gitian.sigs/master/gitian-pubkeys/SChernykh.asc"
sech_key_fp = "1FCA AB4D 3DC3 310D 16CB D508 C47F 82B5 4DA8 7ADF"
p2pool_files = [{
"os": "WIN",
"filename": "windows-x64.zip",
},
{
"os": "LINUX",
"filename": "linux-x64.tar.gz"
},
{
"os": "MACOS_AARCH64",
"filename": "macos-aarch64.tar.gz",
},
{
"os": "MACOS",
"filename": "macos-x64.tar.gz",
}]
def get_hash(fname):
fhash = subprocess.check_output(["sha256sum", fname]).decode("utf-8")
print(fhash.strip())
return fhash.split()[0]
def main():
global p2pool_files, sech_key, sech_key_backup, sech_key_fp
p2pool_tag_api = "https://api.github.com/repos/SChernykh/p2pool/releases/latest"
data = requests.get(p2pool_tag_api).json()
tag = data["tag_name"]
head = f"p2pool-{tag}-"
url = f"https://github.com/SChernykh/p2pool/releases/download/{tag}/"
try:
urlretrieve(sech_key,"SChernykh.asc")
except:
urlretrieve(sech_key_backup,"SChernykh.asc")
urlretrieve(f"{url}sha256sums.txt.asc","sha256sums.txt.asc")
subprocess.check_call(["gpg", "--import", "SChernykh.asc"])
subprocess.check_call(["gpg", "--verify", "sha256sums.txt.asc"])
fingerprint = subprocess.check_output(["gpg","--fingerprint", "SChernykh"]).decode("utf-8").splitlines()[1].strip()
assert fingerprint == sech_key_fp
with open("sha256sums.txt.asc","r") as f:
lines = f.readlines()
signed_hashes = {}
for line in lines:
if "Name:" in line:
signed_fname = line.split()[1]
if "SHA256:" in line:
signed_hashes[signed_fname] = line.split()[1].lower()
expected = ""
for i in range(len(p2pool_files)):
fname = p2pool_files[i]["filename"]
str_os =p2pool_files[i]["os"]
dl = f"{url}{head}{fname}"
urlretrieve(dl,f"{head}{fname}")
fhash = get_hash(f"{head}{fname}")
assert signed_hashes[f"{head}{fname}"] == fhash
if i == 0:
expected += f" #ifdef Q_OS_{str_os}\n"
else:
expected += f" #elif defined(Q_OS_{str_os})\n"
expected += f" url = \"https://github.com/SChernykh/p2pool/releases/download/{tag}/{head}{fname}\";\n"
expected += f" fileName = m_p2poolPath + \"/{head}{fname}\";\n"
expected += f" validHash = \"{fhash}\";\n"
expected += " #endif\n"
print(f"Expected:\n{expected}")
with open("src/p2pool/P2PoolManager.cpp","r") as f:
p2pool_lines = f.readlines()
unexpected = ""
ignore = 1
for line in p2pool_lines:
if ignore == 0:
unexpected += line
if "QString validHash;" in line:
ignore = 0
if "#endif" in line and ignore == 0:
break
d = difflib.Differ()
diff = d.compare(str(unexpected).splitlines(True),str(expected).splitlines(True))
print("Unexpected:")
for i in diff:
if i.startswith("?"):
continue
print(i.replace("\n",""))
assert unexpected == expected
if __name__ == "__main__":
main()

201
.github/workflows/build.yml vendored Normal file
View File

@@ -0,0 +1,201 @@
name: ci/gh-actions/gui
on: [push, pull_request]
env:
FREE_DISKSPACE: |
sudo rm -rf /usr/local/.ghcup /usr/share/dotnet /usr/share/swift /usr/share/miniconda
jobs:
build-macos:
runs-on: macOS-latest
steps:
- uses: actions/checkout@v1
with:
submodules: recursive
- name: install dependencies
run: HOMEBREW_NO_AUTO_UPDATE=1 brew install boost hidapi openssl zmq libpgm libsodium miniupnpc expat libunwind-headers protobuf qt5 pkg-config
- name: build
run: DEV_MODE=ON make release -j3
- name: test qml
run: build/release/bin/monero-wallet-gui.app/Contents/MacOS/monero-wallet-gui --test-qml
build-ubuntu:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
with:
submodules: recursive
- name: remove bundled boost
run: sudo rm -rf /usr/local/share/boost
- name: set apt conf
run: |
echo "Acquire::Retries \"3\";" | sudo tee -a /etc/apt/apt.conf.d/80-custom
echo "Acquire::http::Timeout \"120\";" | sudo tee -a /etc/apt/apt.conf.d/80-custom
echo "Acquire::ftp::Timeout \"120\";" | sudo tee -a /etc/apt/apt.conf.d/80-custom
- name: update apt
run: sudo apt update
- name: install monero dependencies
run: sudo apt -y install build-essential cmake libboost-all-dev miniupnpc libunbound-dev graphviz doxygen libunwind8-dev pkg-config libssl-dev libzmq3-dev libsodium-dev libhidapi-dev libnorm-dev libusb-1.0-0-dev libpgm-dev libprotobuf-dev protobuf-compiler
- name: install monero gui dependencies
run: sudo apt -y install qtbase5-dev qtdeclarative5-dev qml-module-qtqml-models2 qml-module-qtquick-controls qml-module-qtquick-controls2 qml-module-qtquick-dialogs qml-module-qtquick-xmllistmodel qml-module-qt-labs-settings qml-module-qt-labs-platform qml-module-qt-labs-folderlistmodel qttools5-dev-tools qml-module-qtquick-templates2 libqt5svg5-dev libgcrypt20-dev xvfb
- name: build
run: DEV_MODE=ON make release -j3
- name: test qml
run: xvfb-run -a build/release/bin/monero-wallet-gui --test-qml
build-windows:
runs-on: windows-latest
defaults:
run:
shell: msys2 {0}
steps:
- uses: actions/checkout@v1
with:
submodules: recursive
- uses: eine/setup-msys2@v2
with:
update: true
install: mingw-w64-x86_64-toolchain make mingw-w64-x86_64-pcre mingw-w64-x86_64-cmake mingw-w64-x86_64-boost mingw-w64-x86_64-openssl mingw-w64-x86_64-zeromq mingw-w64-x86_64-libsodium mingw-w64-x86_64-hidapi mingw-w64-x86_64-protobuf-c mingw-w64-x86_64-libusb mingw-w64-x86_64-unbound git mingw-w64-x86_64-qt5 mingw-w64-x86_64-libgcrypt
- name: build
run: DEV_MODE=ON make release-win64 -j2
- name: deploy
run: make deploy
working-directory: build/release
- name: test qml
run: build/release/bin/monero-wallet-gui --test-qml
macos-bundle:
runs-on: macOS-latest
steps:
- uses: actions/checkout@v1
with:
submodules: recursive
- name: install dependencies
run: HOMEBREW_NO_AUTO_UPDATE=1 brew install boost hidapi openssl zmq libpgm miniupnpc expat libunwind-headers protobuf pkg-config python3 p7zip aria2
- name: install dependencies
run: pip3 install defusedxml
- name: download qt
run: python3 monero-gui/.github/qt_helper.py mac_x64 desktop 5.15.2 clang_64 c384008156fe63cc183bade0316828c598ff3e5074397c0c9ccc588d6cdc5aca
working-directory: ../
- name: build
run: |
mkdir build && cd build
cmake -D CMAKE_BUILD_TYPE=Release -D ARCH=default -D CMAKE_PREFIX_PATH=/Users/runner/work/monero-gui/5.15.2/clang_64 ..
make
- name: deploy
run: make deploy
working-directory: build
- name: test qml
run: build/bin/monero-wallet-gui.app/Contents/MacOS/monero-wallet-gui --test-qml
- name: create .tar
run: tar -cf monero-wallet-gui.tar monero-wallet-gui.app
working-directory: build/bin
- uses: actions/upload-artifact@v2
with:
name: ${{ github.job }}
path: build/bin/monero-wallet-gui.tar
docker-linux-static:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v1
with:
submodules: recursive
- uses: satackey/action-docker-layer-caching@v0.0.11
if: "!startsWith(github.ref, 'refs/tags/v')"
continue-on-error: true
with:
key: docker-linux-static-{hash}
restore-keys: |
docker-linux-static-
- name: install dependencies
run: sudo apt -y install xvfb libxcb-icccm4 libxcb-image0 libxcb-keysyms1 libxcb-randr0 libxcb-render-util0 libxcb-xkb1 libxcb-shape0 libxkbcommon-x11-0
- name: free up diskspace
run: ${{env.FREE_DISKSPACE}}
- name: prepare build environment
run: docker build --tag monero:build-env-linux --build-arg THREADS=3 --file Dockerfile.linux .
- name: build
run: docker run --rm -v /home/runner/work/monero-gui/monero-gui:/monero-gui -w /monero-gui monero:build-env-linux sh -c 'make release-static -j3'
- name: sha256sum
run: shasum -a256 /home/runner/work/monero-gui/monero-gui/build/release/bin/monero-wallet-gui
- name: test qml
run: xvfb-run -a /home/runner/work/monero-gui/monero-gui/build/release/bin/monero-wallet-gui --test-qml
- uses: actions/upload-artifact@v2
with:
name: ${{ github.job }}
path: |
/home/runner/work/monero-gui/monero-gui/build/release/bin/monero-wallet-gui
/home/runner/work/monero-gui/monero-gui/build/release/bin/monerod
docker-windows-static:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v1
with:
submodules: recursive
- uses: satackey/action-docker-layer-caching@v0.0.11
if: "!startsWith(github.ref, 'refs/tags/v')"
continue-on-error: true
with:
key: docker-windows-static-{hash}
restore-keys: |
docker-windows-static-
- name: free up diskspace
run: ${{env.FREE_DISKSPACE}}
- name: prepare build environment
run: docker build --tag monero:build-env-windows --build-arg THREADS=3 --file Dockerfile.windows .
- name: build
run: docker run --rm -v /home/runner/work/monero-gui/monero-gui:/monero-gui -w /monero-gui monero:build-env-windows sh -c 'make depends root=/depends target=x86_64-w64-mingw32 tag=win-x64 -j3'
- name: sha256sum
run: shasum -a256 /home/runner/work/monero-gui/monero-gui/build/x86_64-w64-mingw32/release/bin/monero-wallet-gui.exe
- uses: actions/upload-artifact@v2
with:
name: ${{ github.job }}
path: |
/home/runner/work/monero-gui/monero-gui/build/x86_64-w64-mingw32/release/bin/monero-wallet-gui.exe
/home/runner/work/monero-gui/monero-gui/build/x86_64-w64-mingw32/release/bin/monerod.exe
docker-android:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v1
with:
submodules: recursive
- uses: satackey/action-docker-layer-caching@v0.0.11
if: "!startsWith(github.ref, 'refs/tags/v')"
continue-on-error: true
with:
key: docker-android-static-{hash}
restore-keys: |
docker-android-static-
- name: free up diskspace
run: ${{env.FREE_DISKSPACE}}
- name: prepare build environment
run: docker build --tag monero:build-env-android --build-arg THREADS=3 --file Dockerfile.android .
- name: build
run: docker run --rm -v /home/runner/work/monero-gui/monero-gui:/monero-gui -e THREADS=3 monero:build-env-android
- name: Remove obsolete docker layers
run: docker images -a | grep none | awk '{ print $3; }' | xargs docker rmi || true
- uses: actions/upload-artifact@v2
with:
name: ${{ github.job }}
path: /home/runner/work/monero-gui/monero-gui/build/Android/release/android-build/monero-gui.apk
source-archive:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v1
with:
submodules: recursive
- name: archive
run: |
pip install git-archive-all
export VERSION="monero-gui-$(git describe)"
export OUTPUT="$VERSION.tar"
echo "OUTPUT=$OUTPUT" >> $GITHUB_ENV
/home/runner/.local/bin/git-archive-all --prefix "$VERSION/" --force-submodules "$OUTPUT"
- uses: actions/upload-artifact@v2
with:
name: ${{ env.OUTPUT }}
path: /home/runner/work/monero-gui/monero-gui/${{ env.OUTPUT }}

174
.github/workflows/flatpak.yml vendored Normal file
View File

@@ -0,0 +1,174 @@
name: Flatpak
on:
release:
types: released
jobs:
part1:
name: Part 1/3
if: github.repository == 'monero-project/monero-gui'
runs-on: ubuntu-latest
container:
image: bilelmoussaoui/flatpak-github-actions:kde-5.15-22.08
options: --privileged
strategy:
matrix:
arch: [x86_64, aarch64]
steps:
- name: Checkout
uses: actions/checkout@v3
with:
submodules: recursive
- name: Install deps
run: dnf -y install docker
- name: Setup QEMU
uses: docker/setup-qemu-action@v2
with:
platforms: arm64
- name: Build flatpak
uses: flatpak/flatpak-github-actions/flatpak-builder@v6
env:
FLATPAK_BUILDER_N_JOBS: 3
with:
manifest-path: share/org.getmonero.Monero.yaml
arch: ${{ matrix.arch }}
cache: false
stop-at-module: boost
- name: Tar flatpak-builder
run: tar -cvf flatpak-builder.tar .flatpak-builder
- name: Save flatpak-builder
uses: actions/upload-artifact@v3
with:
name: flatpak-builder-${{ matrix.arch }}
path: flatpak-builder.tar
part2:
name: Part 2/3
if: github.repository == 'monero-project/monero-gui'
needs: part1
runs-on: ubuntu-latest
container:
image: bilelmoussaoui/flatpak-github-actions:kde-5.15-22.08
options: --privileged
strategy:
matrix:
arch: [x86_64, aarch64]
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Install deps
run: dnf -y install docker
- name: Setup QEMU
uses: docker/setup-qemu-action@v2
with:
platforms: arm64
- name: Restore flatpak-builder
uses: actions/download-artifact@v3
with:
name: flatpak-builder-${{ matrix.arch }}
- name: Untar flatpak-builder
run: tar -xvf flatpak-builder.tar
- name: Build flatpak
uses: flatpak/flatpak-github-actions/flatpak-builder@v6
env:
FLATPAK_BUILDER_N_JOBS: 3
with:
manifest-path: share/org.getmonero.Monero.yaml
arch: ${{ matrix.arch }}
cache: false
stop-at-module: monero-gui
- name: Tar flatpak-builder
run: tar -cvf flatpak-builder.tar .flatpak-builder
- name: Save flatpak-builder
uses: actions/upload-artifact@v3
with:
name: flatpak-builder-${{ matrix.arch }}
path: flatpak-builder.tar
part3:
name: Part 3/3
if: github.repository == 'monero-project/monero-gui'
needs: [part1, part2]
runs-on: ubuntu-latest
container:
image: bilelmoussaoui/flatpak-github-actions:kde-5.15-22.08
options: --privileged
strategy:
matrix:
arch: [x86_64, aarch64]
steps:
- name: Checkout
uses: actions/checkout@v3
with:
submodules: recursive
- name: Add version and date
run: |
sed -i 's/<version>/${{ github.event.release.tag_name }}/g' $GITHUB_WORKSPACE/share/org.getmonero.Monero.metainfo.xml
sed -i 's/<date>/'"$(date '+%F')"'/g' $GITHUB_WORKSPACE/share/org.getmonero.Monero.metainfo.xml
- name: Install deps
run: dnf -y install docker
- name: Setup QEMU
uses: docker/setup-qemu-action@v2
with:
platforms: arm64
- name: Restore flatpak-builder
uses: actions/download-artifact@v3
with:
name: flatpak-builder-${{ matrix.arch }}
- name: Untar flatpak-builder
run: tar -xvf flatpak-builder.tar
- name: Build flatpak
uses: flatpak/flatpak-github-actions/flatpak-builder@v6
env:
FLATPAK_BUILDER_N_JOBS: 3
with:
manifest-path: share/org.getmonero.Monero.yaml
arch: ${{ matrix.arch }}
cache: false
- name: Validate AppData
working-directory: flatpak_app/files/share/appdata
run: appstream-util validate org.getmonero.Monero.appdata.xml
- name: Delete flatpak-builder
uses: geekyeggo/delete-artifact@v2
with:
name: flatpak-builder-${{ matrix.arch }}
- name: Print hashes
working-directory: flatpak_app/files/bin
run: |
echo "Hashes of the ${{ matrix.arch }} binaries:" >> $GITHUB_STEP_SUMMARY
echo "\`\`\`" >> $GITHUB_STEP_SUMMARY
for bin in monero-blockchain-ancestry monero-blockchain-depth monero-blockchain-export monero-blockchain-import monero-blockchain-mark-spent-outputs monero-blockchain-prune monero-blockchain-prune-known-spent-data monero-blockchain-stats monero-blockchain-usage monerod monero-gen-ssl-cert monero-gen-trusted-multisig monero-wallet-cli monero-wallet-gui monero-wallet-rpc p2pool; do sha256sum $bin; done >> $GITHUB_STEP_SUMMARY
echo "\`\`\`" >> $GITHUB_STEP_SUMMARY
echo "An example command to check hashes:" >> $GITHUB_STEP_SUMMARY
echo "\`\`\`" >> $GITHUB_STEP_SUMMARY
echo "$ flatpak run --command=sha256sum org.getmonero.Monero /app/bin/monero-wallet-gui" >> $GITHUB_STEP_SUMMARY
echo "\`\`\`" >> $GITHUB_STEP_SUMMARY
- name: Publish to Flathub Beta
uses: flatpak/flatpak-github-actions/flat-manager@v6
with:
flat-manager-url: https://hub.flathub.org
repository: beta
token: ${{ secrets.FLATHUB_ }}

16
.github/workflows/verify_p2pool.yml vendored Normal file
View File

@@ -0,0 +1,16 @@
name: ci/gh-actions/verify
on:
push:
paths:
- 'src/p2pool/P2PoolManager.cpp'
pull_request:
paths:
- 'src/p2pool/P2PoolManager.cpp'
jobs:
p2pool-hashes:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: Verify Hashes
run: |
python3 .github/verify_p2pool.py

31
.gitignore vendored
View File

@@ -3,3 +3,34 @@
translations/*.qm
build
version.js
# IOS stuff below
moc_*
*.o
*.mak
*.build
*.xcodeproj
monero-wallet-gui_plugin_import.cpp
monero-wallet-gui_qml_plugin_import.cpp
*.qmlc
*.jsc
qml_qmlcache.qrc
### Vim ###
# Swap
[._]*.s[a-v][a-z]
[._]*.sw[a-p]
[._]s[a-rt-v][a-z]
[._]ss[a-gi-z]
[._]sw[a-p]
# Session
Session.vim
# Temporary
.netrwhist
*~
*.autosave
# Auto-generated tag files
tags
# Persistent undo
[._]*.un~

3
.gitmodules vendored
View File

@@ -2,3 +2,6 @@
path = monero
url = https://github.com/monero-project/monero
ignore = all
[submodule "external/quirc"]
path = external/quirc
url = https://github.com/dlbeer/quirc/

View File

@@ -1,177 +0,0 @@
// Copyright (c) 2014-2015, 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.0
import QtGraphicalEffects 1.0
import "components"
import "pages"
// mbg033 @ 2016-10-08: Not used anymore, to be deleted
Rectangle {
id: root
width: 470
// height: paymentId.y + paymentId.height + 12
height: header.height + header.anchors.topMargin + transferBasic.height
color: "#F0EEEE"
border.width: 1
border.color: "#DBDBDB"
property alias balanceText : balanceText.text;
property alias unlockedBalanceText : availableBalanceText.text;
// repeating signal to the outside world
signal paymentClicked(string address, string paymentId, string amount, int mixinCount,
int priority, string description)
Connections {
target: transferBasic
onPaymentClicked: {
console.log("BasicPanel: paymentClicked")
root.paymentClicked(address, paymentId, amount, mixinCount, priority, description)
}
}
Rectangle {
id: header
anchors.left: parent.left
anchors.right: parent.right
anchors.top: parent.top
anchors.leftMargin: 1
anchors.rightMargin: 1
anchors.topMargin: 30
height: 64
color: "#FFFFFF"
Image {
id: logo
anchors.verticalCenter: parent.verticalCenter
anchors.verticalCenterOffset: -5
anchors.left: parent.left
anchors.leftMargin: 20
source: "images/moneroLogo2.png"
}
Grid {
anchors.verticalCenter: parent.verticalCenter
anchors.right: parent.right
width: 256
columns: 3
Text {
width: 116
height: 20
font.family: "Arial"
font.pixelSize: 12
elide: Text.ElideRight
horizontalAlignment: Text.AlignLeft
verticalAlignment: Text.AlignBottom
color: "#535353"
text: qsTr("Locked Balance:")
}
Text {
id: balanceText
width: 110
height: 20
font.family: "Arial"
font.pixelSize: 18
elide: Text.ElideRight
horizontalAlignment: Text.AlignLeft
verticalAlignment: Text.AlignBottom
color: "#000000"
text: qsTr("78.9239845")
}
Item {
height: 20
width: 20
Image {
anchors.verticalCenter: parent.verticalCenter
anchors.left: parent.left
source: "images/lockIcon.png"
}
}
Text {
width: 116
height: 20
font.family: "Arial"
font.pixelSize: 12
elide: Text.ElideRight
horizontalAlignment: Text.AlignLeft
verticalAlignment: Text.AlignBottom
color: "#535353"
text: qsTr("Available Balance:")
}
Text {
id: availableBalanceText
width: 110
height: 20
font.family: "Arial"
font.pixelSize: 14
elide: Text.ElideRight
horizontalAlignment: Text.AlignLeft
verticalAlignment: Text.AlignBottom
color: "#000000"
text: qsTr("2324.9239845")
}
}
Rectangle {
anchors.left: parent.left
anchors.right: parent.right
anchors.bottom: parent.bottom
height: 1
color: "#DBDBDB"
}
}
Item {
anchors.top: header.bottom
anchors.bottom: parent.bottom
anchors.left: parent.left
anchors.right: parent.right
Transfer {
id : transferBasic
anchors.fill: parent
}
}
// indicate disabled state
// Desaturate {
// anchors.fill: parent
// source: parent
// desaturation: root.enabled ? 0.0 : 1.0
// }
}

449
CMakeLists.txt Normal file
View File

@@ -0,0 +1,449 @@
cmake_minimum_required(VERSION 3.12)
project(monero-gui)
message(STATUS "Initiating compile using CMake ${CMAKE_VERSION}")
set(VERSION_MAJOR "18")
set(VERSION_MINOR "3")
set(VERSION_REVISION "3")
set(VERSION "0.${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_REVISION}")
option(STATIC "Link libraries statically, requires static Qt")
option(USE_DEVICE_TREZOR "Trezor support compilation" ON)
option(WITH_SCANNER "Enable webcam QR scanner" OFF)
option(WITH_DESKTOP_ENTRY "Ask to install desktop entry on first startup" ON)
option(WITH_UPDATER "Regularly check for new updates" ON)
option(DEV_MODE "Checkout latest monero master on build" OFF)
list(INSERT CMAKE_MODULE_PATH 0 "${CMAKE_SOURCE_DIR}/cmake")
include(CheckCCompilerFlag)
include(CheckCXXCompilerFlag)
include(CheckLinkerFlag)
set(BUILD_GUI_DEPS ON)
set(BUILD_64 ON CACHE BOOL "Build 64-bit binaries")
if(NOT MANUAL_SUBMODULES)
find_package(Git)
if(GIT_FOUND)
if(NOT DEV_MODE)
function (check_submodule relative_path)
execute_process(COMMAND git rev-parse "HEAD" WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/${relative_path} OUTPUT_VARIABLE localHead)
execute_process(COMMAND git rev-parse "HEAD:${relative_path}" WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} OUTPUT_VARIABLE checkedHead)
string(COMPARE EQUAL "${localHead}" "${checkedHead}" upToDate)
if (upToDate)
message(STATUS "Submodule '${relative_path}' is up-to-date")
else()
message(FATAL_ERROR "Submodule '${relative_path}' is not using the checked head. Please update all submodules with\ngit submodule update --init --force --recursive\nor run cmake with -DMANUAL_SUBMODULES=1,\n or if you want to build from latest master run cmake with -DDEV_MODE=ON,\n or run make devmode")
endif()
endfunction ()
message(STATUS "Checking submodules")
check_submodule(monero)
else()
execute_process(COMMAND ${GIT_EXECUTABLE} fetch WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/monero RESULT_VARIABLE GIT_FETCH_RESULT)
execute_process(COMMAND ${GIT_EXECUTABLE} checkout -f origin/master WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/monero RESULT_VARIABLE GIT_CHECKOUT_MASTER_RESULT)
execute_process(COMMAND ${GIT_EXECUTABLE} submodule sync --recursive WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/monero RESULT_VARIABLE GIT_SUBMODULE_SYNC_RESULT)
execute_process(COMMAND ${GIT_EXECUTABLE} submodule update --init --force --recursive WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/monero RESULT_VARIABLE GIT_SUBMODULE_UPDATE_RESULT)
if(NOT GIT_FETCH_RESULT EQUAL "0" OR NOT GIT_CHECKOUT_MASTER_RESULT EQUAL "0" OR NOT GIT_SUBMODULE_SYNC_RESULT EQUAL "0" OR NOT GIT_SUBMODULE_UPDATE_RESULT EQUAL "0")
message(FATAL_ERROR "Updating git submodule to master (-DDEV_MODE=ON) failed")
endif()
endif()
endif()
endif()
add_subdirectory(monero)
add_subdirectory(external)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)
set(CMAKE_AUTOUIC ON)
get_directory_property(ARCH_WIDTH DIRECTORY "monero" DEFINITION ARCH_WIDTH)
if (NOT CMAKE_BUILD_TYPE STREQUAL "Debug")
add_definitions(-DQT_NO_DEBUG)
endif()
if(STATIC)
message(STATUS "Initiating static build")
set(CMAKE_FIND_LIBRARY_SUFFIXES ".a" ${CMAKE_FIND_LIBRARY_SUFFIXES})
add_definitions(-DMONERO_GUI_STATIC)
endif()
include(CMakePackageConfigHelpers)
include_directories(${EASYLOGGING_INCLUDE})
link_directories(${EASYLOGGING_LIBRARY_DIRS})
include(VersionGui)
message(STATUS "${CMAKE_MODULE_PATH}")
if(WITH_SCANNER)
add_definitions(-DWITH_SCANNER)
endif()
if(WITH_DESKTOP_ENTRY)
add_definitions(-DWITH_DESKTOP_ENTRY)
endif()
if(WITH_UPDATER)
add_definitions(-DWITH_UPDATER)
endif()
# Sodium
find_library(SODIUM_LIBRARY sodium)
message(STATUS "libsodium: libraries at ${SODIUM_LIBRARY}")
if(UNIX AND NOT APPLE AND NOT ANDROID)
set(CMAKE_SKIP_RPATH ON)
set(CMAKE_FIND_LIBRARY_SUFFIXES_PREV ${CMAKE_FIND_LIBRARY_SUFFIXES})
set(CMAKE_FIND_LIBRARY_SUFFIXES ".so")
find_package(X11 REQUIRED)
set(CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES_PREV})
message(STATUS "X11_FOUND = ${X11_FOUND}")
message(STATUS "X11_INCLUDE_DIR = ${X11_INCLUDE_DIR}")
message(STATUS "X11_LIBRARIES = ${X11_LIBRARIES}")
include_directories(${X11_INCLUDE_DIR})
link_directories(${X11_LIBRARIES})
if(STATIC)
find_library(XCB_LIBRARY xcb)
message(STATUS "Found xcb library: ${XCB_LIBRARY}")
endif()
endif()
set(QT5_LIBRARIES
Qt5Core
Qt5Quick
Qt5Gui
Qt5Qml
Qt5Svg
Qt5Xml
)
if(WITH_SCANNER)
list(APPEND QT5_LIBRARIES Qt5Multimedia)
endif()
if(APPLE)
list(APPEND QT5_LIBRARIES Qt5MacExtras)
endif()
if(UNIX)
if(NOT CMAKE_PREFIX_PATH AND DEFINED ENV{CMAKE_PREFIX_PATH})
message(STATUS "Using CMAKE_PREFIX_PATH environment variable: '$ENV{CMAKE_PREFIX_PATH}'")
set(CMAKE_PREFIX_PATH $ENV{CMAKE_PREFIX_PATH})
endif()
if(APPLE AND NOT CMAKE_PREFIX_PATH)
execute_process(COMMAND brew --prefix qt5 OUTPUT_VARIABLE QT5_DIR OUTPUT_STRIP_TRAILING_WHITESPACE)
list(APPEND CMAKE_PREFIX_PATH ${QT5_DIR})
endif()
endif()
find_package(PkgConfig REQUIRED)
# TODO: drop this once we switch to Qt 5.14+
pkg_check_modules(Qt5QmlModels_PKG_CONFIG QUIET Qt5QmlModels)
if(Qt5QmlModels_PKG_CONFIG_FOUND)
list(APPEND QT5_LIBRARIES Qt5QmlModels)
endif()
# TODO: drop this once we switch to Qt 5.12+
find_package(Qt5XmlPatterns QUIET)
if(Qt5XmlPatterns_FOUND)
list(APPEND QT5_LIBRARIES Qt5XmlPatterns)
endif()
foreach(QT5_MODULE ${QT5_LIBRARIES})
find_package(${QT5_MODULE} REQUIRED)
include_directories(${${QT5_MODULE}_INCLUDE_DIRS})
endforeach()
if(NOT (CMAKE_CROSSCOMPILING AND ANDROID))
pkg_check_modules(QT5_PKG_CONFIG REQUIRED ${QT5_LIBRARIES})
else()
set(QT5_LIBRARIES_ABI)
foreach(QT5_MODULE ${QT5_LIBRARIES})
list(APPEND QT5_LIBRARIES_ABI "${QT5_MODULE}_${CMAKE_ANDROID_ARCH_ABI}")
endforeach()
pkg_check_modules(QT5_PKG_CONFIG REQUIRED ${QT5_LIBRARIES_ABI})
endif()
get_target_property(QMAKE_IMPORTED_LOCATION Qt5::qmake IMPORTED_LOCATION)
get_filename_component(QT_INSTALL_PREFIX "${QMAKE_IMPORTED_LOCATION}/../.." ABSOLUTE)
if(APPLE AND NOT STATIC)
set(CMAKE_BUILD_RPATH "${QT_INSTALL_PREFIX}/lib")
endif()
if(QT5_PKG_CONFIG_FOUND)
set(QT5_PKG_CONFIG "QT5_PKG_CONFIG")
if(STATIC)
set(QT5_PKG_CONFIG "${QT5_PKG_CONFIG}_STATIC")
endif()
if(UNIX AND CMAKE_PREFIX_PATH)
if(APPLE)
list(JOIN ${QT5_PKG_CONFIG}_LDFLAGS_OTHER " " ${QT5_PKG_CONFIG}_LDFLAGS_OTHER)
endif()
# temporal workaround for https://bugreports.qt.io/browse/QTBUG-80922
STRING(REPLACE "${QT5_PKG_CONFIG_Qt5Core_PREFIX}" "${QT_INSTALL_PREFIX}" ${QT5_PKG_CONFIG}_LDFLAGS_OTHER "${${QT5_PKG_CONFIG}_LDFLAGS_OTHER}")
STRING(REPLACE "${QT5_PKG_CONFIG_Qt5Core_PREFIX}" "${QT_INSTALL_PREFIX}" ${QT5_PKG_CONFIG}_LIBRARIES "${${QT5_PKG_CONFIG}_LIBRARIES}")
STRING(REPLACE "${QT5_PKG_CONFIG_Qt5Core_PREFIX}" "${QT_INSTALL_PREFIX}" ${QT5_PKG_CONFIG}_INCLUDE_DIRS "${${QT5_PKG_CONFIG}_INCLUDE_DIRS}")
STRING(REPLACE "${QT5_PKG_CONFIG_Qt5Core_PREFIX}" "${QT_INSTALL_PREFIX}" ${QT5_PKG_CONFIG}_LIBRARY_DIRS "${${QT5_PKG_CONFIG}_LIBRARY_DIRS}")
endif()
set(QT5_LIBRARIES ${${QT5_PKG_CONFIG}_LIBRARIES} ${${QT5_PKG_CONFIG}_LDFLAGS_OTHER})
include_directories(${${QT5_PKG_CONFIG}_INCLUDE_DIRS})
link_directories(${${QT5_PKG_CONFIG}_LIBRARY_DIRS})
endif()
list(APPEND QT5_LIBRARIES
${Qt5Gui_PLUGINS}
${Qt5Svg_PLUGINS}
${Qt5Qml_PLUGINS}
${Qt5Network_PLUGINS}
)
if(STATIC)
set(QT5_EXTRA_PATHS ${QT5_PKG_CONFIG_Qt5Qml_PREFIX}/qml/Qt/labs/folderlistmodel)
list(APPEND QT5_EXTRA_PATHS ${QT5_PKG_CONFIG_Qt5Qml_PREFIX}/qml/Qt/labs/settings)
list(APPEND QT5_EXTRA_PATHS ${QT5_PKG_CONFIG_Qt5Qml_PREFIX}/qml/Qt/labs/platform)
list(APPEND QT5_EXTRA_PATHS ${QT5_PKG_CONFIG_Qt5Qml_PREFIX}/qml/QtGraphicalEffects)
list(APPEND QT5_EXTRA_PATHS ${QT5_PKG_CONFIG_Qt5Qml_PREFIX}/qml/QtGraphicalEffects/private)
list(APPEND QT5_EXTRA_PATHS ${QT5_PKG_CONFIG_Qt5Qml_PREFIX}/qml/QtMultimedia)
list(APPEND QT5_EXTRA_PATHS ${QT5_PKG_CONFIG_Qt5Qml_PREFIX}/qml/QtQml)
list(APPEND QT5_EXTRA_PATHS ${QT5_PKG_CONFIG_Qt5Qml_PREFIX}/qml/QtQml/Models.2)
list(APPEND QT5_EXTRA_PATHS ${QT5_PKG_CONFIG_Qt5Qml_PREFIX}/qml/QtQuick.2)
list(APPEND QT5_EXTRA_PATHS ${QT5_PKG_CONFIG_Qt5Qml_PREFIX}/qml/QtQuick/Controls)
list(APPEND QT5_EXTRA_PATHS ${QT5_PKG_CONFIG_Qt5Qml_PREFIX}/qml/QtQuick/Controls.2)
list(APPEND QT5_EXTRA_PATHS ${QT5_PKG_CONFIG_Qt5Qml_PREFIX}/qml/QtQuick/Dialogs)
list(APPEND QT5_EXTRA_PATHS ${QT5_PKG_CONFIG_Qt5Qml_PREFIX}/qml/QtQuick/Dialogs/Private)
list(APPEND QT5_EXTRA_PATHS ${QT5_PKG_CONFIG_Qt5Qml_PREFIX}/qml/QtQuick/Layouts)
list(APPEND QT5_EXTRA_PATHS ${QT5_PKG_CONFIG_Qt5Qml_PREFIX}/qml/QtQuick/PrivateWidgets)
list(APPEND QT5_EXTRA_PATHS ${QT5_PKG_CONFIG_Qt5Qml_PREFIX}/qml/QtQuick/Templates.2)
list(APPEND QT5_EXTRA_PATHS ${QT5_PKG_CONFIG_Qt5Qml_PREFIX}/qml/QtQuick/Window.2)
list(APPEND QT5_EXTRA_PATHS ${QT5_PKG_CONFIG_Qt5Qml_PREFIX}/qml/QtQuick/XmlListModel)
set(QT5_EXTRA_LIBRARIES_LIST
qtquicktemplates2plugin
Qt5QuickTemplates2
qtquickcontrols2plugin
Qt5QuickControls2
dialogplugin
dialogsprivateplugin
qmlfolderlistmodelplugin
qmlsettingsplugin
qtlabsplatformplugin
qmlxmllistmodelplugin
qquicklayoutsplugin
modelsplugin
)
if(WITH_SCANNER)
list(APPEND QT5_EXTRA_LIBRARIES_LIST
declarative_multimedia
Qt5MultimediaQuick
)
endif()
list(APPEND QT5_EXTRA_LIBRARIES_LIST
qtgraphicaleffectsplugin
qtgraphicaleffectsprivate
qtquick2plugin
qtquickcontrolsplugin
widgetsplugin
windowplugin
)
if(NOT ${Qt5Core_VERSION} VERSION_LESS 5.14)
list(APPEND QT5_EXTRA_LIBRARIES_LIST qmlplugin)
endif()
set(QT5_EXTRA_LIBRARIES)
foreach(LIBRARY ${QT5_EXTRA_LIBRARIES_LIST})
find_library(${LIBRARY}_LIBRARY ${LIBRARY} PATHS ${QT5_EXTRA_PATHS} REQUIRED)
list(APPEND QT5_EXTRA_LIBRARIES ${${LIBRARY}_LIBRARY})
endforeach()
if(MINGW)
if(CMAKE_BUILD_TYPE STREQUAL "Debug")
list(APPEND QT5_EXTRA_LIBRARIES D3D11 Dwrite D2d1)
endif()
endif()
set(QT5_LIBRARIES
${QT5_EXTRA_LIBRARIES}
${QT5_LIBRARIES}
)
set(QT5_INTEGRATION_LIBRARIES_LIST
Qt5EventDispatcherSupport
Qt5PacketProtocol
Qt5ThemeSupport
Qt5FontDatabaseSupport
)
if(UNIX AND NOT APPLE)
list(APPEND QT5_INTEGRATION_LIBRARIES_LIST
Qt5XcbQpa
Qt5ServiceSupport
Qt5GlxSupport
)
elseif(MINGW)
list(APPEND QT5_INTEGRATION_LIBRARIES_LIST qtfreetype)
endif()
foreach(LIBRARY ${QT5_INTEGRATION_LIBRARIES_LIST})
find_library(${LIBRARY}_LIBRARY ${LIBRARY} PATHS ${QT5_EXTRA_PATHS} REQUIRED)
list(APPEND QT5_LIBRARIES ${${LIBRARY}_LIBRARY})
endforeach()
if(UNIX AND NOT APPLE)
pkg_check_modules(X11XCB_XCBGLX REQUIRED x11-xcb xcb-glx)
list(APPEND QT5_LIBRARIES ${X11XCB_XCBGLX_LIBRARIES})
pkg_check_modules(FONTCONFIG REQUIRED fontconfig)
list(APPEND QT5_LIBRARIES ${FONTCONFIG_STATIC_LIBRARIES})
endif()
endif()
if(ANDROID)
set(QT5_EXTRA_LIBRARIES_LIST
GLESv2
log
z
jnigraphics
android
EGL
Qt5VirtualKeyboard_${CMAKE_ANDROID_ARCH_ABI}
c++_shared
)
foreach(LIBRARY ${QT5_EXTRA_LIBRARIES_LIST})
find_library(${LIBRARY}_LIBRARY ${LIBRARY} PATHS "${ANDROID_TOOLCHAIN_ROOT}/sysroot/usr/lib/${CMAKE_LIBRARY_ARCHITECTURE}/${ANDROID_PLATFORM_LEVEL}" REQUIRED)
list(APPEND QT5_LIBRARIES ${${LIBRARY}_LIBRARY})
endforeach()
endif()
if(MINGW)
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -Wa,-mbig-obj")
set(EXTRA_LIBRARIES mswsock;ws2_32;iphlpapi;crypt32;bcrypt)
if(DEPENDS)
set(ICU_LIBRARIES icuio icui18n icuuc icudata icutu iconv)
else()
set(ICU_LIBRARIES icuio icuin icuuc icudt icutu iconv)
endif()
elseif(APPLE)
set(EXTRA_LIBRARIES "-framework AppKit")
elseif(OPENBSD OR ANDROID)
set(EXTRA_LIBRARIES "")
elseif(FREEBSD)
set(EXTRA_LIBRARIES execinfo)
elseif(DRAGONFLY)
find_library(COMPAT compat)
set(EXTRA_LIBRARIES execinfo ${COMPAT})
elseif(CMAKE_SYSTEM_NAME MATCHES "(SunOS|Solaris)")
set(EXTRA_LIBRARIES socket nsl resolv)
elseif(NOT MSVC AND NOT DEPENDS)
find_library(RT rt)
set(EXTRA_LIBRARIES ${RT})
endif()
list(APPEND EXTRA_LIBRARIES ${CMAKE_DL_LIBS})
if(APPLE)
cmake_policy(SET CMP0042 NEW)
endif()
if (APPLE AND NOT IOS)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility=default -std=c++11")
endif()
if(APPLE)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility=default -DGTEST_HAS_TR1_TUPLE=0")
endif()
# warnings
add_c_flag_if_supported(-Wformat C_SECURITY_FLAGS)
add_cxx_flag_if_supported(-Wformat CXX_SECURITY_FLAGS)
add_c_flag_if_supported(-Wformat-security C_SECURITY_FLAGS)
add_cxx_flag_if_supported(-Wformat-security CXX_SECURITY_FLAGS)
# -fstack-protector
if (NOT OPENBSD AND NOT (WIN32 AND (CMAKE_C_COMPILER_ID STREQUAL "GNU" AND CMAKE_C_COMPILER_VERSION VERSION_LESS 9.1)))
add_c_flag_if_supported(-fstack-protector C_SECURITY_FLAGS)
add_cxx_flag_if_supported(-fstack-protector CXX_SECURITY_FLAGS)
add_c_flag_if_supported(-fstack-protector-strong C_SECURITY_FLAGS)
add_cxx_flag_if_supported(-fstack-protector-strong CXX_SECURITY_FLAGS)
endif()
# New in GCC 8.2
if (NOT OPENBSD AND NOT (WIN32 AND (CMAKE_C_COMPILER_ID STREQUAL "GNU" AND CMAKE_C_COMPILER_VERSION VERSION_LESS 9.1)))
add_c_flag_if_supported(-fcf-protection=full C_SECURITY_FLAGS)
add_cxx_flag_if_supported(-fcf-protection=full CXX_SECURITY_FLAGS)
endif()
if (NOT WIN32 AND NOT OPENBSD AND NOT "${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang")
add_c_flag_if_supported(-fstack-clash-protection C_SECURITY_FLAGS)
add_cxx_flag_if_supported(-fstack-clash-protection CXX_SECURITY_FLAGS)
endif()
# Removed in GCC 9.1 (or before ?), but still accepted, so spams the output
if (NOT (CMAKE_C_COMPILER_ID STREQUAL "GNU" AND NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 9.1))
add_c_flag_if_supported(-mmitigate-rop C_SECURITY_FLAGS)
add_cxx_flag_if_supported(-mmitigate-rop CXX_SECURITY_FLAGS)
endif()
# linker
if (APPLE)
add_linker_flag_if_supported(-Wl,-bind_at_load LD_SECURITY_FLAGS)
add_linker_flag_if_supported(-Wl,-dead_strip LD_SECURITY_FLAGS)
add_linker_flag_if_supported(-Wl,-dead_strip_dylibs LD_SECURITY_FLAGS)
endif()
if (NOT APPLE AND NOT (WIN32 AND CMAKE_C_COMPILER_ID STREQUAL "GNU"))
# Windows binaries die on startup with PIE when compiled with GCC
add_linker_flag_if_supported(-pie LD_SECURITY_FLAGS)
endif()
add_linker_flag_if_supported(-Wl,-z,relro LD_SECURITY_FLAGS)
add_linker_flag_if_supported(-Wl,-z,now LD_SECURITY_FLAGS)
add_linker_flag_if_supported(-Wl,-z,noexecstack noexecstack_SUPPORTED)
if (noexecstack_SUPPORTED)
set(LD_SECURITY_FLAGS "${LD_SECURITY_FLAGS} -Wl,-z,noexecstack")
endif()
add_linker_flag_if_supported(-Wl,-z,noexecheap noexecheap_SUPPORTED)
if (noexecheap_SUPPORTED)
set(LD_SECURITY_FLAGS "${LD_SECURITY_FLAGS} -Wl,-z,noexecheap")
endif()
# some windows linker bits
if (WIN32)
add_linker_flag_if_supported(-Wl,--dynamicbase LD_SECURITY_FLAGS)
add_linker_flag_if_supported(-Wl,--nxcompat LD_SECURITY_FLAGS)
add_linker_flag_if_supported(-Wl,--high-entropy-va LD_SECURITY_FLAGS)
endif()
if(STATIC)
add_linker_flag_if_supported(-static-libgcc STATIC_FLAGS)
add_linker_flag_if_supported(-static-libstdc++ STATIC_FLAGS)
if(MINGW)
add_linker_flag_if_supported(-static STATIC_FLAGS)
endif()
endif()
# With GCC 6.1.1 the compiled binary malfunctions due to aliasing. Until that
# is fixed in the code (Issue #847), force compiler to be conservative.
add_c_flag_if_supported(-fno-strict-aliasing C_SECURITY_FLAGS)
add_cxx_flag_if_supported(-fno-strict-aliasing CXX_SECURITY_FLAGS)
add_c_flag_if_supported(-fPIC C_SECURITY_FLAGS)
add_cxx_flag_if_supported(-fPIC CXX_SECURITY_FLAGS)
message(STATUS "Using C security hardening flags: ${C_SECURITY_FLAGS}")
message(STATUS "Using C++ security hardening flags: ${CXX_SECURITY_FLAGS}")
message(STATUS "Using linker security hardening flags: ${LD_SECURITY_FLAGS}")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=c11 ${C_SECURITY_FLAGS}")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 ${CXX_SECURITY_FLAGS}")
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${LD_SECURITY_FLAGS} ${STATIC_FLAGS}")
add_subdirectory(translations)
add_subdirectory(src)

75
DEPLOY.md Normal file
View File

@@ -0,0 +1,75 @@
# macOS:
Use macOS 10.12 - 10.13 for better backwards compability.
1. `HOMEBREW_OPTFLAGS="-march=core2" HOMEBREW_OPTIMIZATION_LEVEL="O0" brew install boost zmq libpgm miniupnpc libsodium expat libunwind-headers protobuf libgcrypt hidapi`
2. Get the latest LTS from here: https://www.qt.io/offline-installers and install
3. `git clone --recursive -b v0.X.Y.Z --depth 1 https://github.com/monero-project/monero-gui`
4. Compile `monero-wallet-gui.app`
```bash
mkdir build && cd build
cmake -D CMAKE_BUILD_TYPE=Release -D ARCH=default -D CMAKE_PREFIX_PATH=~/Qt5.12.8/5.12.8/clang_64 ..
make
make deploy
```
5. Replace the `monerod` binary inside `monero-wallet-gui.app/Contents/MacOS/` with one built using deterministic builds / gitian.
## Codesigning and notarizing
1. Save the following text as `entitlements.plist`
```xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>com.apple.security.cs.disable-executable-page-protection</key>
<true/>
</dict>
</plist>
```
2. `codesign --deep --force --verify --verbose --options runtime --timestamp --entitlements entitlements.plist --sign 'XXXXXXXXXX' monero-wallet-gui.app`
You can check if this step worked by using `codesign -dvvv monero-wallet-gui.app`
3. `hdiutil create -fs HFS+ -srcfolder monero-gui-v0.X.Y.Z -volname monero-wallet-gui monero-gui-mac-x64-v0.X.Y.Z.dmg`
4. `xcrun altool -t osx --file monero-gui-mac-x64-v0.X.Y.Z.dmg --primary-bundle-id org.monero-project.monero-wallet-gui.dmg --notarize-app --username email@address.org`
5. `xcrun altool --notarization-info aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeee -u email@address.org`
6. `xcrun stapler staple -v monero-gui-mac-x64-v0.X.Y.Z.dmg`
## Compile Qt for Apple Silicon
Qt does not offer pre-built binaries for Apple Silicon, they have to be manually compiled.
```bash
git clone https://github.com/qt/qt5.git
cd qt5
git checkout v5.15.9-lts-lgpl
./init-repository
mkdir build
cd build
../configure -prefix /path/to/qt-build-dir/ -opensource -confirm-license -release -nomake examples -nomake tests -no-rpath -skip qtwebengine -skip qt3d -skip qtandroidextras -skip qtcanvas3d -skip qtcharts -skip qtconnectivity -skip qtdatavis3d -skip qtdoc -skip qtgamepad -skip qtlocation -skip qtnetworkauth -skip qtpurchasing -skip qtscript -skip qtscxml -skip qtsensors -skip qtserialbus -skip qtserialport -skip qtspeech -skip qttools -skip qtvirtualkeyboard -skip qtwayland -skip qtwebchannel -skip qtwebsockets -skip qtwebview -skip qtwinextras -skip qtx11extras -skip gamepad -skip serialbus -skip location -skip webengine
make
make install
cd ../qttools/src/linguist/lrelease
../../../../build/qtbase/bin/qmake
make
make install
cd ../../../../qttools/src/macdeployqt/macdeployqt/
../../../../build/qtbase/bin/qmake
make
make install
```
For compilation with Xcode 15 the following patch has to be applied: https://raw.githubusercontent.com/Homebrew/formula-patches/086e8cf/qt5/qt5-qmake-xcode15.patch
The `CMAKE_PREFIX_PATH` has to be set to `/path/to/qt-build-dir/` during monero-gui compilation.

241
Dockerfile.android Normal file
View File

@@ -0,0 +1,241 @@
FROM debian:buster
ARG THREADS=1
ARG ANDROID_NDK_REVISION=21e
ARG ANDROID_NDK_HASH=c3ebc83c96a4d7f539bd72c241b2be9dcd29bda9
ARG ANDROID_SDK_REVISION=7302050_latest
ARG ANDROID_SDK_HASH=7a00faadc0864f78edd8f4908a629a46d622375cbe2e5814e82934aebecdb622
ARG QT_VERSION=v5.15.7-lts-lgpl
WORKDIR /opt/android
ENV WORKDIR=/opt/android
ENV ANDROID_NATIVE_API_LEVEL=30
ENV ANDROID_API=android-${ANDROID_NATIVE_API_LEVEL}
ENV ANDROID_CLANG=aarch64-linux-android${ANDROID_NATIVE_API_LEVEL}-clang
ENV ANDROID_CLANGPP=aarch64-linux-android${ANDROID_NATIVE_API_LEVEL}-clang++
ENV ANDROID_NDK_ROOT=${WORKDIR}/android-ndk-r${ANDROID_NDK_REVISION}
ENV ANDROID_SDK_ROOT=${WORKDIR}/cmdline-tools
ENV JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
ENV PATH=${JAVA_HOME}/bin:${PATH}
ENV PREFIX=${WORKDIR}/prefix
ENV TOOLCHAIN_DIR=${ANDROID_NDK_ROOT}/toolchains/llvm/prebuilt/linux-x86_64
RUN apt-get update \
&& apt-get install -y ant automake build-essential ca-certificates-java file gettext git libc6 libncurses5 \
libssl-dev libstdc++6 libtinfo5 libtool libz1 openjdk-11-jdk-headless openjdk-11-jre-headless pkg-config python3 \
unzip wget
RUN PACKAGE_NAME=commandlinetools-linux-${ANDROID_SDK_REVISION}.zip \
&& wget -q https://dl.google.com/android/repository/${PACKAGE_NAME} \
&& echo "${ANDROID_SDK_HASH} ${PACKAGE_NAME}" | sha256sum -c \
&& unzip -q ${PACKAGE_NAME} \
&& rm -f ${PACKAGE_NAME}
RUN PACKAGE_NAME=android-ndk-r${ANDROID_NDK_REVISION}-linux-x86_64.zip \
&& wget -q https://dl.google.com/android/repository/${PACKAGE_NAME} \
&& echo "${ANDROID_NDK_HASH} ${PACKAGE_NAME}" | sha1sum -c \
&& unzip -q ${PACKAGE_NAME} \
&& rm -f ${PACKAGE_NAME}
RUN echo y | ${ANDROID_SDK_ROOT}/bin/sdkmanager --sdk_root=${ANDROID_SDK_ROOT} "build-tools;28.0.3" "platforms;${ANDROID_API}" "tools" > /dev/null
ENV HOST_PATH=${PATH}
ENV PATH=${TOOLCHAIN_DIR}/aarch64-linux-android/bin:${TOOLCHAIN_DIR}/bin:${PATH}
ARG ZLIB_VERSION=1.3.1
ARG ZLIB_HASH=9a93b2b7dfdac77ceba5a558a580e74667dd6fede4585b91eefb60f03b72df23
RUN wget -q https://github.com/madler/zlib/releases/download/v${ZLIB_VERSION}/zlib-${ZLIB_VERSION}.tar.gz \
&& echo "${ZLIB_HASH} zlib-${ZLIB_VERSION}.tar.gz" | sha256sum -c \
&& tar -xzf zlib-${ZLIB_VERSION}.tar.gz \
&& rm zlib-${ZLIB_VERSION}.tar.gz \
&& cd zlib-${ZLIB_VERSION} \
&& CC=${ANDROID_CLANG} CXX=${ANDROID_CLANGPP} ./configure --prefix=${PREFIX} --static \
&& make -j${THREADS} \
&& make -j${THREADS} install \
&& rm -rf $(pwd)
RUN git clone git://code.qt.io/qt/qt5.git -b ${QT_VERSION} --depth 1 \
&& cd qt5 \
&& perl init-repository --module-subset=default,-qtwebengine \
&& PATH=${HOST_PATH} ./configure -v -developer-build -release \
-xplatform android-clang \
-android-ndk-platform ${ANDROID_API} \
-android-ndk ${ANDROID_NDK_ROOT} \
-android-sdk ${ANDROID_SDK_ROOT} \
-android-ndk-host linux-x86_64 \
-no-dbus \
-opengl es2 \
-no-use-gold-linker \
-no-sql-mysql \
-opensource -confirm-license \
-android-arch arm64-v8a \
-prefix ${PREFIX} \
-nomake tools -nomake tests -nomake examples \
-skip qtwebengine \
-skip qtserialport \
-skip qtconnectivity \
-skip qttranslations \
-skip qtpurchasing \
-skip qtgamepad -skip qtscript -skip qtdoc \
-no-warnings-are-errors \
&& PATH=${HOST_PATH} make -j${THREADS} \
&& PATH=${HOST_PATH} make -j${THREADS} install \
&& cd qttools/src/linguist/lrelease \
&& ../../../../qtbase/bin/qmake \
&& PATH=${HOST_PATH} make -j${THREADS} install \
&& cd ../../../.. \
&& rm -rf $(pwd)
ARG ICONV_VERSION=1.16
ARG ICONV_HASH=e6a1b1b589654277ee790cce3734f07876ac4ccfaecbee8afa0b649cf529cc04
RUN wget -q http://ftp.gnu.org/pub/gnu/libiconv/libiconv-${ICONV_VERSION}.tar.gz \
&& echo "${ICONV_HASH} libiconv-${ICONV_VERSION}.tar.gz" | sha256sum -c \
&& tar -xzf libiconv-${ICONV_VERSION}.tar.gz \
&& rm -f libiconv-${ICONV_VERSION}.tar.gz \
&& cd libiconv-${ICONV_VERSION} \
&& CC=${ANDROID_CLANG} CXX=${ANDROID_CLANGPP} ./configure --build=x86_64-linux-gnu --host=aarch64 --prefix=${PREFIX} --disable-rpath \
&& make -j${THREADS} \
&& make -j${THREADS} install
ARG BOOST_VERSION=1_74_0
ARG BOOST_VERSION_DOT=1.74.0
ARG BOOST_HASH=83bfc1507731a0906e387fc28b7ef5417d591429e51e788417fe9ff025e116b1
RUN wget -q https://boostorg.jfrog.io/artifactory/main/release/${BOOST_VERSION_DOT}/source/boost_${BOOST_VERSION}.tar.bz2 \
&& echo "${BOOST_HASH} boost_${BOOST_VERSION}.tar.bz2" | sha256sum -c \
&& tar -xf boost_${BOOST_VERSION}.tar.bz2 \
&& rm -f boost_${BOOST_VERSION}.tar.bz2 \
&& cd boost_${BOOST_VERSION} \
&& PATH=${HOST_PATH} ./bootstrap.sh --prefix=${PREFIX} \
&& PATH=${TOOLCHAIN_DIR}/bin:${HOST_PATH} ./b2 --build-type=minimal link=static runtime-link=static \
--with-chrono --with-date_time --with-filesystem --with-program_options --with-regex --with-serialization \
--with-system --with-thread --with-locale --build-dir=android --stagedir=android toolset=clang threading=multi \
threadapi=pthread target-os=android -sICONV_PATH=${PREFIX} \
cflags='--target=aarch64-linux-android' \
cxxflags='--target=aarch64-linux-android' \
linkflags='--target=aarch64-linux-android --sysroot=${ANDROID_NDK_ROOT}/platforms/${ANDROID_API}/arch-arm64 ${ANDROID_NDK_ROOT}/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++_shared.so -nostdlib++' \
install -j${THREADS} \
&& rm -rf $(pwd)
ARG OPENSSL_VERSION=1.1.1u
ARG OPENSSL_HASH=e2f8d84b523eecd06c7be7626830370300fbcc15386bf5142d72758f6963ebc6
RUN wget -q https://www.openssl.org/source/openssl-${OPENSSL_VERSION}.tar.gz \
&& echo "${OPENSSL_HASH} openssl-${OPENSSL_VERSION}.tar.gz" | sha256sum -c \
&& tar -xzf openssl-${OPENSSL_VERSION}.tar.gz \
&& rm openssl-${OPENSSL_VERSION}.tar.gz \
&& cd openssl-${OPENSSL_VERSION} \
&& ANDROID_NDK_HOME=${ANDROID_NDK_ROOT} ./Configure CC=${ANDROID_CLANG} CXX=${ANDROID_CLANGPP} \
android-arm64 no-shared --static \
--with-zlib-include=${PREFIX}/include --with-zlib-lib=${PREFIX}/lib \
--prefix=${PREFIX} --openssldir=${PREFIX} \
&& sed -i 's/CNF_EX_LIBS=-ldl -pthread//g;s/BIN_CFLAGS=-pie $(CNF_CFLAGS) $(CFLAGS)//g' Makefile \
&& ANDROID_NDK_HOME=${ANDROID_NDK_ROOT} make -j${THREADS} \
&& make -j${THREADS} install \
&& rm -rf $(pwd)
ARG EXPAT_VERSION=2.4.1
ARG EXPAT_HASH=2f9b6a580b94577b150a7d5617ad4643a4301a6616ff459307df3e225bcfbf40
RUN wget https://github.com/libexpat/libexpat/releases/download/R_2_4_1/expat-${EXPAT_VERSION}.tar.bz2 && \
echo "${EXPAT_HASH} expat-${EXPAT_VERSION}.tar.bz2" | sha256sum -c && \
tar -xf expat-${EXPAT_VERSION}.tar.bz2 && \
rm expat-${EXPAT_VERSION}.tar.bz2 && \
cd expat-${EXPAT_VERSION} && \
CC=${ANDROID_CLANG} CXX=${ANDROID_CLANGPP} ./configure --enable-static --disable-shared --prefix=${PREFIX} --host=aarch64-linux-android && \
make -j$THREADS && \
make -j$THREADS install && \
rm -rf $(pwd)
ARG UNBOUND_VERSION=1.16.2
ARG UNBOUND_HASH=2e32f283820c24c51ca1dd8afecfdb747c7385a137abe865c99db4b257403581
RUN wget https://www.nlnetlabs.nl/downloads/unbound/unbound-${UNBOUND_VERSION}.tar.gz && \
echo "${UNBOUND_HASH} unbound-${UNBOUND_VERSION}.tar.gz" | sha256sum -c && \
tar -xzf unbound-${UNBOUND_VERSION}.tar.gz && \
rm unbound-${UNBOUND_VERSION}.tar.gz && \
cd unbound-${UNBOUND_VERSION} && \
CC=${ANDROID_CLANG} CXX=${ANDROID_CLANGPP} ./configure --disable-shared --enable-static --without-pyunbound --with-libexpat=${PREFIX} --with-ssl=${PREFIX} --with-libevent=no --without-pythonmodule --disable-flto --with-pthreads --with-libunbound-only --host=aarch64-linux-android --with-pic --prefix=${PREFIX} && \
make -j$THREADS && \
make -j$THREADS install && \
rm -rf $(pwd)
ARG ZMQ_VERSION=v4.3.4
ARG ZMQ_HASH=4097855ddaaa65ed7b5e8cb86d143842a594eebd
RUN git clone https://github.com/zeromq/libzmq.git -b ${ZMQ_VERSION} --depth 1 \
&& cd libzmq \
&& git checkout ${ZMQ_HASH} \
&& ./autogen.sh \
&& CC=${ANDROID_CLANG} CXX=${ANDROID_CLANGPP} ./configure --prefix=${PREFIX} --host=aarch64-linux-android \
--enable-static --disable-shared \
&& make -j${THREADS} \
&& make -j${THREADS} install \
&& rm -rf $(pwd)
ARG SODIUM_VERSION=1.0.18
ARG SODIUM_HASH=4f5e89fa84ce1d178a6765b8b46f2b6f91216677
RUN set -ex \
&& git clone https://github.com/jedisct1/libsodium.git -b ${SODIUM_VERSION} --depth 1 \
&& cd libsodium \
&& test `git rev-parse HEAD` = ${SODIUM_HASH} || exit 1 \
&& ./autogen.sh \
&& CC=${ANDROID_CLANG} CXX=${ANDROID_CLANGPP} ./configure --prefix=${PREFIX} --host=aarch64-linux-android --enable-static --disable-shared \
&& make -j${THREADS} install \
&& rm -rf $(pwd)
RUN git clone -b libgpg-error-1.41 --depth 1 git://git.gnupg.org/libgpg-error.git \
&& cd libgpg-error \
&& git reset --hard 98032624ae89a67ee6fe3b1db5d95032e681d163 \
&& ./autogen.sh \
&& CC=${ANDROID_CLANG} CXX=${ANDROID_CLANGPP} ./configure --host=aarch64-linux-android --prefix=${PREFIX} --disable-rpath --disable-shared --enable-static --disable-doc --disable-tests \
&& PATH=${TOOLCHAIN_DIR}/bin:${HOST_PATH} make -j${THREADS} \
&& make -j${THREADS} install \
&& rm -rf $(pwd)
RUN git clone -b libgcrypt-1.10.1 --depth 1 git://git.gnupg.org/libgcrypt.git \
&& cd libgcrypt \
&& git reset --hard ae0e567820c37f9640440b3cff77d7c185aa6742 \
&& ./autogen.sh \
&& CC=${ANDROID_CLANG} CXX=${ANDROID_CLANGPP} ./configure --host=aarch64-linux-android --prefix=${PREFIX} --with-gpg-error-prefix=${PREFIX} --disable-shared --enable-static --disable-doc --disable-tests \
&& PATH=${TOOLCHAIN_DIR}/bin:${HOST_PATH} make -j${THREADS} \
&& make -j${THREADS} install \
&& rm -rf $(pwd)
RUN git clone -b v3.24.2 --depth 1 https://github.com/Kitware/CMake \
&& cd CMake \
&& git reset --hard 31f835410efeea50acd43512eb9e5646a26ea177 \
&& PATH=${HOST_PATH} ./bootstrap \
&& PATH=${HOST_PATH} make -j${THREADS} \
&& PATH=${HOST_PATH} make -j${THREADS} install \
&& rm -rf $(pwd)
RUN GRADLE_VERSION=5.6.4 \
&& GRADLE_HASH=1f3067073041bc44554d0efe5d402a33bc3d3c93cc39ab684f308586d732a80d \
&& wget -q https\://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-bin.zip \
&& echo "${GRADLE_HASH} gradle-${GRADLE_VERSION}-bin.zip" | sha256sum -c \
&& GRADLE_LOCAL_PATH=gradle/wrapper/dists/gradle-${GRADLE_VERSION}-bin/bxirm19lnfz6nurbatndyydux \
&& mkdir -p ${GRADLE_LOCAL_PATH} \
&& mv gradle-${GRADLE_VERSION}-bin.zip ${GRADLE_LOCAL_PATH}
ENV GRADLE_USER_HOME=${WORKDIR}/gradle
CMD set -ex \
&& cd /monero-gui \
&& mkdir -p build/Android/release \
&& cd build/Android/release \
&& cmake \
-DCMAKE_TOOLCHAIN_FILE="${ANDROID_NDK_ROOT}/build/cmake/android.toolchain.cmake" \
-DCMAKE_PREFIX_PATH="${PREFIX}" \
-DCMAKE_FIND_ROOT_PATH="${PREFIX}" \
-DCMAKE_BUILD_TYPE=Release \
-DARCH="armv8-a" \
-DANDROID_NATIVE_API_LEVEL=${ANDROID_NATIVE_API_LEVEL} \
-DANDROID_ABI="arm64-v8a" \
-DANDROID_TOOLCHAIN=clang \
-DBoost_USE_STATIC_RUNTIME=ON \
-DLRELEASE_PATH="${PREFIX}/bin" \
-DQT_ANDROID_APPLICATION_BINARY="monero-wallet-gui" \
-DANDROID_SDK="${ANDROID_SDK_ROOT}" \
-DWITH_SCANNER=ON \
-DWITH_DESKTOP_ENTRY=OFF \
../../.. \
&& PATH=${HOST_PATH} make generate_translations_header \
&& make -j${THREADS} -C src \
&& make -j${THREADS} apk

287
Dockerfile.linux Normal file
View File

@@ -0,0 +1,287 @@
FROM ubuntu:16.04
ARG THREADS=1
ARG QT_VERSION=v5.15.13-lts-lgpl
ENV CFLAGS="-fPIC"
ENV CPPFLAGS="-fPIC"
ENV CXXFLAGS="-fPIC"
ENV SOURCE_DATE_EPOCH=1397818193
RUN apt update && \
apt install -y automake autopoint bison gettext git gperf libgl1-mesa-dev libglib2.0-dev \
libpng12-dev libpthread-stubs0-dev libsodium-dev libtool-bin libudev-dev libusb-1.0-0-dev mesa-common-dev \
pkg-config python wget xutils-dev
RUN git clone -b xorgproto-2020.1 --depth 1 https://gitlab.freedesktop.org/xorg/proto/xorgproto && \
cd xorgproto && \
git reset --hard c62e8203402cafafa5ba0357b6d1c019156c9f36 && \
./autogen.sh && \
make -j$THREADS && \
make -j$THREADS install && \
rm -rf $(pwd)
RUN git clone -b 1.12 --depth 1 https://gitlab.freedesktop.org/xorg/proto/xcbproto && \
cd xcbproto && \
git reset --hard 6398e42131eedddde0d98759067dde933191f049 && \
./autogen.sh && \
make -j$THREADS && \
make -j$THREADS install && \
rm -rf $(pwd)
RUN git clone -b libXau-1.0.9 --depth 1 https://gitlab.freedesktop.org/xorg/lib/libxau && \
cd libxau && \
git reset --hard d9443b2c57b512cfb250b35707378654d86c7dea && \
./autogen.sh --enable-shared --disable-static && \
make -j$THREADS && \
make -j$THREADS install && \
rm -rf $(pwd)
RUN git clone -b 1.12 --depth 1 https://gitlab.freedesktop.org/xorg/lib/libxcb && \
cd libxcb && \
git reset --hard d34785a34f28fa6a00f8ce00d87e3132ff0f6467 && \
./autogen.sh --enable-shared --disable-static && \
make -j$THREADS && \
make -j$THREADS install && \
make -j$THREADS clean && \
rm /usr/local/lib/libxcb-xinerama.so && \
./autogen.sh --disable-shared --enable-static && \
make -j$THREADS && \
cp src/.libs/libxcb-xinerama.a /usr/local/lib/ && \
rm -rf $(pwd)
RUN git clone -b 0.4.0 --depth 1 https://gitlab.freedesktop.org/xorg/lib/libxcb-util && \
cd libxcb-util && \
git reset --hard acf790d7752f36e450d476ad79807d4012ec863b && \
git submodule init && \
git clone --depth 1 https://gitlab.freedesktop.org/xorg/util/xcb-util-m4 m4 && \
git -C m4 reset --hard c617eee22ae5c285e79e81ec39ce96862fd3262f && \
./autogen.sh --enable-shared --disable-static && \
make -j$THREADS && \
make -j$THREADS install && \
rm -rf $(pwd)
RUN git clone -b 0.4.0 --depth 1 https://gitlab.freedesktop.org/xorg/lib/libxcb-image && \
cd libxcb-image && \
git reset --hard d882052fb2ce439c6483fce944ba8f16f7294639 && \
git submodule init && \
git clone --depth 1 https://gitlab.freedesktop.org/xorg/util/xcb-util-m4 m4 && \
git -C m4 reset --hard c617eee22ae5c285e79e81ec39ce96862fd3262f && \
./autogen.sh --enable-shared --disable-static && \
make -j$THREADS && \
make -j$THREADS install && \
rm -rf $(pwd)
RUN git clone -b 0.4.0 --depth 1 https://gitlab.freedesktop.org/xorg/lib/libxcb-keysyms && \
cd libxcb-keysyms && \
git reset --hard 0e51ee5570a6a80bdf98770b975dfe8a57f4eeb1 && \
git submodule init && \
git clone --depth 1 https://gitlab.freedesktop.org/xorg/util/xcb-util-m4 m4 && \
git -C m4 reset --hard c617eee22ae5c285e79e81ec39ce96862fd3262f && \
./autogen.sh --enable-shared --disable-static && \
make -j$THREADS && \
make -j$THREADS install && \
rm -rf $(pwd)
RUN git clone -b 0.3.9 --depth 1 https://gitlab.freedesktop.org/xorg/lib/libxcb-render-util && \
cd libxcb-render-util && \
git reset --hard 0317caf63de532fd7a0493ed6afa871a67253747 && \
git submodule init && \
git clone --depth 1 https://gitlab.freedesktop.org/xorg/util/xcb-util-m4 m4 && \
git -C m4 reset --hard c617eee22ae5c285e79e81ec39ce96862fd3262f && \
./autogen.sh --enable-shared --disable-static && \
make -j$THREADS && \
make -j$THREADS install && \
rm -rf $(pwd)
RUN git clone -b 0.4.1 --depth 1 https://gitlab.freedesktop.org/xorg/lib/libxcb-wm && \
cd libxcb-wm && \
git reset --hard 24eb17df2e1245885e72c9d4bbb0a0f69f0700f2 && \
git submodule init && \
git clone --depth 1 https://gitlab.freedesktop.org/xorg/util/xcb-util-m4 m4 && \
git -C m4 reset --hard c617eee22ae5c285e79e81ec39ce96862fd3262f && \
./autogen.sh --enable-shared --disable-static && \
make -j$THREADS && \
make -j$THREADS install && \
rm -rf $(pwd)
RUN git clone -b xkbcommon-0.5.0 --depth 1 https://github.com/xkbcommon/libxkbcommon && \
cd libxkbcommon && \
git reset --hard c43c3c866eb9d52cd8f61e75cbef1c30d07f3a28 && \
./autogen.sh --prefix=/usr --enable-shared --disable-static --enable-x11 --disable-docs && \
make -j$THREADS && \
make -j$THREADS install && \
rm -rf $(pwd)
RUN git clone -b v1.3 --depth 1 https://github.com/madler/zlib && \
cd zlib && \
git reset --hard 09155eaa2f9270dc4ed1fa13e2b4b2613e6e4851 && \
./configure --static && \
make -j$THREADS && \
make -j$THREADS install && \
rm -rf $(pwd)
RUN git clone -b VER-2-10-2 --depth 1 https://git.savannah.gnu.org/git/freetype/freetype2.git && \
cd freetype2 && \
git reset --hard 132f19b779828b194b3fede187cee719785db4d8 && \
./autogen.sh && \
./configure --disable-shared --enable-static --with-zlib=no && \
make -j$THREADS && \
make -j$THREADS install && \
rm -rf $(pwd)
RUN wget https://github.com/libexpat/libexpat/releases/download/R_2_4_8/expat-2.4.8.tar.bz2 && \
echo "a247a7f6bbb21cf2ca81ea4cbb916bfb9717ca523631675f99b3d4a5678dcd16 expat-2.4.8.tar.bz2" | sha256sum -c && \
tar -xf expat-2.4.8.tar.bz2 && \
rm expat-2.4.8.tar.bz2 && \
cd expat-2.4.8 && \
./configure --enable-static --disable-shared --prefix=/usr && \
make -j$THREADS && \
make -j$THREADS install && \
rm -rf $(pwd)
RUN git clone -b 2.13.92 --depth 1 https://gitlab.freedesktop.org/fontconfig/fontconfig && \
cd fontconfig && \
git reset --hard b1df1101a643ae16cdfa1d83b939de2497b1bf27 && \
./autogen.sh --disable-shared --enable-static --sysconfdir=/etc --localstatedir=/var && \
make -j$THREADS && \
make -j$THREADS install && \
rm -rf $(pwd)
RUN git clone -b release-64-2 --depth 1 https://github.com/unicode-org/icu && \
cd icu/icu4c/source && \
git reset --hard e2d85306162d3a0691b070b4f0a73e4012433444 && \
./configure --disable-shared --enable-static --disable-tests --disable-samples && \
make -j$THREADS && \
make -j$THREADS install && \
rm -rf $(pwd)
RUN wget https://boostorg.jfrog.io/artifactory/main/release/1.80.0/source/boost_1_80_0.tar.gz && \
echo "4b2136f98bdd1f5857f1c3dea9ac2018effe65286cf251534b6ae20cc45e1847 boost_1_80_0.tar.gz" | sha256sum -c && \
tar -xzf boost_1_80_0.tar.gz && \
rm boost_1_80_0.tar.gz && \
cd boost_1_80_0 && \
./bootstrap.sh && \
./b2 --with-atomic --with-system --with-filesystem --with-thread --with-date_time --with-chrono --with-regex --with-serialization --with-program_options --with-locale variant=release link=static runtime-link=static cflags="${CFLAGS}" cxxflags="${CXXFLAGS}" install -a --prefix=/usr && \
rm -rf $(pwd)
RUN wget https://www.openssl.org/source/openssl-1.1.1u.tar.gz && \
echo "e2f8d84b523eecd06c7be7626830370300fbcc15386bf5142d72758f6963ebc6 openssl-1.1.1u.tar.gz" | sha256sum -c && \
tar -xzf openssl-1.1.1u.tar.gz && \
rm openssl-1.1.1u.tar.gz && \
cd openssl-1.1.1u && \
./config no-shared no-zlib-dynamic --prefix=/usr --openssldir=/usr && \
make -j$THREADS && \
make -j$THREADS install && \
rm -rf $(pwd)
RUN wget https://www.nlnetlabs.nl/downloads/unbound/unbound-1.16.2.tar.gz && \
echo "2e32f283820c24c51ca1dd8afecfdb747c7385a137abe865c99db4b257403581 unbound-1.16.2.tar.gz" | sha256sum -c && \
tar -xzf unbound-1.16.2.tar.gz && \
rm unbound-1.16.2.tar.gz && \
cd unbound-1.16.2 && \
./configure --disable-shared --enable-static --without-pyunbound --with-libexpat=/usr --with-ssl=/usr --with-libevent=no --without-pythonmodule --disable-flto --with-pthreads --with-libunbound-only --with-pic && \
make -j$THREADS && \
make -j$THREADS install && \
rm -rf $(pwd)
RUN rm /usr/lib/x86_64-linux-gnu/libX11.a && \
rm /usr/lib/x86_64-linux-gnu/libXext.a && \
rm /usr/lib/x86_64-linux-gnu/libX11-xcb.a && \
git clone git://code.qt.io/qt/qt5.git -b ${QT_VERSION} --depth 1 && \
cd qt5 && \
git clone git://code.qt.io/qt/qtbase.git -b ${QT_VERSION} --depth 1 && \
git clone git://code.qt.io/qt/qtdeclarative.git -b ${QT_VERSION} --depth 1 && \
git clone git://code.qt.io/qt/qtgraphicaleffects.git -b ${QT_VERSION} --depth 1 && \
git clone git://code.qt.io/qt/qtimageformats.git -b ${QT_VERSION} --depth 1 && \
git clone git://code.qt.io/qt/qtmultimedia.git -b ${QT_VERSION} --depth 1 && \
git clone git://code.qt.io/qt/qtquickcontrols.git -b ${QT_VERSION} --depth 1 && \
git clone git://code.qt.io/qt/qtquickcontrols2.git -b ${QT_VERSION} --depth 1 && \
git clone git://code.qt.io/qt/qtsvg.git -b ${QT_VERSION} --depth 1 && \
git clone git://code.qt.io/qt/qttools.git -b ${QT_VERSION} --depth 1 && \
git clone git://code.qt.io/qt/qttranslations.git -b ${QT_VERSION} --depth 1 && \
git clone git://code.qt.io/qt/qtx11extras.git -b ${QT_VERSION} --depth 1 && \
git clone git://code.qt.io/qt/qtxmlpatterns.git -b ${QT_VERSION} --depth 1 && \
sed -ri s/\(Libs:.*\)/\\1\ -lexpat/ /usr/local/lib/pkgconfig/fontconfig.pc && \
sed -ri s/\(Libs:.*\)/\\1\ -lz/ /usr/local/lib/pkgconfig/freetype2.pc && \
sed -ri s/\(Libs:.*\)/\\1\ -lXau/ /usr/local/lib/pkgconfig/xcb.pc && \
sed -i s/\\/usr\\/X11R6\\/lib64/\\/usr\\/local\\/lib/ qtbase/mkspecs/linux-g++-64/qmake.conf && \
./configure --prefix=/usr -platform linux-g++-64 -opensource -confirm-license -release -static -no-avx \
-opengl desktop -qpa xcb -xcb -xcb-xlib -feature-xlib -system-freetype -fontconfig -glib \
-no-dbus -no-feature-qml-worker-script -no-linuxfb -no-openssl -no-sql-sqlite -no-kms -no-use-gold-linker \
-qt-harfbuzz -qt-libjpeg -qt-libpng -qt-pcre -qt-zlib \
-skip qt3d -skip qtandroidextras -skip qtcanvas3d -skip qtcharts -skip qtconnectivity -skip qtdatavis3d \
-skip qtdoc -skip qtgamepad -skip qtlocation -skip qtmacextras -skip qtnetworkauth -skip qtpurchasing \
-skip qtscript -skip qtscxml -skip qtsensors -skip qtserialbus -skip qtserialport -skip qtspeech -skip qttools \
-skip qtvirtualkeyboard -skip qtwayland -skip qtwebchannel -skip qtwebengine -skip qtwebsockets -skip qtwebview \
-skip qtwinextras -skip qtx11extras -skip gamepad -skip serialbus -skip location -skip webengine \
-nomake examples -nomake tests -nomake tools && \
make -j$THREADS && \
make -j$THREADS install && \
cd qttools/src/linguist/lrelease && \
../../../../qtbase/bin/qmake && \
make -j$THREADS && \
make -j$THREADS install && \
cd ../../../.. && \
rm -rf $(pwd)
RUN git clone -b v1.0.26 --depth 1 https://github.com/libusb/libusb && \
cd libusb && \
git reset --hard 4239bc3a50014b8e6a5a2a59df1fff3b7469543b && \
./autogen.sh --disable-shared --enable-static && \
make -j$THREADS && \
make -j$THREADS install && \
rm -rf $(pwd)
RUN git clone -b hidapi-0.13.1 --depth 1 https://github.com/libusb/hidapi && \
cd hidapi && \
git reset --hard 4ebce6b5059b086d05ca7e091ce04a5fd08ac3ac && \
./bootstrap && \
./configure --disable-shared --enable-static && \
make -j$THREADS && \
make -j$THREADS install && \
rm -rf $(pwd)
RUN git clone -b v4.3.4 --depth 1 https://github.com/zeromq/libzmq && \
cd libzmq && \
git reset --hard 4097855ddaaa65ed7b5e8cb86d143842a594eebd && \
./autogen.sh && \
./configure --disable-shared --enable-static --disable-libunwind --with-libsodium && \
make -j$THREADS && \
make -j$THREADS install && \
rm -rf $(pwd)
RUN git clone -b libgpg-error-1.45 --depth 1 git://git.gnupg.org/libgpg-error.git && \
cd libgpg-error && \
git reset --hard dbac537e5e865fb6f3aa8596d213aa8c47a9dea1 && \
./autogen.sh && \
./configure --disable-shared --enable-static --disable-doc --disable-tests && \
make -j$THREADS && \
make -j$THREADS install && \
rm -rf $(pwd)
RUN git clone -b libgcrypt-1.10.1 --depth 1 git://git.gnupg.org/libgcrypt.git && \
cd libgcrypt && \
git reset --hard ae0e567820c37f9640440b3cff77d7c185aa6742 && \
./autogen.sh && \
./configure --disable-shared --enable-static --disable-doc && \
make -j$THREADS && \
make -j$THREADS install && \
rm -rf $(pwd)
RUN git clone -b v21.5 --depth 1 https://github.com/protocolbuffers/protobuf && \
cd protobuf && \
git reset --hard ab840345966d0fa8e7100d771c92a73bfbadd25c && \
./autogen.sh && \
./configure --enable-static --disable-shared && \
make -j$THREADS && \
make -j$THREADS install && \
rm -rf $(pwd)
RUN git clone -b v3.24.0 --depth 1 https://github.com/Kitware/CMake && \
cd CMake && \
git reset --hard 4be24f031a4829db75b85062cc67125035d8831e && \
./bootstrap && \
make -j$THREADS && \
make -j$THREADS install && \
rm -rf $(pwd)

82
Dockerfile.windows Normal file
View File

@@ -0,0 +1,82 @@
FROM ubuntu:20.04
ARG THREADS=1
ARG QT_VERSION=v5.15.13-lts-lgpl
ENV SOURCE_DATE_EPOCH=1397818193
RUN apt update && \
DEBIAN_FRONTEND=noninteractive apt install -y build-essential cmake g++-mingw-w64 gettext git libtool pkg-config \
python && \
rm -rf /var/lib/apt/lists/*
RUN update-alternatives --set x86_64-w64-mingw32-g++ $(which x86_64-w64-mingw32-g++-posix) && \
update-alternatives --set x86_64-w64-mingw32-gcc $(which x86_64-w64-mingw32-gcc-posix)
RUN git clone -b v0.18.2.0 --depth 1 https://github.com/monero-project/monero && \
cd monero && \
git reset --hard 99be9a044f3854f339548e2d99c539c18d7b1b01 && \
cp -a contrib/depends / && \
cd .. && \
rm -rf monero
RUN make -j$THREADS -C /depends HOST=x86_64-w64-mingw32 NO_QT=1
RUN git clone git://code.qt.io/qt/qt5.git -b ${QT_VERSION} --depth 1 && \
cd qt5 && \
git clone git://code.qt.io/qt/qtbase.git -b ${QT_VERSION} --depth 1 && \
git clone git://code.qt.io/qt/qtdeclarative.git -b ${QT_VERSION} --depth 1 && \
git clone git://code.qt.io/qt/qtgraphicaleffects.git -b ${QT_VERSION} --depth 1 && \
git clone git://code.qt.io/qt/qtimageformats.git -b ${QT_VERSION} --depth 1 && \
git clone git://code.qt.io/qt/qtmultimedia.git -b ${QT_VERSION} --depth 1 && \
git clone git://code.qt.io/qt/qtquickcontrols.git -b ${QT_VERSION} --depth 1 && \
git clone git://code.qt.io/qt/qtquickcontrols2.git -b ${QT_VERSION} --depth 1 && \
git clone git://code.qt.io/qt/qtsvg.git -b ${QT_VERSION} --depth 1 && \
git clone git://code.qt.io/qt/qttools.git -b ${QT_VERSION} --depth 1 && \
git clone git://code.qt.io/qt/qttranslations.git -b ${QT_VERSION} --depth 1 && \
git clone git://code.qt.io/qt/qtxmlpatterns.git -b ${QT_VERSION} --depth 1 && \
./configure --prefix=/depends/x86_64-w64-mingw32 -xplatform win32-g++ \
-device-option CROSS_COMPILE=/usr/bin/x86_64-w64-mingw32- \
-I $(pwd)/qtbase/src/3rdparty/angle/include \
-opensource -confirm-license -release -static -static-runtime -opengl dynamic -no-angle \
-no-avx -no-openssl -no-sql-sqlite \
-no-feature-qml-worker-script -no-openssl -no-sql-sqlite \
-qt-freetype -qt-harfbuzz -qt-libjpeg -qt-libpng -qt-pcre -qt-zlib \
-skip gamepad -skip location -skip qt3d -skip qtactiveqt -skip qtandroidextras \
-skip qtcanvas3d -skip qtcharts -skip qtconnectivity -skip qtdatavis3d -skip qtdoc \
-skip qtgamepad -skip qtlocation -skip qtmacextras -skip qtnetworkauth -skip qtpurchasing \
-skip qtscript -skip qtscxml -skip qtsensors -skip qtserialbus -skip qtserialport \
-skip qtspeech -skip qttools -skip qtvirtualkeyboard -skip qtwayland -skip qtwebchannel \
-skip qtwebengine -skip qtwebsockets -skip qtwebview -skip qtwinextras -skip qtx11extras \
-skip serialbus -skip webengine \
-nomake examples -nomake tests -nomake tools && \
make -j$THREADS && \
make -j$THREADS install && \
cd qttools/src/linguist/lrelease && \
../../../../qtbase/bin/qmake && \
make -j$THREADS && \
make -j$THREADS install && \
cd ../../../.. && \
rm -rf $(pwd)
RUN git clone -b libgpg-error-1.38 --depth 1 git://git.gnupg.org/libgpg-error.git && \
cd libgpg-error && \
git reset --hard 71d278824c5fe61865f7927a2ed1aa3115f9e439 && \
./autogen.sh && \
./configure --disable-shared --enable-static --disable-doc --disable-tests \
--host=x86_64-w64-mingw32 --prefix=/depends/x86_64-w64-mingw32 && \
make -j$THREADS && \
make -j$THREADS install && \
cd .. && \
rm -rf libgpg-error
RUN git clone -b libgcrypt-1.8.5 --depth 1 git://git.gnupg.org/libgcrypt.git && \
cd libgcrypt && \
git reset --hard 56606331bc2a80536db9fc11ad53695126007298 && \
./autogen.sh && \
./configure --disable-shared --enable-static --disable-doc \
--host=x86_64-w64-mingw32 --prefix=/depends/x86_64-w64-mingw32 \
--with-gpg-error-prefix=/depends/x86_64-w64-mingw32 && \
make -j$THREADS && \
make -j$THREADS install && \
cd .. && \
rm -rf libgcrypt

View File

@@ -1,4 +1,4 @@
Copyright (c) 2014-2017, The Monero Project
Copyright (c) 2014-2024, The Monero Project
All rights reserved.

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2014-2015, The Monero Project
// Copyright (c) 2014-2024, The Monero Project
//
// All rights reserved.
//
@@ -26,259 +26,363 @@
// 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.2
import QtQuick 2.9
import QtQuick.Layouts 1.1
import QtGraphicalEffects 1.0
import moneroComponents.Wallet 1.0
import "components"
import moneroComponents.NetworkType 1.0
import moneroComponents.Clipboard 1.0
import FontAwesome 1.0
import "components" as MoneroComponents
import "components/effects/" as MoneroEffects
Rectangle {
id: panel
property alias unlockedBalanceText: unlockedBalanceText.text
property alias balanceLabelText: balanceLabel.text
property alias balanceText: balanceText.text
property int currentAccountIndex
property alias currentAccountLabel: accountLabel.text
property string balanceString: "?.??"
property string balanceUnlockedString: "?.??"
property string balanceFiatString: "?.??"
property string minutesToUnlock: ""
property bool isSyncing: false
property alias networkStatus : networkStatus
property alias progressBar : progressBar
property alias minutesToUnlockTxt: unlockedBalanceLabel.text
property alias daemonProgressBar : daemonProgressBar
property int titleBarHeight: 50
property string copyValue: ""
Clipboard { id: clipboard }
signal dashboardClicked()
signal historyClicked()
signal transferClicked()
signal receiveClicked()
signal txkeyClicked()
signal advancedClicked()
signal settingsClicked()
signal addressBookClicked()
signal miningClicked()
signal signClicked()
signal accountClicked()
function selectItem(pos) {
menuColumn.previousButton.checked = false
if(pos === "Dashboard") menuColumn.previousButton = dashboardButton
else if(pos === "History") menuColumn.previousButton = historyButton
if(pos === "History") menuColumn.previousButton = historyButton
else if(pos === "Transfer") menuColumn.previousButton = transferButton
else if(pos === "Receive") menuColumn.previousButton = receiveButton
else if(pos === "AddressBook") menuColumn.previousButton = addressBookButton
else if(pos === "Mining") menuColumn.previousButton = miningButton
else if(pos === "TxKey") menuColumn.previousButton = txkeyButton
else if(pos === "Sign") menuColumn.previousButton = signButton
else if(pos === "Settings") menuColumn.previousButton = settingsButton
else if(pos === "Advanced") menuColumn.previousButton = advancedButton
else if(pos === "Account") menuColumn.previousButton = accountButton
menuColumn.previousButton.checked = true
}
width: (isMobile)? appWindow.width : 260
color: "#FFFFFF"
width: 300
color: "transparent"
anchors.bottom: parent.bottom
anchors.top: parent.top
// Item with monero logo
Item {
visible: !isMobile
id: logoItem
MoneroEffects.GradientBackground {
anchors.fill: parent
fallBackColor: MoneroComponents.Style.middlePanelBackgroundColor
initialStartColor: MoneroComponents.Style.leftPanelBackgroundGradientStart
initialStopColor: MoneroComponents.Style.leftPanelBackgroundGradientStop
blackColorStart: MoneroComponents.Style._b_leftPanelBackgroundGradientStart
blackColorStop: MoneroComponents.Style._b_leftPanelBackgroundGradientStop
whiteColorStart: MoneroComponents.Style._w_leftPanelBackgroundGradientStart
whiteColorStop: MoneroComponents.Style._w_leftPanelBackgroundGradientStop
posStart: 0.6
start: Qt.point(0, 0)
end: Qt.point(height, width)
}
// card with monero logo
Column {
visible: true
z: 2
id: column1
height: 175
anchors.left: parent.left
anchors.right: parent.right
anchors.top: parent.top
anchors.topMargin: (persistentSettings.customDecorations)? 66 : 36
height: logo.implicitHeight
anchors.topMargin: (persistentSettings.customDecorations)? 50 : 0
Image {
id: logo
anchors.left: parent.left
anchors.leftMargin: 50
source: "images/moneroLogo.png"
}
Text {
id: testnetLabel
visible: persistentSettings.testnet
text: qsTr("Testnet") + translationManager.emptyString
anchors.top: logo.bottom
anchors.topMargin: 5
anchors.left: parent.left
anchors.leftMargin: 50
font.bold: true
color: "red"
}
/* Disable twitter/news panel
Image {
anchors.left: parent.left
anchors.verticalCenter: logo.verticalCenter
anchors.leftMargin: 19
source: appWindow.rightPanelExpanded ? "images/expandRightPanel.png" :
"images/collapseRightPanel.png"
}
MouseArea {
anchors.fill: parent
onClicked: appWindow.rightPanelExpanded = !appWindow.rightPanelExpanded
}
*/
}
Column {
visible: !isMobile
id: column1
anchors.left: parent.left
anchors.right: parent.right
anchors.top: logoItem.bottom
anchors.topMargin: 26
spacing: 5
Label {
visible: !isMobile
id: balanceLabel
text: qsTr("Balance") + translationManager.emptyString
anchors.left: parent.left
anchors.leftMargin: 50
}
Row {
visible: !isMobile
Item {
Item {
anchors.verticalCenter: parent.verticalCenter
height: 26
width: 50
anchors.left: parent.left
anchors.top: parent.top
anchors.topMargin: 20
anchors.leftMargin: 20
height: 490
width: 260
Image {
anchors.centerIn: parent
source: "images/lockIcon.png"
id: card
visible: !isOpenGL || MoneroComponents.Style.blackTheme
width: 260
height: 135
fillMode: Image.PreserveAspectFit
source: MoneroComponents.Style.blackTheme ? "qrc:///images/card-background-black" + (currentAccountIndex % MoneroComponents.Style.accountColors.length) + ".png" : "qrc:///images/card-background-white.png"
}
DropShadow {
visible: isOpenGL && !MoneroComponents.Style.blackTheme
anchors.fill: card
horizontalOffset: 3
verticalOffset: 3
radius: 10.0
samples: 15
color: "#3B000000"
source: card
cached: true
}
MoneroComponents.TextPlain {
id: testnetLabel
visible: persistentSettings.nettype != NetworkType.MAINNET
text: (persistentSettings.nettype == NetworkType.TESTNET ? qsTr("Testnet") : qsTr("Stagenet")) + translationManager.emptyString
anchors.top: parent.top
anchors.topMargin: 8
anchors.left: parent.left
anchors.leftMargin: 192
font.bold: true
font.pixelSize: 12
color: "#f33434"
themeTransition: false
}
MoneroComponents.TextPlain {
id: viewOnlyLabel
visible: viewOnly
text: qsTr("View Only") + translationManager.emptyString
anchors.top: parent.top
anchors.topMargin: 8
anchors.right: testnetLabel.visible ? testnetLabel.left : parent.right
anchors.rightMargin: 8
font.pixelSize: 12
font.bold: true
color: "#ff9323"
themeTransition: false
}
}
Text {
visible: !isMobile
id: balanceText
anchors.verticalCenter: parent.verticalCenter
font.family: "Arial"
color: "#000000"
text: "N/A"
// dynamically adjust text size
font.pixelSize: {
var digits = text.split('.')[0].length
var defaultSize = 25;
if(digits > 2) {
return defaultSize - 1.1*digits
Item {
anchors.left: parent.left
anchors.top: parent.top
anchors.topMargin: 20
anchors.leftMargin: 20
height: 490
width: 50
MoneroComponents.Label {
fontSize: 12
id: accountIndex
text: qsTr("Account") + translationManager.emptyString + " #" + currentAccountIndex
color: MoneroComponents.Style.blackTheme ? "white" : "black"
anchors.left: parent.left
anchors.leftMargin: 60
anchors.top: parent.top
anchors.topMargin: 23
themeTransition: false
MouseArea{
anchors.fill: parent
hoverEnabled: true
cursorShape: Qt.PointingHandCursor
onClicked: appWindow.showPageRequest("Account")
}
return defaultSize;
}
MoneroComponents.Label {
fontSize: 16
id: accountLabel
textWidth: 170
color: MoneroComponents.Style.blackTheme ? "white" : "black"
anchors.left: parent.left
anchors.leftMargin: 60
anchors.top: parent.top
anchors.topMargin: 36
themeTransition: false
elide: Text.ElideRight
MouseArea {
hoverEnabled: true
anchors.fill: parent
cursorShape: Qt.PointingHandCursor
onClicked: appWindow.showPageRequest("Account")
}
}
MoneroComponents.Label {
fontSize: 16
visible: isSyncing
text: qsTr("Syncing...") + translationManager.emptyString
color: MoneroComponents.Style.blackTheme ? "white" : "black"
anchors.left: parent.left
anchors.leftMargin: 20
anchors.bottom: currencyLabel.top
anchors.bottomMargin: 15
themeTransition: false
}
MoneroComponents.TextPlain {
id: currencyLabel
font.pixelSize: 16
text: {
if (persistentSettings.fiatPriceEnabled && persistentSettings.fiatPriceToggle) {
return appWindow.fiatApiCurrencySymbol();
} else {
return "XMR"
}
}
color: MoneroComponents.Style.blackTheme ? "white" : "black"
anchors.left: parent.left
anchors.leftMargin: 20
anchors.top: parent.top
anchors.topMargin: 100
themeTransition: false
MouseArea {
hoverEnabled: true
anchors.fill: parent
visible: persistentSettings.fiatPriceEnabled
cursorShape: Qt.PointingHandCursor
onClicked: persistentSettings.fiatPriceToggle = !persistentSettings.fiatPriceToggle
}
}
MoneroComponents.TextPlain {
id: balancePart1
themeTransition: false
anchors.left: parent.left
anchors.leftMargin: 58
anchors.baseline: currencyLabel.baseline
color: MoneroComponents.Style.blackTheme ? "white" : "black"
Binding on color {
when: balancePart1MouseArea.containsMouse || balancePart2MouseArea.containsMouse
value: MoneroComponents.Style.orange
}
text: {
if (persistentSettings.fiatPriceEnabled && persistentSettings.fiatPriceToggle) {
return balanceFiatString.split('.')[0] + "."
} else {
return balanceString.split('.')[0] + "."
}
}
font.pixelSize: {
var defaultSize = 29;
var digits = (balancePart1.text.length - 1)
if (digits > 2 && !(persistentSettings.fiatPriceEnabled && persistentSettings.fiatPriceToggle)) {
return defaultSize - 1.1 * digits
} else {
return defaultSize
}
}
MouseArea {
id: balancePart1MouseArea
hoverEnabled: true
anchors.fill: parent
cursorShape: Qt.PointingHandCursor
onClicked: {
console.log("Copied to clipboard");
clipboard.setText(balancePart1.text + balancePart2.text);
appWindow.showStatusMessage(qsTr("Copied to clipboard"),3)
}
}
}
MoneroComponents.TextPlain {
id: balancePart2
themeTransition: false
anchors.left: balancePart1.right
anchors.leftMargin: 2
anchors.baseline: currencyLabel.baseline
color: balancePart1.color
text: {
if (persistentSettings.fiatPriceEnabled && persistentSettings.fiatPriceToggle) {
return balanceFiatString.split('.')[1]
} else {
return balanceString.split('.')[1]
}
}
font.pixelSize: 16
MouseArea {
id: balancePart2MouseArea
hoverEnabled: true
anchors.fill: parent
cursorShape: Qt.PointingHandCursor
onClicked: balancePart1MouseArea.clicked(mouse)
}
}
Item { //separator
anchors.left: parent.left
anchors.right: parent.right
height: 1
}
}
}
Item { //separator
anchors.left: parent.left
anchors.right: parent.right
height: 1
}
Label {
id: unlockedBalanceLabel
text: qsTr("Unlocked balance") + translationManager.emptyString
anchors.left: parent.left
anchors.leftMargin: 50
}
Text {
id: unlockedBalanceText
anchors.left: parent.left
anchors.leftMargin: 50
font.family: "Arial"
color: "#000000"
text: "N/A"
// dynamically adjust text size
font.pixelSize: {
var digits = text.split('.')[0].length
var defaultSize = 18;
if(digits > 3) {
return defaultSize - 0.6*digits
}
return defaultSize;
}
}
}
Rectangle {
anchors.top: parent.top
anchors.left: parent.left
anchors.bottom: menuRect.top
width: 1
color: "#DBDBDB"
}
Rectangle {
anchors.left: parent.left
anchors.right: parent.right
anchors.top: parent.top
height: 1
color: "#DBDBDB"
}
Rectangle {
id: menuRect
z: 2
anchors.left: parent.left
anchors.right: parent.right
anchors.bottom: parent.bottom
anchors.top: (isMobile)? parent.top : column1.bottom
anchors.topMargin: (isMobile)? 0 : 25
color: "#1C1C1C"
anchors.top: column1.bottom
color: "transparent"
Flickable {
contentHeight: 500
anchors.fill: parent
id:flicker
contentHeight: menuColumn.height
anchors.top: parent.top
anchors.bottom: progressBar.visible ? progressBar.top : networkStatus.top
width: parent.width
boundsBehavior: isMac ? Flickable.DragAndOvershootBounds : Flickable.StopAtBounds
clip: true
Column {
id: menuColumn
anchors.left: parent.left
anchors.right: parent.right
anchors.top: parent.top
clip: true
property var previousButton: transferButton
// ------------- Dashboard tab ---------------
/*
MenuButton {
id: dashboardButton
// top border
MoneroComponents.MenuButtonDivider {
anchors.left: parent.left
anchors.right: parent.right
text: qsTr("Dashboard") + translationManager.emptyString
symbol: qsTr("D") + translationManager.emptyString
dotColor: "#FFE00A"
checked: true
anchors.leftMargin: 20
}
// ------------- Account tab ---------------
MoneroComponents.MenuButton {
id: accountButton
anchors.left: parent.left
anchors.right: parent.right
text: qsTr("Account") + translationManager.emptyString
symbol: (isMac ? "⌃" : qsTr("Ctrl+")) + "T" + translationManager.emptyString
onClicked: {
parent.previousButton.checked = false
parent.previousButton = dashboardButton
panel.dashboardClicked()
parent.previousButton = accountButton
panel.accountClicked()
}
}
Rectangle {
MoneroComponents.MenuButtonDivider {
visible: accountButton.present
anchors.left: parent.left
anchors.right: parent.right
anchors.leftMargin: 16
color: dashboardButton.checked || transferButton.checked ? "#1C1C1C" : "#505050"
height: 1
anchors.leftMargin: 20
}
*/
// ------------- Transfer tab ---------------
MenuButton {
MoneroComponents.MenuButton {
id: transferButton
anchors.left: parent.left
anchors.right: parent.right
text: qsTr("Send") + translationManager.emptyString
symbol: qsTr("S") + translationManager.emptyString
dotColor: "#FF6C3C"
symbol: (isMac ? "⌃" : qsTr("Ctrl+")) + "S" + translationManager.emptyString
onClicked: {
parent.previousButton.checked = false
parent.previousButton = transferButton
@@ -286,24 +390,21 @@ Rectangle {
}
}
Rectangle {
MoneroComponents.MenuButtonDivider {
visible: transferButton.present
anchors.left: parent.left
anchors.right: parent.right
anchors.leftMargin: 16
color: "#505050"
height: 1
anchors.leftMargin: 20
}
// ------------- AddressBook tab ---------------
MenuButton {
MoneroComponents.MenuButton {
id: addressBookButton
anchors.left: parent.left
anchors.right: parent.right
text: qsTr("Address book") + translationManager.emptyString
symbol: qsTr("B") + translationManager.emptyString
dotColor: "#FF4F41"
symbol: (isMac ? "⌃" : qsTr("Ctrl+")) + "B" + translationManager.emptyString
under: transferButton
onClicked: {
parent.previousButton.checked = false
@@ -312,163 +413,85 @@ Rectangle {
}
}
Rectangle {
MoneroComponents.MenuButtonDivider {
visible: addressBookButton.present
anchors.left: parent.left
anchors.right: parent.right
anchors.leftMargin: 16
color: "#505050"
height: 1
anchors.leftMargin: 20
}
// ------------- Receive tab ---------------
MenuButton {
MoneroComponents.MenuButton {
id: receiveButton
anchors.left: parent.left
anchors.right: parent.right
text: qsTr("Receive") + translationManager.emptyString
symbol: qsTr("R") + translationManager.emptyString
dotColor: "#AAFFBB"
symbol: (isMac ? "⌃" : qsTr("Ctrl+")) + "R" + translationManager.emptyString
onClicked: {
parent.previousButton.checked = false
parent.previousButton = receiveButton
panel.receiveClicked()
}
}
Rectangle {
MoneroComponents.MenuButtonDivider {
visible: receiveButton.present
anchors.left: parent.left
anchors.right: parent.right
anchors.leftMargin: 16
color: "#505050"
height: 1
anchors.leftMargin: 20
}
// ------------- History tab ---------------
MenuButton {
MoneroComponents.MenuButton {
id: historyButton
anchors.left: parent.left
anchors.right: parent.right
text: qsTr("History") + translationManager.emptyString
symbol: qsTr("H") + translationManager.emptyString
dotColor: "#6B0072"
text: qsTr("Transactions") + translationManager.emptyString
symbol: (isMac ? "⌃" : qsTr("Ctrl+")) + "H" + translationManager.emptyString
onClicked: {
parent.previousButton.checked = false
parent.previousButton = historyButton
panel.historyClicked()
}
}
Rectangle {
MoneroComponents.MenuButtonDivider {
visible: historyButton.present
anchors.left: parent.left
anchors.right: parent.right
anchors.leftMargin: 16
color: "#505050"
height: 1
anchors.leftMargin: 20
}
// ------------- Advanced tab ---------------
MenuButton {
MoneroComponents.MenuButton {
id: advancedButton
visible: appWindow.walletMode >= 2
anchors.left: parent.left
anchors.right: parent.right
text: qsTr("Advanced") + translationManager.emptyString
symbol: qsTr("D") + translationManager.emptyString
dotColor: "#FFD781"
symbol: (isMac ? "⌃" : qsTr("Ctrl+")) + "D" + translationManager.emptyString
onClicked: {
parent.previousButton.checked = false
parent.previousButton = advancedButton
}
}
Rectangle {
visible: advancedButton.present
anchors.left: parent.left
anchors.right: parent.right
anchors.leftMargin: 16
color: "#505050"
height: 1
}
// ------------- Mining tab ---------------
MenuButton {
id: miningButton
anchors.left: parent.left
anchors.right: parent.right
text: qsTr("Mining") + translationManager.emptyString
symbol: qsTr("M") + translationManager.emptyString
dotColor: "#FFD781"
under: advancedButton
onClicked: {
parent.previousButton.checked = false
parent.previousButton = miningButton
panel.miningClicked()
panel.advancedClicked()
}
}
Rectangle {
visible: miningButton.present
MoneroComponents.MenuButtonDivider {
visible: advancedButton.present && appWindow.walletMode >= 2
anchors.left: parent.left
anchors.right: parent.right
anchors.leftMargin: 16
color: miningButton.checked || settingsButton.checked ? "#1C1C1C" : "#505050"
height: 1
}
// ------------- TxKey tab ---------------
MenuButton {
id: txkeyButton
anchors.left: parent.left
anchors.right: parent.right
text: qsTr("Check payment") + translationManager.emptyString
symbol: qsTr("K") + translationManager.emptyString
dotColor: "#FFD781"
under: advancedButton
onClicked: {
parent.previousButton.checked = false
parent.previousButton = txkeyButton
panel.txkeyClicked()
}
}
Rectangle {
visible: txkeyButton.present
anchors.left: parent.left
anchors.right: parent.right
anchors.leftMargin: 16
color: "#505050"
height: 1
anchors.leftMargin: 20
}
// ------------- Sign/verify tab ---------------
MenuButton {
id: signButton
anchors.left: parent.left
anchors.right: parent.right
text: qsTr("Sign/verify") + translationManager.emptyString
symbol: qsTr("I") + translationManager.emptyString
dotColor: "#FFD781"
under: advancedButton
onClicked: {
parent.previousButton.checked = false
parent.previousButton = signButton
panel.signClicked()
}
}
Rectangle {
visible: signButton.present
anchors.left: parent.left
anchors.right: parent.right
anchors.leftMargin: 16
color: "#505050"
height: 1
}
// ------------- Settings tab ---------------
MenuButton {
MoneroComponents.MenuButton {
id: settingsButton
anchors.left: parent.left
anchors.right: parent.right
text: qsTr("Settings") + translationManager.emptyString
symbol: qsTr("E") + translationManager.emptyString
dotColor: "#36B25C"
symbol: (isMac ? "⌃" : qsTr("Ctrl+")) + "E" + translationManager.emptyString
onClicked: {
parent.previousButton.checked = false
parent.previousButton = settingsButton
@@ -476,34 +499,58 @@ Rectangle {
}
}
}
MoneroComponents.MenuButtonDivider {
visible: settingsButton.present
anchors.left: parent.left
anchors.right: parent.right
anchors.leftMargin: 20
}
}
} // Column
NetworkStatusItem {
id: networkStatus
} // Flickable
Rectangle {
id: separator
anchors.left: parent.left
anchors.right: parent.right
anchors.bottom: (progressBar.visible)? progressBar.top : parent.bottom;
connected: Wallet.ConnectionStatus_Disconnected
anchors.leftMargin: 0
anchors.rightMargin: 0
anchors.bottom: progressBar.visible ? progressBar.top : networkStatus.top
height: 10
color: "transparent"
}
ProgressBar {
MoneroComponents.ProgressBar {
id: progressBar
anchors.left: parent.left
anchors.right: parent.right
anchors.bottom: daemonProgressBar.top
height: 48
syncType: qsTr("Wallet") + translationManager.emptyString
visible: !appWindow.disconnected
}
MoneroComponents.ProgressBar {
id: daemonProgressBar
anchors.left: parent.left
anchors.right: parent.right
anchors.bottom: networkStatus.top
syncType: qsTr("Daemon") + translationManager.emptyString
visible: !appWindow.disconnected
height: 62
}
MoneroComponents.NetworkStatusItem {
id: networkStatus
anchors.left: parent.left
anchors.right: parent.right
anchors.leftMargin: 5
anchors.rightMargin: 0
anchors.bottom: parent.bottom
anchors.bottomMargin: 5
connected: Wallet.ConnectionStatus_Disconnected
height: 48
}
}
// indicate disabled state
// Desaturate {
// anchors.fill: parent
// source: parent
// desaturation: panel.enabled ? 0.0 : 1.0
// }
}

View File

@@ -1,14 +0,0 @@
#include "MainApp.h"
#include <QCloseEvent>
bool MainApp::event (QEvent *event)
{
// Catch application exit event and signal to qml app to handle exit
if(event->type() == QEvent::Close) {
event->ignore();
emit closing();
return true;
}
return false;
}

View File

@@ -1,18 +0,0 @@
#ifndef MAINAPP_H
#define MAINAPP_H
#include <QApplication>
class MainApp : public QApplication
{
Q_OBJECT
public:
MainApp(int &argc, char** argv) : QApplication(argc, argv) {};
private:
bool event(QEvent *e);
signals:
void closing();
};
#endif // MAINAPP_H

70
Makefile Normal file
View File

@@ -0,0 +1,70 @@
ANDROID_STANDALONE_TOOLCHAIN_PATH ?= /usr/local/toolchain
MANUAL_SUBMODULES ?= OFF
dotgit=$(shell ls -d .git/config)
ifeq ($(dotgit), .git/config)
ifeq ($(shell git --version > /dev/null 2>&1 ; echo $$?), 0)
git = yes
else
$(warning git command not found)
endif
endif
builddir := build
topdir := ../..
ifeq ($(USE_SINGLE_BUILDDIR), OFF)
os := $(shell echo `uname | sed -e 's|[:/\\ \(\)]|_|g'`)
builddir := $(builddir)/$(os)
topdir := $(topdir)/..
ifdef git
branch := $(shell git branch | grep '\* ' | cut -f2- -d' '| sed -e 's|[:/\\ \(\)]|_|g')
builddir := $(builddir)/$(branch)
topdir := $(topdir)/..
endif
deldirs := $(builddir)
else
deldirs := $(builddir)/debug $(builddir)/release $(builddir)/fuzz
endif
default:
mkdir -p build && cd build && cmake -D DEV_MODE=$(or ${DEV_MODE},OFF) -DMANUAL_SUBMODULES=${MANUAL_SUBMODULES} -D BUILD_64=ON -D CMAKE_BUILD_TYPE=Release .. && $(MAKE)
debug:
mkdir -p build && cd build && cmake -D DEV_MODE=$(or ${DEV_MODE},ON) -DMANUAL_SUBMODULES=${MANUAL_SUBMODULES} -D CMAKE_BUILD_TYPE=Debug .. && $(MAKE) VERBOSE=1
depends:
mkdir -p build/$(target)/release
cd build/$(target)/release && cmake -D STATIC=ON -D DEV_MODE=$(or ${DEV_MODE},OFF) -DMANUAL_SUBMODULES=${MANUAL_SUBMODULES} -D BUILD_TAG=$(tag) -D CMAKE_BUILD_TYPE=Release -D CMAKE_TOOLCHAIN_FILE=$(root)/$(target)/share/toolchain.cmake ../../.. && $(MAKE)
devmode:
mkdir -p build && cd build && cmake -D DEV_MODE=$(or ${DEV_MODE},ON) -DMANUAL_SUBMODULES=${MANUAL_SUBMODULES} -D BUILD_64=ON -D CMAKE_BUILD_TYPE=Release .. && $(MAKE)
clean:
mkdir -p build && cd build && rm -rf *
scanner:
mkdir -p build && cd build && cmake -D DEV_MODE=$(or ${DEV_MODE},ON) -DMANUAL_SUBMODULES=${MANUAL_SUBMODULES} -D WITH_SCANNER=ON -D BUILD_64=ON -D CMAKE_BUILD_TYPE=Release .. && $(MAKE)
release:
mkdir -p $(builddir)/release && cd $(builddir)/release && cmake -D DEV_MODE=$(or ${DEV_MODE},OFF) -DMANUAL_SUBMODULES=${MANUAL_SUBMODULES} -D CMAKE_BUILD_TYPE=Release $(topdir) && $(MAKE)
release-linux-armv8:
mkdir -p $(builddir)/release && cd $(builddir)/release && cmake -D DEV_MODE=$(or ${DEV_MODE},OFF) -D ARCH="armv8-a" -D BUILD_64=ON -D CMAKE_BUILD_TYPE=Release -D BUILD_TAG="linux-armv8" $(topdir) && $(MAKE)
release-linux-ppc64le:
mkdir -p $(builddir)/release && cd $(builddir)/release && cmake -D DEV_MODE=$(or ${DEV_MODE},OFF) -DMANUAL_SUBMODULES=${MANUAL_SUBMODULES} -D ARCH="ppc64le" -D CMAKE_BUILD_TYPE=Release $(topdir) && $(MAKE)
release-static:
mkdir -p $(builddir)/release && cd $(builddir)/release && cmake -D STATIC=ON -D DEV_MODE=$(or ${DEV_MODE},OFF) -DMANUAL_SUBMODULES=${MANUAL_SUBMODULES} -D ARCH="x86-64" -D BUILD_64=ON -D CMAKE_BUILD_TYPE=Release $(topdir) && $(MAKE)
debug-static-win64:
mkdir -p $(builddir)/debug && cd $(builddir)/debug && cmake -D STATIC=ON -G "MSYS Makefiles" -D DEV_MODE=$(or ${DEV_MODE},ON) -DMANUAL_SUBMODULES=${MANUAL_SUBMODULES} -D ARCH="x86-64" -D BUILD_64=ON -D CMAKE_BUILD_TYPE=Debug -D BUILD_TAG="win-x64" -D CMAKE_TOOLCHAIN_FILE=$(topdir)/cmake/64-bit-toolchain.cmake -D MSYS2_FOLDER=$(shell cd ${MINGW_PREFIX}/.. && pwd -W) -D MINGW=ON $(topdir) && $(MAKE)
debug-static-mac64:
mkdir -p $(builddir)/debug
cd $(builddir)/debug && cmake -D STATIC=ON -D DEV_MODE=$(or ${DEV_MODE},ON) -DMANUAL_SUBMODULES=${MANUAL_SUBMODULES} -D ARCH="x86-64" -D BUILD_64=ON -D CMAKE_BUILD_TYPE=Debug -D BUILD_TAG="mac-x64" $(topdir) && $(MAKE)
release-static-win64:
mkdir -p $(builddir)/release && cd $(builddir)/release && cmake -D STATIC=ON -G "MSYS Makefiles" -D DEV_MODE=$(or ${DEV_MODE},OFF) -DMANUAL_SUBMODULES=${MANUAL_SUBMODULES} -D ARCH="x86-64" -D BUILD_64=ON -D CMAKE_BUILD_TYPE=Release -D BUILD_TAG="win-x64" -D CMAKE_TOOLCHAIN_FILE=$(topdir)/cmake/64-bit-toolchain.cmake -D MSYS2_FOLDER=$(shell cd ${MINGW_PREFIX}/.. && pwd -W) -D MINGW=ON $(topdir) && $(MAKE)
release-win64:
mkdir -p $(builddir)/release && cd $(builddir)/release && cmake -D STATIC=OFF -G "MSYS Makefiles" -D DEV_MODE=$(or ${DEV_MODE},OFF) -DMANUAL_SUBMODULES=${MANUAL_SUBMODULES} -D ARCH="x86-64" -D BUILD_64=ON -D CMAKE_BUILD_TYPE=Release -D BUILD_TAG="win-x64" -D CMAKE_TOOLCHAIN_FILE=$(topdir)/cmake/64-bit-toolchain.cmake -D MSYS2_FOLDER=$(shell cd ${MINGW_PREFIX}/.. && pwd -W) -D MINGW=ON $(topdir) && $(MAKE)

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2014-2015, The Monero Project
// Copyright (c) 2014-2024, The Monero Project
//
// All rights reserved.
//
@@ -28,44 +28,67 @@
import QtQml 2.0
import QtQuick 2.2
//import QtQuick.Controls 2.0
import QtQuick 2.9
import QtQuick.Controls 2.0
import QtQuick.Controls 1.4
import QtQuick.Layouts 1.1
import QtGraphicalEffects 1.0
import moneroComponents.Wallet 1.0
import "./pages"
import "./pages/settings"
import "./pages/merchant"
import "./components" as MoneroComponents
import "./components/effects/" as MoneroEffects
Rectangle {
id: root
property Item currentView
property Item previousView
property bool basicMode : isMobile
property string balanceLabelText: qsTr("Balance") + translationManager.emptyString
property string balanceText
property string unlockedBalanceLabelText: qsTr("Unlocked Balance") + translationManager.emptyString
property string unlockedBalanceText
property int minHeight: (appWindow.height > 800) ? appWindow.height : 800
// property int headerHeight: header.height
property alias contentHeight: mainFlickable.contentHeight
property alias flickable: mainFlickable
property Transfer transferView: Transfer { }
property Transfer transferView: Transfer {
onPaymentClicked: root.paymentClicked(recipients, paymentId, mixinCount, priority, description)
onSweepUnmixableClicked: root.sweepUnmixableClicked()
}
property Receive receiveView: Receive { }
property TxKey txkeyView: TxKey { }
property Merchant merchantView: Merchant { }
property History historyView: History { }
property Sign signView: Sign { }
property Advanced advancedView: Advanced { }
property Settings settingsView: Settings { }
property Mining miningView: Mining { }
property AddressBook addressBookView: AddressBook { }
property Keys keysView: Keys { }
property Account accountView: Account { }
signal paymentClicked(string address, string paymentId, string amount, int mixinCount, int priority, string description)
signal paymentClicked(var recipients, string paymentId, int mixinCount, int priority, string description)
signal sweepUnmixableClicked()
signal generatePaymentIdInvoked()
signal checkPaymentClicked(string address, string txid, string txkey);
signal getProofClicked(string txid, string address, string message, string amount);
signal checkProofClicked(string txid, string address, string message, string signature);
color: "#F0EEEE"
Rectangle {
// grey background on merchantView
visible: currentView === merchantView
color: MoneroComponents.Style.moneroGrey
anchors.fill: parent
}
MoneroEffects.GradientBackground {
visible: currentView !== merchantView
anchors.fill: parent
fallBackColor: MoneroComponents.Style.middlePanelBackgroundColor
initialStartColor: MoneroComponents.Style.middlePanelBackgroundGradientStart
initialStopColor: MoneroComponents.Style.middlePanelBackgroundGradientStop
blackColorStart: MoneroComponents.Style._b_middlePanelBackgroundGradientStart
blackColorStop: MoneroComponents.Style._b_middlePanelBackgroundGradientStop
whiteColorStart: MoneroComponents.Style._w_middlePanelBackgroundGradientStart
whiteColorStop: MoneroComponents.Style._w_middlePanelBackgroundGradientStop
start: Qt.point(0, 0)
end: Qt.point(height, width)
}
onCurrentViewChanged: {
if (previousView) {
@@ -93,93 +116,63 @@ Rectangle {
transferView.sendTo(address, paymentId, description);
}
// XXX: just for memo, to be removed
// states: [
// State {
// name: "Dashboard"
// PropertyChanges { target: loader; source: "pages/Dashboard.qml" }
// }, State {
// name: "History"
// PropertyChanges { target: loader; source: "pages/History.qml" }
// }, State {
// name: "Transfer"
// PropertyChanges { target: loader; source: "pages/Transfer.qml" }
// }, State {
// name: "Receive"
// PropertyChanges { target: loader; source: "pages/Receive.qml" }
// }, State {
// name: "AddressBook"
// PropertyChanges { target: loader; source: "pages/AddressBook.qml" }
// }, State {
// name: "Settings"
// PropertyChanges { target: loader; source: "pages/Settings.qml" }
// }, State {
// name: "Mining"
// PropertyChanges { target: loader; source: "pages/Mining.qml" }
// }
// ]
// open Transactions page with search term in search field
function searchInHistory(searchTerm){
root.state = "History";
historyView.searchInHistory(searchTerm);
}
states: [
State {
name: "Dashboard"
PropertyChanges { }
}, State {
name: "History"
PropertyChanges { target: root; currentView: historyView }
PropertyChanges { target: historyView; model: appWindow.currentWallet ? appWindow.currentWallet.historyModel : null }
PropertyChanges { target: mainFlickable; contentHeight: minHeight }
PropertyChanges { target: mainFlickable; contentHeight: historyView.contentHeight + 80}
}, State {
name: "Transfer"
PropertyChanges { target: root; currentView: transferView }
PropertyChanges { target: mainFlickable; contentHeight: 1000 }
PropertyChanges { target: mainFlickable; contentHeight: transferView.transferHeight1 + transferView.transferHeight2 + 80 }
}, State {
name: "Receive"
PropertyChanges { target: root; currentView: receiveView }
PropertyChanges { target: mainFlickable; contentHeight: minHeight }
name: "Receive"
PropertyChanges { target: root; currentView: receiveView }
PropertyChanges { target: mainFlickable; contentHeight: receiveView.receiveHeight + 80 }
}, State {
name: "TxKey"
PropertyChanges { target: root; currentView: txkeyView }
PropertyChanges { target: mainFlickable; contentHeight: minHeight }
name: "Merchant"
PropertyChanges { target: root; currentView: merchantView }
PropertyChanges { target: mainFlickable; contentHeight: merchantView.merchantHeight + 80 }
}, State {
name: "AddressBook"
PropertyChanges { target: root; currentView: addressBookView }
PropertyChanges { target: mainFlickable; contentHeight: minHeight }
PropertyChanges { target: root; currentView: addressBookView }
PropertyChanges { target: mainFlickable; contentHeight: addressBookView.addressbookHeight + 80 }
}, State {
name: "Sign"
PropertyChanges { target: root; currentView: signView }
PropertyChanges { target: mainFlickable; contentHeight: minHeight }
name: "Advanced"
PropertyChanges { target: root; currentView: advancedView }
PropertyChanges { target: mainFlickable; contentHeight: advancedView.panelHeight }
}, State {
name: "Settings"
PropertyChanges { target: root; currentView: settingsView }
PropertyChanges { target: mainFlickable; contentHeight: 1200 }
PropertyChanges { target: root; currentView: settingsView }
PropertyChanges { target: mainFlickable; contentHeight: settingsView.settingsHeight }
}, State {
name: "Mining"
PropertyChanges { target: root; currentView: miningView }
PropertyChanges { target: mainFlickable; contentHeight: minHeight }
name: "Keys"
PropertyChanges { target: root; currentView: keysView }
PropertyChanges { target: mainFlickable; contentHeight: keysView.keysHeight + 80}
}, State {
name: "Account"
PropertyChanges { target: root; currentView: accountView }
PropertyChanges { target: mainFlickable; contentHeight: accountView.accountHeight + 80 }
}
]
// color stripe at the top
Row {
id: styledRow
height: 4
anchors.top: parent.top
anchors.left: parent.left
anchors.right: parent.right
Rectangle { height: 4; width: parent.width / 5; color: "#FFE00A" }
Rectangle { height: 4; width: parent.width / 5; color: "#6B0072" }
Rectangle { height: 4; width: parent.width / 5; color: "#FF6C3C" }
Rectangle { height: 4; width: parent.width / 5; color: "#FFD781" }
Rectangle { height: 4; width: parent.width / 5; color: "#FF4F41" }
}
ColumnLayout {
anchors.fill: parent
anchors.margins: 2
anchors.topMargin: appWindow.persistentSettings.customDecorations ? 30 : 0
anchors.margins: {
if(currentView === merchantView || currentView === historyView)
return 0;
return 20;
}
anchors.topMargin: appWindow.persistentSettings.customDecorations ? 50 : 0
anchors.bottomMargin: 0
spacing: 0
Flickable {
@@ -187,19 +180,28 @@ Rectangle {
Layout.fillWidth: true
Layout.fillHeight: true
clip: true
// Disabled scrollbars, gives crash on startup on windows
// ScrollIndicator.vertical: ScrollIndicator { }
// ScrollBar.vertical: ScrollBar { } // uncomment to test
boundsBehavior: isMac ? Flickable.DragAndOvershootBounds : Flickable.StopAtBounds
ScrollBar.vertical: ScrollBar {
parent: root
anchors.left: parent.right
anchors.leftMargin: -14 // 10 margin + 4 scrollbar width
anchors.top: parent.top
anchors.topMargin: persistentSettings.customDecorations ? 60 : 10
anchors.bottom: parent.bottom
anchors.bottomMargin: persistentSettings.customDecorations ? 15 : 10
onActiveChanged: if (!active && !isMac) active = true
}
onFlickingChanged: {
releaseFocus();
}
// Views container
StackView {
id: stackView
initialItem: transferView
// anchors.topMargin: 30
// Layout.fillWidth: true
// Layout.fillHeight: true
anchors.fill:parent
// anchors.margins: 4
clip: true // otherwise animation will affect left panel
delegate: StackViewDelegate {
@@ -210,6 +212,7 @@ Rectangle {
from: 0 - target.width
to: 0
duration: 300
easing.type: Easing.OutCubic
}
PropertyAnimation {
target: exitItem
@@ -217,6 +220,7 @@ Rectangle {
from: 0
to: target.width
duration: 300
easing.type: Easing.OutCubic
}
}
}
@@ -224,43 +228,30 @@ Rectangle {
}// flickable
}
// border
Rectangle {
anchors.top: styledRow.bottom
anchors.bottom: parent.bottom
anchors.right: parent.right
width: 1
color: "#DBDBDB"
}
Rectangle {
anchors.top: styledRow.bottom
id: borderLeft
visible: middlePanel.state !== "Merchant"
anchors.top: parent.top
anchors.bottom: parent.bottom
anchors.left: parent.left
width: 1
color: "#DBDBDB"
color: MoneroComponents.Style.appWindowBorderColor
MoneroEffects.ColorTransition {
targetObj: parent
blackColor: MoneroComponents.Style._b_appWindowBorderColor
whiteColor: MoneroComponents.Style._w_appWindowBorderColor
}
}
Rectangle {
anchors.left: parent.left
anchors.right: parent.right
// border shadow
Image {
source: "qrc:///images/middlePanelShadow.png"
width: 12
anchors.top: parent.top
anchors.bottom: parent.bottom
height: 1
color: "#DBDBDB"
}
/* connect "payment" click */
Connections {
ignoreUnknownSignals: false
target: transferView
onPaymentClicked : {
console.log("MiddlePanel: paymentClicked")
paymentClicked(address, paymentId, amount, mixinCount, priority, description)
}
onSweepUnmixableClicked : {
console.log("MiddlePanel: sweepUnmixableClicked")
sweepUnmixableClicked()
}
anchors.left: borderLeft.right
}
}

357
README.md
View File

@@ -1,14 +1,37 @@
# Monero GUI
Copyright (c) 2014-2017, The Monero Project
Copyright (c) 2014-2024, The Monero Project
## Development Resources
## Table of Contents
* [Development resources](#development-resources)
* [Vulnerability response](#vulnerability-response)
* [Introduction](#introduction)
* [About this project](#about-this-project)
* [Supporting the project](#supporting-the-project)
* [License](#license)
* [Translations](#translations)
* [Installing the Monero GUI from a package](#installing-the-monero-gui-from-a-package)
* [Compiling the Monero GUI from source](#compiling-the-monero-gui-from-source)
+ [Building Reproducible Windows static binaries with Docker (any OS)](#building-reproducible-windows-static-binaries-with-docker-any-os)
+ [Building Reproducible Linux static binaries with Docker (any OS)](#building-reproducible-linux-static-binaries-with-docker-any-os)
+ [Building Android APK with Docker (any OS) *Experimental*](#building-android-apk-with-docker-any-os-experimental)
+ [Building on Linux](#building-on-linux)
+ [Building on OS X](#building-on-os-x)
+ [Building on Windows](#building-on-windows)
## Development resources
- Web: [getmonero.org](https://getmonero.org)
- Forum: [forum.getmonero.org](https://forum.getmonero.org)
- Mail: [dev@getmonero.org](mailto:dev@getmonero.org)
- 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)
- Github: [https://github.com/monero-project/monero-gui](https://github.com/monero-project/monero-gui)
- IRC: [#monero-gui on Libera](irc://irc.libera.chat/#monero-gui)
- Translation platform (Weblate): [translate.getmonero.org](https://translate.getmonero.org)
- UI Design: [Monero-GUI on Figma](https://www.figma.com/file/DplJ2DDQfIKiuRvolHX2hN/Monero-GUI)
## 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
@@ -20,31 +43,27 @@ Monero is a private, secure, untraceable, decentralised digital currency. You ar
**Untraceability:** By taking advantage of ring signatures, a special property of a certain type of cryptography, Monero is able to ensure that transactions are not only untraceable, but have an optional measure of ambiguity that ensures that transactions cannot easily be tied back to an individual user or computer.
## About this Project
## About this project
This is the GUI for the [core Monero implementation](https://github.com/monero-project/monero). It is open source and completely free to use without restrictions, except for those specified in the license agreement below. There are no restrictions on anyone creating an alternative implementation of Monero that uses the protocol and network in a compatible manner.
As with many development projects, the repository on Github is considered to be the "staging" area for the latest changes. Before changes are merged into that branch on the main repository, they are tested by individual developers in their own branches, submitted as a pull request, and then subsequently tested by contributors who focus on testing and code reviews. That having been said, the repository should be carefully considered before using it in a production environment, unless there is a patch in the repository for a particular show-stopping issue you are experiencing. It is generally a better idea to use a tagged release for stability.
## Supporting the Project
## Supporting the project
Monero development can be supported directly through donations.
Monero is a 100% community-sponsored endeavor. If you want to join our efforts, the easiest thing you can do is support the project financially. Both Monero and Bitcoin donations can be made to **donate.getmonero.org** if using a client that supports the [OpenAlias](https://openalias.org) standard.
Both Monero and Bitcoin donations can be made to donate.getmonero.org if using a client that supports the [OpenAlias](https://openalias.org) standard
The Monero donation address is: `44AFFq5kSiGBoZ4NMDwYtN18obc8AemS33DBLWs3H7otXft3XjrpDtQGv7SqSsaBYBb98uNbr2VBBEt7f2wfn3RVGQBEP3A` (viewkey: `f359631075708155cc3d92a32b75a7d02a5dcf27756707b47a2b31b21c389501`)
The Monero donation address is: `888tNkZrPN6JsEgekjMnABU4TBzc2Dt29EPAvkRxbANsAnjyPbb3iQ1YBRk1UXcdRsiKc9dhwMVgN5S9cQUiyoogDavup3H` (viewkey: `f359631075708155cc3d92a32b75a7d02a5dcf27756707b47a2b31b21c389501`)
The Bitcoin donation address is: `1KTexdemPdxSBcG55heUuTjDRYqbC5ZL8H`
Core development funding and/or some supporting services are also graciously provided by sponsors:
GUI development funding and/or some supporting services are also graciously provided by [sponsors](https://www.getmonero.org/community/sponsorships/):
[<img width="80" src="https://static.getmonero.org/images/sponsors/mymonero.png"/>](https://mymonero.com)
[<img width="150" src="https://static.getmonero.org/images/sponsors/kitware.png?1"/>](http://kitware.com)
[<img width="100" src="https://static.getmonero.org/images/sponsors/dome9.png"/>](http://dome9.com)
[<img width="150" src="https://static.getmonero.org/images/sponsors/araxis.png"/>](http://araxis.com)
[<img width="150" src="https://static.getmonero.org/images/sponsors/jetbrains.png"/>](http://www.jetbrains.com/)
[<img width="150" src="https://static.getmonero.org/images/sponsors/navicat.png"/>](http://www.navicat.com/)
[<img width="150" src="https://static.getmonero.org/images/sponsors/symas.png"/>](http://www.symas.com/)
[<img width="150" src="https://www.getmonero.org/img/sponsors/tarilabs.png"/>](https://tarilabs.com/)
[<img width="150" src="https://www.getmonero.org/img/sponsors/globee.png"/>](https://globee.com/)
[<img width="150" src="https://www.getmonero.org/img/sponsors/symas.png"/>](https://symas.com/)
[<img width="150" src="https://www.getmonero.org/img/sponsors/forked_logo.png"/>](http://www.forked.net/)
[<img width="150" src="https://www.getmonero.org/img/sponsors/macstadium.png"/>](https://www.macstadium.com/)
There are also several mining pools that kindly donate a portion of their fees, [a list of them can be found on our Bitcointalk post](https://bitcointalk.org/index.php?topic=583449.0).
@@ -52,186 +71,278 @@ There are also several mining pools that kindly donate a portion of their fees,
See [LICENSE](LICENSE).
## Installing Monero Core from a Package
## Translations
Do you speak a second language and would like to help translate the Monero GUI? Check out Weblate, our localization platform, at [translate.getmonero.org](https://translate.getmonero.org/). Choose the language and suggest a translation for a string or review an existing one. The Localization Workgroup made [a guide with step-by-step instructions](https://github.com/monero-ecosystem/monero-translations/blob/master/weblate.md) for Weblate.
If you need help/support or any info you can contact the localization workgroup on the IRC channel #monero-translations (relayed on [Matrix](https://matrix.to/#/!BKMbQLMDzHKzmtrBfg:matrix.org?via=monero.social&via=matrix.org&via=libera.chat)) or by email at translate[at]getmonero[dot]org. For more info about the Localization workgroup: [github.com/monero-ecosystem/monero-translations](https://github.com/monero-ecosystem/monero-translations)
Status of the translations:
<a href="https://translate.getmonero.org/engage/monero/?utm_source=widget">
<img src="https://translate.getmonero.org/widgets/monero/-/gui-wallet/horizontal-auto.svg" alt="Translation status" />
</a>
## Installing the Monero GUI from a package
Packages are available for
* Arch Linux via AUR: [monero-core-git](https://aur.archlinux.org/packages/monero-core-git/)
* Arch Linux: [monero-gui](https://archlinux.org/packages/extra/x86_64/monero-gui/)
* NixOS: `nix-shell -p monero-gui`
* Flatpak: [Monero GUI](https://flathub.org/apps/details/org.getmonero.Monero)
* GuixSD: `guix package -i monero-gui`
* macOS (homebrew): `brew install --cask monero-wallet`
Packaging for your favorite distribution would be a welcome contribution!
## Compiling Monero Core from Source
## Compiling the Monero GUI from source
### On Linux:
*Note*: Qt 5.9.7 is the minimum version required to build the GUI.
(Tested on Ubuntu 16.04 x86, 16.10 x64, Gentoo x64 and Linux Mint 18 "Sarah" - Cinnamon x64)
*Note*: Official GUI releases use monero-wallet-gui from this process alongside the supporting binaries (monerod, etc) from the [CLI deterministic builds](https://github.com/monero-project/monero/blob/master/contrib/gitian/README.md).
### Building Reproducible Windows static binaries with Docker (any OS)
1. Install Docker [https://docs.docker.com/engine/install/](https://docs.docker.com/engine/install/)
2. Clone the repository
```
git clone --branch master --recursive https://github.com/monero-project/monero-gui.git
```
\* `master` - replace with the desired version tag (e.g. `v0.18.3.3`) to build the release binaries.
3. Prepare build environment
```
cd monero-gui
docker build --tag monero:build-env-windows --build-arg THREADS=4 --file Dockerfile.windows .
```
\* `4` - number of CPU threads to use
4. Build
```
docker run --rm -it -v <MONERO_GUI_DIR_FULL_PATH>:/monero-gui -w /monero-gui monero:build-env-windows sh -c 'make depends root=/depends target=x86_64-w64-mingw32 tag=win-x64 -j4'
```
\* `<MONERO_GUI_DIR_FULL_PATH>` - absolute path to `monero-gui` directory
\* `4` - number of CPU threads to use
5. Monero GUI Windows static binaries will be placed in `monero-gui/build/x86_64-w64-mingw32/release/bin` directory
### Building Reproducible Linux static binaries with Docker (any OS)
1. Install Docker [https://docs.docker.com/engine/install/](https://docs.docker.com/engine/install/)
2. Clone the repository
```
git clone --branch master --recursive https://github.com/monero-project/monero-gui.git
```
\* `master` - replace with the desired version tag (e.g. `v0.18.3.3`) to build the release binaries.
3. Prepare build environment
```
cd monero-gui
docker build --tag monero:build-env-linux --build-arg THREADS=4 --file Dockerfile.linux .
```
\* `4` - number of CPU threads to use
4. Build
```
docker run --rm -it -v <MONERO_GUI_DIR_FULL_PATH>:/monero-gui -w /monero-gui monero:build-env-linux sh -c 'make release-static -j4'
```
\* `<MONERO_GUI_DIR_FULL_PATH>` - absolute path to `monero-gui` directory
\* `4` - number of CPU threads to use
5. Monero GUI Linux static binaries will be placed in `monero-gui/build/release/bin` directory
6. (*Optional*) Compare `monero-wallet-gui` SHA-256 hash to the one obtained from a trusted source
```
docker run --rm -it -v <MONERO_GUI_DIR_FULL_PATH>:/monero-gui -w /monero-gui monero:build-env-linux sh -c 'shasum -a 256 /monero-gui/build/release/bin/monero-wallet-gui'
```
\* `<MONERO_GUI_DIR_FULL_PATH>` - absolute path to `monero-gui` directory
### Building Android APK with Docker (any OS) *Experimental*
- Minimum Android 9 Pie (API 28)
- ARMv8-A 64-bit CPU
1. Install Docker [https://docs.docker.com/engine/install/](https://docs.docker.com/engine/install/)
2. Clone the repository
```
git clone --recursive https://github.com/monero-project/monero-gui.git
```
3. Prepare build environment
```
cd monero-gui
docker build --tag monero:build-env-android --build-arg THREADS=4 --file Dockerfile.android .
```
\* `4` - number of CPU threads to use
4. Build
```
docker run --rm -it -v <MONERO_GUI_DIR_FULL_PATH>:/monero-gui -e THREADS=4 monero:build-env-android
```
\* `<MONERO_GUI_DIR_FULL_PATH>` - absolute path to `monero-gui` directory
\* `4` - number of CPU threads to use
5. Monero GUI APK will be placed in `monero-gui/build/Android/release/android-build` directory
6. Deploy
* Using ADB (Android debugger bridge)
- [Enable adb debugging on your device](https://developer.android.com/studio/command-line/adb.html#Enabling)
* Connect your device with USB and install Monero GUI APK with adb:
```
adb install build/Android/release/android-build/monero-gui.apk
```
* Troubleshooting:
```
adb devices -l
adb logcat
```
* If using adb inside docker, make sure you did
```
docker run -v /dev/bus/usb:/dev/bus/usb --privileged
```
* Using a web server
```
mkdir /usr/tmp
cp build/Android/release/android-build/monero-gui.apk /usr/tmp
docker run -d -v /usr/tmp:/usr/share/nginx/html:ro -p 8080:80 nginx
```
Now it should be accessible through a web browser at
```
http://<your.local.ip>:8080/QtApp-debug.apk
```
### Building on Linux
(Tested on Ubuntu 17.10 x64, Ubuntu 18.04 x64 and Gentoo x64)
1. Install Monero dependencies
- For Ubuntu and Mint
- For Debian distributions (Debian, Ubuntu, Mint, Tails...)
`sudo apt install build-essential cmake libboost-all-dev miniupnpc libunbound-dev graphviz doxygen libunwind8-dev pkg-config libssl-dev`
`sudo apt install build-essential cmake miniupnpc libunbound-dev graphviz doxygen libunwind8-dev pkg-config libssl-dev libzmq3-dev libsodium-dev libhidapi-dev libnorm-dev libusb-1.0-0-dev libpgm-dev libprotobuf-dev protobuf-compiler libgcrypt20-dev libboost-chrono-dev libboost-date-time-dev libboost-filesystem-dev libboost-locale-dev libboost-program-options-dev libboost-regex-dev libboost-serialization-dev libboost-system-dev libboost-thread-dev`
- For Gentoo
`sudo emerge app-arch/xz-utils app-doc/doxygen dev-cpp/gtest dev-libs/boost dev-libs/expat dev-libs/openssl dev-util/cmake media-gfx/graphviz net-dns/unbound net-libs/ldns net-libs/miniupnpc sys-libs/libunwind`
`sudo emerge app-arch/xz-utils app-doc/doxygen dev-cpp/gtest dev-libs/boost dev-libs/expat dev-libs/openssl dev-util/cmake media-gfx/graphviz net-dns/unbound net-libs/miniupnpc net-libs/zeromq sys-libs/libunwind dev-libs/libsodium dev-libs/hidapi dev-libs/libgcrypt`
2. Grab an up-to-date copy of the monero-core repository
- For Fedora
`git clone https://github.com/monero-project/monero-core.git`
`sudo dnf install make automake cmake gcc-c++ boost-devel miniupnpc-devel graphviz doxygen unbound-devel libunwind-devel pkgconfig openssl-devel libcurl-devel hidapi-devel libusb-devel zeromq-devel libgcrypt-devel`
3. Go into the repository
2. Install Qt:
`cd monero-core`
*Note*: The Qt 5.9.7 or newer requirement makes **some** distributions (mostly based on Debian, like Ubuntu 16.x or Linux Mint 18.x) obsolete due to their repositories containing an older Qt version.
4. Install the GUI dependencies
The recommended way is to install 5.9.7 from the [official Qt installer](https://www.qt.io/download-qt-installer) or [compiling it yourself](https://wiki.qt.io/Install_Qt_5_on_Ubuntu). This ensures you have the correct version. Higher versions *can* work but as it differs from our production build target, slight differences may occur.
- For Ubuntu 16.04 x86
The following instructions will fetch Qt from your distribution's repositories instead. Take note of what version it installs. Your mileage may vary.
`sudo apt-get install qtbase5-dev qt5-default qtdeclarative5-dev qml-module-qtquick-controls qml-module-qtquick-xmllistmodel qttools5-dev-tools qml-module-qtquick-dialogs`
- For Debian distributions (Debian, Ubuntu, Mint, Tails...)
- For Ubuntu 16.04+ x64
`sudo apt-get install qtbase5-dev qt5-default qtdeclarative5-dev qml-module-qtquick-controls qml-module-qtquick-xmllistmodel qttools5-dev-tools qml-module-qtquick-dialogs qml-module-qt-labs-settings libqt5qml-graphicaleffects`
- For Linux Mint 18 "Sarah" - Cinnamon x64
`sudo apt install qml-module-qt-labs-settings qml-module-qtgraphicaleffects`
`sudo apt install qtbase5-dev qtdeclarative5-dev qml-module-qtqml-models2 qml-module-qtquick-controls qml-module-qtquick-controls2 qml-module-qtquick-dialogs qml-module-qtquick-xmllistmodel qml-module-qt-labs-settings qml-module-qt-labs-platform qml-module-qt-labs-folderlistmodel qttools5-dev-tools qml-module-qtquick-templates2 libqt5svg5-dev`
- For Gentoo
The *qml* USE flag must be enabled.
`sudo emerge dev-qt/qtcore:5 dev-qt/qtdeclarative:5 dev-qt/qtquickcontrols:5 dev-qt/qtquickcontrols2:5 dev-qt/qtgraphicaleffects:5`
- Optional : To build the flag `WITH_SCANNER`
- For Ubuntu and Mint
- For Debian distributions (Debian, Ubuntu, Mint, Tails...)
`sudo apt install qtmultimedia5-dev qml-module-qtmultimedia libzbar-dev`
`sudo apt install qtmultimedia5-dev qml-module-qtmultimedia`
- For Gentoo
- For Gentoo
The *qml* USE flag must be enabled.
`emerge dev-qt/qtmultimedia:5`
`emerge dev-qt/qtmultimedia:5 media-gfx/zbar`
5. Build the GUI
3. Clone repository
- For Ubuntu and Mint
```
git clone --recursive https://github.com/monero-project/monero-gui.git
cd monero-gui
```
`./build.sh`
4. Build
- For Gentoo
```
make release -j4
```
`QT_SELECT=5 ./build.sh`
\* `4` - number of CPU threads to use
\* Add `CMAKE_PREFIX_PATH` environment variable to set a custom Qt install directory, e.g. `CMAKE_PREFIX_PATH=$HOME/Qt/5.9.7/gcc_64 make release -j4`
The executable can be found in the build/release/bin folder.
### On OS X:
### Building on OS X
1. Install Xcode from AppStore
2. Install [homebrew](http://brew.sh/)
3. Install [monero](https://github.com/monero-project/monero) dependencies:
`brew install boost --c++11`
`brew install cmake pkg-config openssl boost unbound hidapi zmq libpgm libsodium miniupnpc expat libunwind-headers protobuf libgcrypt`
`brew install openssl` - to install openssl headers
4. Install Qt:
`brew install pkgconfig`
`brew install qt5` (or download QT 5.9.7+ from [qt.io](https://www.qt.io/download-open-source/))
`brew install cmake`
5. Grab an up-to-date copy of the monero-gui repository
`brew install qt5` (or download QT 5.8+ from [qt.io](https://www.qt.io/download-open-source/))
```
git clone --recursive https://github.com/monero-project/monero-gui.git
cd monero-gui
```
If you have an older version of Qt installed via homebrew, you can force it to use 5.x like so:
`brew link --force --overwrite qt5`
6. Start the build
5. Add the Qt bin directory to your path
Example: `export PATH=$PATH:$HOME/Qt/5.8/clang_64/bin`
This is the directory where Qt 5.x is installed on **your** system
6. Grab an up-to-date copy of the monero-core repository
`git clone https://github.com/monero-project/monero-core.git`
7. Go into the repository
`cd monero-core`
8. Start the build
`./build.sh`
```
make release -j4
```
\* `4` - number of CPU threads to use
\* Add `CMAKE_PREFIX_PATH` environment variable to set a custom Qt install directory, e.g. `CMAKE_PREFIX_PATH=$HOME/Qt/5.9.7/clang_64 make release -j4`
The executable can be found in the `build/release/bin` folder.
**Note:** Workaround for "ERROR: Xcode not set up properly"
For building an application bundle see `DEPLOY.md`.
Edit `$HOME/Qt/5.8/clang_64/mkspecs/features/mac/default_pre.prf`
### Building on Windows
replace
`isEmpty($$list($$system("/usr/bin/xcrun -find xcrun 2>/dev/null")))`
The Monero GUI on Windows is 64 bits only; 32-bit Windows GUI builds are not officially supported anymore.
with
`isEmpty($$list($$system("/usr/bin/xcrun -find xcodebuild 2>/dev/null")))`
1. Install [MSYS2](https://www.msys2.org/), follow the instructions on that page on how to update system and packages to the latest versions
More info: http://stackoverflow.com/a/35098040/1683164
2. Open an 64-bit MSYS2 shell: Use the *MSYS2 MinGW 64-bit* shortcut, or use the `msys2_shell.cmd` batch file with a `-mingw64` parameter
3. Install MSYS2 packages for Monero dependencies; the needed 64-bit packages have `x86_64` in their names
### On Windows:
```
pacman -S mingw-w64-x86_64-toolchain make mingw-w64-x86_64-cmake mingw-w64-x86_64-boost mingw-w64-x86_64-openssl mingw-w64-x86_64-zeromq mingw-w64-x86_64-libsodium mingw-w64-x86_64-hidapi mingw-w64-x86_64-protobuf-c mingw-w64-x86_64-libusb mingw-w64-x86_64-libgcrypt mingw-w64-x86_64-unbound mingw-w64-x86_64-pcre
```
1. Install [msys2](http://msys2.github.io/), follow the instructions on that page on how to update packages to the latest versions
You find more details about those dependencies in the [Monero documentation](https://github.com/monero-project/monero). Note that that there is no more need to compile Boost from source; like everything else, you can install it now with a MSYS2 package.
2. Install monero dependencies as described in [monero documentation](https://github.com/monero-project/monero) into msys2 environment
**As we only build application for x86, install only dependencies for x86 architecture (i686 in package name)**
```
pacman -S mingw-w64-i686-toolchain make mingw-w64-i686-cmake mingw-w64-i686-boost
4. Install Qt5
```
```
pacman -S mingw-w64-x86_64-qt5
```
3. Install git into msys2 environment
There is no more need to download some special installer from the Qt website, the standard MSYS2 package for Qt will do in almost all circumstances.
5. Install git
```
pacman -S git
```
4. Install Qt5 from [official site](https://www.qt.io/download-open-source/)
- download unified installer, run and select following options:
- Qt > Qt 5.7 > MinGW 5.3.0 32 bit
- Tools > MinGW 5.3.0
- continue with installation
6. Clone repository
5. Open ```MinGW-w64 Win32 Shell``` shell
```%MSYS_ROOT%\msys2_shell.cmd -mingw32```
Where ```%MSYS_ROOT%``` will be ```c:\msys32``` if your host OS is x86-based or ```c:\msys64``` if your host OS
is x64-based
6. Install the latest version of boost, specificly the required static libraries
```
cd
wget http://sourceforge.net/projects/boost/files/boost/1.63.0/boost_1_63_0.tar.bz2
tar xjf boost_1_63_0.tar.bz2
cd boost_1_63_0
./bootstrap.sh mingw
./b2 --prefix=/mingw32/boost --layout=tagged --without-mpi --without-python toolset=gcc address-model=32 variant=debug,release link=static threading=multi runtime-link=static -j$(nproc) install
git clone --recursive https://github.com/monero-project/monero-gui.git
cd monero-gui
```
7. Clone repository
```
cd
git clone https://github.com/monero-project/monero-core.git
```
7. Build
8. Build the GUI
```
cd monero-core
export PATH=$(ls -rd /c/Qt/5.[6,7,8]/mingw53_32/bin | head -1):$PATH
./build.sh
cd build
make release-win64 -j4
cd build/release
make deploy
```
\* `4` - number of CPU threads to use
The executable can be found in the ```.\release\bin``` directory.
The executable can be found in the `.\bin` directory.

View File

@@ -1,158 +0,0 @@
// Copyright (c) 2014-2015, 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.2
import QtQuick.Controls 1.2
import QtQuick.Controls.Styles 1.2
import QtGraphicalEffects 1.0
import "tabs"
import "components"
Rectangle {
id: root
width: 330
color: "#FFFFFF"
function updateTweets() {
tabView.twitter.item.updateTweets()
}
TabView {
id: tabView
anchors.left: parent.left
anchors.right: parent.right
anchors.top: parent.top
anchors.bottom: styledRow.top
anchors.leftMargin: 14
anchors.rightMargin: 14
anchors.topMargin: 40
property alias twitter: twitter
Tab { id: twitter; title: qsTr("Twitter"); source: "tabs/Twitter.qml" }
Tab { title: qsTr("News") + translationManager.emptyString }
Tab { title: qsTr("Help") + translationManager.emptyString }
Tab { title: qsTr("About") + translationManager.emptyString }
style: TabViewStyle {
frameOverlap: 0
tabOverlap: 0
tab: Rectangle {
implicitHeight: 31
implicitWidth: styleData.index === tabView.count - 1 ? tabView.width - (tabView.count - 1) * 68 : 68
Text {
anchors.verticalCenter: parent.verticalCenter
anchors.left: parent.left
anchors.right: parent.right
anchors.leftMargin: 12
anchors.rightMargin: 12
elide: Text.ElideRight
font.family: "Arial"
font.pixelSize: 14
color: styleData.selected ? "#FF4E40" : "#4A4646"
text: styleData.title
}
Rectangle {
anchors.top: parent.top
anchors.bottom: parent.bottom
anchors.right: parent.right
width: 1
color: "#DBDBDB"
visible: styleData.index !== tabView.count - 1
}
Rectangle {
anchors.left: parent.left
anchors.right: parent.right
anchors.bottom: parent.bottom
anchors.bottomMargin: -1
height: 1
color: styleData.selected ? "#FFFFFF" : "#DBDBDB"
}
}
frame: Rectangle {
color: "#FFFFFF"
anchors.fill: parent
Rectangle {
anchors.left: parent.left
anchors.right: parent.right
anchors.top: parent.top
//anchors.topMargin: 1
height: 1
color: "#DBDBDB"
}
}
}
}
Row {
id: styledRow
anchors.left: parent.left
anchors.right: parent.right
anchors.bottom: parent.bottom
Rectangle { height: 8; width: parent.width / 5; color: "#FFE00A" }
Rectangle { height: 8; width: parent.width / 5; color: "#6B0072" }
Rectangle { height: 8; width: parent.width / 5; color: "#FF6C3C" }
Rectangle { height: 8; width: parent.width / 5; color: "#FFD781" }
Rectangle { height: 8; width: parent.width / 5 - 30; color: "#FF4F41" }
}
Rectangle {
anchors.top: parent.top
anchors.left: parent.left
anchors.right: parent.right
height: 1
color: "#DBDBDB"
}
Rectangle {
anchors.top: parent.top
anchors.bottom: parent.bottom
anchors.right: parent.right
width: 1
color: "#DBDBDB"
}
// indicate disabled state
// Desaturate {
// anchors.fill: parent
// source: parent
// desaturation: root.enabled ? 0.0 : 1.0
// }
}

View File

@@ -1,67 +0,0 @@
#include "TranslationManager.h"
#include <QApplication>
#include <QTranslator>
#include <QDir>
#include <QDebug>
#include <QFileInfo>
TranslationManager * TranslationManager::m_instance = nullptr;
TranslationManager::TranslationManager(QObject *parent) : QObject(parent)
{
m_translator = new QTranslator(this);
}
bool TranslationManager::setLanguage(const QString &language)
{
qDebug() << __FUNCTION__ << " " << language;
// if language is "en", remove translator
if (language.toLower() == "en") {
qApp->removeTranslator(m_translator);
emit languageChanged();
return true;
}
// translations are compiled into app binary
#ifdef Q_OS_MACX
QString dir = qApp->applicationDirPath() + "/../Resources/translations";
#else
QString dir = qApp->applicationDirPath() + "/translations";
#endif
QString filename = "monero-core_" + language;
qDebug("%s: loading translation file '%s' from '%s",
__FUNCTION__, qPrintable(filename), qPrintable(dir));
if (m_translator->load(filename, dir)) {
qDebug("%s: translation for language '%s' loaded successfully",
__FUNCTION__, qPrintable(language));
// TODO: apply locale?
qApp->installTranslator(m_translator);
emit languageChanged();
return true;
} else {
qCritical("%s: error loading translation for language '%s'",
__FUNCTION__, qPrintable(language));
return false;
}
}
TranslationManager *TranslationManager::instance()
{
if (!m_instance) {
m_instance = new TranslationManager();
}
return m_instance;
}
QString TranslationManager::emptyString()
{
return "";
}

View File

@@ -1,29 +0,0 @@
#ifndef TRANSLATIONMANAGER_H
#define TRANSLATIONMANAGER_H
#include <QObject>
class QTranslator;
class TranslationManager : public QObject
{
Q_OBJECT
Q_PROPERTY(QString emptyString READ emptyString NOTIFY languageChanged)
public:
Q_INVOKABLE bool setLanguage(const QString &language);
static TranslationManager *instance();
QString emptyString();
signals:
void languageChanged();
private:
explicit TranslationManager(QObject *parent = 0);
private:
static TranslationManager * m_instance;
QTranslator * m_translator;
};
#endif // TRANSLATIONMANAGER_H

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

@@ -1,53 +0,0 @@
Copyright (c) 2014-2017, The Monero Project
## Current status : ALPHA
- Minimum Android 5.0 (api level 21)
- Modal dialogs can appear in background giving the feeling that the application is frozen (Work around : turn screen off/on or switch to another app and back)
## Build using Docker
# Base environnement
cd monero/utils/build_scripts
docker build -f android32.Dockerfile -t monero-android .
cd ..
# Build GUI
cd android/docker
docker build -t monero-gui-android .
docker create -it --name monero-gui-android monero-gui-android bash
# Get the apk
docker cp monero-gui-android:/opt/android/monero-core/build/release/bin/bin/QtApp-debug.apk .
## Deployment
- Using ADB (Android debugger bridge) :
First, see section [Enable adb debugging on your device](https://developer.android.com/studio/command-line/adb.html#Enabling)
The only place where we are allowed to play is `/data/local/tmp`. So :
adb push /opt/android/monero-core/build/release/bin/bin/QtApp-debug.apk /data/local/tmp
adb shell pm install -r /data/local/tmp/QtApp-debug.apk
- Troubleshooting:
adb devices -l
adb logcat
if using adb inside docker, make sure you did "docker run -v /dev/bus/usb:/dev/bus/usb --privileged"
- Using a web server
mkdir /usr/tmp
cp QtApp-debug.apk /usr/tmp
docker run -d -v /usr/tmp:/usr/share/nginx/html:ro -p 8080:80 nginx
Now it should be accessible through a web browser at
http://<your.local.ip>:8080/QtApp-debug.apk

View File

@@ -1,108 +0,0 @@
FROM monero-android
#INSTALL JAVA
RUN echo "deb http://ftp.fr.debian.org/debian/ jessie-backports main contrib non-free" >> /etc/apt/sources.list
RUN dpkg --add-architecture i386 \
&& apt-get update \
&& apt-get install -y libc6:i386 libncurses5:i386 libstdc++6:i386 libz1:i386 \
&& apt-get install -y -t jessie-backports ca-certificates-java openjdk-8-jdk-headless openjdk-8-jre-headless ant
ENV JAVA_HOME /usr/lib/jvm/java-8-openjdk-amd64
ENV PATH $JAVA_HOME/bin:$PATH
#Get Qt
ENV QT_VERSION 5.8
RUN git clone git://code.qt.io/qt/qt5.git -b ${QT_VERSION} \
&& cd qt5 \
&& perl init-repository
## Note: Need to use libc++ but Qt does not provide mkspec for libc++.
## Their support of it is quite recent and they claim they don't use it by default
## [only because it produces bigger binary objects](https://bugreports.qt.io/browse/QTBUG-50724).
#Create new mkspec for clang + libc++
RUN cp -r qt5/qtbase/mkspecs/android-clang qt5/qtbase/mkspecs/android-clang-libc \
&& cd qt5/qtbase/mkspecs/android-clang-libc \
&& sed -i '16i ANDROID_SOURCES_CXX_STL_LIBDIR = $$NDK_ROOT/sources/cxx-stl/llvm-libc++/libs/$$ANDROID_TARGET_ARCH' qmake.conf \
&& sed -i '17i ANDROID_SOURCES_CXX_STL_INCDIR = $$NDK_ROOT/sources/cxx-stl/llvm-libc++/include' qmake.conf \
&& echo "QMAKE_LIBS_PRIVATE = -lc++_shared -llog -lz -lm -ldl -lc -lgcc " >> qmake.conf \
&& echo "QMAKE_CFLAGS -= -mfpu=vfp " >> qmake.conf \
&& echo "QMAKE_CXXFLAGS -= -mfpu=vfp " >> qmake.conf \
&& echo "QMAKE_CFLAGS += -mfpu=vfp4 " >> qmake.conf \
&& echo "QMAKE_CXXFLAGS += -mfpu=vfp4 " >> qmake.conf
ENV ANDROID_API android-21
#ANDROID SDK TOOLS
RUN echo y | $ANDROID_SDK_ROOT/tools/android update sdk --no-ui --all --filter platform-tools
RUN echo y | $ANDROID_SDK_ROOT/tools/android update sdk --no-ui --all --filter ${ANDROID_API}
RUN echo y | $ANDROID_SDK_ROOT/tools/android update sdk --no-ui --all --filter build-tools-25.0.1
ENV CLEAN_PATH $JAVA_HOME/bin:/usr/cmake-3.6.3-Linux-x86_64/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
#build Qt
RUN cd qt5 && PATH=${CLEAN_PATH} ./configure -developer-build -release \
-xplatform android-clang-libc \
-android-ndk-platform ${ANDROID_API} \
-android-ndk $ANDROID_NDK_ROOT \
-android-sdk $ANDROID_SDK_ROOT \
-opensource -confirm-license \
-prefix ${WORKDIR}/Qt-${QT_VERSION} \
-nomake tests -nomake examples \
-skip qtserialport \
-skip qtconnectivity \
-skip qttranslations \
-skip qtgamepad -skip qtscript -skip qtdoc
# build Qt tools : gnustl_shared.so is hard-coded in androiddeployqt
# replace it with libc++_shared.so
COPY androiddeployqt.patch qt5/qttools/androiddeployqt.patch
RUN cd qt5/qttools \
&& git apply androiddeployqt.patch \
&& cd .. \
&& PATH=${CLEAN_PATH} make -j4 \
&& PATH=${CLEAN_PATH} make install
# Get iconv and ZBar
ENV ICONV_VERSION 1.14
RUN git clone https://github.com/ZBar/ZBar.git \
&& curl -s -O http://ftp.gnu.org/pub/gnu/libiconv/libiconv-${ICONV_VERSION}.tar.gz \
&& tar -xzf libiconv-${ICONV_VERSION}.tar.gz \
&& cd libiconv-${ICONV_VERSION} \
&& CC=arm-linux-androideabi-clang CXX=arm-linux-androideabi-clang++ ./configure --build=x86_64-linux-gnu --host=arm-eabi --prefix=${WORKDIR}/libiconv --disable-rpath
ENV PATH $ANDROID_SDK_ROOT/tools:$ANDROID_SDK_ROOT/platform-tools:${WORKDIR}/Qt-${QT_VERSION}/bin:$PATH
#Build libiconv.a and libzbarjni.a
COPY android.mk.patch ZBar/android.mk.patch
RUN cd ZBar \
&& git apply android.mk.patch \
&& echo \
"APP_ABI := armeabi-v7a \n\
APP_STL := c++_shared \n\
TARGET_PLATFORM := ${ANDROID_API} \n\
TARGET_ARCH_ABI := armeabi-v7a \n\
APP_CFLAGS += -target armv7-none-linux-androideabi -fexceptions -fstack-protector-strong -fno-limit-debug-info -mfloat-abi=softfp -mfpu=vfp -fno-builtin-memmove -fno-omit-frame-pointer -fno-stack-protector\n"\
>> android/jni/Application.mk \
&& cd android \
&& android update project --path . -t "${ANDROID_API}" \
&& CC=arm-linux-androideabi-clang CXX=arm-linux-androideabi-clang++ ant -Dndk.dir=${ANDROID_NDK_ROOT} -Diconv.src=${WORKDIR}/libiconv-${ICONV_VERSION} zbar-clean zbar-ndk-build
#Can't directly call build.sh because of env variables
RUN git clone https://github.com/monero-project/monero-core.git \
&& cd monero-core \
&& 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/ OPENSSL_ROOT_DIR=${WORKDIR}/openssl/ ./get_libwallet_api.sh release-android
RUN cp openssl/lib* ${ANDROID_NDK_ROOT}/platforms/${ANDROID_API}/arch-arm/usr/lib
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
ENV PATH $ANDROID_SDK_ROOT/tools:$ANDROID_SDK_ROOT/platform-tools:${WORKDIR}/Qt-${QT_VERSION}/bin:$CLEAN_PATH
# NB : zxcvbn-c needs to build a local binary and Qt don't care about these environnement variable
RUN cd monero-core \
&& CC="gcc" CXX="g++" ./build.sh release-android \
&& cd build \
&& make deploy

View File

@@ -1,61 +0,0 @@
diff --git a/android/jni/Android.mk b/android/jni/Android.mk
index e442b07..158afd5 100644
--- a/android/jni/Android.mk
+++ b/android/jni/Android.mk
@@ -12,14 +12,18 @@ LOCAL_PATH := $(ICONV_SRC)
LOCAL_MODULE := libiconv
+LOCAL_ARM_MODE := arm
+LOCAL_CPP_FEATURES := exceptions rtti features
LOCAL_CFLAGS := \
-Wno-multichar \
-D_ANDROID \
- -DLIBDIR="c" \
+ -DLIBDIR="\".\"" \
-DBUILDING_LIBICONV \
-DBUILDING_LIBCHARSET \
-DIN_LIBRARY
+LOCAL_CFLAGS += -fno-stack-protector
+
LOCAL_SRC_FILES := \
lib/iconv.c \
libcharset/lib/localcharset.c \
@@ -30,13 +34,14 @@ LOCAL_C_INCLUDES := \
$(ICONV_SRC)/libcharset \
$(ICONV_SRC)/libcharset/include
-include $(BUILD_SHARED_LIBRARY)
+include $(BUILD_STATIC_LIBRARY)
LOCAL_LDLIBS := -llog -lcharset
# libzbarjni
include $(CLEAR_VARS)
+
LOCAL_PATH := $(MY_LOCAL_PATH)
LOCAL_MODULE := zbarjni
LOCAL_SRC_FILES := ../../java/zbarjni.c \
@@ -71,6 +76,17 @@ LOCAL_C_INCLUDES := ../include \
../zbar \
$(ICONV_SRC)/include
-LOCAL_SHARED_LIBRARIES := libiconv
+LOCAL_STATIC_LIBRARIES := libiconv
+LOCAL_ARM_MODE := arm
+LOCAL_CPP_FEATURES := exceptions rtti features
+
+LOCAL_CFLAGS := \
+ -Wno-multichar \
+ -D_ANDROID \
+ -DLIBDIR="\".\"" \
+ -DBUILDING_LIBICONV \
+ -DBUILDING_LIBCHARSET \
+ -DIN_LIBRARY
+
-include $(BUILD_SHARED_LIBRARY)
\ No newline at end of file
+include $(BUILD_STATIC_LIBRARY)

View File

@@ -1,62 +0,0 @@
diff --git a/src/androiddeployqt/main.cpp b/src/androiddeployqt/main.cpp
index 8a8e591..71d693e 100644
--- a/src/androiddeployqt/main.cpp
+++ b/src/androiddeployqt/main.cpp
@@ -1122,7 +1122,7 @@ bool updateLibsXml(const Options &options)
QString libsPath = QLatin1String("libs/") + options.architecture + QLatin1Char('/');
- QString qtLibs = QLatin1String("<item>gnustl_shared</item>\n");
+ QString qtLibs = QLatin1String("<item>c++_shared</item>\n");
QString bundledInLibs;
QString bundledInAssets;
foreach (Options::BundledFile bundledFile, options.bundledFiles) {
@@ -2519,6 +2519,39 @@ bool installApk(const Options &options)
return true;
}
+bool copyStl(Options *options)
+{
+ if (options->deploymentMechanism == Options::Debug && !options->installApk)
+ return true;
+
+ if (options->verbose)
+ fprintf(stdout, "Copying LIBC++ STL library\n");
+
+ QString filePath = options->ndkPath
+ + QLatin1String("/sources/cxx-stl/llvm-libc++")
+ + QLatin1String("/libs/")
+ + options->architecture
+ + QLatin1String("/libc++_shared.so");
+ if (!QFile::exists(filePath)) {
+ fprintf(stderr, "LIBC STL library does not exist at %s\n", qPrintable(filePath));
+ return false;
+ }
+
+ QString destinationDirectory =
+ options->deploymentMechanism == Options::Debug
+ ? options->temporaryDirectoryName + QLatin1String("/lib")
+ : options->outputDirectory + QLatin1String("/libs/") + options->architecture;
+
+ if (!copyFileIfNewer(filePath, destinationDirectory
+ + QLatin1String("/libc++_shared.so"), options->verbose)) {
+ return false;
+ }
+
+ if (options->deploymentMechanism == Options::Debug && !deployToLocalTmp(options, QLatin1String("/lib/libc++_shared.so")))
+ return false;
+
+ return true;
+}
bool copyGnuStl(Options *options)
{
if (options->deploymentMechanism == Options::Debug && !options->installApk)
@@ -2870,7 +2903,7 @@ int main(int argc, char *argv[])
if (Q_UNLIKELY(options.timing))
fprintf(stdout, "[TIMING] %d ms: Read dependencies\n", options.timer.elapsed());
- if (options.deploymentMechanism != Options::Ministro && !copyGnuStl(&options))
+ if (options.deploymentMechanism != Options::Ministro && !copyStl(&options))
return CannotCopyGnuStl;
if (Q_UNLIKELY(options.timing))

View File

@@ -1,98 +0,0 @@
#!/bin/bash
BUILD_TYPE=$1
source ./utils.sh
platform=$(get_platform)
# default build type
if [ -z $BUILD_TYPE ]; then
BUILD_TYPE=release
fi
if [ "$BUILD_TYPE" == "release" ]; then
echo "Building release"
CONFIG="CONFIG+=release";
BIN_PATH=release/bin
elif [ "$BUILD_TYPE" == "release-static" ]; then
echo "Building release-static"
if [ "$platform" != "darwin" ]; then
CONFIG="CONFIG+=release static";
else
# OS X: build static libwallet but dynamic Qt.
echo "OS X: Building Qt project without static flag"
CONFIG="CONFIG+=release";
fi
BIN_PATH=release/bin
elif [ "$BUILD_TYPE" == "release-android" ]; then
echo "Building release for ANDROID"
CONFIG="CONFIG+=release static WITH_SCANNER";
ANDROID=true
BIN_PATH=release/bin
elif [ "$BUILD_TYPE" == "debug-android" ]; then
echo "Building debug for ANDROID : ultra INSECURE !!"
CONFIG="CONFIG+=debug qml_debug WITH_SCANNER";
ANDROID=true
BIN_PATH=debug/bin
elif [ "$BUILD_TYPE" == "debug" ]; then
echo "Building debug"
CONFIG="CONFIG+=debug"
BIN_PATH=debug/bin
else
echo "Valid build types are release, release-static, release-android, debug-android and debug"
exit 1;
fi
source ./utils.sh
pushd $(pwd)
ROOT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
MONERO_DIR=monero
MONEROD_EXEC=monerod
MAKE='make'
if [[ $platform == *bsd* ]]; then
MAKE='gmake'
fi
# build libwallet
$SHELL get_libwallet_api.sh $BUILD_TYPE
# build zxcvbn
$MAKE -C src/zxcvbn-c || exit
if [ ! -d build ]; then mkdir build; fi
# Platform indepenent settings
if [ "$ANDROID" != true ] && ([ "$platform" == "linux32" ] || [ "$platform" == "linux64" ]); then
distro=$(lsb_release -is)
if [ "$distro" == "Ubuntu" ]; then
CONFIG="$CONFIG libunwind_off"
fi
fi
if [ "$platform" == "darwin" ]; then
BIN_PATH=$BIN_PATH/monero-wallet-gui.app/Contents/MacOS/
elif [ "$platform" == "mingw64" ] || [ "$platform" == "mingw32" ]; then
MONEROD_EXEC=monerod.exe
fi
# force version update
get_tag
echo "var GUI_VERSION = \"$TAGNAME\"" > version.js
pushd "$MONERO_DIR"
get_tag
popd
echo "var GUI_MONERO_VERSION = \"$TAGNAME\"" >> version.js
cd build
qmake ../monero-wallet-gui.pro "$CONFIG" || exit
$MAKE || exit
# Copy monerod to bin folder
if [ "$platform" != "mingw32" ] && [ "$ANDROID" != true ]; then
cp ../$MONERO_DIR/bin/$MONEROD_EXEC $BIN_PATH
fi
# make deploy
popd

View File

@@ -1,52 +0,0 @@
#!/bin/bash
# MONERO_URL=https://github.com/monero-project/monero.git
# MONERO_BRANCH=master
CPU_CORE_COUNT=$(grep -c ^processor /proc/cpuinfo 2>/dev/null || sysctl -n hw.ncpu)
pushd $(pwd)
ROOT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
source $ROOT_DIR/utils.sh
INSTALL_DIR=$ROOT_DIR/wallet
MONERO_DIR=$ROOT_DIR/monero
mkdir -p $MONERO_DIR/build/release
pushd $MONERO_DIR/build/release
# reusing function from "utils.sh"
platform=$(get_platform)
pushd $MONERO_DIR/build/release/src/wallet
make -j$CPU_CORE_COUNT
make install -j$CPU_CORE_COUNT
popd
# unbound is one more dependency. can't be merged to the wallet_merged
# since filename conflict (random.c.obj)
# for Linux, we use libunbound shipped with the system, so we don't need to build it
if [ "$platform" != "linux" ]; then
echo "Building libunbound..."
pushd $MONERO_DIR/build/release/external/unbound
# no need to make, it was already built as dependency for libwallet
# make -j$CPU_CORE_COUNT
make install -j$CPU_CORE_COUNT
popd
fi
popd

View File

@@ -0,0 +1,50 @@
# Copyright (c) 2014-2024, 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.
if (NOT CMAKE_HOST_WIN32)
set (CMAKE_SYSTEM_NAME Windows)
endif()
set (GCC_PREFIX i686-w64-mingw32)
set (CMAKE_C_COMPILER ${GCC_PREFIX}-gcc)
set (CMAKE_CXX_COMPILER ${GCC_PREFIX}-g++)
set (CMAKE_AR ar CACHE FILEPATH "" FORCE)
set (CMAKE_NM nm CACHE FILEPATH "" FORCE)
set (CMAKE_LINKER ld CACHE FILEPATH "" FORCE)
#set (CMAKE_RANLIB ${GCC_PREFIX}-gcc-ranlib CACHE FILEPATH "" FORCE)
set (CMAKE_RC_COMPILER windres)
set (CMAKE_FIND_ROOT_PATH "${MSYS2_FOLDER}/mingw32")
# Ensure cmake doesn't find things in the wrong places
set (CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) # Find programs on host
set (CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) # Find libs in target
set (CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) # Find includes in target
set (MINGW_FLAG "-m32")
set (USE_LTO_DEFAULT false)

View File

@@ -0,0 +1,50 @@
# Copyright (c) 2014-2024, 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.
if (NOT CMAKE_HOST_WIN32)
set (CMAKE_SYSTEM_NAME Windows)
endif()
set (GCC_PREFIX x86_64-w64-mingw32)
set (CMAKE_C_COMPILER ${GCC_PREFIX}-gcc)
set (CMAKE_CXX_COMPILER ${GCC_PREFIX}-g++)
set (CMAKE_AR ar CACHE FILEPATH "" FORCE)
set (CMAKE_NM nm CACHE FILEPATH "" FORCE)
set (CMAKE_LINKER ld CACHE FILEPATH "" FORCE)
#set (CMAKE_RANLIB ${GCC_PREFIX}-gcc-ranlib CACHE FILEPATH "" FORCE)
set (CMAKE_RC_COMPILER windres)
set (CMAKE_FIND_ROOT_PATH "${MSYS2_FOLDER}/mingw64")
# Ensure cmake doesn't find things in the wrong places
set (CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) # Find programs on host
set (CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) # Find libs in target
set (CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) # Find includes in target
set (MINGW_FLAG "-m64")
set (USE_LTO_DEFAULT false)

14
cmake/CheckLinkerFlag.c Normal file
View File

@@ -0,0 +1,14 @@
#ifdef __CLASSIC_C__
int main()
{
int ac;
char* av[];
#else
int main(int ac, char* av[])
{
#endif
if (ac > 1000) {
return *av[0];
}
return 0;
}

View File

@@ -0,0 +1,47 @@
include(CheckCCompilerFlag)
macro(CHECK_LINKER_FLAG flag VARIABLE)
if(NOT DEFINED "${VARIABLE}")
if(NOT CMAKE_REQUIRED_QUIET)
message(STATUS "Looking for ${flag} linker flag")
endif()
set(_cle_source ${CMAKE_SOURCE_DIR}/cmake/CheckLinkerFlag.c)
set(saved_CMAKE_C_FLAGS ${CMAKE_C_FLAGS})
set(CMAKE_C_FLAGS "${flag}")
try_compile(${VARIABLE}
${CMAKE_BINARY_DIR}
${_cle_source}
COMPILE_DEFINITIONS ${CMAKE_REQUIRED_DEFINITIONS} ${flag}
CMAKE_FLAGS
OUTPUT_VARIABLE OUTPUT)
unset(_cle_source)
set(CMAKE_C_FLAGS ${saved_CMAKE_C_FLAGS})
unset(saved_CMAKE_C_FLAGS)
if ("${OUTPUT}" MATCHES "warning.*ignored")
set(${VARIABLE} 0)
endif()
if(${VARIABLE})
if(NOT CMAKE_REQUIRED_QUIET)
message(STATUS "Looking for ${flag} linker flag - found")
endif()
set(${VARIABLE} 1 CACHE INTERNAL "Have linker flag ${flag}")
file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
"Determining if the ${flag} linker flag is supported "
"passed with the following output:\n"
"${OUTPUT}\n\n")
else()
if(NOT CMAKE_REQUIRED_QUIET)
message(STATUS "Looking for ${flag} linker flag - not found")
endif()
set(${VARIABLE} "" CACHE INTERNAL "Have linker flag ${flag}")
file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
"Determining if the ${flag} linker flag is supported "
"failed with the following output:\n"
"${OUTPUT}\n\n")
endif()
endif()
endmacro()

113
cmake/Deploy.cmake Normal file
View File

@@ -0,0 +1,113 @@
if(APPLE OR (WIN32 AND NOT STATIC))
add_custom_target(deploy)
get_target_property(_qmake_executable Qt5::qmake IMPORTED_LOCATION)
get_filename_component(_qt_bin_dir "${_qmake_executable}" DIRECTORY)
if(APPLE AND NOT IOS)
find_program(MACDEPLOYQT_EXECUTABLE macdeployqt HINTS "${_qt_bin_dir}")
add_custom_command(TARGET deploy
POST_BUILD
COMMAND "${MACDEPLOYQT_EXECUTABLE}" "$<TARGET_FILE_DIR:monero-wallet-gui>/../.." -always-overwrite -qmldir="${CMAKE_SOURCE_DIR}"
COMMENT "Running macdeployqt..."
)
# workaround for a Qt bug that requires manually adding libqsvg.dylib to bundle
find_file(_qt_svg_dylib "libqsvg.dylib" PATHS "${CMAKE_PREFIX_PATH}/plugins/imageformats" NO_DEFAULT_PATH)
if(_qt_svg_dylib)
add_custom_command(TARGET deploy
POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy ${_qt_svg_dylib} $<TARGET_FILE_DIR:monero-wallet-gui>/../PlugIns/imageformats/
COMMAND ${CMAKE_INSTALL_NAME_TOOL} -change "${CMAKE_PREFIX_PATH}/lib/QtGui.framework/Versions/5/QtGui" "@executable_path/../Frameworks/QtGui.framework/Versions/5/QtGui" $<TARGET_FILE_DIR:monero-wallet-gui>/../PlugIns/imageformats/libqsvg.dylib
COMMAND ${CMAKE_INSTALL_NAME_TOOL} -change "${CMAKE_PREFIX_PATH}/lib/QtWidgets.framework/Versions/5/QtWidgets" "@executable_path/../Frameworks/QtWidgets.framework/Versions/5/QtWidgets" $<TARGET_FILE_DIR:monero-wallet-gui>/../PlugIns/imageformats/libqsvg.dylib
COMMAND ${CMAKE_INSTALL_NAME_TOOL} -change "${CMAKE_PREFIX_PATH}/lib/QtSvg.framework/Versions/5/QtSvg" "@executable_path/../Frameworks/QtSvg.framework/Versions/5/QtSvg" $<TARGET_FILE_DIR:monero-wallet-gui>/../PlugIns/imageformats/libqsvg.dylib
COMMAND ${CMAKE_INSTALL_NAME_TOOL} -change "${CMAKE_PREFIX_PATH}/lib/QtCore.framework/Versions/5/QtCore" "@executable_path/../Frameworks/QtCore.framework/Versions/5/QtCore" $<TARGET_FILE_DIR:monero-wallet-gui>/../PlugIns/imageformats/libqsvg.dylib
COMMENT "Copying libqsvg.dylib, running install_name_tool"
)
endif()
# libbost_filesyste-mt.dylib has a dependency on libboost_atomic-mt.dylib, maydeployqt does not copy it by itself
find_package(Boost COMPONENTS atomic)
get_target_property(BOOST_ATOMIC_LIB_PATH Boost::atomic LOCATION)
if(EXISTS ${BOOST_ATOMIC_LIB_PATH})
add_custom_command(TARGET deploy
POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy "${BOOST_ATOMIC_LIB_PATH}" "$<TARGET_FILE_DIR:monero-wallet-gui>/../Frameworks/"
COMMENT "Copying libboost_atomic-mt.dylib"
)
endif()
# Apple Silicon requires all binaries to be codesigned
find_program(CODESIGN_EXECUTABLE NAMES codesign)
if(CODESIGN_EXECUTABLE)
add_custom_command(TARGET deploy
POST_BUILD
COMMAND "${CODESIGN_EXECUTABLE}" --force --deep --sign - "$<TARGET_FILE_DIR:monero-wallet-gui>/../.."
COMMENT "Running codesign..."
)
endif()
elseif(WIN32)
find_program(WINDEPLOYQT_EXECUTABLE windeployqt HINTS "${_qt_bin_dir}")
add_custom_command(TARGET monero-wallet-gui POST_BUILD
COMMAND "${CMAKE_COMMAND}" -E env PATH="${_qt_bin_dir}" "${WINDEPLOYQT_EXECUTABLE}" "$<TARGET_FILE:monero-wallet-gui>" -no-translations -qmldir="${CMAKE_SOURCE_DIR}"
COMMENT "Running windeployqt..."
)
set(WIN_DEPLOY_DLLS
libboost_chrono-mt.dll
libboost_filesystem-mt.dll
libboost_locale-mt.dll
libboost_program_options-mt.dll
libboost_regex-mt.dll
libboost_serialization-mt.dll
libboost_thread-mt.dll
libprotobuf.dll
libbrotlicommon.dll
libbrotlidec.dll
libusb-1.0.dll
zlib1.dll
libzstd.dll
libwinpthread-1.dll
libtiff-6.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
libpcre2-16-0.dll
libhidapi-0.dll
libdouble-conversion.dll
libgcrypt-20.dll
libgpg-error-0.dll
libsodium-26.dll
libzmq.dll
#platform files
libgcc_s_seh-1.dll
#openssl files
libssl-3-x64.dll
libcrypto-3-x64.dll
#icu
libicudt74.dll
libicuin74.dll
libicuio74.dll
libicutu74.dll
libicuuc74.dll
)
list(TRANSFORM WIN_DEPLOY_DLLS PREPEND "$ENV{MSYSTEM_PREFIX}/bin/")
add_custom_command(TARGET deploy
POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy ${WIN_DEPLOY_DLLS} "$<TARGET_FILE_DIR:monero-wallet-gui>"
COMMENT "Copying DLLs to target folder"
)
endif()
endif()

47
cmake/VersionGui.cmake Normal file
View File

@@ -0,0 +1,47 @@
# Copyright (c) 2014-2024, 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.
function (write_static_version_header tag)
set(VERSION_TAG_GUI "${tag}" CACHE STRING "The tag portion of the Monero GUI software version" FORCE)
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/src/version.js.in" "${CMAKE_CURRENT_SOURCE_DIR}/version.js")
endfunction ()
find_package(Git QUIET)
if ("$Format:$" STREQUAL "")
# We're in a tarball; use hard-coded variables.
write_static_version_header("release")
elseif (GIT_FOUND OR Git_FOUND)
message(STATUS "Found Git: ${GIT_EXECUTABLE}")
get_version_tag_from_git("${GIT_EXECUTABLE}")
write_static_version_header(${VERSIONTAG})
else()
message(STATUS "WARNING: Git was not found!")
write_static_version_header("unknown")
endif ()
add_custom_target(genversiongui ALL
DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/version.js")

View File

@@ -1,168 +0,0 @@
// Copyright (c) 2014-2015, 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.0
import moneroComponents.Clipboard 1.0
ListView {
id: listView
clip: true
boundsBehavior: ListView.StopAtBounds
footer: Rectangle {
height: 127
width: listView.width
color: "#FFFFFF"
Text {
anchors.centerIn: parent
font.family: "Arial"
font.pixelSize: 14
color: "#545454"
text: qsTr("No more results") + translationManager.emptyString
}
}
property var previousItem
delegate: Rectangle {
id: delegate
height: 64
width: listView.width
color: index % 2 ? "#F8F8F8" : "#FFFFFF"
z: listView.count - index
function collapseDropdown() { dropdown.expanded = false }
Text {
id: descriptionText
anchors.left: parent.left
anchors.top: parent.top
anchors.topMargin: 12
width: text.length ? (descriptionArea.containsMouse ? dropdown.x - x - 12 : 139) : 0
font.family: "Arial"
font.bold: true
font.pixelSize: 19
color: "#444444"
elide: Text.ElideRight
text: description
MouseArea {
id: descriptionArea
anchors.fill: parent
hoverEnabled: true
}
}
TextEdit {
id: addressText
selectByMouse: true
anchors.bottom: descriptionText.bottom
anchors.left: descriptionText.right
anchors.right: dropdown.left
anchors.leftMargin: description.length > 0 ? 12 : 0
anchors.rightMargin: 40
font.family: "Arial"
font.pixelSize: 16
color: "#545454"
text: address
}
Text {
id: paymentLabel
anchors.left: parent.left
anchors.bottom: parent.bottom
anchors.bottomMargin: 12
width: 139
font.family: "Arial"
font.pixelSize: 12
color: "#535353"
text: qsTr("Payment ID:") + translationManager.emptyString
}
TextEdit {
selectByMouse: true;
anchors.bottom: paymentLabel.bottom
anchors.left: paymentLabel.right
anchors.leftMargin: 12
anchors.rightMargin: 12
anchors.right: dropdown.left
font.family: "Arial"
font.pixelSize: 13
color: "#545454"
text: paymentId
}
ListModel {
id: dropModel
ListElement { name: "<b>Copy address to clipboard</b>"; icon: "../images/dropdownCopy.png" }
ListElement { name: "<b>Send to this address</b>"; icon: "../images/dropdownSend.png" }
// ListElement { name: "<b>Find similar transactions</b>"; icon: "../images/dropdownSearch.png" }
ListElement { name: "<b>Remove from address book</b>"; icon: "../images/dropdownDel.png" }
}
Clipboard { id: clipboard }
TableDropdown {
id: dropdown
anchors.right: parent.right
anchors.verticalCenter: parent.verticalCenter
anchors.rightMargin: 5
dataModel: dropModel
z: 1
onExpandedChanged: {
if(expanded) {
listView.previousItem = delegate
listView.currentIndex = index
}
}
onOptionClicked: {
// Ensure tooltip is closed
appWindow.toolTip.visible = false;
if(option === 0)
clipboard.setText(address)
else if(option === 1){
console.log("Sending to: ", address +" "+ paymentId);
middlePanel.sendTo(address, paymentId, description);
leftPanel.selectItem(middlePanel.state)
} else if(option === 2){
console.log("Delete: ", rowId);
currentWallet.addressBookModel.deleteRow(rowId);
}
}
}
Rectangle {
anchors.left: parent.left
anchors.right: parent.right
anchors.bottom: parent.bottom
height: 1
color: "#DBDBDB"
}
}
}

View File

@@ -0,0 +1,68 @@
import QtQuick 2.9
import QtQuick.Layouts 1.1
import "../components" as MoneroComponents
RowLayout {
id: advancedOptionsItem
property alias title: title.text
property alias tooltip: title.tooltip
property alias button1: button1
property alias button2: button2
property alias button3: button3
RowLayout {
id: titlecolumn
Layout.alignment: Qt.AlignTop | Qt.AlignLeft
Layout.preferredWidth: 195
Layout.maximumWidth: 195
Layout.leftMargin: 10
MoneroComponents.Label {
id: title
fontSize: 14
tooltipIconVisible: true
}
Rectangle {
id: separator
Layout.fillWidth: true
height: 10
color: "transparent"
}
}
ColumnLayout {
Layout.fillWidth: false
Layout.alignment: Qt.AlignTop | Qt.AlignLeft
spacing: 4
RowLayout {
Layout.fillWidth: false
spacing: 12
Layout.alignment: Qt.AlignTop | Qt.AlignLeft
StandardButton {
id: button1
small: true
primary: false
visible: button1.text
}
StandardButton {
id: button2
small: true
primary: false
visible: button2.text
}
StandardButton {
id: button3
small: true
primary: false
visible: button3.text
}
}
}
}

47
components/CMakeLists.txt Normal file
View File

@@ -0,0 +1,47 @@
# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
###
#configure_file(${CMAKE_CURRENT_SOURCE_DIR}/defines.h.cmake
# ${CMAKE_CURRENT_BINARY_DIR}/defines.h)
file(GLOB_RECURSE UI_FILES *.ui)
file(GLOB_RECURSE CODE_FILES *.cpp)
qt5_wrap_ui(UI_HEADERS ${UI_FILES})
#qt5_add_resources(RESOURCE_FILES ../resources/resources.qrc)
# Windows application icon
if (WIN32)
set(WINDOWS_RES_FILE ${CMAKE_CURRENT_BINARY_DIR}/resources.obj)
if (MSVC)
add_custom_command(OUTPUT ${WINDOWS_RES_FILE}
COMMAND rc.exe /fo ${WINDOWS_RES_FILE} resources.rc
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/win
)
else()
add_custom_command(OUTPUT ${WINDOWS_RES_FILE}
COMMAND windres.exe resources.rc ${WINDOWS_RES_FILE}
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/win
)
endif()
endif()
add_executable(${CMAKE_PROJECT_NAME} WIN32
${UI_HEADERS}
${CODE_FILES}
${RESOURCE_FILES}
${WINDOWS_RES_FILE}
)
target_link_libraries(${CMAKE_PROJECT_NAME}
Qt5::Widgets
)
if (UNIX)
install(TARGETS ${CMAKE_PROJECT_NAME}
RUNTIME DESTINATION bin)
elseif (WIN32)
install(TARGETS ${CMAKE_PROJECT_NAME}
DESTINATION .)
endif()

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2014-2015, The Monero Project
// Copyright (c) 2014-2024, The Monero Project
//
// All rights reserved.
//
@@ -26,64 +26,109 @@
// 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.0
import QtQuick 2.9
import QtQuick.Layouts 1.1
import FontAwesome 1.0
import "." as MoneroComponents
import "effects/" as MoneroEffects
Item {
id: checkBox
property alias text: label.text
property string checkedIcon
property string checkedIcon: "qrc:///images/check-white.svg"
property string uncheckedIcon
property bool fontAwesomeIcons: false
property int imgWidth: 13
property int imgHeight: 13
property bool toggleOnClick: true
property bool checked: false
property alias background: backgroundRect.color
property bool border: true
property int fontSize: 14
property alias fontColor: label.color
property bool iconOnTheLeft: true
property alias tooltipIconVisible: label.tooltipIconVisible
property alias tooltip: label.tooltip
signal clicked()
height: 25
width: label.x + label.width
Layout.minimumWidth: label.x + label.contentWidth
clip: true
width: checkBoxLayout.width
opacity: enabled ? 1 : 0.7
Rectangle {
anchors.left: parent.left
height: parent.height - 1
width: 25
//radius: 4
y: 0
color: "#DBDBDB"
}
Keys.onEnterPressed: toggle()
Keys.onReturnPressed: Keys.onEnterPressed(event)
Keys.onSpacePressed: Keys.onEnterPressed(event)
Rectangle {
id: backgroundRect
anchors.left: parent.left
height: parent.height - 1
width: 25
//radius: 4
y: 1
color: "#FFFFFF"
Image {
anchors.centerIn: parent
source: checkBox.checked ? checkBox.checkedIcon :
checkBox.uncheckedIcon
function toggle(){
if (checkBox.toggleOnClick) {
checkBox.checked = !checkBox.checked
}
checkBox.clicked()
}
Text {
id: label
anchors.verticalCenter: parent.verticalCenter
anchors.left: parent.left
anchors.leftMargin: 25 + 12
font.family: "Arial"
font.pixelSize: checkBox.fontSize
color: "#525252"
RowLayout {
id: checkBoxLayout
layoutDirection: iconOnTheLeft ? Qt.LeftToRight : Qt.RightToLeft
spacing: 10
Item {
id: checkMark
height: checkBox.height
width: checkBox.height
Rectangle {
id: backgroundRect
visible: checkBox.border
anchors.fill: parent
radius: 3
color: checkBox.enabled ? "transparent" : MoneroComponents.Style.inputBoxBackgroundDisabled
border.color:
if (checkBox.activeFocus) {
return MoneroComponents.Style.inputBorderColorActive;
} else {
return MoneroComponents.Style.inputBorderColorInActive;
}
}
MoneroEffects.ImageMask {
id: img
visible: checkBox.checked || checkBox.uncheckedIcon != ""
anchors.centerIn: parent
width: checkBox.imgWidth
height: checkBox.imgHeight
color: MoneroComponents.Style.defaultFontColor
fontAwesomeFallbackIcon: checkBox.fontAwesomeIcons ? getIcon() : FontAwesome.plus
fontAwesomeFallbackSize: 14
image: checkBox.fontAwesomeIcons ? "" : getIcon()
function getIcon() {
if (checkBox.checked || checkBox.uncheckedIcon == "")
return checkBox.checkedIcon;
return checkBox.uncheckedIcon;
}
}
}
MoneroComponents.TextPlain {
id: label
font.family: MoneroComponents.Style.fontRegular.name
font.pixelSize: checkBox.fontSize
color: MoneroComponents.Style.defaultFontColor
textFormat: Text.RichText
wrapMode: Text.NoWrap
visible: text != ""
}
}
MouseArea {
anchors.fill: parent
hoverEnabled: true
cursorShape: Qt.PointingHandCursor
onEntered: !label.tooltipIconVisible && label.tooltip ? label.tooltipPopup.open() : ""
onExited: !label.tooltipIconVisible && label.tooltip ? label.tooltipPopup.close() : ""
onClicked: {
checkBox.checked = !checkBox.checked
checkBox.clicked()
toggle()
}
}
}

110
components/CheckBox2.qml Normal file
View File

@@ -0,0 +1,110 @@
// Copyright (c) 2014-2024, 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.Layouts 1.1
import QtGraphicalEffects 1.0
import FontAwesome 1.0
import "." 1.0
import "." as MoneroComponents
import "effects/" as MoneroEffects
RowLayout {
id: checkBox
property alias text: label.text
property bool checked: false
property int fontSize: 14
property alias fontColor: label.color
property int textMargin: 8
signal clicked()
height: 25
function toggle(){
checkBox.checked = !checkBox.checked
checkBox.clicked()
}
RowLayout {
Layout.fillWidth: true
Rectangle{
height: label.height
width: (label.width + indicatorRect.width + checkBox.textMargin)
color: "transparent"
MoneroComponents.TextPlain {
id: label
font.family: Style.fontLight.name
font.pixelSize: checkBox.fontSize
color: Style.defaultFontColor
wrapMode: Text.Wrap
Layout.fillWidth: true
anchors.left: parent.left
}
Rectangle {
id: indicatorRect
width: indicatorImage.width
height: label.height
anchors.left: label.right
anchors.leftMargin: textMargin
color: "transparent"
rotation: checkBox.checked ? 180 : 0
MoneroEffects.ImageMask {
id: indicatorImage
anchors.centerIn: parent
width: 12
height: 8
image: "qrc:///images/whiteDropIndicator.png"
color: MoneroComponents.Style.defaultFontColor
opacity: MoneroComponents.Style.blackTheme ? 1 : 0.75
fontAwesomeFallbackIcon: FontAwesome.arrowDown
fontAwesomeFallbackSize: 14
MoneroEffects.ColorTransition {
targetObj: indicatorImage
blackColor: "white"
whiteColor: "black"
duration: 500
}
}
}
MouseArea {
anchors.fill: parent
hoverEnabled: true
cursorShape: Qt.PointingHandCursor
onClicked: {
toggle();
}
}
}
}
}

View File

@@ -0,0 +1,78 @@
import QtQuick 2.9
import QtQuick.Controls 2.2
import FontAwesome 1.0
import "../components" as MoneroComponents
MouseArea {
signal cut()
signal copy()
signal paste()
signal remove()
signal selectAll()
id: root
acceptedButtons: Qt.RightButton
anchors.fill: parent
onClicked: {
if (mouse.button === Qt.RightButton) {
root.parent.persistentSelection = true;
contextMenu.open()
root.parent.cursorVisible = true;
}
}
Menu {
id: contextMenu
background: Rectangle {
border.color: MoneroComponents.Style.buttonBackgroundColorDisabledHover
border.width: 1
radius: 2
color: MoneroComponents.Style.blackTheme ? MoneroComponents.Style.buttonBackgroundColorDisabled : "#E5E5E5"
}
padding: 1
width: 110
x: root.mouseX
y: root.mouseY
onClosed: {
if (!root.parent.activeFocus) {
root.parent.cursorVisible = false;
}
root.parent.persistentSelection = false;
root.parent.forceActiveFocus()
}
MoneroComponents.ContextMenuItem {
enabled: root.parent.selectedText != "" && !root.parent.readOnly
onTriggered: root.cut()
text: qsTr("Cut") + translationManager.emptyString
}
MoneroComponents.ContextMenuItem {
enabled: root.parent.selectedText != ""
onTriggered: root.copy()
text: qsTr("Copy") + translationManager.emptyString
}
MoneroComponents.ContextMenuItem {
enabled: root.parent.canPaste === true
onTriggered: root.paste()
text: qsTr("Paste") + translationManager.emptyString
}
MoneroComponents.ContextMenuItem {
enabled: root.parent.selectedText != "" && !root.parent.readOnly
onTriggered: root.remove()
text: qsTr("Delete") + translationManager.emptyString
}
MoneroComponents.ContextMenuItem {
enabled: root.parent.text != ""
onTriggered: root.selectAll()
text: qsTr("Select All") + translationManager.emptyString
}
}
}

View File

@@ -0,0 +1,62 @@
import QtQuick 2.9
import QtQuick.Controls 2.2
import QtQuick.Layouts 1.1
import FontAwesome 1.0
import "../components" as MoneroComponents
MenuItem {
id: menuItem
property bool glyphIconSolid: true
property alias glyphIcon: glyphIcon.text
background: Rectangle {
color: MoneroComponents.Style.buttonBackgroundColorDisabledHover
opacity: 0
MouseArea {
id: mouse
anchors.fill: parent
hoverEnabled: true
onEntered: {
parent.opacity = 1;
}
onExited: {
parent.opacity = 0;
}
onClicked: {
if (menuItem.enabled) {
menuItem.triggered();
parent.opacity = 0;
}
}
}
}
contentItem: RowLayout {
anchors.fill: parent
anchors.leftMargin: 20
anchors.rightMargin: 10
opacity: menuItem.enabled ? 1 : 0.4
spacing: 8
Text {
id: glyphIcon
color: MoneroComponents.Style.buttonTextColor
font.family: glyphIconSolid ? FontAwesome.fontFamilySolid : FontAwesome.fontFamily
font.pixelSize: 14
font.styleName: glyphIconSolid ? "Solid" : "Regular"
}
Text {
color: MoneroComponents.Style.blackTheme ? MoneroComponents.Style.buttonTextColor : MoneroComponents.Style.defaultFontColor
font.family: MoneroComponents.Style.fontRegular.name
font.pixelSize: 14
Layout.fillWidth: true
text: menuItem.text
}
}
}

View File

@@ -1,156 +0,0 @@
// Copyright (c) 2014-2015, 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.0
import QtQuick.Controls 1.4
import QtQuick.Dialogs 1.2
import QtQuick.Layouts 1.1
import QtQuick.Controls.Styles 1.4
import QtQuick.Window 2.0
import "../components" as MoneroComponents
Window {
id: root
modality: Qt.ApplicationModal
flags: Qt.Window | Qt.FramelessWindowHint
property alias title: dialogTitle.text
property alias text: dialogContent.text
property alias content: root.text
property alias okVisible: okButton.visible
property alias textArea: dialogContent
property var icon
// same signals as Dialog has
signal accepted()
signal rejected()
function open() {
show()
}
// TODO: implement without hardcoding sizes
width: 480
height: 280
// Make window draggable
MouseArea {
anchors.fill: parent
property point lastMousePos: Qt.point(0, 0)
onPressed: { lastMousePos = Qt.point(mouseX, mouseY); }
onMouseXChanged: root.x += (mouseX - lastMousePos.x)
onMouseYChanged: root.y += (mouseY - lastMousePos.y)
}
ColumnLayout {
id: mainLayout
spacing: 10
anchors { fill: parent; margins: 35 }
RowLayout {
id: column
//anchors {fill: parent; margins: 16 }
Layout.alignment: Qt.AlignHCenter
Label {
id: dialogTitle
horizontalAlignment: Text.AlignHCenter
font.pixelSize: 32
font.family: "Arial"
color: "#555555"
}
}
RowLayout {
TextArea {
id : dialogContent
Layout.fillWidth: true
Layout.fillHeight: true
font.family: "Arial"
textFormat: TextEdit.AutoText
readOnly: true
font.pixelSize: 12
}
}
// Ok/Cancel buttons
RowLayout {
id: buttons
spacing: 60
Layout.alignment: Qt.AlignHCenter
MoneroComponents.StandardButton {
id: okButton
width: 120
fontSize: 14
shadowReleasedColor: "#FF4304"
shadowPressedColor: "#B32D00"
releasedColor: "#FF6C3C"
pressedColor: "#FF4304"
text: qsTr("Close") + translationManager.emptyString
onClicked: {
root.close()
root.accepted()
}
}
MoneroComponents.LineEdit {
id: sendCommandText
width: 300
placeholderText: qsTr("command + enter (e.g help)") + translationManager.emptyString
onAccepted: {
if(text.length > 0)
daemonManager.sendCommand(text,currentWallet.testnet);
text = ""
}
}
// Status button
// MoneroComponents.StandardButton {
// id: sendCommandButton
// enabled: sendCommandText.text.length > 0
// fontSize: 14
// shadowReleasedColor: "#FF4304"
// shadowPressedColor: "#B32D00"
// releasedColor: "#FF6C3C"
// pressedColor: "#FF4304"
// text: qsTr("Send command")
// onClicked: {
// daemonManager.sendCommand(sendCommandText.text,currentWallet.testnet);
// }
// }
}
}
}

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2014-2015, The Monero Project
// Copyright (c) 2014-2024, The Monero Project
//
// All rights reserved.
//
@@ -26,12 +26,13 @@
// 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.0
import QtQuick 2.9
import QtQuick.Controls 1.4
import QtQuick.Dialogs 1.2
import QtQuick.Layouts 1.1
import QtQuick.Controls.Styles 1.4
import QtQuick.Window 2.0
import moneroComponents.Wallet 1.0
import "../components" as MoneroComponents
@@ -39,19 +40,20 @@ Window {
id: root
modality: Qt.ApplicationModal
flags: Qt.Window | Qt.FramelessWindowHint
property int countDown: 5;
property int countDown: 10;
signal rejected()
signal started();
function open() {
show()
countDown = 5;
countDown = 10;
timer.start();
}
// TODO: implement without hardcoding sizes
width: 480
height: 200
color: MoneroComponents.Style.middlePanelBackgroundColor
// Make window draggable
MouseArea {
@@ -78,6 +80,10 @@ Window {
running: false;
repeat: true
onTriggered: {
if (currentWallet.connected() == Wallet.ConnectionStatus_Connected) {
running = false;
root.close();
}
countDown--;
if(countDown < 0){
running = false;
@@ -89,12 +95,14 @@ Window {
}
}
Text {
text: qsTr("Starting Monero daemon in %1 seconds").arg(countDown);
MoneroComponents.TextPlain {
text: qsTr("Starting local node in %1 seconds").arg(countDown) + translationManager.emptyString;
font.pixelSize: 18
Layout.alignment: Qt.AlignHCenter
Layout.fillWidth: true
horizontalAlignment: Text.AlignHCenter
themeTransition: false
color: MoneroComponents.Style.defaultFontColor
}
}
@@ -108,11 +116,7 @@ Window {
id: okButton
visible:false
fontSize: 14
shadowReleasedColor: "#FF4304"
shadowPressedColor: "#B32D00"
releasedColor: "#FF6C3C"
pressedColor: "#FF4304"
text: qsTr("Start daemon (%1)").arg(countDown)
text: qsTr("Start daemon (%1)").arg(countDown) + translationManager.emptyString
KeyNavigation.tab: cancelButton
onClicked: {
timer.stop();
@@ -125,11 +129,7 @@ Window {
MoneroComponents.StandardButton {
id: cancelButton
fontSize: 14
shadowReleasedColor: "#FF4304"
shadowPressedColor: "#B32D00"
releasedColor: "#FF6C3C"
pressedColor: "#FF4304"
text: qsTr("Use custom settings")
text: qsTr("Use custom settings") + translationManager.emptyString
onClicked: {
timer.stop();

View File

@@ -1,252 +0,0 @@
// Copyright (c) 2014-2015, 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.0
import moneroComponents.Clipboard 1.0
ListView {
id: listView
clip: true
boundsBehavior: ListView.StopAtBounds
footer: Rectangle {
height: 127
width: listView.width
color: "#FFFFFF"
Text {
anchors.centerIn: parent
font.family: "Arial"
font.pixelSize: 14
color: "#545454"
text: qsTr("No more results") + translationManager.emptyString
}
}
property var previousItem
delegate: Rectangle {
id: delegate
height: 90
width: listView.width
color: index % 2 ? "#F8F8F8" : "#FFFFFF"
z: listView.count - index
function collapseDropdown() { dropdown.expanded = false }
Row {
id: row1
anchors.left: parent.left
anchors.right: parent.right
anchors.top: parent.top
anchors.topMargin: 14
Rectangle {
id: dot
width: 14
height: width
radius: width / 2
color: out ? "#FF4F41" : "#36B05B"
}
Item { //separator
width: 12
height: 14
}
Text {
id: descriptionText
width: text.length ? (descriptionArea.containsMouse ? parent.width - x - 12 : 120) : 0
anchors.verticalCenter: dot.verticalCenter
font.family: "Arial"
font.bold: true
font.pixelSize: 19
color: "#444444"
elide: Text.ElideRight
text: description
MouseArea {
id: descriptionArea
anchors.fill: parent
hoverEnabled: true
}
}
Item { //separator
width: descriptionText.width ? 12 : 0
height: 14
visible: !descriptionArea.containsMouse
}
Text {
id: addressText
anchors.verticalCenter: dot.verticalCenter
width: parent.width - x - 12
elide: Text.ElideRight
font.family: "Arial"
font.pixelSize: 14
color: "#545454"
text: address
visible: !descriptionArea.containsMouse
}
}
Row {
anchors.left: parent.left
anchors.top: row1.bottom
anchors.topMargin: 8
spacing: 12
Item { //separator
width: 14
height: 14
}
Column {
anchors.top: parent.top
width: 215
Text {
anchors.left: parent.left
font.family: "Arial"
font.pixelSize: 12
color: "#545454"
text: qsTr("Date") + translationManager.emptyString
}
Row {
anchors.left: parent.left
anchors.right: parent.right
spacing: 33
Text {
font.family: "Arial"
font.pixelSize: 18
color: "#000000"
text: date
}
Text {
font.family: "Arial"
font.pixelSize: 18
color: "#000000"
text: time
}
}
}
Column {
anchors.top: parent.top
width: 148
Text {
anchors.left: parent.left
font.family: "Arial"
font.pixelSize: 12
color: "#545454"
text: qsTr("Balance") + translationManager.emptyString
}
Text {
font.family: "Arial"
font.pixelSize: 18
color: "#000000"
text: balance
}
}
Column {
anchors.top: parent.top
width: 148
Text {
anchors.left: parent.left
font.family: "Arial"
font.pixelSize: 12
color: "#545454"
text: qsTr("Amount") + translationManager.emptyString
}
Row {
spacing: 2
Text {
anchors.bottom: parent.bottom
anchors.bottomMargin: 3
font.family: "Arial"
font.pixelSize: 16
color: out ? "#FF4F41" : "#36B05B"
text: out ? "↓" : "↑"
}
Text {
anchors.bottom: parent.bottom
font.family: "Arial"
font.pixelSize: 18
color: out ? "#FF4F41" : "#36B05B"
text: amount
}
}
}
}
ListModel {
id: dropModel
ListElement { name: "<b>Copy address to clipboard</b>"; icon: "../images/dropdownCopy.png" }
ListElement { name: "<b>Add to address book</b>"; icon: "../images/dropdownAdd.png" }
ListElement { name: "<b>Send to this address</b>"; icon: "../images/dropdownSend.png" }
ListElement { name: "<b>Find similar transactions</b>"; icon: "../images/dropdownSearch.png" }
}
Clipboard { id: clipboard }
TableDropdown {
id: dropdown
anchors.right: parent.right
anchors.bottom: parent.bottom
anchors.bottomMargin: 11
anchors.rightMargin: 5
dataModel: dropModel
z: 1
onExpandedChanged: {
if(expanded) {
listView.previousItem = delegate
listView.currentIndex = index
}
}
onOptionClicked: {
if(option === 0)
clipboard.setText(address)
}
}
Rectangle {
anchors.left: parent.left
anchors.right: parent.right
anchors.bottom: parent.bottom
height: 1
color: "#DBDBDB"
}
}
}

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2014-2015, The Monero Project
// Copyright (c) 2014-2024, The Monero Project
//
// All rights reserved.
//
@@ -26,110 +26,87 @@
// 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.2
import QtQuick 2.9
import QtQuick.Controls 1.2
import QtQuick.Controls 2.2 as QtQuickControls2
import QtQuick.Layouts 1.2
import QtGraphicalEffects 1.0
import QtQuick.Controls.Styles 1.2
import FontAwesome 1.0
import "." as MoneroComponents
import "effects/" as MoneroEffects
Item {
id: datePicker
property bool expanded: false
readonly property alias expanded: popup.visible
property date currentDate
property bool showCurrentDate: true
property color backgroundColor : "#FFFFFF"
property color errorColor : "#FFDDDD"
property color backgroundColor : MoneroComponents.Style.appWindowBorderColor
property color errorColor : "red"
property bool error: false
property alias inputLabel: inputLabel
height: 37
width: 156
signal dateChanged();
height: 50
onExpandedChanged: if(expanded) appWindow.currentItem = datePicker
function hide() { datePicker.expanded = false }
function containsPoint(px, py) {
if(px < 0)
return false
if(px > width)
return false
if(py < 0)
return false
if(py > height + calendarRect.height)
return false
return true
Rectangle {
id: inputLabelRect
color: "transparent"
height: 22
width: parent.width
MoneroComponents.TextPlain {
id: inputLabel
anchors.top: parent.top
anchors.topMargin: 2
anchors.left: parent.left
font.family: MoneroComponents.Style.fontLight.name
font.pixelSize: 14
font.bold: false
textFormat: Text.RichText
color: MoneroComponents.Style.defaultFontColor
themeTransition: false
MouseArea {
anchors.fill: parent
acceptedButtons: Qt.NoButton
cursorShape: parent.hoveredLink ? Qt.PointingHandCursor : Qt.ArrowCursor
}
}
}
Item {
id: head
anchors.fill: parent
Rectangle {
anchors.left: parent.left
anchors.right: parent.right
height: parent.height
//radius: 4
y: 0
color: "#DBDBDB"
}
anchors.top: inputLabelRect.bottom
anchors.topMargin: 6
anchors.left: parent.left
anchors.right: parent.right
height: 28
Rectangle {
anchors.top: parent.top
anchors.left: parent.left
anchors.right: parent.right
height: parent.height - 1
anchors.leftMargin: datePicker.expanded ? 1 : 0
anchors.rightMargin: datePicker.expanded ? 1 : 0
//radius: 4
anchors.leftMargin: 0
anchors.rightMargin: 0
radius: 4
y: 1
color: datePicker.error ? datePicker.errorColor : datePicker.backgroundColor
color: datePicker.backgroundColor
}
Item {
id: buttonItem
anchors.right: parent.right
anchors.top: parent.top
anchors.bottom: parent.bottom
anchors.margins: 4
width: height
StandardButton {
id: button
anchors.fill: parent
shadowReleasedColor: "#DBDBDB"
shadowPressedColor: "#888888"
releasedColor: "#F0EEEE"
pressedColor: "#DBDBDB"
icon: "../images/datePicker.png"
visible: !datePicker.expanded
onClicked: datePicker.expanded = true
}
Image {
anchors.centerIn: parent
source: "../images/datePicker.png"
visible: datePicker.expanded
}
MouseArea {
anchors.fill: parent
enabled: datePicker.expanded
onClicked: datePicker.expanded = false
}
}
Rectangle {
id: separator
anchors.verticalCenter: parent.verticalCenter
anchors.right: buttonItem.left
anchors.rightMargin: 4
height: 16
width: 1
color: "#DBDBDB"
visible: datePicker.expanded
}
Row {
RowLayout {
id: dateInput
anchors.verticalCenter: parent.verticalCenter
anchors.left: parent.left
anchors.leftMargin: 10
anchors.leftMargin: 2
anchors.right: parent.right
property string headerFontColor: MoneroComponents.Style.blackTheme ? "#e6e6e6" : "#333333"
spacing: 0
function setDate(date) {
var day = date.getDate()
@@ -141,7 +118,7 @@ Item {
Connections {
target: datePicker
onCurrentDateChanged: {
function onCurrentDateChanged() {
dateInput.setDate(datePicker.currentDate)
}
}
@@ -149,12 +126,14 @@ Item {
TextInput {
id: dayInput
readOnly: true
width: 22
font.family: "Arial"
font.pixelSize: 18
// color: "#525252"
maximumLength: 2
Layout.preferredWidth: childrenRect.width + 40
font.family: MoneroComponents.Style.fontRegular.name
font.pixelSize: 14
color: datePicker.error ? errorColor : parent.headerFontColor
selectionColor: MoneroComponents.Style.dimmedFontColor
selectByMouse: true
horizontalAlignment: TextInput.AlignHCenter
maximumLength: 2
validator: IntValidator{bottom: 01; top: 31;}
KeyNavigation.tab: monthInput
@@ -172,22 +151,25 @@ Item {
}
}
Text {
font.family: "Arial"
font.pixelSize: 18
// color: "#525252"
text: "."
MoneroComponents.TextPlain {
font.family: MoneroComponents.Style.fontRegular.name
font.pixelSize: 14
color: datePicker.error ? errorColor : MoneroComponents.Style.defaultFontColor
text: "-"
themeTransition: false
}
TextInput {
id: monthInput
readOnly: true
width: 22
font.family: "Arial"
font.pixelSize: 18
// color: "#525252"
maximumLength: 2
Layout.preferredWidth: childrenRect.width + 40
font.family: MoneroComponents.Style.fontRegular.name
font.pixelSize: 14
color: datePicker.error ? errorColor : parent.headerFontColor
selectionColor: MoneroComponents.Style.dimmedFontColor
selectByMouse: true
horizontalAlignment: TextInput.AlignHCenter
maximumLength: 2
validator: IntValidator{bottom: 01; top: 12;}
KeyNavigation.tab: yearInput
text: {
@@ -204,23 +186,27 @@ Item {
}
}
Text {
font.family: "Arial"
font.pixelSize: 18
// color: "#525252"
text: "."
MoneroComponents.TextPlain {
font.family: MoneroComponents.Style.fontRegular.name
font.pixelSize: 14
color: datePicker.error ? errorColor : MoneroComponents.Style.defaultFontColor
text: "-"
themeTransition: false
}
TextInput {
id: yearInput
width: 44
font.family: "Arial"
font.pixelSize: 18
/// color: "#525252"
maximumLength: 4
Layout.preferredWidth: childrenRect.width + 60
font.family: MoneroComponents.Style.fontRegular.name
font.pixelSize: 14
color: datePicker.error ? errorColor : parent.headerFontColor
selectionColor: MoneroComponents.Style.dimmedFontColor
selectByMouse: true
horizontalAlignment: TextInput.AlignHCenter
maximumLength: 4
validator: IntValidator{bottom: 1000; top: 9999;}
text: if(datePicker.showCurrentDate) datePicker.currentDate.getFullYear()
onFocusChanged: {
if(focus === false) {
var d = new Date()
@@ -230,148 +216,246 @@ Item {
}
}
}
Rectangle {
Layout.preferredHeight: parent.height
Layout.fillWidth: true
color: "transparent"
MoneroEffects.ImageMask {
id: button
anchors.right: parent.right
anchors.rightMargin: 10
anchors.verticalCenter: parent.verticalCenter
image: "qrc:///images/whiteDropIndicator.png"
height: 8
width: 12
fontAwesomeFallbackIcon: FontAwesome.arrowDown
fontAwesomeFallbackSize: 14
color: MoneroComponents.Style.defaultFontColor
rotation: datePicker.expanded ? 180 : 0
}
MouseArea {
anchors.fill: parent
onClicked: datePicker.expanded ? popup.close() : popup.open()
hoverEnabled: true
cursorShape: Qt.PointingHandCursor
}
}
}
}
Rectangle {
id: calendarRect
anchors.left: parent.left
anchors.right: parent.right
anchors.top: head.bottom
color: "#FFFFFF"
border.width: 1
border.color: "#DBDBDB"
height: datePicker.expanded ? calendar.height + 2 : 0
clip: true
//radius: 4
Behavior on height {
NumberAnimation { duration: 100; easing.type: Easing.InQuad }
QtQuickControls2.Popup {
id: popup
padding: 0
closePolicy: QtQuickControls2.Popup.CloseOnEscape | QtQuickControls2.Popup.CloseOnPressOutsideParent
onOpened: {
calendar.visibleMonth = currentDate.getMonth();
calendar.visibleYear = currentDate.getFullYear();
}
Rectangle {
anchors.left: parent.left
anchors.right: parent.right
anchors.leftMargin: 1
anchors.rightMargin: 1
anchors.top: parent.top
color: "#FFFFFF"
height: 1
}
id: calendarRect
width: head.width
x: head.x
y: head.y + head.height - 2
Calendar {
id: calendar
anchors.left: parent.left
anchors.right: parent.right
anchors.top: parent.top
anchors.margins: 1
height: 180
frameVisible: false
color: MoneroComponents.Style.middlePanelBackgroundColor
border.width: 1
border.color: MoneroComponents.Style.appWindowBorderColor
height: datePicker.expanded ? calendar.height + 2 : 0
clip: true
style: CalendarStyle {
gridVisible: false
background: Rectangle { color: "transparent" }
dayDelegate: Item {
implicitHeight: implicitWidth
implicitWidth: calendar.width / 7
Behavior on height {
NumberAnimation { duration: 150; easing.type: Easing.InQuad }
}
Rectangle {
anchors.fill: parent
radius: parent.implicitHeight / 2
color: dayArea.pressed && styleData.visibleMonth ? "#FF6C3B" : "transparent"
}
MouseArea {
anchors.fill: parent
scrollGestureEnabled: false
onWheel: {
if (wheel.angleDelta.y > 0) return calendar.showPreviousMonth();
if (wheel.angleDelta.y < 0) return calendar.showNextMonth();
}
}
Text {
anchors.centerIn: parent
font.family: "Arial"
font.pixelSize: 12
font.bold: dayArea.pressed
text: styleData.date.getDate()
color: {
if(!styleData.visibleMonth) return "#DBDBDB"
if(dayArea.pressed) return "#FFFFFF"
if(styleData.today) return "#FF6C3B"
return "#4A4848"
Rectangle {
anchors.left: parent.left
anchors.right: parent.right
anchors.leftMargin: 1
anchors.rightMargin: 1
anchors.top: parent.top
color: MoneroComponents.Style.appWindowBorderColor
height: 1
}
Calendar {
id: calendar
anchors.left: parent.left
anchors.right: parent.right
anchors.top: parent.top
anchors.margins: 1
anchors.bottomMargin: 10
height: 220
frameVisible: false
style: CalendarStyle {
gridVisible: false
background: Rectangle { color: MoneroComponents.Style.middlePanelBackgroundColor }
dayDelegate: Item {
z: parent.z + 1
implicitHeight: implicitWidth
implicitWidth: calendar.width / 7
Rectangle {
id: dayRect
anchors.fill: parent
radius: parent.implicitHeight / 2
}
}
MouseArea {
id: dayArea
anchors.fill: parent
onClicked: {
if(styleData.visibleMonth) {
currentDate = styleData.date
datePicker.expanded = false
} else {
var date = styleData.date
if(date.getMonth() > calendar.visibleMonth)
calendar.showNextMonth()
else calendar.showPreviousMonth()
MoneroComponents.TextPlain {
id: dayText
anchors.centerIn: parent
font.family: MoneroComponents.Style.fontMonoRegular.name
font.pixelSize: {
if(!styleData.visibleMonth) return 12
return 14
}
font.bold: {
if(dayArea.pressed || styleData.visibleMonth) return true;
return false;
}
text: styleData.date.getDate()
themeTransition: false
color: {
if (currentDate.toDateString() === styleData.date.toDateString()) {
if (dayArea.containsMouse) {
dayRect.color = MoneroComponents.Style.buttonBackgroundColorHover;
} else {
dayRect.color = MoneroComponents.Style.buttonBackgroundColor;
}
} else {
if (dayArea.containsMouse) {
dayRect.color = MoneroComponents.Style.blackTheme ? "#20FFFFFF" : "#10000000"
} else {
dayRect.color = "transparent";
}
}
if(!styleData.valid) return "transparent"
if(styleData.date.toDateString() === (new Date()).toDateString()) return "#FFFF00"
if(!styleData.visibleMonth) return MoneroComponents.Style.lightGreyFontColor
if(dayArea.pressed) return MoneroComponents.Style.defaultFontColor
return MoneroComponents.Style.defaultFontColor
}
}
MouseArea {
id: dayArea
anchors.fill: parent
visible: styleData.valid
hoverEnabled: true
cursorShape: Qt.PointingHandCursor
onClicked: {
if(styleData.visibleMonth) {
currentDate = styleData.date
popup.close()
} else {
var date = styleData.date
if(date.getMonth() > calendar.visibleMonth)
calendar.showNextMonth()
else calendar.showPreviousMonth()
}
datePicker.dateChanged();
}
}
}
}
dayOfWeekDelegate: Item {
implicitHeight: 20
implicitWidth: calendar.width / 7
dayOfWeekDelegate: Item {
implicitHeight: 20
implicitWidth: calendar.width / 7
Text {
anchors.centerIn: parent
elide: Text.ElideRight
font.family: "Arial"
font.pixelSize: 9
color: "#535353"
text: {
var locale = Qt.locale()
return locale.dayName(styleData.dayOfWeek, Locale.ShortFormat)
}
}
}
navigationBar: Rectangle {
implicitWidth: calendar.width
implicitHeight: 30
Text {
anchors.centerIn: parent
font.family: "Arial"
font.pixelSize: 12
color: "#4A4646"
text: styleData.title
}
Item {
anchors.left: parent.left
anchors.top: parent.top
anchors.bottom: parent.bottom
width: height
Image {
MoneroComponents.TextPlain {
anchors.centerIn: parent
source: "../images/prevMonth.png"
}
MouseArea {
anchors.fill: parent
onClicked: calendar.showPreviousMonth()
elide: Text.ElideRight
font.family: MoneroComponents.Style.fontMonoRegular.name
font.pixelSize: 12
color: MoneroComponents.Style.lightGreyFontColor
themeTransition: false
text: {
var locale = Qt.locale()
return locale.dayName(styleData.dayOfWeek, Locale.ShortFormat)
}
}
}
Item {
anchors.right: parent.right
anchors.top: parent.top
anchors.bottom: parent.bottom
width: height
navigationBar: Rectangle {
color: MoneroComponents.Style.middlePanelBackgroundColor
implicitWidth: calendar.width
implicitHeight: 30
Image {
MoneroComponents.TextPlain {
anchors.centerIn: parent
source: "../images/nextMonth.png"
font.family: MoneroComponents.Style.fontMonoRegular.name
font.pixelSize: 14
color: MoneroComponents.Style.dimmedFontColor
themeTransition: false
text: styleData.title
}
MouseArea {
anchors.fill: parent
onClicked: calendar.showNextMonth()
Item {
anchors.left: parent.left
anchors.leftMargin: 4
anchors.top: parent.top
anchors.bottom: parent.bottom
width: height
MoneroEffects.ImageMask {
id: prevMonthIcon
anchors.centerIn: parent
image: "qrc:///images/prevMonth.png"
height: 8
width: 12
fontAwesomeFallbackIcon: FontAwesome.arrowLeft
fontAwesomeFallbackSize: 14
color: MoneroComponents.Style.defaultFontColor
}
MouseArea {
hoverEnabled: true
cursorShape: Qt.PointingHandCursor
anchors.fill: parent
onClicked: calendar.showPreviousMonth()
}
}
Item {
anchors.right: parent.right
anchors.rightMargin: 4
anchors.top: parent.top
anchors.bottom: parent.bottom
width: height
MoneroEffects.ImageMask {
id: nextMonthIcon
anchors.centerIn: parent
image: "qrc:///images/prevMonth.png"
height: 8
width: 12
rotation: 180
fontAwesomeFallbackIcon: FontAwesome.arrowLeft
fontAwesomeFallbackSize: 14
color: MoneroComponents.Style.defaultFontColor
}
MouseArea {
hoverEnabled: true
cursorShape: Qt.PointingHandCursor
anchors.fill: parent
onClicked: calendar.showNextMonth()
}
}
}
}

View File

@@ -0,0 +1,104 @@
// Copyright (c) 2014-2024, 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 "." as MoneroComponents
Item {
id: root
property var onAcceptedCallback
property var onWalletEntryCallback
property var onRejectedCallback
function open(canEnterOnDevice_) {
var canEnterOnDevice = canEnterOnDevice_ !== null ? canEnterOnDevice_ : canEnterOnDevice
root.visible = true;
if (canEnterOnDevice) {
entryChooserDialog.okText = qsTr("Hardware wallet")
entryChooserDialog.cancelText = qsTr("Computer")
entryChooserDialog.open()
} else {
openPassphraseDialog()
}
}
function openPassphraseDialog() {
root.visible = true
passphraseDialog.openPassphraseDialog()
}
function close() {
root.visible = false;
if (entryChooserDialog.visible)
entryChooserDialog.close()
if (passphraseDialog.visible)
passphraseDialog.close()
}
StandardDialog {
id: entryChooserDialog
title: qsTr("Hardware wallet passphrase") + translationManager.emptyString
text: qsTr("Please select where you want to enter passphrase.\nIt is recommended to enter passphrase on the hardware wallet for better security.") + translationManager.emptyString
onAccepted: {
if (onWalletEntryCallback){
onWalletEntryCallback()
}
}
onRejected: {
openPassphraseDialog()
}
onCloseCallback: {
root.close()
}
}
PasswordDialog {
id: passphraseDialog
anchors.fill: parent
passphraseDialogMode: true
onAcceptedPassphrase: {
if (onAcceptedCallback)
onAcceptedCallback(passphraseDialog.password);
}
onRejectedPassphrase: {
if (onRejectedCallback)
onRejectedCallback();
}
onCloseCallback: {
root.close()
}
}
}

View File

@@ -1,21 +1,21 @@
// Copyright (c) 2014-2015, The Monero Project
//
// Copyright (c) 2021-2024, 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
@@ -26,46 +26,41 @@
// 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.0
import QtQuick 2.9
import QtQuick.Controls 2.2
import QtQuick.Layouts 1.1
Item {
id: delegateItem
width: 1
height: 48
property bool mainTick: false
property int currentIndex
property int currentX
import "." as MoneroComponents
Image {
anchors.horizontalCenter: parent.horizontalCenter
anchors.top: parent.top
visible: parent.mainTick
source: "../images/privacyTick.png"
Popup {
id: dialog
default property alias content: mainLayout.children
property alias title: header.text
background: Rectangle {
border.color: MoneroComponents.Style.blackTheme ? Qt.rgba(255, 255, 255, 0.25) : Qt.rgba(0, 0, 0, 0.25)
border.width: 1
color: MoneroComponents.Style.blackTheme ? "black" : "white"
radius: 10
}
closePolicy: Popup.CloseOnEscape
focus: true
padding: 20
x: (appWindow.width - width) / 2
y: (appWindow.height - height) / 2
ColumnLayout {
id: mainLayout
spacing: dialog.padding
Text {
anchors.right: parent.right
anchors.rightMargin: 12
anchors.bottom: parent.bottom
anchors.bottomMargin: 2
font.family: "Arial"
id: header
color: MoneroComponents.Style.defaultFontColor
font.bold: true
font.pixelSize: 12
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 ""
}
font.family: MoneroComponents.Style.fontRegular.name
font.pixelSize: 18
visible: text != ""
}
}
Rectangle {
anchors.top: parent.top
anchors.topMargin: 14
width: 1
color: "#DBDBDB"
height: currentIndex === 8 ? 16 : 8
visible: !parent.mainTick
}
}

View File

@@ -1,451 +0,0 @@
// Copyright (c) 2014-2015, 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.0
import moneroComponents.Clipboard 1.0
import moneroComponents.AddressBookModel 1.0
ListView {
id: listView
clip: true
boundsBehavior: ListView.StopAtBounds
property var previousItem
property int rowSpacing: 12
property var addressBookModel: null
function buildTxDetailsString(tx_id, paymentId, tx_key,tx_note, destinations) {
var trStart = '<tr><td width="85" style="padding-top:5px"><b>',
trMiddle = '</b></td><td style="padding-left:10px;padding-top:5px;">',
trEnd = "</td></tr>";
return '<table border="0">'
+ (tx_id ? trStart + qsTr("Tx ID:") + trMiddle + tx_id + trEnd : "")
+ (paymentId ? trStart + qsTr("Payment ID:") + trMiddle + paymentId + trEnd : "")
+ (tx_key ? trStart + qsTr("Tx key:") + trMiddle + tx_key + trEnd : "")
+ (tx_note ? trStart + qsTr("Tx note:") + trMiddle + tx_note + trEnd : "")
+ (destinations ? trStart + qsTr("Destinations:") + trMiddle + destinations + trEnd : "")
+ "</table>"
+ translationManager.emptyString;
}
function lookupPaymentID(paymentId) {
if (!addressBookModel)
return ""
var idx = addressBookModel.lookupPaymentID(paymentId)
if (idx < 0)
return ""
idx = addressBookModel.index(idx, 0)
return addressBookModel.data(idx, AddressBookModel.AddressBookDescriptionRole)
}
footer: Rectangle {
height: 127
width: listView.width
color: "#FFFFFF"
Text {
anchors.centerIn: parent
font.family: "Arial"
font.pixelSize: 14
color: "#545454"
text: qsTr("No more results") + translationManager.emptyString
}
}
StandardDialog {
id: detailsPopup
cancelVisible: false
okVisible: true
width:850
}
delegate: Rectangle {
id: delegate
height: 144
width: listView.width
color: index % 2 ? "#F8F8F8" : "#FFFFFF"
z: listView.count - index
function collapseDropdown() { dropdown.expanded = false }
StandardButton {
id: detailsButton
anchors.right:parent.right
anchors.rightMargin: 15
anchors.top: parent.top
anchors.topMargin: parent.height/2 - this.height/2
width: 80
fontSize: 14
shadowReleasedColor: "#FF4304"
shadowPressedColor: "#B32D00"
releasedColor: "#FF6C3C"
pressedColor: "#FF4304"
text: qsTr("Details")
onClicked: {
var tx_key = currentWallet.getTxKey(hash)
var tx_note = currentWallet.getUserNote(hash)
detailsPopup.title = "Transaction details";
detailsPopup.content = buildTxDetailsString(hash,paymentId,tx_key,tx_note,destinations);
detailsPopup.open();
}
}
Row {
id: row1
anchors.left: parent.left
anchors.right: parent.right
anchors.top: parent.top
anchors.topMargin: 14
// -- direction indicator
Rectangle {
id: dot
width: 14
height: width
radius: width / 2
color: isOut ? "#FF4F41" : "#36B05B"
}
Item { //separator
width: 12
height: 14
}
// -- description aka recepient name from address book (TODO)
/*
Text {
id: descriptionText
width: text.length ? (descriptionArea.containsMouse ? parent.width - x - 12 : 120) : 0
anchors.verticalCenter: dot.verticalCenter
font.family: "Arial"
font.bold: true
font.pixelSize: 19
color: "#444444"
elide: Text.ElideRight
text: description
MouseArea {
id: descriptionArea
anchors.fill: parent
hoverEnabled: true
}
}
*/
/*
Item { //separator
width: descriptionText.width ? 12 : 0
height: 14
visible: !descriptionArea.containsMouse
}
*/
// -- address (in case outgoing transaction) - N/A in case of incoming
TextEdit {
id: addressText
readOnly: true
selectByMouse: true
anchors.verticalCenter: dot.verticalCenter
width: parent.width - x - 12
//elide: Text.ElideRight
font.family: "Arial"
font.pixelSize: 14
color: "#545454"
text: hash
// visible: !descriptionArea.containsMouse
}
}
Row {
// - Payment ID
id: row2
anchors.left: parent.left
anchors.right: parent.right
anchors.top: parent.top
anchors.topMargin: 40
anchors.leftMargin: 26
// -- "PaymentID" title
Text {
id: paymentLabel
width: 86
anchors.bottom: parent.bottom
font.family: "Arial"
font.pixelSize: 12
color: "#535353"
text: paymentId !== "" ? qsTr("Payment ID:") + translationManager.emptyString : ""
}
// -- "PaymentID" value
TextEdit {
readOnly: true
selectByMouse: true
id: paymentIdValue
width: 136
anchors.bottom: parent.bottom
//elide: Text.ElideRight
font.family: "Arial"
font.pixelSize:13
color: "#545454"
text: paymentId
}
// Address book lookup
TextEdit {
readOnly: true
selectByMouse: true
id: addressBookLookupValue
width: 136
anchors.bottom: parent.bottom
//elide: Text.ElideRight
font.family: "Arial"
font.pixelSize:13
color: "#545454"
text: "(" + lookupPaymentID(paymentId) + ")"
visible: text !== "()"
}
}
Row {
// block height row
id: row3
anchors.left: parent.left
anchors.right: parent.right
anchors.top: row2.bottom
anchors.topMargin: rowSpacing
anchors.leftMargin: 26
// -- "BlockHeight" title
Text {
id: blockHeghtTitle
anchors.bottom: parent.bottom
width: 86
font.family: "Arial"
font.pixelSize: 12
color: "#535353"
text: qsTr("BlockHeight:") + translationManager.emptyString
}
// -- "BlockHeight" value
TextEdit {
readOnly: true
selectByMouse: true
width: 85
anchors.bottom: parent.bottom
//elide: Text.ElideRight
font.family: "Arial"
font.pixelSize: 13
color: (confirmations < confirmationsRequired)? "#FF6C3C" : "#545454"
text: {
if (!isPending)
if(confirmations < confirmationsRequired)
return blockHeight + " " + qsTr("(%1/%2 confirmations)").arg(confirmations).arg(confirmationsRequired)
else
return blockHeight
if (!isOut)
return qsTr("UNCONFIRMED") + translationManager.emptyString
return qsTr("PENDING") + translationManager.emptyString
}
}
}
// -- "Date", "Balance" and "Amound" section
Row {
id: row4
anchors.top: row3.bottom
anchors.left: parent.left
spacing: 12
anchors.topMargin: rowSpacing
Item { //separator
width: 14
height: 14
}
// -- "Date" column
Column {
anchors.top: parent.top
width: 215
Text {
anchors.left: parent.left
font.family: "Arial"
font.pixelSize: 12
color: "#545454"
text: qsTr("Date") + translationManager.emptyString
}
Row {
anchors.left: parent.left
anchors.right: parent.right
spacing: 33
Text {
font.family: "Arial"
font.pixelSize: 18
color: "#000000"
text: date
}
Text {
font.family: "Arial"
font.pixelSize: 18
color: "#000000"
text: time
}
}
}
// -- "Balance" column
// XXX: we don't have a balance
/*
Column {
anchors.top: parent.top
width: 148
visible: false
Text {
anchors.left: parent.left
font.family: "Arial"
font.pixelSize: 12
color: "#545454"
text: qsTr("Balance") + translationManager.emptyString
}
Text {
font.family: "Arial"
font.pixelSize: 18
color: "#000000"
text: balance
}
}
*/
// -- "Amount column
Column {
anchors.top: parent.top
Text {
anchors.left: parent.left
font.family: "Arial"
font.pixelSize: 12
color: "#545454"
text: qsTr("Amount") + translationManager.emptyString
}
Row {
spacing: 2
Text {
anchors.bottom: parent.bottom
anchors.bottomMargin: 3
font.family: "Arial"
font.pixelSize: 16
color: isOut ? "#FF4F41" : "#36B05B"
text: isOut ? "↓" : "↑"
}
Text {
id: amountText
anchors.bottom: parent.bottom
font.family: "Arial"
font.pixelSize: 18
color: isOut ? "#FF4F41" : "#36B05B"
text: displayAmount
}
}
}
// -- "Fee column
Column {
anchors.top: parent.top
width: 148
visible: isOut
Text {
anchors.left: parent.left
font.family: "Arial"
font.pixelSize: 12
color: "#545454"
text: qsTr("Fee") + translationManager.emptyString
}
Row {
spacing: 2
Text {
anchors.bottom: parent.bottom
font.family: "Arial"
font.pixelSize: 18
color: "#FF4F41"
text: fee
}
}
}
}
/*
// Transaction dropdown menu.
// Disable for now until AddressBook implemented
TableDropdown {
id: dropdown
anchors.right: parent.right
anchors.bottom: parent.bottom
anchors.bottomMargin: 11
anchors.rightMargin: 5
dataModel: dropModel
z: 1
onExpandedChanged: {
if(expanded) {
listView.previousItem = delegate
listView.currentIndex = index
}
}
onOptionClicked: {
if(option === 0)
clipboard.setText(address)
}
}
Rectangle {
anchors.left: parent.left
anchors.right: parent.right
anchors.bottom: parent.bottom
height: 1
color: "#DBDBDB"
}
*/
}
ListModel {
id: dropModel
ListElement { name: "<b>Copy address to clipboard</b>"; icon: "../images/dropdownCopy.png" }
ListElement { name: "<b>Add to address book</b>"; icon: "../images/dropdownAdd.png" }
ListElement { name: "<b>Send to this address</b>"; icon: "../images/dropdownSend.png" }
ListElement { name: "<b>Find similar transactions</b>"; icon: "../images/dropdownSearch.png" }
}
Clipboard { id: clipboard }
}

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2014-2015, The Monero Project
// Copyright (c) 2014-2024, The Monero Project
//
// All rights reserved.
//
@@ -26,47 +26,42 @@
// 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 "../components" as MoneroComponents
import "../components/effects" as MoneroEffects
import QtQuick 2.0
Item {
property alias imageSource : buttonImage.source
MoneroEffects.ImageMask {
id: button
z: 666
color: MoneroComponents.Style.defaultFontColor
image: ""
property alias tooltip: tooltip.text
signal clicked(var mouse)
id: button
width: parent.height
height: parent.height
anchors.right: parent.right
anchors.top: parent.top
anchors.bottom: parent.bottom
Image {
id: buttonImage
source: ""
x : (parent.width - width) / 2
y : (parent.height - height) /2
z: 100
MoneroComponents.Tooltip {
id: tooltip
anchors.fill: parent
tooltipLeft: true
}
MouseArea {
id: buttonArea
anchors.fill: parent
hoverEnabled: true
cursorShape: Qt.PointingHandCursor
onPressed: {
buttonImage.x = buttonImage.x + 2
buttonImage.y = buttonImage.y + 2
}
onReleased: {
buttonImage.x = buttonImage.x - 2
buttonImage.y = buttonImage.y - 2
onEntered: {
tooltip.text ? tooltip.tooltipPopup.open() : ""
button.width = button.width + 2
button.height = button.height + 2
}
onClicked: {
parent.clicked(mouse)
onExited: {
tooltip.text ? tooltip.tooltipPopup.close() : ""
button.width = button.width - 2
button.height = button.height - 2
}
onClicked: button.clicked(mouse)
}
}

127
components/InlineButton.qml Normal file
View File

@@ -0,0 +1,127 @@
// Copyright (c) 2014-2024, 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.Layouts 1.1
import QtGraphicalEffects 1.0
import FontAwesome 1.0
import "." as MoneroComponents
import "./effects/" as MoneroEffects
Item {
id: inlineButton
property bool small: false
property string textColor: MoneroComponents.Style.inlineButtonTextColor
property alias text: inlineText.text
property alias fontPixelSize: inlineText.font.pixelSize
property alias fontFamily: inlineText.font.family
property alias fontStyleName: inlineText.font.styleName
property bool isFontAwesomeIcon: fontFamily == FontAwesome.fontFamily || fontFamily == FontAwesome.fontFamilySolid
property alias buttonColor: rect.color
property alias tooltip: tooltip.text
property alias tooltipLeft: tooltip.tooltipLeft
property alias tooltipBottom: tooltip.tooltipBottom
height: isFontAwesomeIcon ? 30 : 24
width: isFontAwesomeIcon ? height : inlineText.width + 16
signal clicked()
function doClick() {
// Android workaround
releaseFocus();
clicked();
}
Rectangle{
id: rect
anchors.fill: parent
color: buttonArea.containsMouse ? MoneroComponents.Style.buttonInlineBackgroundColorHover : MoneroComponents.Style.buttonInlineBackgroundColor
radius: 4
border.width: parent.focus && parent.enabled ? 1 : 0
MoneroComponents.TextPlain {
id: inlineText
font.family: MoneroComponents.Style.fontBold.name
font.bold: true
font.pixelSize: inlineButton.isFontAwesomeIcon ? 22 : inlineButton.small ? 14 : 16
color: inlineButton.textColor
anchors.verticalCenter: parent.verticalCenter
anchors.horizontalCenter: parent.horizontalCenter
themeTransition: false
MoneroEffects.ColorTransition {
targetObj: inlineText
blackColor: MoneroComponents.Style._b_inlineButtonTextColor
whiteColor: MoneroComponents.Style._w_inlineButtonTextColor
}
}
MoneroComponents.Tooltip {
id: tooltip
anchors.fill: parent
}
MouseArea {
id: buttonArea
cursorShape: rect.enabled ? Qt.PointingHandCursor : Qt.ArrowCursor
hoverEnabled: true
anchors.fill: parent
onClicked: {
tooltip.text ? tooltip.tooltipPopup.close() : ""
doClick()
}
onEntered: {
tooltip.text ? tooltip.tooltipPopup.open() : ""
}
onExited: {
tooltip.text ? tooltip.tooltipPopup.close() : ""
}
}
}
DropShadow {
visible: !MoneroComponents.Style.blackTheme
anchors.fill: rect
horizontalOffset: 2
verticalOffset: 2
radius: 7.0
samples: 10
color: "#1B000000"
cached: true
source: rect
}
Keys.enabled: inlineButton.visible
Keys.onSpacePressed: doClick()
Keys.onEnterPressed: Keys.onReturnPressed(event)
Keys.onReturnPressed: doClick()
}

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2014-2015, The Monero Project
// Copyright (c) 2014-2024, The Monero Project
//
// All rights reserved.
//
@@ -26,21 +26,38 @@
// 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.Controls 1.2
import QtQuick.Controls.Styles 1.2
import QtQuick 2.2
import QtQuick.Controls 2.0
import QtQuick 2.9
import "../components" as MoneroComponents
TextField {
font.family: "Arial"
id: textField
font.family: MoneroComponents.Style.fontRegular.name
font.pixelSize: 18
font.bold: true
horizontalAlignment: TextInput.AlignLeft
selectByMouse: true
color: MoneroComponents.Style.defaultFontColor
selectionColor: MoneroComponents.Style.textSelectionColor
selectedTextColor: MoneroComponents.Style.textSelectedColor
style: TextFieldStyle {
textColor: "#3F3F3F"
placeholderTextColor: "#BABABA"
background: Rectangle {
color: "transparent"
}
background: Rectangle {
border.width: 0
color: "transparent"
MoneroComponents.ContextMenu {
cursorShape: Qt.IBeamCursor
onCut: textField.cut();
onCopy: textField.copy();
onPaste: {
var previoustextFieldLength = textField.length
var previousCursorPosition = textField.cursorPosition;
textField.paste();
textField.forceActiveFocus()
textField.cursorPosition = previousCursorPosition + (textField.length - previoustextFieldLength);
}
onRemove: textField.remove(selectionStart, selectionEnd);
onSelectAll: textField.selectAll();
}
}

158
components/InputDialog.qml Normal file
View File

@@ -0,0 +1,158 @@
// Copyright (c) 2014-2024, 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.Controls 2.0
import QtQuick.Dialogs 1.2
import QtQuick.Layouts 1.1
import QtQuick.Controls.Styles 1.4
import QtQuick.Window 2.0
import "../components" as MoneroComponents
Item {
id: root
visible: false
property alias labelText: label.text
property alias inputText: input.text
// same signals as Dialog has
signal accepted()
signal rejected()
function open(prepopulate) {
leftPanel.enabled = false
middlePanel.enabled = false
titleBar.state = "essentials"
root.visible = true;
input.focus = true;
input.text = prepopulate ? prepopulate : "";
}
function close() {
leftPanel.enabled = true
middlePanel.enabled = true
titleBar.state = "default"
root.visible = false;
}
ColumnLayout {
z: parent.z + 1
id: mainLayout
spacing: 10
anchors { fill: parent; margins: 35 }
ColumnLayout {
id: column
Layout.fillWidth: true
Layout.alignment: Qt.AlignHCenter
Layout.maximumWidth: 400
Label {
id: label
Layout.fillWidth: true
font.pixelSize: 16
font.family: MoneroComponents.Style.fontLight.name
color: MoneroComponents.Style.defaultFontColor
}
MoneroComponents.Input {
id : input
focus: true
Layout.topMargin: 6
Layout.fillWidth: true
horizontalAlignment: TextInput.AlignLeft
verticalAlignment: TextInput.AlignVCenter
font.family: MoneroComponents.Style.fontLight.name
font.pixelSize: 24
KeyNavigation.tab: okButton
bottomPadding: 10
leftPadding: 10
topPadding: 10
color: MoneroComponents.Style.defaultFontColor
selectionColor: MoneroComponents.Style.textSelectionColor
selectedTextColor: MoneroComponents.Style.textSelectedColor
background: Rectangle {
radius: 2
border.color: MoneroComponents.Style.inputBorderColorActive
border.width: 1
color: MoneroComponents.Style.blackTheme ? "black" : "#A9FFFFFF"
}
Keys.enabled: root.visible
Keys.onEnterPressed: Keys.onReturnPressed(event)
Keys.onReturnPressed: {
root.close()
root.accepted()
}
Keys.onEscapePressed: {
root.close()
root.rejected()
}
}
// Ok/Cancel buttons
RowLayout {
id: buttons
spacing: 16
Layout.topMargin: 16
Layout.alignment: Qt.AlignRight
MoneroComponents.StandardButton {
id: cancelButton
primary: false
small: true
width: 120
fontSize: 14
text: qsTr("Cancel") + translationManager.emptyString
KeyNavigation.tab: input
onClicked: {
root.close()
root.rejected()
}
}
MoneroComponents.StandardButton {
id: okButton
small: true
width: 120
fontSize: 14
text: qsTr("Ok") + translationManager.emptyString
KeyNavigation.tab: cancelButton
onClicked: {
root.close()
root.accepted()
}
}
}
}
}
}

86
components/InputMulti.qml Normal file
View File

@@ -0,0 +1,86 @@
// Copyright (c) 2014-2024, 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.Controls 2.0
import QtQuick 2.9
import "../js/TxUtils.js" as TxUtils
import "../components" as MoneroComponents
TextArea {
property int fontSize: 18
property bool fontBold: false
property string fontColor: MoneroComponents.Style.defaultFontColor
property bool mouseSelection: true
property bool error: false
property bool addressValidation: false
id: textArea
font.family: MoneroComponents.Style.fontRegular.name
color: fontColor
font.pixelSize: fontSize
font.bold: fontBold
horizontalAlignment: TextInput.AlignLeft
selectByMouse: mouseSelection
selectionColor: MoneroComponents.Style.textSelectionColor
selectedTextColor: MoneroComponents.Style.textSelectedColor
property int minimumHeight: 100
height: contentHeight > minimumHeight ? contentHeight : minimumHeight
onTextChanged: {
if(addressValidation){
// js replacement for `RegExpValidator { regExp: /[0-9A-Fa-f]{95}/g }`
if (textArea.text.startsWith("monero:")) {
error = false;
return;
}
textArea.text = textArea.text.replace(/[^a-z0-9.@\-]/gi,'');
var address_ok = TxUtils.checkAddress(textArea.text, appWindow.persistentSettings.nettype) || TxUtils.isValidOpenAliasAddress(textArea.text);
if(!address_ok) error = true;
else error = false;
TextArea.cursorPosition = textArea.text.length;
}
}
MoneroComponents.ContextMenu {
cursorShape: Qt.IBeamCursor
onCut: textArea.cut();
onCopy: textArea.copy();
onPaste: {
var previoustextFieldLength = textArea.length
var previousCursorPosition = textArea.cursorPosition;
textArea.paste();
textArea.forceActiveFocus()
textArea.cursorPosition = previousCursorPosition + (textArea.length - previoustextFieldLength);
}
onRemove: textArea.remove(selectionStart, selectionEnd);
onSelectAll: textArea.selectAll();
}
}

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2014-2015, The Monero Project
// Copyright (c) 2014-2024, The Monero Project
//
// All rights reserved.
//
@@ -26,58 +26,60 @@
// 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.0
import QtQuick 2.9
import QtQuick.Layouts 1.1
import "../components" as MoneroComponents
Item {
id: item
property alias text: label.text
property alias tooltip: label.tooltip
property alias tooltipIconVisible: label.tooltipIconVisible
property alias color: label.color
property alias textFormat: label.textFormat
property alias labelMouseArea: labelMouseArea
property int textFormat: Text.PlainText
property string tipText: ""
property int fontSize: 12
property int fontSize: 16
property bool fontBold: false
property string fontColor: MoneroComponents.Style.defaultFontColor
property string fontFamily: ""
property alias wrapMode: label.wrapMode
property alias horizontalAlignment: label.horizontalAlignment
property alias elide: label.elide
property alias textWidth: label.width
property alias styleName: label.font.styleName
property alias themeTransition: label.themeTransition
signal linkActivated()
width: icon.x + icon.width
height: icon.height
height: label.height
width: label.width
Layout.topMargin: 10
Text {
MoneroComponents.TextPlain {
id: label
anchors.bottom: parent.bottom
anchors.bottomMargin: 2
anchors.left: parent.left
font.family: "Arial"
font.pixelSize: parent.fontSize
color: "#555555"
font.family: {
if(fontFamily){
return fontFamily;
} else {
return MoneroComponents.Style.fontRegular.name;
}
}
font.pixelSize: fontSize
font.bold: fontBold
color: fontColor
onLinkActivated: item.linkActivated()
textFormat: parent.textFormat
MouseArea {
id: labelMouseArea
anchors.fill: parent
hoverEnabled: true
acceptedButtons: Qt.NoButton
cursorShape: parent.hoveredLink || (tooltip && !tooltipIconVisible) ? Qt.PointingHandCursor : Qt.ArrowCursor
onEntered: tooltip && !tooltipIconVisible ? parent.tooltipPopup.open() : undefined
onExited: tooltip && !tooltipIconVisible ? parent.tooltipPopup.close() : undefined
}
}
Image {
id: icon
anchors.verticalCenter: parent.verticalCenter
anchors.left: label.right
anchors.leftMargin: 5
source: "../images/whatIsIcon.png"
visible: appWindow.whatIsEnable
}
// MouseArea {
// anchors.fill: icon
// enabled: appWindow.whatIsEnable
// hoverEnabled: true
// onEntered: {
// icon.visible = false
// var pos = appWindow.mapFromItem(icon, 0, -15)
// tipItem.text = item.tipText
// tipItem.x = pos.x
// if(tipItem.height > 30)
// pos.y -= tipItem.height - 28
// tipItem.y = pos.y
// tipItem.visible = true
// }
// onExited: {
// icon.visible = Qt.binding(function(){ return appWindow.whatIsEnable; })
// tipItem.visible = false
// }
// }
}

View File

@@ -1,21 +1,21 @@
// Copyright (c) 2014-2015, The Monero Project
//
// Copyright (c) 2014-2024, 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
@@ -26,59 +26,48 @@
// 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.0
import QtQuick 2.9
import QtQuick.Layouts 1.1
Item {
id: scrollItem
property var flickable
width: 15
z: 1
import "../components" as MoneroComponents
function flickableContentYChanged() {
if(flickable === undefined)
return
var t = flickable.height - scroll.height
scroll.y = (flickable.contentY / (flickable.contentHeight - flickable.height)) * t
Rectangle {
signal clicked();
property alias text: labelButtonText.text
id: labelButton
color: MoneroComponents.Style.buttonBackgroundColorDisabled
radius: 3
height: 20
width: labelButtonText.width + 14
anchors.right: copyButton.left
anchors.rightMargin: 6
MoneroComponents.TextPlain {
id: labelButtonText
anchors.verticalCenter: parent.verticalCenter
anchors.horizontalCenter: parent.horizontalCenter
font.family: MoneroComponents.Style.fontRegular.name
font.pixelSize: 12
font.bold: true
text: ""
color: MoneroComponents.Style.inlineButtonTextColor
}
MouseArea {
id: scrollArea
cursorShape: Qt.PointingHandCursor
anchors.fill: parent
hoverEnabled: true
}
Rectangle {
id: scroll
width: 15
height: {
var t = (flickable.height * flickable.height) / flickable.contentHeight
return t < 20 ? 20 : t
onClicked: labelButton.clicked()
onEntered: {
labelButton.color = MoneroComponents.Style.buttonBackgroundColorDisabledHover;
labelButtonText.opacity = 0.8;
}
y: 0; x: 0
color: "#DBDBDB"
opacity: flickable.moving || handleArea.pressed || scrollArea.containsMouse ? 0.5 : 0
visible: flickable.contentHeight > flickable.height
Behavior on opacity {
NumberAnimation { duration: 100; easing.type: Easing.InQuad }
}
MouseArea {
id: handleArea
anchors.fill: parent
drag.target: scroll
drag.axis: Drag.YAxis
drag.minimumY: 0
drag.maximumY: flickable.height - height
propagateComposedEvents: true
onPositionChanged: {
if(!pressed) return
var dy = scroll.y / (flickable.height - scroll.height)
flickable.contentY = (flickable.contentHeight - flickable.height) * dy
}
onExited: {
labelButton.color = MoneroComponents.Style.buttonBackgroundColorDisabled;
labelButtonText.opacity = 1.0;
}
}
}

View File

@@ -0,0 +1,53 @@
// Copyright (c) 2014-2024, 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 "../components" as MoneroComponents
import "../components/effects/" as MoneroEffects
Label {
id: item
fontSize: 18
tooltipIconVisible: true
Rectangle {
anchors.top: item.bottom
anchors.topMargin: 4
anchors.left: parent.left
anchors.right: parent.right
height: 2
color: MoneroComponents.Style.appWindowBorderColor
MoneroEffects.ColorTransition {
targetObj: parent
blackColor: MoneroComponents.Style._b_appWindowBorderColor
whiteColor: MoneroComponents.Style._w_appWindowBorderColor
}
}
}

View File

@@ -1,21 +1,21 @@
// Copyright (c) 2017, The Monero Project
//
// Copyright (c) 2020-2024, 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
@@ -26,58 +26,42 @@
// 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.0
import QtQuick.Controls 1.4
import moneroComponents.Wallet 1.0
import QtQuick 2.9
import QtQuick.Layouts 1.3
import FontAwesome 1.0
import "../components" as MoneroComponents
Item {
id: item
property string message: ""
property bool active: false
height: 120
width: 240
property int margin: 15
x: parent.width - width - margin
y: parent.height - height * scale.yScale - margin * scale.yScale
implicitHeight: layout.height
implicitWidth: layout.width
Rectangle {
color: "#FF6C3C"
border.color: "black"
RowLayout {
id: layout
opacity: mouseArea.containsMouse ? 1 : 0.85
spacing: 10
MoneroComponents.Label {
Layout.bottomMargin: 5
fontColor: MoneroComponents.Style.defaultFontColor
fontFamily: FontAwesome.fontFamilySolid
fontSize: 26
styleName: "Solid"
text: FontAwesome.language
}
MoneroComponents.TextPlain {
font.pixelSize: 14
text: persistentSettings.language
}
}
MouseArea {
id: mouseArea
anchors.fill: parent
TextArea {
id:versionText
readOnly: true
backgroundVisible: false
textFormat: TextEdit.AutoText
anchors.fill: parent
font.family: "Arial"
font.pixelSize: 12
textMargin: 20
textColor: "white"
text: item.message
}
}
transform: Scale {
id: scale
yScale: item.active ? 1 : 0
Behavior on yScale {
NumberAnimation { duration: 500; easing.type: Easing.InOutCubic }
}
}
Timer {
id: hider
interval: 12000; running: false; repeat: false
onTriggered: { item.active = false }
}
function show(message) {
item.visible = true
item.message = message
item.active = true
hider.running = true
cursorShape: Qt.PointingHandCursor
hoverEnabled: true
onClicked: appWindow.toggleLanguageView()
}
}

View File

@@ -0,0 +1,201 @@
// Copyright (c) 2014-2024, 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 "../components" as MoneroComponents
import QtQuick 2.9
import QtQuick.XmlListModel 2.0
import QtQuick.Layouts 1.2
import QtQuick.Controls 2.0
Drawer {
id: sideBar
width: 240
height: parent.height - (persistentSettings.customDecorations ? 50 : 0)
y: titleBar.height
background: Rectangle {
color: MoneroComponents.Style.blackTheme ? "#0d0d0d" : "white"
width: parent.width
}
Rectangle {
anchors.top: parent.top
anchors.left: parent.left
anchors.right: parent.right
color: "red"
ListView {
id: languagesListView
clip: true
Layout.fillHeight: true
Layout.fillWidth: true
boundsBehavior: Flickable.StopAtBounds
width: sideBar.width
height: sideBar.height
focus: true
model: langModel
Keys.onUpPressed: currentIndex !== 0 ? currentIndex = currentIndex - 1 : ""
Keys.onBacktabPressed: currentIndex !== 0 ? currentIndex = currentIndex - 1 : ""
Keys.onDownPressed: currentIndex + 1 !== count ? currentIndex = currentIndex + 1 : ""
Keys.onTabPressed: currentIndex + 1 !== count ? currentIndex = currentIndex + 1 : ""
delegate: Rectangle {
id: item
color: index == languagesListView.currentIndex ? MoneroComponents.Style.titleBarButtonHoverColor : "transparent"
width: sideBar.width
height: 32
Accessible.role: Accessible.ListItem
Accessible.name: display_name
Keys.onEnterPressed: setSelectedItemAsLanguage();
Keys.onReturnPressed: setSelectedItemAsLanguage();
Keys.onSpacePressed: setSelectedItemAsLanguage();
function setSelectedItemAsLanguage() {
var locale_spl = locale.split("_");
// reload active translations
console.log(locale_spl[0]);
translationManager.setLanguage(locale_spl[0]);
// set wizard language settings
persistentSettings.locale = locale;
persistentSettings.language = display_name;
persistentSettings.language_wallet = wallet_language;
appWindow.showStatusMessage(qsTr("Language changed."), 3);
appWindow.toggleLanguageView();
}
Rectangle {
id: selectedIndicator
anchors.left: parent.left
anchors.leftMargin: 0
height: parent.height
width: 2
color: index == languagesListView.currentIndex ? MoneroComponents.Style.buttonBackgroundColor : "transparent"
}
Rectangle {
id: flagRect
height: 24
width: 24
anchors.left: selectedIndicator.right
anchors.leftMargin: 4
anchors.verticalCenter: parent.verticalCenter
color: "transparent"
Image {
anchors.fill: parent
source: flag
}
}
MoneroComponents.TextPlain {
anchors.left: parent.left
anchors.leftMargin: 32
font.bold: languagesListView.currentIndex == index ? true : false
font.pixelSize: 14
color: MoneroComponents.Style.defaultFontColor
text: display_name
anchors.verticalCenter: parent.verticalCenter
}
Rectangle {
anchors.bottom: parent.bottom
anchors.left: parent.left
anchors.right: parent.right
color: MoneroComponents.Style.dividerColor
opacity: MoneroComponents.Style.dividerOpacity
height: 1
}
// button gradient while checked
Image {
anchors.fill: parent
source: "qrc:///images/menuButtonGradient.png"
opacity: 0.65
visible: true
MouseArea {
anchors.fill: parent
cursorShape: Qt.PointingHandCursor
onClicked: setSelectedItemAsLanguage();
hoverEnabled: true
onEntered: {
// item.color = "#26FFFFFF"
parent.opacity = 1
}
onExited: {
// item.color = "transparent"
parent.opacity = 0.65
}
}
}
}
ScrollBar.vertical: ScrollBar {
onActiveChanged: if (!active && !isMac) active = true
}
}
}
//Flags model
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);
}
}
}
function selectCurrentLanguage() {
for (var i = 0; i < langModel.count; ++i) {
if (langModel.get(i).display_name === persistentSettings.language) {
languagesListView.currentIndex = i;
}
}
}
}

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2014-2015, The Monero Project
// Copyright (c) 2014-2024, The Monero Project
//
// All rights reserved.
//
@@ -26,53 +26,282 @@
// 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.0
import FontAwesome 1.0
import QtQuick 2.9
import QtGraphicalEffects 1.0
import QtQuick.Layouts 1.1
Item {
import "../components" as MoneroComponents
ColumnLayout {
id: item
property alias placeholderText: input.placeholderText
Layout.fillWidth: true
default property alias content: inlineButtons.children
property alias input: input
property bool inputHasFocus: input.activeFocus
property bool tabNavigationEnabled: true
property alias text: input.text
property int inputPaddingLeft: 10
property int inputPaddingRight: 10
property int inputPaddingTop: 10
property int inputPaddingBottom: 10
property int inputRadius: 4
property bool password: false
property bool passwordHidden: true
property var passwordLinked: null
property alias placeholderText: placeholderLabel.text
property bool placeholderCenter: false
property string placeholderFontFamily: MoneroComponents.Style.fontRegular.name
property bool placeholderFontBold: false
property int placeholderFontSize: 18
property string placeholderColor: MoneroComponents.Style.defaultFontColor
property real placeholderOpacity: 0.35
property real placeholderLeftMargin: {
if (placeholderCenter) {
return undefined;
} else {
return inputPaddingLeft;
}
}
property alias acceptableInput: input.acceptableInput
property alias validator: input.validator
property alias readOnly : input.readOnly
property alias cursorPosition: input.cursorPosition
property alias echoMode: input.echoMode
property bool copyButton: false
property bool pasteButton: false
property alias copyButtonText: copyButtonId.text
property alias copyButtonEnabled: copyButtonId.enabled
property bool borderDisabled: false
property string borderColor: {
if ((error && input.text !== "") || (errorWhenEmpty && input.text == "")) {
return MoneroComponents.Style.inputBorderColorInvalid;
} else if (input.activeFocus) {
return MoneroComponents.Style.inputBorderColorActive;
} else {
return MoneroComponents.Style.inputBorderColorInActive;
}
}
property string fontFamily: MoneroComponents.Style.fontRegular.name
property int fontSize: 18
property bool fontBold: false
property alias fontColor: input.color
property bool error: false
signal editingFinished()
property bool errorWhenEmpty: false
property alias labelText: inputLabel.text
property alias labelColor: inputLabel.color
property alias labelTextFormat: inputLabel.textFormat
property string backgroundColor: "transparent"
property string tipText: ""
property int labelFontSize: 16
property bool labelFontBold: false
property alias labelWrapMode: inputLabel.wrapMode
property alias labelHorizontalAlignment: inputLabel.horizontalAlignment
property bool showingHeader: inputLabel.text !== "" || copyButton
property int inputHeight: 39
signal labelLinkActivated(); // input label, rich text <a> signal
signal editingFinished();
signal accepted();
signal textUpdated();
signal backtabPressed();
signal tabPressed();
height: 37
function getColor(error) {
if (error)
return "#FFDDDD"
else
return "#FFFFFF"
onActiveFocusChanged: activeFocus && input.forceActiveFocus()
onTextUpdated: {
// check to remove placeholder text when there is content
if(item.isEmpty()){
placeholderLabel.visible = true;
} else {
placeholderLabel.visible = false;
}
}
function isEmpty(){
var val = input.text;
if(val === "") {
return true;
}
else {
return false;
}
}
function isPasswordHidden() {
if (password) {
return passwordHidden;
}
if (passwordLinked) {
return passwordLinked.passwordHidden;
}
return false;
}
function reset() {
text = "";
if (!passwordLinked) {
passwordHidden = true;
}
}
function passwordToggle() {
if (passwordLinked) {
passwordLinked.passwordHidden = !passwordLinked.passwordHidden;
} else {
passwordHidden = !passwordHidden;
}
}
spacing: 0
Rectangle {
anchors.fill: parent
anchors.bottomMargin: 1
color: "#DBDBDB"
//radius: 4
id: inputLabelRect
color: "transparent"
Layout.fillWidth: true
height: (inputLabel.height + 10)
visible: showingHeader ? true : false
MoneroComponents.TextPlain {
id: inputLabel
anchors.top: parent.top
anchors.left: parent.left
font.family: MoneroComponents.Style.fontRegular.name
font.pixelSize: labelFontSize
font.bold: labelFontBold
textFormat: Text.RichText
color: MoneroComponents.Style.defaultFontColor
onLinkActivated: item.labelLinkActivated()
MouseArea {
anchors.fill: parent
acceptedButtons: Qt.NoButton
cursorShape: parent.hoveredLink ? Qt.PointingHandCursor : Qt.ArrowCursor
}
}
RowLayout {
anchors.right: parent.right
spacing: 16
MoneroComponents.LabelButton {
id: copyButtonId
text: qsTr("Copy") + translationManager.emptyString
onClicked: {
if (input.text.length > 0) {
console.log("Copied to clipboard");
clipboard.setText(input.text);
appWindow.showStatusMessage(qsTr("Copied to clipboard"), 3);
}
}
visible: copyButton && input.text !== ""
}
MoneroComponents.LabelButton {
id: pasteButtonId
onClicked: {
input.clear();
input.paste();
}
text: qsTr("Paste") + translationManager.emptyString
visible: pasteButton
}
}
}
Rectangle {
anchors.fill: parent
anchors.topMargin: 1
color: getColor(error)
//radius: 4
}
Input {
MoneroComponents.Input {
id: input
anchors.fill: parent
anchors.leftMargin: 4
anchors.rightMargin: 30
font.pixelSize: parent.fontSize
Keys.onBacktabPressed: {
item.backtabPressed();
if (item.KeyNavigation.backtab) {
item.KeyNavigation.backtab.forceActiveFocus()
}
}
Keys.onTabPressed: {
item.tabPressed();
if (item.KeyNavigation.tab) {
item.KeyNavigation.tab.forceActiveFocus()
}
}
Layout.fillWidth: true
Layout.preferredHeight: inputHeight
leftPadding: item.inputPaddingLeft
rightPadding: (inlineButtons.width > 0 ? inlineButtons.width + inlineButtons.spacing : 0) + inputPaddingRight + (password || passwordLinked ? 45 : 0)
topPadding: item.inputPaddingTop
bottomPadding: item.inputPaddingBottom
font.family: item.fontFamily
font.pixelSize: item.fontSize
font.bold: item.fontBold
onEditingFinished: item.editingFinished()
onAccepted: item.accepted();
onTextChanged: item.textUpdated()
echoMode: isPasswordHidden() ? TextInput.Password : TextInput.Normal
MoneroComponents.Label {
visible: password || passwordLinked
fontSize: 20
text: isPasswordHidden() ? FontAwesome.eye : FontAwesome.eyeSlash
opacity: eyeMouseArea.containsMouse ? 0.9 : 0.7
fontFamily: FontAwesome.fontFamily
anchors.right: parent.right
anchors.rightMargin: 15
anchors.verticalCenter: parent.verticalCenter
anchors.verticalCenterOffset: 1
MouseArea {
id: eyeMouseArea
anchors.fill: parent
cursorShape: Qt.PointingHandCursor
hoverEnabled: true
onClicked: passwordToggle()
}
}
MoneroComponents.TextPlain {
id: placeholderLabel
visible: input.text ? false : true
anchors.verticalCenter: parent.verticalCenter
anchors.horizontalCenter: placeholderCenter ? parent.horizontalCenter : undefined
anchors.left: placeholderCenter ? undefined : parent.left
anchors.leftMargin: placeholderLeftMargin
opacity: item.placeholderOpacity
color: item.placeholderColor
font.family: item.placeholderFontFamily
font.pixelSize: placeholderFontSize
font.bold: item.placeholderFontBold
text: ""
z: 3
}
Rectangle {
anchors.fill: parent
anchors.topMargin: 1
color: item.enabled ? "transparent" : MoneroComponents.Style.inputBoxBackgroundDisabled
}
Rectangle {
id: inputFill
color: backgroundColor
anchors.fill: parent
border.width: borderDisabled ? 0 : 1
border.color: borderColor
radius: item.inputRadius
}
RowLayout {
id: inlineButtons
anchors.verticalCenter: parent.verticalCenter
anchors.right: parent.right
anchors.rightMargin: inputPaddingRight
spacing: 4
}
}
}

View File

@@ -0,0 +1,217 @@
// Copyright (c) 2014-2024, 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.Layouts 1.1
import "../components" as MoneroComponents
ColumnLayout {
id: item
Layout.fillWidth: true
default property alias content: inlineButtons.children
property alias text: input.text
property alias labelText: inputLabel.text
property alias labelButtonText: labelButton.text
property alias placeholderText: placeholderLabel.text
property int inputPaddingLeft: 10
property int inputPaddingRight: 10
property int inputPaddingTop: 10
property int inputPaddingBottom: 10
property int inputRadius: 4
property bool placeholderCenter: false
property string placeholderFontFamily: MoneroComponents.Style.fontRegular.name
property bool placeholderFontBold: false
property int placeholderFontSize: 18
property string placeholderColor: MoneroComponents.Style.defaultFontColor
property real placeholderOpacity: 0.35
property bool borderDisabled: false
property string borderColor: {
if(input.error && input.text !== ""){
return MoneroComponents.Style.inputBorderColorInvalid;
} else if(input.activeFocus){
return MoneroComponents.Style.inputBorderColorActive;
} else {
return MoneroComponents.Style.inputBorderColorInActive;
}
}
property alias error: input.error
property alias cursorPosition: input.cursorPosition
property string labelFontColor: MoneroComponents.Style.defaultFontColor
property bool labelFontBold: false
property int labelFontSize: 16
property bool labelButtonVisible: false
property string fontColor: MoneroComponents.Style.defaultFontColor
property string fontFamily: MoneroComponents.Style.fontRegular.name
property bool fontBold: false
property int fontSize: 16
property bool mouseSelection: true
property alias readOnly: input.readOnly
property bool copyButton: false
property bool pasteButton: false
property bool showingHeader: labelText != "" || copyButton || pasteButton
property var wrapMode: Text.NoWrap
property alias addressValidation: input.addressValidation
property string backgroundColor: "" // mock
signal labelButtonClicked();
signal inputLabelLinkActivated();
signal editingFinished();
signal returnPressed();
signal enterPressed();
onActiveFocusChanged: activeFocus && input.forceActiveFocus()
spacing: 0
Rectangle {
id: inputLabelRect
color: "transparent"
Layout.fillWidth: true
height: (inputLabel.height + 10)
visible: showingHeader ? true : false
MoneroComponents.TextPlain {
id: inputLabel
anchors.top: parent.top
anchors.left: parent.left
font.family: MoneroComponents.Style.fontRegular.name
font.pixelSize: item.labelFontSize
font.bold: labelFontBold
textFormat: Text.RichText
color: item.labelFontColor
onLinkActivated: inputLabelLinkActivated()
MouseArea {
anchors.fill: parent
acceptedButtons: Qt.NoButton
cursorShape: parent.hoveredLink ? Qt.PointingHandCursor : Qt.ArrowCursor
}
}
RowLayout {
anchors.right: parent.right
spacing: 16
MoneroComponents.LabelButton {
id: labelButton
onClicked: labelButtonClicked()
visible: labelButtonVisible
}
MoneroComponents.LabelButton {
id: copyButtonId
visible: copyButton && input.text !== ""
text: qsTr("Copy") + translationManager.emptyString
onClicked: {
if (input.text.length > 0) {
console.log("Copied to clipboard");
clipboard.setText(input.text);
appWindow.showStatusMessage(qsTr("Copied to clipboard"), 3);
}
}
}
MoneroComponents.LabelButton {
id: pasteButtonId
onClicked: {
input.clear();
input.paste();
}
text: qsTr("Paste") + translationManager.emptyString
visible: pasteButton
}
}
}
MoneroComponents.InputMulti {
id: input
readOnly: false
addressValidation: false
KeyNavigation.backtab: item.KeyNavigation.backtab
KeyNavigation.priority: KeyNavigation.BeforeItem
KeyNavigation.tab: item.KeyNavigation.tab
Layout.fillWidth: true
leftPadding: item.inputPaddingLeft
rightPadding: (inlineButtons.width > 0 ? inlineButtons.width + inlineButtons.spacing : 0) + inputPaddingRight
topPadding: item.inputPaddingTop
bottomPadding: item.inputPaddingBottom
wrapMode: item.wrapMode
font.family: item.fontFamily
fontSize: item.fontSize
fontBold: item.fontBold
fontColor: item.fontColor
mouseSelection: item.mouseSelection
onEditingFinished: item.editingFinished()
Keys.onReturnPressed: item.returnPressed()
Keys.onEnterPressed: item.enterPressed()
MoneroComponents.TextPlain {
id: placeholderLabel
visible: input.text ? false : true
anchors.verticalCenter: parent.verticalCenter
anchors.left: parent.left
anchors.leftMargin: 10
opacity: item.placeholderOpacity
color: item.placeholderColor
font.family: item.placeholderFontFamily
font.bold: item.placeholderFontBold
font.pixelSize: item.placeholderFontSize
text: ""
z: 3
}
Rectangle {
color: "transparent"
border.width: 1
border.color: item.borderColor
radius: item.inputRadius
anchors.fill: parent
visible: !item.borderDisabled
}
RowLayout {
id: inlineButtons
anchors.verticalCenter: parent.verticalCenter
anchors.right: parent.right
anchors.rightMargin: inputPaddingRight
spacing: 4
}
}
}

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2014-2015, The Monero Project
// Copyright (c) 2014-2024, The Monero Project
//
// All rights reserved.
//
@@ -26,43 +26,30 @@
// 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.0
import QtQuick.Controls 1.4
import QtQuick.Controls.Styles 1.4
import QtQuick.Layouts 1.1
import Qt.labs.platform 1.0 as PlatformLabs
import "." as MoneroComponents
ColumnLayout {
property alias password: password.text
property alias placeholderText: password.placeholderText
signal changed(string password)
TextField {
Layout.fillWidth: true
id : password
focus:true
font.family: "Arial"
font.pixelSize: (isMobile) ? 25 : 26
echoMode: TextInput.Password
style: TextFieldStyle {
renderType: Text.NativeRendering
textColor: "#35B05A"
passwordCharacter: "•"
background: Rectangle {
radius: 0
border.width: 0
PlatformLabs.MenuBar {
PlatformLabs.Menu {
title: qsTr("File")
PlatformLabs.MenuItem {
enabled: appWindow.viewState === "normal"
text: qsTr("Close Wallet")
onTriggered: appWindow.showWizard()
}
}
PlatformLabs.Menu {
title: qsTr("View")
PlatformLabs.MenuItem {
text: MoneroComponents.Style.blackTheme ? qsTr("Light Theme") : qsTr("Dark Theme")
onTriggered: {
MoneroComponents.Style.blackTheme = !MoneroComponents.Style.blackTheme;
}
}
onTextChanged: changed(text)
Keys.onReleased: {
changed(text)
PlatformLabs.MenuItem {
text: qsTr("Change Language")
onTriggered: appWindow.toggleLanguageView();
}
}
Rectangle {
Layout.fillWidth:true
height: 1
color: "#DBDBDB"
}
}

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2014-2015, The Monero Project
// Copyright (c) 2014-2024, The Monero Project
//
// All rights reserved.
//
@@ -26,18 +26,27 @@
// 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.0
import QtQuick 2.9
import QtGraphicalEffects 1.0
import "../components" as MoneroComponents
import "effects/" as MoneroEffects
Rectangle {
id: button
property alias text: label.text
property bool checked: false
property alias dotColor: dot.color
property alias symbol: symbolText.text
property int numSelectedChildren: 0
property var under: null
signal clicked()
function doClick() {
// Android workaround
releaseFocus();
clicked();
}
function getOffset() {
var offset = 0
var item = button
@@ -48,21 +57,106 @@ Rectangle {
return offset
}
color: checked ? "#FFFFFF" : "#1C1C1C"
color: "transparent"
property bool present: !under || under.checked || checked || under.numSelectedChildren > 0
height: present ? ((appWindow.height >= 800) ? 64 : 52) : 0
height: present ? ((appWindow.height >= 800) ? 44 : 38 ) : 0
LinearGradient {
visible: isOpenGL && (button.checked || buttonArea.containsMouse)
height: parent.height
width: 260
anchors.verticalCenter: parent.verticalCenter
anchors.right: parent.right
anchors.rightMargin: -20
anchors.leftMargin: parent.getOffset()
start: Qt.point(width, 0)
end: Qt.point(0, 0)
gradient: Gradient {
GradientStop { position: 0.0; color: MoneroComponents.Style.menuButtonGradientStart }
GradientStop { position: 1.0; color: MoneroComponents.Style.menuButtonGradientStop }
}
opacity: button.checked ? 1 : 0.3
}
// fallback hover effect when opengl is not available
Rectangle {
visible: !isOpenGL && (button.checked || buttonArea.containsMouse)
anchors.fill: parent
color: MoneroComponents.Style.menuButtonFallbackBackgroundColor
opacity: button.checked ? 1 : 0.3
}
// button decorations that are subject to leftMargin offsets
Rectangle {
anchors.left: parent.left
anchors.leftMargin: 20
height: parent.height
width: 2
color: button.checked ? MoneroComponents.Style.accountColors[currentAccountIndex % MoneroComponents.Style.accountColors.length] : "transparent"
// button text
MoneroComponents.TextPlain {
id: label
color: MoneroComponents.Style.menuButtonTextColor
themeTransitionBlackColor: MoneroComponents.Style._b_menuButtonTextColor
themeTransitionWhiteColor: MoneroComponents.Style._w_menuButtonTextColor
anchors.verticalCenter: parent.verticalCenter
anchors.left: parent.right
anchors.leftMargin: button.getOffset() + 8
font.bold: true
font.pixelSize: 14
}
}
// menu button right arrow
MoneroEffects.ImageMask {
anchors.verticalCenter: parent.verticalCenter
anchors.leftMargin: parent.getOffset()
anchors.right: parent.right
anchors.rightMargin: 20
height: 14
width: 8
image: MoneroComponents.Style.menuButtonImageRightSource
color: button.checked ? MoneroComponents.Style.menuButtonImageRightColorActive : MoneroComponents.Style.menuButtonImageRightColor
opacity: button.checked ? 0.8 : 0.25
}
MoneroComponents.TextPlain {
id: symbolText
anchors.right: parent.right
anchors.rightMargin: 44
anchors.verticalCenter: parent.verticalCenter
font.pixelSize: 12
font.bold: true
color: MoneroComponents.Style.menuButtonTextColor
visible: appWindow.ctrlPressed
themeTransition: false
}
MouseArea {
id: buttonArea
anchors.fill: parent
hoverEnabled: true
cursorShape: Qt.PointingHandCursor
onClicked: {
if(parent.checked)
return
button.doClick()
parent.checked = true
}
}
transform: Scale {
yScale: button.present ? 1 : 0
Behavior on yScale {
NumberAnimation { duration: 500; easing.type: Easing.InOutCubic }
NumberAnimation { duration: 200; easing.type: Easing.OutCubic }
}
}
Behavior on height {
SequentialAnimation {
NumberAnimation { duration: 500; easing.type: Easing.InOutCubic }
NumberAnimation { duration: 200; easing.type: Easing.OutCubic }
}
}
@@ -70,77 +164,4 @@ Rectangle {
// we get the value of checked before the change
ScriptAction { script: if (under) under.numSelectedChildren += checked > 0 ? -1 : 1 }
}
Item {
anchors.top: parent.top
anchors.bottom: parent.bottom
anchors.left: parent.left
anchors.leftMargin: parent.getOffset()
width: 50
Rectangle {
id: dot
anchors.centerIn: parent
width: 16
height: width
radius: height / 2
Rectangle {
anchors.centerIn: parent
width: 12
height: width
radius: height / 2
color: "#1C1C1C"
visible: !button.checked && !buttonArea.containsMouse
}
}
Text {
id: symbolText
anchors.centerIn: parent
font.pixelSize: 11
font.bold: true
color: button.checked || buttonArea.containsMouse ? "#FFFFFF" : dot.color
visible: appWindow.ctrlPressed
}
}
Rectangle {
anchors.left: parent.left
anchors.top: parent.top
anchors.bottom: parent.bottom
width: 1
color: "#DBDBDB"
visible: parent.checked
}
Image {
anchors.verticalCenter: parent.verticalCenter
anchors.right: parent.right
anchors.rightMargin: 20
anchors.leftMargin: parent.getOffset()
source: "../images/menuIndicator.png"
}
Text {
id: label
anchors.verticalCenter: parent.verticalCenter
anchors.left: parent.left
anchors.leftMargin: parent.getOffset() + 50
font.family: "Arial"
font.pixelSize: 18
color: parent.checked ? "#000000" : "#FFFFFF"
}
MouseArea {
id: buttonArea
anchors.fill: parent
hoverEnabled: true
onClicked: {
if(parent.checked)
return
button.clicked()
parent.checked = true
}
}
}

View File

@@ -0,0 +1,15 @@
import QtQuick 2.9
import "." as MoneroComponents
import "effects/" as MoneroEffects
Rectangle {
color: MoneroComponents.Style.appWindowBorderColor
height: 1
MoneroEffects.ColorTransition {
targetObj: parent
blackColor: MoneroComponents.Style._b_appWindowBorderColor
whiteColor: MoneroComponents.Style._w_appWindowBorderColor
}
}

View File

@@ -1,119 +0,0 @@
import QtQuick 2.2
import QtGraphicalEffects 1.0
import QtQuick.Layouts 1.1
import moneroComponents.Wallet 1.0
// BasicPanel header
Rectangle {
id: header
anchors.leftMargin: 1
anchors.rightMargin: 1
Layout.fillWidth: true
Layout.preferredHeight: 64
color: "#FFFFFF"
// visible: basicMode
Image {
id: logo
visible: appWindow.width > 460
anchors.verticalCenter: parent.verticalCenter
anchors.verticalCenterOffset: -5
anchors.left: parent.left
anchors.leftMargin: appWindow.persistentSettings.customDecorations ? 20 : 40
source: "../images/moneroLogo2.png"
}
Image {
id: icon
visible: !logo.visible
anchors.verticalCenter: parent.verticalCenter
// anchors.verticalCenterOffset: -5
anchors.left: parent.left
anchors.leftMargin: appWindow.persistentSettings.customDecorations ? 20 : 40
source: "../images/moneroIcon.png"
}
Grid {
anchors.verticalCenter: parent.verticalCenter
anchors.top: parent.top
anchors.right: parent.right
anchors.topMargin: 10
width: 256
columns: 3
Text {
id: balanceLabel
width: 116
height: 20
font.family: "Arial"
font.pixelSize: 12
font.letterSpacing: -1
elide: Text.ElideRight
horizontalAlignment: Text.AlignLeft
verticalAlignment: Text.AlignBottom
color: "#535353"
text: leftPanel.balanceLabelText + ":"
}
Text {
id: balanceText
width: 110
height: 20
font.family: "Arial"
font.pixelSize: 18
font.letterSpacing: -1
elide: Text.ElideRight
horizontalAlignment: Text.AlignLeft
verticalAlignment: Text.AlignBottom
color: "#000000"
text: leftPanel.balanceText
}
Item {
height: 20
width: 20
Image {
anchors.verticalCenter: parent.verticalCenter
anchors.left: parent.left
source: "../images/lockIcon.png"
}
}
Text {
width: 116
height: 20
font.family: "Arial"
font.pixelSize: 12
font.letterSpacing: -1
elide: Text.ElideRight
horizontalAlignment: Text.AlignLeft
verticalAlignment: Text.AlignBottom
color: "#535353"
text: qsTr("Unlocked Balance:")
}
Text {
id: availableBalanceText
width: 110
height: 20
font.family: "Arial"
font.pixelSize: 14
font.letterSpacing: -1
elide: Text.ElideRight
horizontalAlignment: Text.AlignLeft
verticalAlignment: Text.AlignBottom
color: "#000000"
text: leftPanel.unlockedBalanceText
}
}
Rectangle {
anchors.left: parent.left
anchors.right: parent.right
anchors.bottom: parent.bottom
height: 1
color: "#DBDBDB"
}
}

217
components/Navbar.qml Normal file
View File

@@ -0,0 +1,217 @@
// Copyright (c) 2014-2024, 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.Layouts 1.1
import "." as MoneroComponents
Rectangle {
default property list<MoneroComponents.NavbarItem> items
property alias currentIndex: repeater.currentIndex
property alias previousIndex: repeater.previousIndex
color: "transparent"
height: grid.height
width: grid.width
GridLayout {
id: grid
anchors.verticalCenter: parent.verticalCenter
anchors.horizontalCenter: parent.horizontalCenter
columnSpacing: 0
property string fontColorActive: MoneroComponents.Style.blackTheme ? "white" : "white"
property string fontColorInActive: MoneroComponents.Style.blackTheme ? "white" : MoneroComponents.Style.dimmedFontColor
property int fontSize: 15
property bool fontBold: true
property var fontFamily: MoneroComponents.Style.fontRegular.name
property string borderColor: MoneroComponents.Style.blackTheme ? "#808080" : "#B9B9B9"
property int textMargin: {
// left-right margins for a given cell
if(appWindow.width < 890){
return 32;
} else {
return 64;
}
}
Rectangle {
// navbar left side border
id: navBarLeft
Layout.preferredWidth: 2
Layout.preferredHeight: 32
color: "transparent"
Rectangle {
anchors.left: parent.left
anchors.verticalCenter: parent.verticalCenter
width: 1
height: parent.height - 2
color: grid.borderColor
}
ColumnLayout {
anchors.top: parent.top
anchors.bottom: parent.bottom
anchors.right: parent.right
width: 1
spacing: 0
Rectangle {
Layout.preferredHeight: 1
Layout.preferredWidth: 1
color: grid.borderColor
}
Rectangle {
Layout.fillHeight: true
width: 1
color: items.length > 0 && items[0].active ? grid.borderColor : "transparent";
}
Rectangle {
color: grid.borderColor
Layout.preferredHeight: 1
Layout.preferredWidth: 1
}
}
}
Repeater {
id: repeater
model: items.length
property int currentIndex: 0
property int previousIndex: 0
RowLayout {
spacing: 0
Rectangle {
Layout.preferredWidth: 1
Layout.preferredHeight: 32
color: grid.borderColor
visible: index > 0 && items[index - 1].visible
}
ColumnLayout {
Layout.minimumWidth: 72
Layout.preferredHeight: 32
Layout.fillWidth: true
spacing: 0
visible: items[index].visible
Rectangle {
color: grid.borderColor
Layout.preferredHeight: 1
Layout.fillWidth: true
}
Rectangle {
Layout.minimumHeight: 30
Layout.fillWidth: true
color: items[index].active ? grid.borderColor : "transparent"
implicitHeight: children[0].implicitHeight
implicitWidth: children[0].implicitWidth
MoneroComponents.TextPlain {
anchors.centerIn: parent
font.family: grid.fontFamily
font.pixelSize: grid.fontSize
font.bold: grid.fontBold
leftPadding: grid.textMargin / 2
rightPadding: grid.textMargin / 2
text: items[index].text
color: items[index].active ? grid.fontColorActive : grid.fontColorInActive
themeTransition: false
}
MouseArea {
anchors.fill: parent
hoverEnabled: true
cursorShape: Qt.PointingHandCursor
onClicked: {
repeater.previousIndex = repeater.currentIndex;
repeater.currentIndex = index;
items[index].selected()
}
}
}
Rectangle {
color: grid.borderColor
Layout.preferredHeight: 1
Layout.fillWidth: true
}
}
}
}
Rectangle {
// navbar right side border
id: navBarRight
Layout.preferredWidth: 2
Layout.preferredHeight: 32
color: "transparent"
rotation: 180
Rectangle {
anchors.left: parent.left
anchors.verticalCenter: parent.verticalCenter
width: 1
height: parent.height - 2
color: grid.borderColor
}
ColumnLayout {
anchors.top: parent.top
anchors.bottom: parent.bottom
anchors.right: parent.right
width: 1
spacing: 0
Rectangle {
Layout.preferredHeight: 1
Layout.preferredWidth: 1
color: grid.borderColor
}
Rectangle {
Layout.fillHeight: true
width: 1
color: items.length > 0 && items[items.length - 1].active ? grid.borderColor : "transparent"
}
Rectangle {
color: grid.borderColor
Layout.preferredHeight: 1
Layout.preferredWidth: 1
}
}
}
}
}

37
components/NavbarItem.qml Normal file
View File

@@ -0,0 +1,37 @@
// Copyright (c) 2021-2024, 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
QtObject {
property bool active: false
property string text
property bool visible: true
signal selected()
}

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2014-2015, The Monero Project
// Copyright (c) 2014-2024, The Monero Project
//
// All rights reserved.
//
@@ -26,71 +26,189 @@
// 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.0
import moneroComponents.Wallet 1.0
import QtQuick 2.9
import QtQuick.Layouts 1.1
Row {
import FontAwesome 1.0
import moneroComponents.Wallet 1.0
import "../components" as MoneroComponents
Rectangle {
id: item
color: "transparent"
property var connected: Wallet.ConnectionStatus_Disconnected
function getConnectionStatusImage(status) {
if (status == Wallet.ConnectionStatus_Connected)
return "../images/statusConnected.png"
else
return "../images/statusDisconnected.png"
}
function getConnectionStatusColor(status) {
if (status == Wallet.ConnectionStatus_Connected)
return "#FF6C3B"
else
return "#AAAAAA"
}
function getConnectionStatusString(status) {
if (status == Wallet.ConnectionStatus_Connected) {
if(!appWindow.daemonSynced)
return qsTr("Synchronizing")
return qsTr("Connected")
switch (appWindow.daemonStartStopInProgress)
{
case 1:
return qsTr("Starting the node");
case 2:
return qsTr("Stopping the node");
default:
break;
}
if (status == Wallet.ConnectionStatus_WrongVersion)
return qsTr("Wrong version")
if (status == Wallet.ConnectionStatus_Disconnected)
return qsTr("Disconnected")
return qsTr("Invalid connection status")
}
Item {
id: iconItem
anchors.bottom: parent.bottom
width: 50
height: 50
Image {
anchors.centerIn: parent
source: getConnectionStatusImage(item.connected)
switch (status) {
case Wallet.ConnectionStatus_Connected:
if (!appWindow.daemonSynced)
return qsTr("Synchronizing");
if (persistentSettings.useRemoteNode && persistentSettings.allowRemoteNodeMining && appWindow.isMining)
return qsTr("Remote node") + " + " + qsTr("Mining");
if (persistentSettings.useRemoteNode)
return qsTr("Remote node");
return appWindow.isMining ? qsTr("Connected") + " + " + qsTr("Mining"): qsTr("Connected");
case Wallet.ConnectionStatus_WrongVersion:
return qsTr("Wrong version");
case Wallet.ConnectionStatus_Disconnected:
if (appWindow.walletMode <= 1) {
return qsTr("Searching node") + translationManager.emptyString;
}
return qsTr("Disconnected");
case Wallet.ConnectionStatus_Connecting:
return qsTr("Connecting");
default:
return qsTr("Invalid connection status");
}
}
Column {
anchors.bottom: parent.bottom
height: 53
spacing: 3
RowLayout {
Layout.preferredHeight: 40
Text {
anchors.left: parent.left
font.family: "Arial"
font.pixelSize: 12
color: "#545454"
text: qsTr("Network status") + translationManager.emptyString
Item {
id: iconItem
width: 40
height: 40
opacity: {
if(item.connected == Wallet.ConnectionStatus_Connected){
return 1
} else {
MoneroComponents.Style.blackTheme ? 0.5 : 0.3
}
}
Image {
anchors.top: parent.top
anchors.topMargin: !appWindow.isMining ? 6 : 4
anchors.right: parent.right
anchors.rightMargin: !appWindow.isMining ? 11 : 0
source: {
if(appWindow.isMining) {
return "qrc:///images/miningxmr.png"
} else if(item.connected == Wallet.ConnectionStatus_Connected || !MoneroComponents.Style.blackTheme) {
return "qrc:///images/lightning.png"
} else {
return "qrc:///images/lightning-white.png"
}
}
MouseArea {
anchors.fill: parent
visible: appWindow.walletMode >= 2
cursorShape: Qt.PointingHandCursor
onClicked: {
if(!appWindow.isMining) {
middlePanel.settingsView.settingsStateViewState = "Node";
appWindow.showPageRequest("Settings");
} else {
appWindow.showPageRequest("Mining")
}
}
}
}
}
Text {
anchors.left: parent.left
font.family: "Arial"
font.pixelSize: 18
color: getConnectionStatusColor(item.connected)
text: getConnectionStatusString(item.connected) + translationManager.emptyString
Item {
height: 40
width: 260
MoneroComponents.TextPlain {
id: statusText
anchors.left: parent.left
anchors.top: parent.top
anchors.topMargin: 0
font.family: MoneroComponents.Style.fontMedium.name
font.bold: true
font.pixelSize: 13
color: MoneroComponents.Style.blackTheme ? MoneroComponents.Style.dimmedFontColor : MoneroComponents.Style.defaultFontColor
opacity: MoneroComponents.Style.blackTheme ? 0.65 : 0.75
text: qsTr("Network status") + translationManager.emptyString
themeTransition: false
}
MoneroComponents.TextPlain {
id: statusTextVal
anchors.left: parent.left
anchors.top: parent.top
anchors.topMargin: 14
font.family: MoneroComponents.Style.fontMedium.name
font.pixelSize: 20
color: MoneroComponents.Style.defaultFontColor
text: getConnectionStatusString(item.connected) + translationManager.emptyString
opacity: MoneroComponents.Style.blackTheme ? 1.0 : 0.7
themeTransition: false
MouseArea {
anchors.fill: parent
visible: appWindow.walletMode >= 2
cursorShape: Qt.PointingHandCursor
onClicked: {
if(!appWindow.isMining) {
middlePanel.settingsView.settingsStateViewState = "Node";
appWindow.showPageRequest("Settings");
} else {
appWindow.showPageRequest("Mining")
}
}
}
}
MoneroComponents.TextPlain {
anchors.left: statusTextVal.right
anchors.leftMargin: 16
anchors.verticalCenter: parent.verticalCenter
color: refreshMouseArea.containsMouse ? MoneroComponents.Style.defaultFontColor : MoneroComponents.Style.dimmedFontColor
font.family: FontAwesome.fontFamilySolid
font.pixelSize: 24
font.styleName: "Solid"
opacity: 0.85
text: FontAwesome.random
themeTransition: false
tooltip: qsTr("Switch to another public remote node") + translationManager.emptyString;
visible: (
!appWindow.disconnected &&
!persistentSettings.useRemoteNode &&
(persistentSettings.bootstrapNodeAddress == "auto" || persistentSettings.walletMode < 2)
)
MouseArea {
id: refreshMouseArea
anchors.fill: parent
hoverEnabled: true
cursorShape: Qt.PointingHandCursor
visible: true
onEntered: parent.tooltipPopup.open()
onExited: parent.tooltipPopup.close()
onClicked: {
const callback = function(result) {
refreshMouseArea.visible = true;
if (result) {
appWindow.showStatusMessage(qsTr("Successfully switched to another public node"), 3);
appWindow.currentWallet.refreshHeightAsync();
} else {
appWindow.showStatusMessage(qsTr("Failed to switch public node"), 3);
}
};
daemonManager.sendCommandAsync(
["set_bootstrap_daemon", "auto"],
appWindow.currentWallet.nettype,
persistentSettings.blockchainDataDir,
callback);
refreshMouseArea.visible = false;
appWindow.showStatusMessage(qsTr("Switching to another public node"), 3);
}
}
}
}
}
}

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2014-2015, The Monero Project
// Copyright (c) 2014-2024, The Monero Project
//
// All rights reserved.
//
@@ -26,43 +26,123 @@
// 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.0
import QtQuick.Controls 1.4
import QtQuick 2.9
import QtQuick.Controls 2.0
import QtQuick.Dialogs 1.2
import QtQuick.Layouts 1.1
import QtQuick.Controls.Styles 1.4
import QtQuick.Window 2.0
import FontAwesome 1.0
import "../components" as MoneroComponents
import "." as MoneroComponents
import "effects/" as MoneroEffects
import "../js/Utils.js" as Utils
Window {
Item {
id: root
modality: Qt.ApplicationModal
flags: Qt.Window | Qt.FramelessWindowHint
property alias password: passwordInput.text
visible: false
property alias password: passwordInput1.text
property string walletName
property var okButtonText
property string okButtonIcon
property string errorText
property bool passwordDialogMode
property bool passphraseDialogMode
property bool newPasswordDialogMode
// same signals as Dialog has
signal accepted()
signal acceptedNewPassword()
signal acceptedPassphrase()
signal rejected()
signal rejectedNewPassword()
signal rejectedPassphrase()
signal closeCallback()
function open(walletName) {
function _openInit(walletName, errorText) {
capsLockTextLabel.visible = oshelper.isCapsLock();
passwordInput1.reset();
passwordInput2.reset();
if(!appWindow.currentWallet || appWindow.active)
passwordInput1.input.forceActiveFocus();
root.walletName = walletName ? walletName : ""
show()
errorTextLabel.text = errorText ? errorText : "";
leftPanel.enabled = false
middlePanel.enabled = false
wizard.enabled = false
titleBar.state = "essentials"
root.visible = true;
appWindow.hideBalanceForced = true;
appWindow.updateBalance();
}
// TODO: implement without hardcoding sizes
width: 480
height: walletName ? 240 : 200
function open(walletName, errorText, okButtonText, okButtonIcon) {
passwordDialogMode = true;
passphraseDialogMode = false;
newPasswordDialogMode = false;
root.okButtonText = okButtonText;
root.okButtonIcon = okButtonIcon ? okButtonIcon : "";
_openInit(walletName, errorText);
}
// Make window draggable
MouseArea {
anchors.fill: parent
property point lastMousePos: Qt.point(0, 0)
onPressed: { lastMousePos = Qt.point(mouseX, mouseY); }
onMouseXChanged: root.x += (mouseX - lastMousePos.x)
onMouseYChanged: root.y += (mouseY - lastMousePos.y)
function openPassphraseDialog() {
passwordDialogMode = false;
passphraseDialogMode = true;
newPasswordDialogMode = false;
_openInit("", "");
}
function openNewPasswordDialog() {
passwordDialogMode = false;
passphraseDialogMode = false;
newPasswordDialogMode = true;
_openInit("", "");
}
function showError(errorText) {
open(root.walletName, errorText);
}
function close() {
leftPanel.enabled = true
middlePanel.enabled = true
wizard.enabled = true
if (rootItem.state == "wizard") {
titleBar.state = "essentials"
} else {
titleBar.state = "default"
}
root.visible = false;
appWindow.hideBalanceForced = false;
appWindow.updateBalance();
closeCallback();
}
function onOk() {
if (!passwordDialogMode && passwordInput1.text !== passwordInput2.text) {
return;
}
root.close()
if (passwordDialogMode) {
root.accepted()
} else if (newPasswordDialogMode) {
root.acceptedNewPassword()
} else if (passphraseDialogMode) {
root.acceptedPassphrase()
}
}
function onCancel() {
root.close()
if (passwordDialogMode) {
root.rejected()
} else if (newPasswordDialogMode) {
root.rejectedNewPassword()
} else if (passphraseDialogMode) {
root.rejectedPassphrase()
}
}
ColumnLayout {
@@ -72,112 +152,154 @@ Window {
ColumnLayout {
id: column
//anchors {fill: parent; margins: 16 }
Layout.fillWidth: true
Layout.alignment: Qt.AlignHCenter
Layout.maximumWidth: 400
Label {
text: root.walletName.length > 0 ? qsTr("Please enter wallet password for:<br>") + root.walletName : qsTr("Please enter wallet password")
Layout.alignment: Qt.AlignHCenter
Layout.columnSpan: 2
Layout.fillWidth: true
horizontalAlignment: Text.AlignHCenter
font.pixelSize: 24
font.family: "Arial"
color: "#555555"
}
TextField {
id : passwordInput
focus: true
Layout.fillWidth: true
Layout.alignment: Qt.AlignHCenter
horizontalAlignment: TextInput.AlignHCenter
verticalAlignment: TextInput.AlignVCenter
font.family: "Arial"
font.pixelSize: 32
echoMode: TextInput.Password
KeyNavigation.tab: okButton
style: TextFieldStyle {
renderType: Text.NativeRendering
textColor: "#35B05A"
passwordCharacter: "•"
// no background
background: Rectangle {
radius: 0
border.width: 0
text: {
if (newPasswordDialogMode) {
return qsTr("Please enter new wallet password") + translationManager.emptyString;
} else {
var device = passwordDialogMode ? qsTr("wallet password") : qsTr("wallet device passphrase");
return (root.walletName.length > 0 ? qsTr("Please enter %1 for: ").arg(device) + root.walletName : qsTr("Please enter %1").arg(device)) + translationManager.emptyString;
}
}
Keys.onReturnPressed: {
root.close()
root.accepted()
}
Keys.onEscapePressed: {
root.close()
root.rejected()
}
}
// underline
Rectangle {
height: 1
color: "#DBDBDB"
Layout.fillWidth: true
Layout.alignment: Qt.AlignHCenter
anchors.bottomMargin: 3
font.pixelSize: 16
font.family: MoneroComponents.Style.fontLight.name
color: MoneroComponents.Style.defaultFontColor
}
Label {
text: qsTr("Warning: passphrase entry on host is a security risk as it can be captured by malware. It is advised to prefer device-based passphrase entry.") + translationManager.emptyString
visible: passphraseDialogMode
Layout.fillWidth: true
wrapMode: Text.Wrap
font.pixelSize: 14
font.family: MoneroComponents.Style.fontLight.name
color: MoneroComponents.Style.warningColor
}
Label {
id: errorTextLabel
visible: root.errorText || text !== ""
color: MoneroComponents.Style.errorColor
font.pixelSize: 16
font.family: MoneroComponents.Style.fontLight.name
Layout.fillWidth: true
wrapMode: Text.Wrap
}
Label {
id: capsLockTextLabel
visible: false
color: MoneroComponents.Style.errorColor
font.pixelSize: 16
font.family: MoneroComponents.Style.fontLight.name
Layout.fillWidth: true
wrapMode: Text.Wrap
text: qsTr("CAPSLOCKS IS ON.") + translationManager.emptyString;
}
MoneroComponents.LineEdit {
id: passwordInput1
password: true
Layout.topMargin: 6
Layout.fillWidth: true
KeyNavigation.tab: {
if (passwordDialogMode) {
return okButton
} else {
return passwordInput2
}
}
onTextChanged: capsLockTextLabel.visible = oshelper.isCapsLock();
Keys.enabled: root.visible
Keys.onEnterPressed: root.onOk()
Keys.onReturnPressed: root.onOk()
Keys.onEscapePressed: root.onCancel()
}
// padding
Rectangle {
visible: !passwordDialogMode
Layout.fillWidth: true
Layout.alignment: Qt.AlignHCenter
height: 10
opacity: 0
color: "black"
}
}
// Ok/Cancel buttons
RowLayout {
id: buttons
spacing: 60
Layout.alignment: Qt.AlignHCenter
MoneroComponents.StandardButton {
id: cancelButton
width: 120
fontSize: 14
shadowReleasedColor: "#FF4304"
shadowPressedColor: "#B32D00"
releasedColor: "#FF6C3C"
pressedColor: "#FF4304"
text: qsTr("Cancel") + translationManager.emptyString
KeyNavigation.tab: passwordInput
onClicked: {
root.close()
root.rejected()
}
Label {
visible: !passwordDialogMode
text: newPasswordDialogMode ? qsTr("Please confirm new password") : qsTr("Please confirm wallet device passphrase") + translationManager.emptyString
Layout.fillWidth: true
font.pixelSize: 16
font.family: MoneroComponents.Style.fontLight.name
color: MoneroComponents.Style.defaultFontColor
}
MoneroComponents.StandardButton {
id: okButton
width: 120
fontSize: 14
shadowReleasedColor: "#FF4304"
shadowPressedColor: "#B32D00"
releasedColor: "#FF6C3C"
pressedColor: "#FF4304"
text: qsTr("Ok")
KeyNavigation.tab: cancelButton
onClicked: {
root.close()
root.accepted()
MoneroComponents.LineEdit {
id: passwordInput2
passwordLinked: passwordInput1
visible: !passwordDialogMode
Layout.topMargin: 6
Layout.fillWidth: true
KeyNavigation.tab: okButton
onTextChanged: capsLockTextLabel.visible = oshelper.isCapsLock();
Keys.enabled: root.visible
Keys.onEnterPressed: root.onOk()
Keys.onReturnPressed: root.onOk()
Keys.onEscapePressed: root.onCancel()
}
// padding
Rectangle {
visible: !passwordDialogMode
Layout.fillWidth: true
Layout.alignment: Qt.AlignHCenter
height: 10
opacity: 0
color: "black"
}
// Ok/Cancel buttons
RowLayout {
id: buttons
spacing: 16
Layout.topMargin: 16
Layout.alignment: Qt.AlignRight
MoneroComponents.StandardButton {
id: cancelButton
primary: false
small: true
text: qsTr("Cancel") + translationManager.emptyString
KeyNavigation.tab: passwordInput1
onClicked: onCancel()
}
MoneroComponents.StandardButton {
id: okButton
fontAwesomeIcon: true
rightIcon: okButtonIcon
small: true
text: okButtonText ? okButtonText : qsTr("Ok") + translationManager.emptyString
KeyNavigation.tab: cancelButton
enabled: (passwordDialogMode == true) ? true : passwordInput1.text === passwordInput2.text
onClicked: onOk()
}
}
}
}
}

View File

@@ -1,155 +0,0 @@
// Copyright (c) 2014-2015, 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.0
Item {
id: item
property int fillLevel: 0
height: 70
clip: true
Rectangle {
anchors.left: parent.left
anchors.right: parent.right
anchors.top: parent.top
height: 24
//radius: 4
color: "#DBDBDB"
}
Rectangle {
id: bar
anchors.left: parent.left
anchors.right: parent.right
anchors.top: parent.top
anchors.topMargin: 1
height: 24
//radius: 4
color: "#FFFFFF"
Rectangle {
id: fillRect
anchors.top: parent.top
anchors.bottom: parent.bottom
anchors.left: parent.left
anchors.margins: 4
//radius: 2
width: row.x
color: {
if(item.fillLevel < 3) return "#FF6C3C"
if(item.fillLevel < 13) return "#AAFFBB"
return "#36B25C"
}
Timer {
interval: 500
running: true
repeat: false
onTriggered: fillRect.loaded = true
}
property bool loaded: false
Behavior on width {
enabled: fillRect.loaded
NumberAnimation { duration: 100; easing.type: Easing.InQuad }
}
}
MouseArea {
anchors.fill: parent
function positionBar() {
var xDiff = 999999
var index = -1
for(var i = 0; i < 14; ++i) {
var tmp = Math.abs(row.positions[i].currentX + row.x - mouseX)
if(tmp < xDiff) {
xDiff = tmp
index = i
}
}
if(index !== -1) {
fillRect.width = Qt.binding(function(){ return row.positions[index].currentX + row.x })
item.fillLevel = index
}
}
onClicked: positionBar()
onMouseXChanged: positionBar()
}
}
Row {
id: row
anchors.right: bar.right
anchors.rightMargin: 8
anchors.top: bar.bottom
anchors.topMargin: -1
property var positions: new Array()
Row {
id: row2
spacing: ((bar.width - 8) / 2) / 4
Repeater {
model: 4
delegate: TickDelegate {
id: delegateItem2
currentX: x + row2.x
currentIndex: index
mainTick: currentIndex === 0 || currentIndex === 3 || currentIndex === 13
Component.onCompleted: {
row.positions[currentIndex] = delegateItem2
}
}
}
}
Row {
id: row1
spacing: ((bar.width - 8) / 2) / 10
Repeater {
model: 10
delegate: TickDelegate {
id: delegateItem1
currentX: x + row1.x
currentIndex: index + 4
mainTick: currentIndex === 0 || currentIndex === 3 || currentIndex === 13
Component.onCompleted: {
row.positions[currentIndex] = delegateItem1
}
}
}
}
}
}

View File

@@ -1,195 +0,0 @@
// Copyright (c) 2014-2015, 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.0
Item {
id: item
property alias interactive: mouseArea.enabled
property alias background: bar.color
property int fillLevel: 0
height: 40
clip: true
onFillLevelChanged: {
if (!interactive) {
//print("fillLevel: " + fillLevel)
fillRect.width = row.positions[fillLevel].currentX + row.x
}
}
Rectangle {
anchors.left: parent.left
anchors.right: parent.right
anchors.top: parent.top
height: 24
//radius: 4
color: "#DBDBDB"
}
Rectangle {
id: bar
anchors.left: parent.left
anchors.right: parent.right
anchors.top: parent.top
anchors.topMargin: 1
height: 24
//radius: 4
color: "#FFFFFF"
Rectangle {
id: fillRect
anchors.top: parent.top
anchors.bottom: parent.bottom
anchors.left: parent.left
anchors.margins: 4
//radius: 2
width: row.x
color: {
if(item.fillLevel < 5) return "#FF6C3C"
if(item.fillLevel < 13) return "#AAFFBB"
return "#36B25C"
}
Timer {
interval: 500
running: true
repeat: false
onTriggered: fillRect.loaded = true
}
property bool loaded: false
Behavior on width {
enabled: fillRect.loaded
NumberAnimation { duration: 100; easing.type: Easing.InQuad }
}
}
Text {
anchors.verticalCenter: parent.verticalCenter
font.family: "Arial"
font.pixelSize: 15
color: "#000000"
x: row.x + (row.positions[0] !== undefined ? row.positions[0].currentX - 3 : 0) - width
text: qsTr("Low") + translationManager.emptyString
}
Text {
anchors.verticalCenter: parent.verticalCenter
font.family: "Arial"
font.pixelSize: 15
color: "#000000"
x: row.x + (row.positions[4] !== undefined ? row.positions[4].currentX - 3 : 0) - width
text: qsTr("Medium") + translationManager.emptyString
}
Text {
anchors.verticalCenter: parent.verticalCenter
font.family: "Arial"
font.pixelSize: 15
color: "#000000"
x: row.x + (row.positions[13] !== undefined ? row.positions[13].currentX - 3 : 0) - width
text: qsTr("High") + translationManager.emptyString
}
MouseArea {
id: mouseArea
anchors.fill: parent
function positionBar() {
var xDiff = 999999
var index = -1
for(var i = 0; i < 14; ++i) {
var tmp = Math.abs(row.positions[i].currentX + row.x - mouseX)
if(tmp < xDiff) {
xDiff = tmp
index = i
}
}
if(index !== -1) {
fillRect.width = Qt.binding(function(){ return row.positions[index].currentX + row.x })
item.fillLevel = index
print ("fillLevel: " + item.fillLevel)
}
}
onClicked: positionBar()
onMouseXChanged: positionBar()
}
}
Row {
id: row
anchors.right: bar.right
anchors.rightMargin: 8
anchors.top: bar.bottom
anchors.topMargin: 5
property var positions: []
Row {
id: row2
spacing: ((bar.width - 8) / 2.23) / 4
Repeater {
model: 4
delegate: Rectangle {
id: delegateItem2
property int currentX: x + row2.x
height: 8
width: 1
color: "#DBDBDB"
Component.onCompleted: {
row.positions[index] = delegateItem2
}
}
}
}
Row {
id: row1
spacing: ((bar.width - 8) / 2.23) / 10
Repeater {
model: 10
delegate: Rectangle {
id: delegateItem1
property int currentX: x + row1.x
height: index === 4 ? 8 : 4
width: 1
color: "#DBDBDB"
Component.onCompleted: {
row.positions[index + 4] = delegateItem1
}
}
}
}
}
}

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2014-2015, The Monero Project
// Copyright (c) 2014-2024, The Monero Project
//
// All rights reserved.
//
@@ -26,57 +26,87 @@
// 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.0
import QtQuick 2.9
import QtQuick.Window 2.1
import QtQuick.Controls 1.4
import QtQuick.Controls.Styles 1.4
import QtQuick.Layouts 1.1
Window {
id: root
modality: Qt.ApplicationModal
flags: Qt.Window
property alias messageText: messageTitle.text
property alias heightProgressText : heightProgress.text
import "../components" as MoneroComponents
width: 200
height: 100
opacity: 0.7
Rectangle {
id: root
color: MoneroComponents.Style.blackTheme ? "black" : "white"
visible: false
radius: 10
border.color: MoneroComponents.Style.blackTheme ? Qt.rgba(255, 255, 255, 0.25) : Qt.rgba(0, 0, 0, 0.25)
border.width: 1
z: 11
property alias messageText: messageTitle.text
width: 100
height: 50
function show() {
root.visible = true;
}
function close() {
root.visible = false;
}
ColumnLayout {
id: rootLayout
anchors.left: parent.left
anchors.right: parent.right
anchors.verticalCenter: parent.verticalCenter
anchors.centerIn: parent
anchors.leftMargin: 30
anchors.rightMargin: 30
BusyIndicator {
running: parent.visible
spacing: 21
Item {
Layout.alignment: Qt.AlignVCenter | Qt.AlignHCenter
Layout.preferredHeight: 80
Image {
id: imgLogo
width: 60
height: 60
anchors.centerIn: parent
source: "qrc:///images/monero-vector.svg"
mipmap: true
}
BusyIndicator {
running: parent.visible
anchors.centerIn: imgLogo
style: BusyIndicatorStyle {
indicator: Image {
visible: control.running
source: "qrc:///images/busy-indicator.png"
RotationAnimator on rotation {
running: control.running
loops: Animation.Infinite
duration: 1000
from: 0
to: 360
}
}
}
}
}
Text {
MoneroComponents.TextPlain {
id: messageTitle
text: "Please wait..."
font {
pixelSize: 22
}
horizontalAlignment: Text.AlignHCenter
Layout.alignment: Qt.AlignVCenter | Qt.AlignHCenter
Layout.fillWidth: true
}
Text {
id: heightProgress
font {
pixelSize: 18
}
text: qsTr("Please wait...") + translationManager.emptyString
font.pixelSize: 24
horizontalAlignment: Text.AlignHCenter
Layout.alignment: Qt.AlignVCenter | Qt.AlignHCenter
Layout.fillWidth: true
themeTransition: false
color: MoneroComponents.Style.defaultFontColor
}
}
}

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2014-2015, The Monero Project
// Copyright (c) 2014-2024, The Monero Project
//
// All rights reserved.
//
@@ -26,81 +26,111 @@
// 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.0
import QtQuick 2.9
import moneroComponents.Wallet 1.0
Item {
import "../components" as MoneroComponents
Rectangle {
id: item
property int fillLevel: 0
height: 22
anchors.margins:15
property string syncType // Wallet or Daemon
property string syncText: qsTr("%1 blocks remaining: ").arg(syncType)
visible: false
//clip: true
function updateProgress(currentBlock,targetBlock, blocksToSync){
if(targetBlock == 1) {
fillLevel = 0
progressText.text = qsTr("Establishing connection...");
progressBar.visible = true
return
}
color: "transparent"
function updateProgress(currentBlock,targetBlock, blocksToSync, statusTxt){
if(targetBlock > 0) {
var remaining = targetBlock - currentBlock
// wallet sync
if(blocksToSync > 0)
var progressLevel = (100*(blocksToSync - remaining)/blocksToSync).toFixed(0);
// Daemon sync
else
var progressLevel = (100*(currentBlock/targetBlock)).toFixed(0);
var remaining = (currentBlock < targetBlock) ? targetBlock - currentBlock : 0
var progressLevel = (blocksToSync > 0 ) ? (100*(blocksToSync - remaining)/blocksToSync).toFixed(0) : 100
fillLevel = progressLevel
progressText.text = qsTr("Blocks remaining: %1").arg(remaining.toFixed(0));
progressBar.visible = currentBlock < targetBlock
if(typeof statusTxt != "undefined" && statusTxt != "") {
progressText.text = statusTxt;
progressTextValue.text = "";
} else {
progressText.text = syncText;
progressTextValue.text = remaining.toFixed(0);
}
}
}
Rectangle {
id: bar
anchors.left: parent.left
anchors.right: parent.right
anchors.top: parent.top
height: 22
radius: 2
color: "#FFFFFF"
Item {
anchors.top: item.top
anchors.topMargin: 10
anchors.leftMargin: 15
anchors.rightMargin: 15
anchors.fill: parent
Rectangle {
id: fillRect
MoneroComponents.TextPlain {
id: progressText
anchors.top: parent.top
anchors.bottom: parent.bottom
anchors.left: parent.left
anchors.margins: 2
height: bar.height
property int maxWidth: parent.width - 4
width: (maxWidth * fillLevel) / 100
color: {
if(item.fillLevel < 99 ) return "#FF6C3C"
//if(item.fillLevel < 99) return "#FFE00A"
return "#36B25C"
}
anchors.topMargin: 6
font.family: MoneroComponents.Style.fontMedium.name
font.pixelSize: 13
font.bold: MoneroComponents.Style.progressBarProgressTextBold
color: MoneroComponents.Style.defaultFontColor
text: qsTr("Synchronizing %1").arg(syncType) + translationManager.emptyString
height: 18
}
MoneroComponents.TextPlain {
id: progressTextValue
anchors.top: parent.top
anchors.topMargin: 6
anchors.right: parent.right
font.family: MoneroComponents.Style.fontMedium.name
font.pixelSize: 13
font.bold: MoneroComponents.Style.progressBarProgressTextBold
color: MoneroComponents.Style.defaultFontColor
height:18
}
Rectangle {
color:"#333"
anchors.bottom: parent.bottom
id: bar
anchors.left: parent.left
anchors.leftMargin: 8
anchors.right: parent.right
anchors.top: progressText.bottom
anchors.topMargin: 4
height: 8
radius: 8
color: MoneroComponents.Style.progressBarBackgroundColor
Text {
id:progressText
states: [
State {
name: "black";
when: MoneroComponents.Style.blackTheme
PropertyChanges { target: bar; color: MoneroComponents.Style._b_progressBarBackgroundColor}
}, State {
name: "white";
when: !MoneroComponents.Style.blackTheme
PropertyChanges { target: bar; color: MoneroComponents.Style._w_progressBarBackgroundColor}
}
]
transitions: Transition {
enabled: appWindow.themeTransition
ColorAnimation { properties: "color"; easing.type: Easing.InOutQuad; duration: 300 }
}
Rectangle {
id: fillRect
anchors.top: parent.top
anchors.bottom: parent.bottom
font.family: "Arial"
font.pixelSize: 12
color: "#000"
text: qsTr("Synchronizing blocks")
height:18
anchors.left: parent.left
height: bar.height
property int maxWidth: bar.width
width: (maxWidth * fillLevel) / 100
radius: 8
color: "#FA6800"
}
Rectangle {
color:"#333"
anchors.bottom: parent.bottom
anchors.left: parent.left
anchors.leftMargin: 8
}
}
}
}
}

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2014-2017, The Monero Project
// Copyright (c) 2014-2024, The Monero Project
//
// All rights reserved.
//
@@ -26,7 +26,7 @@
// 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.0
import QtQuick 2.9
import QtMultimedia 5.4
import QtQuick.Dialogs 1.2
import moneroComponents.QRCodeScanner 1.0
@@ -44,7 +44,7 @@ Rectangle {
color: "black"
state: "Stopped"
signal qrcode_decoded(string address, string payment_id, string amount, string tx_description, string recipient_name)
signal qrcode_decoded(string address, string payment_id, string amount, string tx_description, string recipient_name, var extra_parameters)
states: [
State {
@@ -53,6 +53,7 @@ Rectangle {
script: {
root.visible = true
camera.captureMode = Camera.CaptureStillImage
camera.cameraState = Camera.ActiveState
camera.start()
finder.enabled = true
}
@@ -65,6 +66,7 @@ Rectangle {
camera.stop()
root.visible = false
finder.enabled = false
camera.cameraState = Camera.UnloadedState
}
}
}
@@ -74,6 +76,7 @@ Rectangle {
id: camera
objectName: "qrCameraQML"
captureMode: Camera.CaptureStillImage
cameraState: Camera.UnloadedState
focus {
focusMode: Camera.FocusContinuous
@@ -83,9 +86,17 @@ Rectangle {
id : finder
objectName: "QrFinder"
onDecoded : {
root.qrcode_decoded(address, payment_id, amount, tx_description, recipient_name)
root.state = "Stopped"
}
const parsed = walletManager.parse_uri_to_object(data);
if (!parsed.error) {
root.qrcode_decoded(parsed.address, parsed.payment_id, parsed.amount, parsed.tx_description, parsed.recipient_name, parsed.extra_parameters);
root.state = "Stopped";
} else if (walletManager.addressValid(data, appWindow.persistentSettings.nettype)) {
root.qrcode_decoded(data, "", "", "", "", null);
root.state = "Stopped";
} else {
onNotifyError(parsed.error);
}
}
onNotifyError : {
if( warning )
messageDialog.icon = StandardIcon.Critical
@@ -126,7 +137,7 @@ Rectangle {
MessageDialog {
id: messageDialog
title: "Scanning QrCode"
title: qsTr("QrCode Scanned") + translationManager.emptyString
onAccepted: {
root.state = "Stopped"
}

View File

@@ -0,0 +1,92 @@
// Copyright (c) 2014-2024, 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.Layouts 1.1
import "../components" as MoneroComponents
Item {
id: radioButton
property alias text: label.text
property bool checked: false
property int fontSize: 14
property alias fontColor: label.color
signal clicked()
height: 26
width: layout.width
// legacy properties
property var checkedColor: MoneroComponents.Style.blackTheme ? "white" : "#666666"
property var borderColor: checked ? MoneroComponents.Style.inputBorderColorActive : MoneroComponents.Style.inputBorderColorInActive
function toggle(){
radioButton.checked = !radioButton.checked
radioButton.clicked()
}
RowLayout {
id: layout
Rectangle {
id: button
color: "transparent"
border.color: borderColor
height: radioButton.height
width: radioButton.height
radius: radioButton.height
Rectangle {
visible: radioButton.checked
anchors.horizontalCenter: parent.horizontalCenter
anchors.verticalCenter: parent.verticalCenter
color: checkedColor
width: 10
height: 10
radius: 10
opacity: 0.8
}
}
MoneroComponents.TextPlain {
id: label
Layout.leftMargin: 10
color: MoneroComponents.Style.defaultFontColor
font.family: MoneroComponents.Style.fontRegular.name
font.pixelSize: radioButton.fontSize
wrapMode: Text.Wrap
}
}
MouseArea {
anchors.fill: parent
cursorShape: Qt.PointingHandCursor
onClicked: {
toggle()
}
}
}

View File

@@ -0,0 +1,170 @@
// Copyright (c) 2021-2024, 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.Controls 2.2
import QtQuick.Layouts 1.1
import "." as MoneroComponents
MoneroComponents.Dialog {
id: root
title: (editMode ? qsTr("Edit remote node") : qsTr("Add remote node")) + translationManager.emptyString
property var callbackOnSuccess: null
property bool editMode: false
property bool success: false
onActiveFocusChanged: activeFocus && remoteNodeAddress.forceActiveFocus()
function onOk() {
root.success = true;
root.close();
}
function onCancel() { root.close(); }
function add(callbackOnSuccess) {
root.editMode = false;
root.callbackOnSuccess = callbackOnSuccess;
open();
}
function edit(remoteNode, callbackOnSuccess) {
const hostPort = remoteNode.address.match(/^(.*?)(?:\:?(\d*))$/);
if (hostPort) {
remoteNodeAddress.daemonAddrText = hostPort[1];
remoteNodeAddress.daemonPortText = hostPort[2];
}
daemonUsername.text = remoteNode.username;
daemonPassword.text = remoteNode.password;
setTrustedDaemonCheckBox.checked = remoteNode.trusted;
root.callbackOnSuccess = callbackOnSuccess;
root.editMode = true;
open();
}
onClosed: {
if (root.success && callbackOnSuccess) {
callbackOnSuccess({
address: remoteNodeAddress.getAddress(),
username: daemonUsername.text,
password: daemonPassword.text,
trusted: setTrustedDaemonCheckBox.checked,
});
}
remoteNodeAddress.daemonAddrText = "";
remoteNodeAddress.daemonPortText = "";
daemonUsername.text = "";
daemonPassword.text = "";
setTrustedDaemonCheckBox.checked = false;
root.success = false;
}
MoneroComponents.RemoteNodeEdit {
id: remoteNodeAddress
Layout.fillWidth: true
placeholderFontSize: 15
daemonAddrLabelText: qsTr("Address") + translationManager.emptyString
daemonPortLabelText: qsTr("Port") + translationManager.emptyString
Keys.enabled: root.visible
Keys.onEnterPressed: root.onOk()
Keys.onReturnPressed: root.onOk()
Keys.onEscapePressed: root.onCancel()
}
RowLayout {
Layout.fillWidth: true
spacing: 32
MoneroComponents.LineEdit {
id: daemonUsername
Layout.fillWidth: true
Layout.minimumWidth: 220
labelText: qsTr("Daemon username") + translationManager.emptyString
placeholderText: qsTr("(optional)") + translationManager.emptyString
placeholderFontSize: 15
labelFontSize: 14
fontSize: 15
}
MoneroComponents.LineEdit {
id: daemonPassword
Layout.fillWidth: true
Layout.minimumWidth: 220
labelText: qsTr("Daemon password") + translationManager.emptyString
placeholderText: qsTr("Password") + translationManager.emptyString
password: true
placeholderFontSize: 15
labelFontSize: 14
fontSize: 15
Keys.enabled: root.visible
Keys.onEnterPressed: root.onOk()
Keys.onReturnPressed: root.onOk()
Keys.onEscapePressed: root.onCancel()
}
}
MoneroComponents.CheckBox {
id: setTrustedDaemonCheckBox
activeFocusOnTab: true
text: qsTr("Mark as Trusted Daemon") + translationManager.emptyString
}
RowLayout {
Layout.alignment: Qt.AlignRight
spacing: parent.spacing
MoneroComponents.StandardButton {
activeFocusOnTab: true
fontBold: false
primary: false
text: qsTr("Cancel") + translationManager.emptyString
onClicked: root.close()
}
MoneroComponents.StandardButton {
activeFocusOnTab: true
fontBold: false
enabled: remoteNodeAddress.getAddress() != ""
text: qsTr("Ok") + translationManager.emptyString
onClicked: {
root.success = true;
root.close();
}
}
}
}

View File

@@ -0,0 +1,127 @@
// Copyright (c) 2014-2024, 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.Controls 1.2
import QtQuick.Controls.Styles 1.2
import QtQuick 2.9
import QtQuick.Layouts 1.1
import "../js/Utils.js" as Utils
import "../components" as MoneroComponents
GridLayout {
columns: 2
columnSpacing: 32
id: root
property alias daemonAddrText: daemonAddr.text
property alias daemonPortText: daemonPort.text
property alias daemonAddrLabelText: daemonAddr.labelText
property alias daemonPortLabelText: daemonPort.labelText
property string initialAddress: ""
property var initialHostPort: initialAddress.match(/^(.*?)(?:\:?(\d*))$/)
// TODO: LEGACY; remove these placeHolder variables when
// the wizards get redesigned to the black-theme
property string placeholderFontFamily: MoneroComponents.Style.fontRegular.name
property bool placeholderFontBold: false
property int placeholderFontSize: 15
property string placeholderColor: MoneroComponents.Style.defaultFontColor
property real placeholderOpacity: 0.35
property int labelFontSize: 14
property string lineEditBackgroundColor: "transparent"
property string lineEditFontColor: MoneroComponents.Style.defaultFontColor
property bool lineEditFontBold: false
property int lineEditFontSize: 15
// Author: David M. Syzdek https://github.com/syzdek https://gist.github.com/syzdek/6086792
readonly property var ipv6Regex: /^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe08:(:[0-9a-fA-F]{1,4}){2,2}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/
signal editingFinished()
signal textChanged()
onActiveFocusChanged: activeFocus && daemonAddr.forceActiveFocus()
function isValid() {
return daemonAddr.text.trim().length > 0 && daemonPort.acceptableInput
}
function getAddress() {
if (!isValid()) {
return "";
}
var addr = daemonAddr.text.trim();
var port = daemonPort.text.trim();
return addr + ":" + port;
}
MoneroComponents.LineEdit {
id: daemonAddr
Layout.preferredWidth: root.width/3
placeholderText: qsTr("Remote Node Hostname / IP") + translationManager.emptyString
placeholderFontFamily: root.placeholderFontFamily
placeholderFontBold: root.placeholderFontBold
placeholderFontSize: root.placeholderFontSize
placeholderColor: root.placeholderColor
placeholderOpacity: root.placeholderOpacity
labelFontSize: root.labelFontSize
backgroundColor: lineEditBackgroundColor
fontColor: lineEditFontColor
fontBold: lineEditFontBold
fontSize: lineEditFontSize
onEditingFinished: {
text = text.replace(ipv6Regex, "[$1]");
root.editingFinished();
}
onTextChanged: root.textChanged()
text: initialHostPort[1]
}
MoneroComponents.LineEdit {
id: daemonPort
Layout.preferredWidth: root.width/3
placeholderText: qsTr("Port") + translationManager.emptyString
placeholderFontFamily: root.placeholderFontFamily
placeholderFontBold: root.placeholderFontBold
placeholderFontSize: root.placeholderFontSize
placeholderColor: root.placeholderColor
placeholderOpacity: root.placeholderOpacity
labelFontSize: root.labelFontSize
backgroundColor: lineEditBackgroundColor
fontColor: lineEditFontColor
fontBold: lineEditFontBold
fontSize: lineEditFontSize
validator: IntValidator{bottom: 1; top: 65535;}
onEditingFinished: root.editingFinished()
onTextChanged: root.textChanged()
text: initialHostPort[2]
}
}

View File

@@ -0,0 +1,167 @@
// Copyright (c) 2021-2024, 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.Layouts 1.1
import FontAwesome 1.0
import "." as MoneroComponents
import "effects/" as MoneroEffects
ColumnLayout {
id: remoteNodeList
spacing: 20
MoneroComponents.CheckBox {
border: false
checkedIcon: FontAwesome.minusCircle
uncheckedIcon: FontAwesome.plusCircle
fontAwesomeIcons: true
fontSize: 16
iconOnTheLeft: true
text: qsTr("Add remote node") + translationManager.emptyString
toggleOnClick: false
onClicked: remoteNodeDialog.add(remoteNodesModel.append)
}
ColumnLayout {
spacing: 0
Repeater {
model: remoteNodesModel
Rectangle {
height: 30
Layout.fillWidth: true
color: itemMouseArea.containsMouse || trustedDaemonCheckMark.labelMouseArea.containsMouse || index === remoteNodesModel.selected ? MoneroComponents.Style.titleBarButtonHoverColor : "transparent"
Rectangle {
visible: index === remoteNodesModel.selected
Layout.fillHeight: true
anchors.top: parent.top
anchors.bottom: parent.bottom
color: "darkgrey"
width: 2
}
Rectangle {
color: MoneroComponents.Style.appWindowBorderColor
anchors.right: parent.right
anchors.left: parent.left
anchors.top: parent.top
height: 1
visible: index > 0
MoneroEffects.ColorTransition {
targetObj: parent
blackColor: MoneroComponents.Style._b_appWindowBorderColor
whiteColor: MoneroComponents.Style._w_appWindowBorderColor
}
}
Rectangle {
anchors.fill: parent
anchors.rightMargin: 80
color: "transparent"
property var trusted: remoteNodesModel.get(index) ? remoteNodesModel.get(index).trusted : false
MoneroComponents.TextPlain {
id: addressText
width: parent.width - trustedDaemonCheckMark.width
color: index === remoteNodesModel.selected ? MoneroComponents.Style.defaultFontColor : MoneroComponents.Style.dimmedFontColor
anchors.verticalCenter: parent.verticalCenter
anchors.left: parent.left
anchors.leftMargin: 6
font.pixelSize: 16
text: address
themeTransition: false
elide: Text.ElideMiddle
}
MoneroComponents.Label {
id: trustedDaemonCheckMark
anchors.left: addressText.right
anchors.leftMargin: 3
anchors.verticalCenter: parent.verticalCenter
anchors.verticalCenterOffset: 2
z: itemMouseArea.z + 1
fontSize: 16
fontFamily: FontAwesome.fontFamilySolid
fontColor: index === remoteNodesModel.selected ? MoneroComponents.Style.defaultFontColor : MoneroComponents.Style.dimmedFontColor
styleName: "Solid"
visible: trusted
text: FontAwesome.shieldAlt
tooltip: qsTr("Trusted daemon") + translationManager.emptyString
themeTransition: false
}
MouseArea {
id: itemMouseArea
cursorShape: Qt.PointingHandCursor
anchors.fill: parent
hoverEnabled: true
onClicked: remoteNodesModel.applyRemoteNode(index)
}
}
RowLayout {
anchors.verticalCenter: parent.verticalCenter
anchors.right: parent.right
height: 30
spacing: 2
MoneroComponents.InlineButton {
buttonColor: "transparent"
fontFamily: FontAwesome.fontFamily
fontPixelSize: 18
text: FontAwesome.edit
tooltip: qsTr("Edit remote node") + translationManager.emptyString
tooltipLeft: true
onClicked: remoteNodeDialog.edit(remoteNodesModel.get(index), function (remoteNode) {
remoteNodesModel.set(index, remoteNode)
if (index === remoteNodesModel.selected) {
remoteNodesModel.applyRemoteNode(index)
}
})
}
MoneroComponents.InlineButton {
buttonColor: "transparent"
fontFamily: FontAwesome.fontFamily
text: FontAwesome.times
visible: remoteNodesModel.count > 1
tooltip: qsTr("Remove remote node") + translationManager.emptyString
tooltipLeft: true
onClicked: remoteNodesModel.removeSelectNextIfNeeded(index)
}
}
}
}
}
}

View File

@@ -1,232 +0,0 @@
// Copyright (c) 2014-2015, 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.0
Item {
id: item
signal searchClicked(string text, int option)
height: 50
Rectangle {
anchors.fill: parent
color: "#DBDBDB"
//radius: 4
}
Rectangle {
anchors.fill: parent
anchors.topMargin: 1
color: "#FFFFFF"
//radius: 4
Item {
anchors.top: parent.top
anchors.bottom: parent.bottom
anchors.left: parent.left
width: 45
Image {
anchors.centerIn: parent
source: "../images/magnifier.png"
}
}
Input {
id: input
anchors.left: parent.left
anchors.top: parent.top
anchors.bottom: parent.bottom
anchors.right: dropdown.left
anchors.leftMargin: 45
font.pixelSize: 18
verticalAlignment: TextInput.AlignVCenter
placeholderText: qsTr("Search by...") + translationManager.emptyString
}
Item {
id: dropdown
anchors.top: parent.top
anchors.bottom: parent.bottom
anchors.right: button.left
width: 154
function hide() { droplist.height = 0 }
function containsPoint(px, py) {
if(px < 0)
return false
if(px > width)
return false
if(py < 0)
return false
if(py > height + droplist.height)
return false
return true
}
Row {
anchors.right: parent.right
anchors.verticalCenter: parent.verticalCenter
Text {
id: dropText
width: 114 - 12
anchors.verticalCenter: parent.verticalCenter
font.family: "Arial"
font.pixelSize: 12
font.bold: true
color: "#4A4747"
text: "NAME"
}
Image {
anchors.verticalCenter: parent.verticalCenter
source: "../images/hseparator.png"
}
Item {
height: dropdown.height
width: 38
Image {
id: dropIndicator
anchors.centerIn: parent
source: "../images/dropIndicator.png"
rotation: droplist.height === 0 ? 0 : 180
}
}
}
MouseArea {
anchors.fill: parent
onClicked: {
if(droplist.height === 0) {
appWindow.currentItem = dropdown
droplist.height = dropcolumn.height + 2
} else {
droplist.height = 0
}
}
}
}
Rectangle {
id: droplist
property int currentOption: 0
width: 154
height: 0
clip: true
x: dropdown.x
y: dropdown.height
border.width: 1
border.color: "#DBDBDB"
color: "#FFFFFF"
Rectangle {
anchors.left: parent.left
anchors.right: parent.right
anchors.top: parent.top
anchors.leftMargin: 1
anchors.rightMargin: 1
height: 1
color: "#FFFFFF"
}
Behavior on height {
NumberAnimation { duration: 100; easing.type: Easing.InQuad }
}
ListModel {
id: dropdownModel
ListElement { name: "NAME" }
ListElement { name: "DESCRIPTION" }
ListElement { name: "ADDRESS" }
}
Column {
id: dropcolumn
anchors.left: parent.left
anchors.right: parent.right
anchors.top: parent.top
anchors.margins: 1
Repeater {
model: dropdownModel
delegate: Rectangle {
property bool isCurrent: name === dropText.text
anchors.left: parent.left
anchors.right: parent.right
height: 30
color: delegateArea.pressed || isCurrent ? "#4A4646" : "#FFFFFF"
Text {
anchors.verticalCenter: parent.verticalCenter
anchors.left: parent.left
anchors.right: parent.right
elide: Text.ElideRight
anchors.leftMargin: 12
anchors.rightMargin: 12
font.family: "Arial"
font.bold: true
font.pixelSize: 12
color: delegateArea.pressed || parent.isCurrent ? "#FFFFFF" : "#4A4646"
text: name
}
MouseArea {
id: delegateArea
anchors.fill: parent
onClicked: {
droplist.currentOption = index
droplist.height = 0
dropText.text = name
}
}
}
}
}
}
StandardButton {
id: button
anchors.top: parent.top
anchors.bottom: parent.bottom
anchors.right: parent.right
anchors.margins: 6
width: 80
shadowReleasedColor: "#C60F00"
shadowPressedColor: "#8C0B00"
pressedColor: "#C60F00"
releasedColor: "#FF4F41"
text: qsTr("SEARCH")
onClicked: item.searchClicked(input.text, droplist.currentOption)
}
}
}

View File

@@ -0,0 +1,131 @@
import QtQuick 2.9
import QtQuick.Layouts 1.1
import FontAwesome 1.0
import "../components" as MoneroComponents
ColumnLayout {
id: settingsListItem
property alias iconText: iconLabel.text
property alias symbol: symbolText.text
property alias description: area.text
property alias title: header.text
property bool isLast: false
property bool enabled: true
signal clicked()
Layout.fillWidth: true
spacing: 0
Rectangle {
id: root
Layout.fillWidth: true
Layout.minimumHeight: 75
Layout.preferredHeight: rect.height + 15
color: "transparent"
Rectangle {
id: divider
anchors.topMargin: 0
anchors.left: parent.left
anchors.right: parent.right
height: 1
color: MoneroComponents.Style.dividerColor
opacity: MoneroComponents.Style.dividerOpacity
}
Rectangle {
id: rect
width: parent.width
height: header.height + area.contentHeight
color: "transparent";
opacity: settingsListItem.enabled ? 1 : 0.25
anchors.left: parent.left
anchors.bottomMargin: 4
anchors.topMargin: 4
anchors.verticalCenter: parent.verticalCenter
Rectangle {
id: icon
color: "transparent"
height: 32
width: 32
anchors.left: parent.left
anchors.leftMargin: 16
anchors.verticalCenter: parent.verticalCenter
MoneroComponents.Label {
id: iconLabel
fontSize: 32
fontFamily: FontAwesome.fontFamilySolid
anchors.centerIn: parent
fontColor: MoneroComponents.Style.defaultFontColor
styleName: "Solid"
}
}
MoneroComponents.TextPlain {
id: header
anchors.left: icon.right
anchors.leftMargin: 16
anchors.top: parent.top
color: MoneroComponents.Style.defaultFontColor
opacity: MoneroComponents.Style.blackTheme ? 1.0 : 0.8
font.bold: true
font.family: MoneroComponents.Style.fontRegular.name
font.pixelSize: 16
}
Text {
id: area
anchors.top: header.bottom
anchors.topMargin: 4
anchors.left: icon.right
anchors.leftMargin: 16
color: MoneroComponents.Style.dimmedFontColor
font.family: MoneroComponents.Style.fontRegular.name
font.pixelSize: 15
horizontalAlignment: TextInput.AlignLeft
wrapMode: Text.WordWrap;
leftPadding: 0
topPadding: 0
width: parent.width - (icon.width + icon.anchors.leftMargin + anchors.leftMargin)
}
}
Rectangle {
id: bottomDivider
anchors.bottom: parent.bottom
anchors.left: parent.left
anchors.right: parent.right
height: 1
color: MoneroComponents.Style.dividerColor
opacity: MoneroComponents.Style.dividerOpacity
visible: settingsListItem.isLast
}
MouseArea {
visible: settingsListItem.enabled
cursorShape: Qt.PointingHandCursor
anchors.fill: parent
hoverEnabled: true
onEntered: root.color = MoneroComponents.Style.titleBarButtonHoverColor
onExited: root.color = "transparent"
onClicked: {
settingsListItem.clicked()
}
}
MoneroComponents.TextPlain {
id: symbolText
anchors.right: parent.right
anchors.rightMargin: 44
anchors.verticalCenter: parent.verticalCenter
font.pixelSize: 12
font.bold: true
color: MoneroComponents.Style.menuButtonTextColor
visible: appWindow.ctrlPressed
themeTransition: false
}
}
}

68
components/Slider.qml Normal file
View File

@@ -0,0 +1,68 @@
import QtQuick 2.9
import QtQuick.Controls 2.0 as QtQuickControls
import QtQuick.Layouts 1.1
import "../components" as MoneroComponents
ColumnLayout {
property alias from: slider.from
property alias stepSize: slider.stepSize
property alias to: slider.to
property alias value: slider.value
property alias text: label.text
signal moved()
spacing: 0
MoneroComponents.TextPlain {
id: label
color: MoneroComponents.Style.defaultFontColor
font.pixelSize: 14
font.family: MoneroComponents.Style.fontRegular.name
}
QtQuickControls.Slider {
id: slider
leftPadding: 0
snapMode: QtQuickControls.Slider.SnapAlways
background: Rectangle {
x: parent.leftPadding
y: parent.topPadding + parent.availableHeight / 2 - height / 2
implicitWidth: 200
implicitHeight: 4
width: parent.availableWidth
height: implicitHeight
radius: 2
color: MoneroComponents.Style.progressBarBackgroundColor
Rectangle {
width: parent.visualPosition * parent.width
height: parent.height
color: MoneroComponents.Style.green
radius: 2
}
}
handle: Rectangle {
x: parent.leftPadding + parent.visualPosition * (parent.availableWidth - width)
y: parent.topPadding + parent.availableHeight / 2 - height / 2
implicitWidth: 18
implicitHeight: 18
radius: 8
color: parent.pressed ? "#f0f0f0" : "#f6f6f6"
border.color: MoneroComponents.Style.grey
}
onMoved: parent.moved()
MouseArea {
anchors.fill: parent
acceptedButtons: Qt.NoButton
hoverEnabled: true
cursorShape: Qt.PointingHandCursor
}
}
}

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2014-2015, The Monero Project
// Copyright (c) 2014-2024, The Monero Project
//
// All rights reserved.
//
@@ -26,81 +26,167 @@
// 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.0
import QtQuick 2.9
import QtQuick.Layouts 1.1
import FontAwesome 1.0
import "../components" as MoneroComponents
Item {
id: button
height: 37
property string shadowPressedColor
property string shadowReleasedColor
property string pressedColor
property string releasedColor
property string icon: ""
property string textColor: "#FFFFFF"
property int fontSize: 12
property bool fontAwesomeIcon: false
property bool primary: true
property string rightIcon: ""
property string rightIconInactive: ""
property color textColor: primary ? MoneroComponents.Style.buttonTextColor : MoneroComponents.Style.buttonSecondaryTextColor;
property bool small: false
property alias text: label.text
property alias fontBold: label.font.bold
property int fontSize: {
if(small) return 13.5;
else return 16;
}
property alias label: label
property alias tooltip: tooltip.text
property alias tooltipLeft: tooltip.tooltipLeft
property alias tooltipPopup: tooltip.tooltipPopup
signal clicked()
// Dynamic label width
Layout.minimumWidth: (label.contentWidth > 80)? label.contentWidth + 20 : 100
Rectangle {
anchors.left: parent.left
anchors.right: parent.right
height: parent.height - 1
y: buttonArea.pressed ? 0 : 1
//radius: 4
color: {
parent.enabled ? (buttonArea.pressed ? parent.shadowPressedColor : parent.shadowReleasedColor)
: Qt.lighter(parent.shadowReleasedColor)
}
border.color: Qt.darker(parent.releasedColor)
border.width: parent.focus ? 1 : 0
height: small ? 30 : 36
width: buttonLayout.width + 22
implicitHeight: height
implicitWidth: width
function doClick(){
releaseFocus();
clicked();
}
Rectangle {
anchors.left: parent.left
anchors.right: parent.right
height: parent.height - 1
y: buttonArea.pressed ? 1 : 0
color: {
parent.enabled ? (buttonArea.pressed ? parent.pressedColor : parent.releasedColor)
: Qt.lighter(parent.releasedColor)
id: buttonRect
anchors.fill: parent
radius: 3
border.width: parent.focus && parent.enabled ? 1 : 0
opacity: 1
state: button.enabled ? "active" : "disabled"
Component.onCompleted: state = state
states: [
State {
name: "hover"
when: button.enabled && (buttonArea.containsMouse || button.focus)
PropertyChanges {
target: buttonRect
color: primary
? MoneroComponents.Style.buttonBackgroundColorHover
: MoneroComponents.Style.buttonSecondaryBackgroundColorHover
}
},
State {
name: "active"
when: button.enabled
PropertyChanges {
target: buttonRect
color: primary
? MoneroComponents.Style.buttonBackgroundColor
: MoneroComponents.Style.buttonSecondaryBackgroundColor
}
},
State {
name: "disabled"
when: !button.enabled
PropertyChanges {
target: buttonRect
opacity: 0.5
color: primary
? MoneroComponents.Style.buttonBackgroundColor
: MoneroComponents.Style.buttonSecondaryBackgroundColor
}
PropertyChanges {
target: label
opacity: 0.5
}
}
]
transitions: Transition {
enabled: appWindow.themeTransition
ColorAnimation { duration: 100 }
}
//radius: 4
}
Text {
id: label
anchors.verticalCenter: parent.verticalCenter
anchors.left: parent.left
anchors.right: parent.right
horizontalAlignment: Text.AlignHCenter
font.family: "Arial"
font.bold: true
font.pixelSize: button.fontSize
color: parent.textColor
visible: parent.icon === ""
// font.capitalization : Font.Capitalize
}
Image {
RowLayout {
id: buttonLayout
height: button.height
spacing: 11
anchors.centerIn: parent
visible: parent.icon !== ""
source: parent.icon
MoneroComponents.TextPlain {
id: label
font.family: MoneroComponents.Style.fontBold.name
font.bold: button.primary ? true : false
font.pixelSize: button.fontSize
color: !buttonArea.pressed ? button.textColor : "transparent"
visible: text !== ""
themeTransition: false
MoneroComponents.TextPlain {
anchors.centerIn: parent
color: button.textColor
font.bold: label.font.bold
font.family: label.font.family
font.pixelSize: label.font.pixelSize - 1
text: label.text
opacity: buttonArea.pressed ? 1 : 0
themeTransition: false
}
}
Image {
visible: !fontAwesomeIcon && button.rightIcon !== ""
Layout.alignment: Qt.AlignVCenter | Qt.AlignRight
width: button.small ? 16 : 20
height: button.small ? 16 : 20
opacity: buttonRect.opacity
source: {
if (fontAwesomeIcon) return "";
if(button.rightIconInactive !== "" && !button.enabled) {
return button.rightIconInactive;
}
return button.rightIcon;
}
}
Text {
Layout.alignment: Qt.AlignVCenter | Qt.AlignRight
color: MoneroComponents.Style.defaultFontColor
font.family: FontAwesome.fontFamilySolid
font.pixelSize: button.small ? 16 : 20
font.styleName: "Solid"
text: button.rightIcon
visible: fontAwesomeIcon && button.rightIcon !== ""
}
}
MoneroComponents.Tooltip {
id: tooltip
anchors.fill: parent
}
MouseArea {
id: buttonArea
anchors.fill: parent
onClicked: parent.clicked()
hoverEnabled: true
onClicked: doClick()
onEntered: tooltip.text ? tooltip.tooltipPopup.open() : ""
onExited: tooltip.text ? tooltip.tooltipPopup.close() : ""
cursorShape: Qt.PointingHandCursor
}
Keys.onSpacePressed: clicked()
Keys.onReturnPressed: clicked()
Keys.enabled: button.visible
Keys.onSpacePressed: doClick()
Keys.onEnterPressed: Keys.onReturnPressed(event)
Keys.onReturnPressed: doClick()
}

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2014-2015, The Monero Project
// Copyright (c) 2014-2024, The Monero Project
//
// All rights reserved.
//
@@ -26,19 +26,20 @@
// 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.0
import QtQuick.Controls 1.4
import QtQuick 2.9
import QtQuick.Controls 2.0
import QtQuick.Dialogs 1.2
import QtQuick.Layouts 1.1
import QtQuick.Controls.Styles 1.4
import QtQuick.Window 2.0
import "../components" as MoneroComponents
import "effects/" as MoneroEffects
Window {
Rectangle {
id: root
modality: Qt.ApplicationModal
flags: Qt.Window | Qt.FramelessWindowHint
color: "transparent"
visible: false
property alias title: dialogTitle.text
property alias text: dialogContent.text
property alias content: root.text
@@ -47,12 +48,28 @@ Window {
property alias textArea: dialogContent
property alias okText: okButton.text
property alias cancelText: cancelButton.text
property alias closeVisible: closeButton.visible
property var icon
// same signals as Dialog has
signal accepted()
signal rejected()
signal closeCallback();
// background
MoneroEffects.GradientBackground {
anchors.fill: parent
fallBackColor: MoneroComponents.Style.middlePanelBackgroundColor
initialStartColor: MoneroComponents.Style.middlePanelBackgroundGradientStart
initialStopColor: MoneroComponents.Style.middlePanelBackgroundGradientStop
blackColorStart: MoneroComponents.Style._b_middlePanelBackgroundGradientStart
blackColorStop: MoneroComponents.Style._b_middlePanelBackgroundGradientStop
whiteColorStart: MoneroComponents.Style._w_middlePanelBackgroundGradientStart
whiteColorStop: MoneroComponents.Style._w_middlePanelBackgroundGradientStop
start: Qt.point(0, 0)
end: Qt.point(height, width)
}
// Make window draggable
MouseArea {
@@ -64,42 +81,85 @@ Window {
}
function open() {
show()
// Center
root.x = parent.width/2 - root.width/2
root.y = 100
root.z = 11
root.visible = true;
}
function close() {
root.visible = false;
// reset button text
okButton.text = qsTr("OK")
cancelButton.text = qsTr("Cancel")
closeCallback();
}
// TODO: implement without hardcoding sizes
width: 480
height: 280
width: 520
height: 380
ColumnLayout {
id: mainLayout
spacing: 10
anchors { fill: parent; margins: 35 }
anchors.fill: parent
anchors.margins: 20
RowLayout {
id: column
//anchors {fill: parent; margins: 16 }
Layout.alignment: Qt.AlignHCenter
Layout.topMargin: 14
Layout.fillWidth: true
Label {
MoneroComponents.Label {
id: dialogTitle
horizontalAlignment: Text.AlignHCenter
font.pixelSize: 32
font.family: "Arial"
color: "#555555"
fontSize: 18
fontFamily: "Arial"
color: MoneroComponents.Style.defaultFontColor
}
}
RowLayout {
TextArea {
id : dialogContent
Layout.fillWidth: true
Layout.fillHeight: true
font.family: "Arial"
textFormat: TextEdit.AutoText
readOnly: true
font.pixelSize: 12
Item {
Layout.fillHeight: true
Layout.fillWidth: true
Layout.preferredHeight: 240
Flickable {
id: flickable
anchors.fill: parent
ScrollBar.vertical: ScrollBar {
onActiveChanged: if (!active && !isMac) active = true
}
boundsBehavior: isMac ? Flickable.DragAndOvershootBounds : Flickable.StopAtBounds
TextArea.flickable: TextArea {
id: dialogContent
Layout.fillWidth: true
Layout.fillHeight: true
renderType: Text.QtRendering
font.family: MoneroComponents.Style.fontLight.name
textFormat: TextEdit.AutoText
readOnly: true
font.pixelSize: 14
selectByMouse: false
wrapMode: TextEdit.Wrap
color: MoneroComponents.Style.defaultFontColor
MouseArea {
anchors.fill: parent
onClicked: {
appWindow.showStatusMessage(qsTr("Double tap to copy"),3)
}
onDoubleClicked: {
parent.selectAll()
parent.copy()
parent.deselect()
console.log("copied to clipboard");
appWindow.showStatusMessage(qsTr("Content copied to clipboard"),3)
}
}
}
}
}
@@ -111,12 +171,7 @@ Window {
MoneroComponents.StandardButton {
id: cancelButton
width: 120
fontSize: 14
shadowReleasedColor: "#FF4304"
shadowPressedColor: "#B32D00"
releasedColor: "#FF6C3C"
pressedColor: "#FF4304"
primary: false
text: qsTr("Cancel") + translationManager.emptyString
onClicked: {
root.close()
@@ -126,24 +181,76 @@ Window {
MoneroComponents.StandardButton {
id: okButton
width: 120
fontSize: 14
shadowReleasedColor: "#FF4304"
shadowPressedColor: "#B32D00"
releasedColor: "#FF6C3C"
pressedColor: "#FF4304"
text: qsTr("Ok")
text: qsTr("OK") + translationManager.emptyString
KeyNavigation.tab: cancelButton
onClicked: {
root.close()
root.accepted()
}
}
}
}
// close icon
Rectangle {
id: closeButton
anchors.top: parent.top
anchors.right: parent.right
width: 48
height: 48
color: "transparent"
MoneroEffects.ImageMask {
anchors.centerIn: parent
width: 16
height: 16
image: MoneroComponents.Style.titleBarCloseSource
color: MoneroComponents.Style.defaultFontColor
opacity: 0.75
}
MouseArea {
anchors.fill: parent
onClicked: {
root.close()
root.rejected()
}
cursorShape: Qt.PointingHandCursor
onEntered: closeButton.color = "#262626";
onExited: closeButton.color = "transparent";
}
}
// window borders
Rectangle{
width: 1
color: MoneroComponents.Style.grey
anchors.left: parent.left
anchors.top: parent.top
anchors.bottom: parent.bottom
}
Rectangle{
width: 1
color: MoneroComponents.Style.grey
anchors.right: parent.right
anchors.top: parent.top
anchors.bottom: parent.bottom
}
Rectangle{
height: 1
color: MoneroComponents.Style.grey
anchors.left: parent.left
anchors.top: parent.top
anchors.right: parent.right
}
Rectangle{
height: 1
color: MoneroComponents.Style.grey
anchors.left: parent.left
anchors.bottom: parent.bottom
anchors.right: parent.right
}
}

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2014-2015, The Monero Project
// Copyright (c) 2014-2024, The Monero Project
//
// All rights reserved.
//
@@ -26,112 +26,90 @@
// 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.0
import QtQuick 2.9
import QtQuick.Controls 2.2
import QtGraphicalEffects 1.0
import FontAwesome 1.0
import QtQuick.Layouts 1.1
Item {
import "../components" as MoneroComponents
import "../components/effects/" as MoneroEffects
ColumnLayout {
id: dropdown
Layout.fillWidth: true
property int itemTopMargin: 0
property alias dataModel: repeater.model
property string shadowPressedColor
property string shadowReleasedColor
property string pressedColor
property string releasedColor
property string textColor: "#FFFFFF"
property alias currentIndex: column.currentIndex
property bool expanded: false
height: 37
property string pressedColor: MoneroComponents.Style.appWindowBorderColor
property string releasedColor: MoneroComponents.Style.titleBarButtonHoverColor
property string textColor: MoneroComponents.Style.defaultFontColor
property alias currentIndex: columnid.currentIndex
readonly property alias expanded: popup.visible
property alias labelText: dropdownLabel.text
property alias labelColor: dropdownLabel.color
property alias labelTextFormat: dropdownLabel.textFormat
property alias labelWrapMode: dropdownLabel.wrapMode
property alias labelHorizontalAlignment: dropdownLabel.horizontalAlignment
property bool showingHeader: dropdownLabel.text !== ""
property int labelFontSize: 14
property bool labelFontBold: false
property int dropdownHeight: 39
property int fontSize: 14
property int fontItemSize: 14
property string colorBorder: MoneroComponents.Style.inputBorderColorInActive
property string colorHeaderBackground: "transparent"
property bool headerBorder: true
property bool headerFontBold: false
signal changed();
onExpandedChanged: if(expanded) appWindow.currentItem = dropdown
function hide() { dropdown.expanded = false }
function containsPoint(px, py) {
if(px < 0)
return false
if(px > width)
return false
if(py < 0)
return false
if(py > height + droplist.height)
return false
return true
spacing: 0
Rectangle {
id: dropdownLabelRect
color: "transparent"
Layout.fillWidth: true
height: (dropdownLabel.height + 10)
visible: showingHeader ? true : false
MoneroComponents.TextPlain {
id: dropdownLabel
anchors.top: parent.top
anchors.left: parent.left
font.family: MoneroComponents.Style.fontRegular.name
font.pixelSize: labelFontSize
font.bold: labelFontBold
textFormat: Text.RichText
color: MoneroComponents.Style.defaultFontColor
}
}
Item {
Rectangle {
id: head
anchors.left: parent.left
anchors.right: parent.right
anchors.top: parent.top
height: 37
color: dropArea.containsMouse ? MoneroComponents.Style.titleBarButtonHoverColor : "transparent"
border.width: dropdown.headerBorder ? 1 : 0
border.color: dropdown.colorBorder
radius: 4
Layout.fillWidth: true
Layout.preferredHeight: dropdownHeight
Rectangle {
anchors.left: parent.left
anchors.right: parent.right
height: parent.height - 1
y: dropdown.expanded || droplist.height > 0 ? 0 : 1
color: dropdown.expanded || droplist.height > 0 ? dropdown.shadowPressedColor : dropdown.shadowReleasedColor
//radius: 4
}
Rectangle {
anchors.left: parent.left
anchors.right: parent.right
height: parent.height - 1
y: dropdown.expanded || droplist.height > 0 ? 1 : 0
color: dropdown.expanded || droplist.height > 0 ? dropdown.pressedColor : dropdown.releasedColor
//radius: 4
}
Rectangle {
anchors.left: parent.left
anchors.bottom: parent.bottom
height: 3
width: 3
color: dropdown.pressedColor
visible: dropdown.expanded || droplist.height > 0
}
Rectangle {
anchors.right: parent.right
anchors.bottom: parent.bottom
height: 3
width: 3
color: dropdown.pressedColor
visible: dropdown.expanded || droplist.height > 0
}
Text {
id: firstColText
MoneroComponents.TextPlain {
anchors.verticalCenter: parent.verticalCenter
anchors.left: parent.left
anchors.leftMargin: 12
elide: Text.ElideRight
font.family: "Arial"
font.bold: true
font.pixelSize: 12
color: "#FFFFFF"
text: column.currentIndex < repeater.model.rowCount() ? qsTr(repeater.model.get(column.currentIndex).column1) + translationManager.emptyString : ""
}
Text {
id: secondColText
anchors.verticalCenter: parent.verticalCenter
anchors.right: separator.left
anchors.rightMargin: 12
width: dropdown.expanded ? w : (separator.x - 12) - (firstColText.x + firstColText.width + 5)
font.family: "Arial"
font.pixelSize: 12
color: "#FFFFFF"
text: column.currentIndex < repeater.model.rowCount() ? qsTr(repeater.model.get(column.currentIndex).column2) + translationManager.emptyString : ""
property int w: 0
Component.onCompleted: w = implicitWidth
}
Rectangle {
id: separator
anchors.leftMargin: 10
anchors.right: dropIndicator.left
anchors.verticalCenter: parent.verticalCenter
height: 18
width: 1
color: "#FFFFFF"
anchors.rightMargin: 12
width: droplist.width
elide: Text.ElideRight
font.family: MoneroComponents.Style.fontRegular.name
font.bold: dropdown.headerFontBold
font.pixelSize: dropdown.fontSize
color: dropdown.textColor
text: columnid.currentIndex < repeater.model.count ? qsTr(repeater.model.get(columnid.currentIndex).column1) + translationManager.emptyString : ""
}
Item {
@@ -139,125 +117,108 @@ Item {
anchors.top: parent.top
anchors.bottom: parent.bottom
anchors.right: parent.right
width: 32
anchors.rightMargin: 12
width: dropdownIcon.width
Image {
MoneroEffects.ImageMask {
id: dropdownIcon
anchors.centerIn: parent
source: "../images/whiteDropIndicator.png"
rotation: dropdown.expanded ? 180 : 0
image: "qrc:///images/whiteDropIndicator.png"
height: 8
width: 12
fontAwesomeFallbackIcon: FontAwesome.arrowDown
fontAwesomeFallbackSize: 14
color: MoneroComponents.Style.defaultFontColor
}
}
MouseArea {
id: dropArea
anchors.fill: parent
onClicked: dropdown.expanded = !dropdown.expanded
onClicked: dropdown.expanded ? popup.close() : popup.open()
hoverEnabled: true
cursorShape: Qt.ArrowCursor
}
}
Rectangle {
id: droplist
anchors.left: parent.left
anchors.right: parent.right
anchors.top: head.bottom
clip: true
height: dropdown.expanded ? column.height : 0
color: dropdown.pressedColor
//radius: 4
Popup {
id: popup
padding: 0
closePolicy: Popup.CloseOnEscape | Popup.CloseOnPressOutsideParent
Rectangle {
id: droplist
anchors.left: parent.left
anchors.top: parent.top
width: 3; height: 3
width: dropdown.width
y: head.y + head.height
clip: true
height: dropdown.expanded ? columnid.height : 0
color: dropdown.pressedColor
}
Rectangle {
anchors.right: parent.right
anchors.top: parent.top
width: 3; height: 3
color: dropdown.pressedColor
}
Behavior on height {
NumberAnimation { duration: 100; easing.type: Easing.InQuad }
}
Behavior on height {
NumberAnimation { duration: 100; easing.type: Easing.InQuad }
}
Column {
id: columnid
anchors.left: parent.left
anchors.right: parent.right
anchors.top: parent.top
property int currentIndex: 0
Column {
id: column
anchors.left: parent.left
anchors.right: parent.right
anchors.top: parent.top
property int currentIndex: 0
Repeater {
id: repeater
Repeater {
id: repeater
// Workaround for translations in listElements. All translated strings needs to be listed in this file.
property string stringAutomatic: qsTr("Automatic") + translationManager.emptyString
property string stringSlow: qsTr("Slow (x0.2 fee)") + translationManager.emptyString
property string stringNormal: qsTr("Normal (x1 fee)") + translationManager.emptyString
property string stringFast: qsTr("Fast (x5 fee)") + translationManager.emptyString
property string stringFastest: qsTr("Fastest (x200 fee)") + translationManager.emptyString
// Workaround for translations in listElements. All translated strings needs to be listed in this file.
property string stringLow: qsTr("Low (x1 fee)") + translationManager.emptyString
property string stringMedium: qsTr("Medium (x20 fee)") + translationManager.emptyString
property string stringHigh: qsTr("High (x166 fee)") + translationManager.emptyString
property string stringSlow: qsTr("Slow (x0.25 fee)") + translationManager.emptyString
property string stringDefault: qsTr("Default (x1 fee)") + translationManager.emptyString
property string stringFast: qsTr("Fast (x5 fee)") + translationManager.emptyString
property string stringFastest: qsTr("Fastest (x41.5 fee)") + translationManager.emptyString
property string stringAll: qsTr("All") + translationManager.emptyString
property string stringSent: qsTr("Sent") + translationManager.emptyString
property string stringReceived: qsTr("Received") + translationManager.emptyString
delegate: Rectangle {
anchors.left: parent.left
anchors.right: parent.right
height: 30
//radius: index === repeater.count - 1 ? 4 : 0
color: itemArea.containsMouse || index === column.currentIndex || itemArea.containsMouse ? dropdown.releasedColor : dropdown.pressedColor
Text {
anchors.verticalCenter: parent.verticalCenter
delegate: Rectangle {
anchors.left: parent.left
anchors.right: col2Text.left
anchors.leftMargin: 12
anchors.rightMargin: column2.length > 0 ? 12 : 0
font.family: "Arial"
font.bold: true
font.pixelSize: 12
color: "#FFFFFF"
text: qsTr(column1) + translationManager.emptyString
}
Text {
id: col2Text
anchors.verticalCenter: parent.verticalCenter
anchors.right: parent.right
anchors.rightMargin: 45
font.family: "Arial"
font.pixelSize: 12
color: "#FFFFFF"
text: column2
}
height: (dropdown.dropdownHeight * 0.75)
//radius: index === repeater.count - 1 ? 4 : 0
color: itemArea.containsMouse || index === columnid.currentIndex || itemArea.containsMouse ? dropdown.releasedColor : dropdown.pressedColor
Rectangle {
anchors.left: parent.left
anchors.top: parent.top
width: 3; height: 3
color: parent.color
}
MoneroComponents.TextPlain {
id: col1Text
anchors.verticalCenter: parent.verticalCenter
anchors.left: parent.left
anchors.right: col2Text.left
anchors.leftMargin: 12
anchors.rightMargin: 0
font.family: MoneroComponents.Style.fontRegular.name
font.bold: false
font.pixelSize: fontItemSize
color: itemArea.containsMouse || index === columnid.currentIndex || itemArea.containsMouse ? "#FA6800" : "#FFFFFF"
text: qsTr(column1) + translationManager.emptyString
}
Rectangle {
anchors.right: parent.right
anchors.top: parent.top
width: 3; height: 3
color: parent.color
}
MoneroComponents.TextPlain {
id: col2Text
anchors.verticalCenter: parent.verticalCenter
anchors.right: parent.right
anchors.rightMargin: 45
font.family: MoneroComponents.Style.fontRegular.name
font.pixelSize: 14
color: "#FFFFFF"
text: ""
}
MouseArea {
id: itemArea
anchors.fill: parent
hoverEnabled: true
onClicked: {
dropdown.expanded = false
column.currentIndex = index
MouseArea {
id: itemArea
anchors.fill: parent
hoverEnabled: true
cursorShape: Qt.ArrowCursor
onClicked: {
popup.close()
columnid.currentIndex = index
changed();
}
}
}
}

209
components/Style.qml Normal file
View File

@@ -0,0 +1,209 @@
pragma Singleton
import QtQuick 2.5
QtObject {
property bool blackTheme: true
property QtObject fontMedium: FontLoader { id: _fontMedium; source: "qrc:/fonts/Roboto-Medium.ttf"; }
property QtObject fontBold: FontLoader { id: _fontBold; source: "qrc:/fonts/Roboto-Bold.ttf"; }
property QtObject fontLight: FontLoader { id: _fontLight; source: "qrc:/fonts/Roboto-Light.ttf"; }
property QtObject fontRegular: FontLoader { id: _fontRegular; source: "qrc:/fonts/Roboto-Regular.ttf"; }
property QtObject fontMonoMedium: FontLoader { id: _fontMonoMedium; source: "qrc:/fonts/RobotoMono-Medium.ttf"; }
property QtObject fontMonoBold: FontLoader { id: _fontMonoBold; source: "qrc:/fonts/RobotoMono-Bold.ttf"; }
property QtObject fontMonoLight: FontLoader { id: _fontMonoLight; source: "qrc:/fonts/RobotoMono-Light.ttf"; }
property QtObject fontMonoRegular: FontLoader { id: _fontMonoRegular; source: "qrc:/fonts/RobotoMono-Regular.ttf"; }
property string grey: "#404040"
property string orange: "#FF6C3C"
property string white: "#FFFFFF"
property string green: "#2EB358"
property string moneroGrey: "#4C4C4C"
property string warningColor: "orange"
property string defaultFontColor: blackTheme ? _b_defaultFontColor : _w_defaultFontColor
property string dimmedFontColor: blackTheme ? _b_dimmedFontColor : _w_dimmedFontColor
property string lightGreyFontColor: blackTheme ? _b_lightGreyFontColor : _w_lightGreyFontColor
property string errorColor: blackTheme ? _b_errorColor : _w_errorColor
property string textSelectionColor: blackTheme ? _b_textSelectionColor : _w_textSelectionColor
property string textSelectedColor: blackTheme ? _b_textSelectedColor : _w_textSelectedColor
property string inputBoxBackground: blackTheme ? _b_inputBoxBackground : _w_inputBoxBackground
property string inputBoxBackgroundDisabled: blackTheme ? _b_inputBoxBackgroundDisabled : _w_inputBoxBackgroundDisabled
property string inputBoxBackgroundError: blackTheme ? _b_inputBoxBackgroundError : _w_inputBoxBackgroundError
property string inputBoxColor: blackTheme ? _b_inputBoxColor : _w_inputBoxColor
property string legacy_placeholderFontColor: blackTheme ? _b_legacy_placeholderFontColor : _w_legacy_placeholderFontColor
property string inputBorderColorActive: blackTheme ? _b_inputBorderColorActive : _w_inputBorderColorActive
property string inputBorderColorInActive: blackTheme ? _b_inputBorderColorInActive : _w_inputBorderColorInActive
property string inputBorderColorInvalid: blackTheme ? _b_inputBorderColorInvalid : _w_inputBorderColorInvalid
property string buttonBackgroundColor: blackTheme ? _b_buttonBackgroundColor : _w_buttonBackgroundColor
property string buttonBackgroundColorHover: blackTheme ? _b_buttonBackgroundColorHover : _w_buttonBackgroundColorHover
property string buttonBackgroundColorDisabled: blackTheme ? _b_buttonBackgroundColorDisabled : _w_buttonBackgroundColorDisabled
property string buttonBackgroundColorDisabledHover: blackTheme ? _b_buttonBackgroundColorDisabledHover : _w_buttonBackgroundColorDisabledHover
property string buttonInlineBackgroundColor: blackTheme ? _b_buttonInlineBackgroundColor : _w_buttonInlineBackgroundColor
property string buttonInlineBackgroundColorHover: blackTheme ? _b_buttonInlineBackgroundColorHover : _w_buttonInlineBackgroundColorHover
property string buttonTextColor: blackTheme ? _b_buttonTextColor : _w_buttonTextColor
property string buttonTextColorDisabled: blackTheme ? _b_buttonTextColorDisabled : _w_buttonTextColorDisabled
property string buttonSecondaryBackgroundColor: blackTheme ? _b_buttonSecondaryBackgroundColor : _w_buttonSecondaryBackgroundColor
property string buttonSecondaryBackgroundColorHover: blackTheme ? _b_buttonSecondaryBackgroundColorHover : _w_buttonSecondaryBackgroundColorHover
property string buttonSecondaryTextColor: blackTheme ? _b_buttonSecondaryTextColor : _w_buttonSecondaryTextColor
property string dividerColor: blackTheme ? _b_dividerColor : _w_dividerColor
property real dividerOpacity: blackTheme ? _b_dividerOpacity : _w_dividerOpacity
property string titleBarBackgroundGradientStart: blackTheme ? _b_titleBarBackgroundGradientStart : _w_titleBarBackgroundGradientStart
property string titleBarBackgroundGradientStop: blackTheme ? _b_titleBarBackgroundGradientStop : _w_titleBarBackgroundGradientStop
property string titleBarBackgroundBorderColor: blackTheme ? _b_titleBarBackgroundBorderColor : _w_titleBarBackgroundBorderColor
property string titleBarLogoSource: blackTheme ? _b_titleBarLogoSource : _w_titleBarLogoSource
property string titleBarMinimizeSource: blackTheme ? _b_titleBarMinimizeSource : _w_titleBarMinimizeSource
property string titleBarFullscreenSource: blackTheme ? _b_titleBarFullscreenSource : _w_titleBarFullscreenSource
property string titleBarCloseSource: blackTheme ? _b_titleBarCloseSource : _w_titleBarCloseSource
property string titleBarButtonHoverColor: blackTheme ? _b_titleBarButtonHoverColor : _w_titleBarButtonHoverColor
property string wizardBackgroundGradientStart: blackTheme ? _b_wizardBackgroundGradientStart : _w_wizardBackgroundGradientStart
property string middlePanelBackgroundGradientStart: blackTheme ? _b_middlePanelBackgroundGradientStart : _w_middlePanelBackgroundGradientStart
property string middlePanelBackgroundGradientStop: blackTheme ? _b_middlePanelBackgroundGradientStop : _w_middlePanelBackgroundGradientStop
property string middlePanelBackgroundColor: blackTheme ? _b_middlePanelBackgroundColor : _w_middlePanelBackgroundColor
property string menuButtonFallbackBackgroundColor: blackTheme ? _b_menuButtonFallbackBackgroundColor : _w_menuButtonFallbackBackgroundColor
property string menuButtonGradientStart: blackTheme ? _b_menuButtonGradientStart : _w_menuButtonGradientStart
property string menuButtonGradientStop: blackTheme ? _b_menuButtonGradientStop : _w_menuButtonGradientStop
property string menuButtonTextColor: blackTheme ? _b_menuButtonTextColor : _w_menuButtonTextColor
property string menuButtonImageRightColorActive: blackTheme ? _b_menuButtonImageRightColorActive : _w_menuButtonImageRightColorActive
property string menuButtonImageRightColor: blackTheme ? _b_menuButtonImageRightColor : _w_menuButtonImageRightColor
property string menuButtonImageRightSource: blackTheme ? _b_menuButtonImageRightSource : _w_menuButtonImageRightSource
property string menuButtonImageDotArrowSource: blackTheme ? _b_menuButtonImageDotArrowSource : _w_menuButtonImageDotArrowSource
property string inlineButtonTextColor: blackTheme ? _b_inlineButtonTextColor : _w_inlineButtonTextColor
property string inlineButtonBorderColor: blackTheme ? _b_inlineButtonBorderColor : _w_inlineButtonBorderColor
property string appWindowBackgroundColor: blackTheme ? _b_appWindowBackgroundColor : _w_appWindowBackgroundColor
property string appWindowBorderColor: blackTheme ? _b_appWindowBorderColor : _w_appWindowBorderColor
property bool progressBarProgressTextBold: blackTheme ? _b_progressBarProgressTextBold : _w_progressBarProgressTextBold
property string progressBarBackgroundColor: blackTheme ? _b_progressBarBackgroundColor : _w_progressBarBackgroundColor
property string leftPanelBackgroundGradientStart: blackTheme ? _b_leftPanelBackgroundGradientStart : _w_leftPanelBackgroundGradientStart
property string leftPanelBackgroundGradientStop: blackTheme ? _b_leftPanelBackgroundGradientStop : _w_leftPanelBackgroundGradientStop
property string historyHeaderTextColor: blackTheme ? _b_historyHeaderTextColor : _w_historyHeaderTextColor
property var accountColors: blackTheme ? _b_accountColors : _w_accountColors
property string _b_defaultFontColor: "white"
property string _b_dimmedFontColor: "#BBBBBB"
property string _b_lightGreyFontColor: "#DFDFDF"
property string _b_errorColor: "#FA6800"
property string _b_textSelectionColor: "#BBBBBB"
property string _b_textSelectedColor: "white"
property string _b_inputBoxBackground: "black"
property string _b_inputBoxBackgroundDisabled: Qt.rgba(255, 255, 255, 0.10)
property string _b_inputBoxBackgroundError: "#FFDDDD"
property string _b_inputBoxColor: "white"
property string _b_legacy_placeholderFontColor: "#BABABA"
property string _b_inputBorderColorActive: Qt.rgba(255, 255, 255, 0.38)
property string _b_inputBorderColorInActive: Qt.rgba(255, 255, 255, 0.32)
property string _b_inputBorderColorInvalid: Qt.rgba(255, 0, 0, 0.40)
property string _b_buttonBackgroundColor: "#FA6800"
property string _b_buttonBackgroundColorHover: "#E65E00"
property string _b_buttonBackgroundColorDisabled: "#707070"
property string _b_buttonBackgroundColorDisabledHover: "#808080"
property string _b_buttonInlineBackgroundColor: "#707070"
property string _b_buttonInlineBackgroundColorHover: "#808080"
property string _b_buttonTextColor: "white"
property string _b_buttonTextColorDisabled: "black"
property string _b_buttonSecondaryBackgroundColor: "#707070"
property string _b_buttonSecondaryBackgroundColorHover: "#808080"
property string _b_buttonSecondaryTextColor: "white"
property string _b_dividerColor: "white"
property real _b_dividerOpacity: 0.20
property string _b_titleBarBackgroundGradientStart: "#262626";
property string _b_titleBarBackgroundGradientStop: "#191919"
property string _b_titleBarBackgroundBorderColor: "#2f2f2f"
property string _b_titleBarLogoSource: "qrc:///images/titlebarLogo.png"
property string _b_titleBarMinimizeSource: "qrc:///images/minimize.svg"
property string _b_titleBarFullscreenSource: "qrc:///images/fullscreen.svg"
property string _b_titleBarCloseSource: "qrc:///images/close.svg"
property string _b_titleBarButtonHoverColor: "#10FFFFFF"
property string _b_wizardBackgroundGradientStart: "#1e1e1e"
property string _b_middlePanelBackgroundGradientStart: "#232323"
property string _b_middlePanelBackgroundGradientStop: "#101010"
property string _b_middlePanelBackgroundColor: "#181818"
property string _b_menuButtonFallbackBackgroundColor: "#09FFFFFF"
property string _b_menuButtonGradientStart: "#11FFFFFF"
property string _b_menuButtonGradientStop: "#00000000"
property string _b_menuButtonTextColor: "white"
property string _b_menuButtonImageRightColorActive: "white"
property string _b_menuButtonImageRightColor: "white"
property string _b_menuButtonImageRightSource: "qrc:///images/right.svg"
property string _b_menuButtonImageDotArrowSource: "qrc:///images/arrow-right-medium-white.png"
property string _b_inlineButtonTextColor: "white"
property string _b_inlineButtonBorderColor: "black"
property string _b_appWindowBackgroundColor: "white"
property string _b_appWindowBorderColor: "#313131"
property bool _b_progressBarProgressTextBold: true
property string _b_progressBarBackgroundColor: "#24FFFFFF"
property string _b_leftPanelBackgroundGradientStart: "#222222"
property string _b_leftPanelBackgroundGradientStop: "#1a1a1a"
property string _b_historyHeaderTextColor: "#C0C0C0"
property var _b_accountColors: ["#6E513C", "#842129", "#458421", "#742184", "#291DBE", "#846F21", "#217F84", "#696969"]
property string _w_defaultFontColor: "black"
property string _w_dimmedFontColor: "#3f3f3f"
property string _w_lightGreyFontColor: "#515151"
property string _w_errorColor: "#FA6800"
property string _w_textSelectionColor: "#BBBBBB"
property string _w_textSelectedColor: "black"
property string _w_inputBoxBackground: "white"
property string _w_inputBoxBackgroundDisabled: Qt.rgba(0, 0, 0, 0.20)
property string _w_inputBoxBackgroundError: "#FFDDDD"
property string _w_inputBoxColor: "black"
property string _w_legacy_placeholderFontColor: "#BABABA"
property string _w_inputBorderColorActive: Qt.rgba(0, 0, 0, 0.30)
property string _w_inputBorderColorInActive: Qt.rgba(0, 0, 0, 0.16)
property string _w_inputBorderColorInvalid: Qt.rgba(255, 0, 0, 0.50)
property string _w_buttonBackgroundColor: "#FA6800"
property string _w_buttonBackgroundColorHover: "#E65E00"
property string _w_buttonBackgroundColorDisabled: "#bbbbbb"
property string _w_buttonBackgroundColorDisabledHover: "#D1D1D1"
property string _w_buttonInlineBackgroundColor: "#d9d9d9"
property string _w_buttonInlineBackgroundColorHover: "#C8C8C8"
property string _w_buttonTextColor: "white"
property string _w_buttonTextColorDisabled: "black"
property string _w_buttonSecondaryBackgroundColor: "#d9d9d9"
property string _w_buttonSecondaryBackgroundColorHover: "#C8C8C8"
property string _w_buttonSecondaryTextColor: "#4d4d4d"
property string _w_dividerColor: "black"
property real _w_dividerOpacity: 0.20
property string _w_titleBarBackgroundGradientStart: "#fcfcfc"
property string _w_titleBarBackgroundGradientStop: "#FBFBFB"
property string _w_titleBarBackgroundBorderColor: "#DEDEDE"
property string _w_titleBarLogoSource: "qrc:///images/themes/white/titlebarLogo.png"
property string _w_titleBarMinimizeSource: "qrc:///images/themes/white/minimize.svg"
property string _w_titleBarFullscreenSource: "qrc:///images/themes/white/fullscreen.svg"
property string _w_titleBarCloseSource: "qrc:///images/themes/white/close.svg"
property string _w_titleBarButtonHoverColor: "#11000000"
property string _w_wizardBackgroundGradientStart: "white"
property string _w_middlePanelBackgroundGradientStart: "white"
property string _w_middlePanelBackgroundGradientStop: "#ededed"
property string _w_middlePanelBackgroundColor: "#f5f5f5"
property string _w_menuButtonFallbackBackgroundColor: "#09000000"
property string _w_menuButtonGradientStart: "#08000000"
property string _w_menuButtonGradientStop: "#10FFFFFF"
property string _w_menuButtonTextColor: "#787878"
property string _w_menuButtonImageRightSource: "qrc:///images/right.svg"
property string _w_menuButtonImageRightColorActive: "#FA6800"
property string _w_menuButtonImageRightColor: "#808080"
property string _w_menuButtonImageDotArrowSource: "qrc:///images/arrow-right-medium-white.png"
property string _w_inlineButtonTextColor: "#4d4d4d"
property string _w_inlineButtonBorderColor: "transparent"
property string _w_appWindowBackgroundColor: "black"
property string _w_appWindowBorderColor: "#dedede"
property bool _w_progressBarProgressTextBold: false
property string _w_progressBarBackgroundColor: "#24000000"
property string _w_leftPanelBackgroundGradientStart: "white"
property string _w_leftPanelBackgroundGradientStop: "#f5f5f5"
property string _w_historyHeaderTextColor: "#515151"
property var _w_accountColors: ["#6E513C", "#6E513C", "#842129", "#458421", "#742184", "#291DBE", "#846F21", "#217F84", "#696969"]
}

View File

@@ -0,0 +1,181 @@
// Copyright (c) 2014-2024, 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.Controls 2.0
import QtQuick.Layouts 1.1
import moneroComponents.Clipboard 1.0
import "../components" as MoneroComponents
Rectangle {
id: root
x: parent.width/2 - root.width/2
y: parent.height/2 - root.height/2
// TODO: implement without hardcoding sizes
width: 580
height: 400
color: MoneroComponents.Style.blackTheme ? "black" : "white"
visible: false
radius: 10
border.color: MoneroComponents.Style.blackTheme ? Qt.rgba(255, 255, 255, 0.25) : Qt.rgba(0, 0, 0, 0.25)
border.width: 1
Keys.enabled: true
Keys.onEscapePressed: {
root.close()
root.rejected()
}
KeyNavigation.tab: doneButton
Clipboard { id: clipboard }
property var transactionID;
// same signals as Dialog has
signal accepted()
signal rejected()
function open(txid) {
root.transactionID = txid;
root.visible = true;
}
function close() {
root.visible = false;
}
ColumnLayout {
spacing: 10
anchors.fill: parent
anchors.margins: 25
ColumnLayout{
Layout.topMargin: 10
Layout.leftMargin: 0
Layout.fillWidth: true
Layout.alignment: Qt.AlignCenter
MoneroComponents.Label {
fontSize: 18
fontFamily: "Arial"
horizontalAlignment: Text.AlignHCenter
text: {
if (appWindow.viewOnly){
return qsTr("Transaction file successfully saved!") + translationManager.emptyString;
} else {
return qsTr("Transaction successfully sent!") + translationManager.emptyString;
}
}
}
}
Image {
id: successImage
Layout.alignment: Qt.AlignCenter
width: 140
height: 140
source: "qrc:///images/success.png"
SequentialAnimation{
running: successImage.visible
ScaleAnimator { target: successImage; from: 0.4; to: 1.3; duration: 125}
ScaleAnimator { target: successImage; from: 1.3; to: 1; duration: 80}
}
}
MoneroComponents.LineEditMulti {
visible: !appWindow.viewOnly
Layout.leftMargin: 25
Layout.rightMargin: 25
borderDisabled: true
readOnly: true
copyButton: true
wrapMode: Text.Wrap
labelText: qsTr("Transaction ID:") + translationManager.emptyString
text: root.transactionID ? root.transactionID : "";
fontSize: 16
}
MoneroComponents.LineEditMulti {
visible: appWindow.viewOnly
Layout.leftMargin: 25
borderDisabled: true
readOnly: true
wrapMode: Text.Wrap
labelText: qsTr("Transaction file location:") + translationManager.emptyString
text: walletManager.urlToLocalPath(saveTxDialog.fileUrl)
fontSize: 16
}
// view progress / open folder / done buttons
RowLayout {
id: buttons
spacing: 70
Layout.alignment: Qt.AlignBottom | Qt.AlignHCenter
Layout.fillWidth: true
Layout.preferredHeight: 50
MoneroComponents.StandardButton {
id: viewProgressButton
visible: !appWindow.viewOnly
text: qsTr("View progress") + translationManager.emptyString;
width: 200
primary: false
KeyNavigation.tab: doneButton
onClicked: {
doSearchInHistory(root.transactionID);
root.close()
root.rejected()
}
}
MoneroComponents.StandardButton {
id: openFolderButton
visible: appWindow.viewOnly
text: qsTr("Open folder") + translationManager.emptyString;
width: 200
KeyNavigation.tab: doneButton
onClicked: {
oshelper.openContainingFolder(walletManager.urlToLocalPath(saveTxDialog.fileUrl))
}
}
MoneroComponents.StandardButton {
id: doneButton
text: qsTr("Done") + translationManager.emptyString;
width: 200
focus: root.visible
KeyNavigation.tab: appWindow.viewOnly ? openFolderButton : viewProgressButton
onClicked: {
root.close()
root.accepted()
}
}
}
}
}

View File

@@ -1,237 +0,0 @@
// Copyright (c) 2014-2015, 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.0
Item {
id: dropdown
property bool expanded: false
property alias dataModel: repeater.model
signal collapsed()
signal optionClicked(int option)
width: 72
height: 37
onExpandedChanged: if(expanded) appWindow.currentItem = dropdown
function hide() { dropdown.expanded = false }
function containsPoint(px, py) {
if(px < 0)
return false
if(px > width)
return false
if(py < 0)
return false
if(py > height + dropArea.height)
return false
return true
}
Item {
id: head
anchors.fill: parent
Rectangle {
anchors.left: parent.left
anchors.right: parent.right
height: parent.height - 1
y: dropdown.expanded || dropArea.height > 0 ? 0 : 1
//radius: 3
color: dropdown.expanded || dropArea.height > 0 ? "#888888" : "#DBDBDB"
}
Rectangle {
anchors.left: parent.left
anchors.right: parent.right
height: parent.height - 1
y: dropdown.expanded || dropArea.height > 0 ? 1 : 0
//radius: 3
color: dropdown.expanded || dropArea.height > 0 ? "#DBDBDB" : "#F0EEEE"
}
Rectangle {
anchors.left: parent.left
anchors.bottom: parent.bottom
height: 3
width: 3
color: "#DBDBDB"
visible: dropdown.expanded || dropArea.height > 0
}
Rectangle {
anchors.right: parent.right
anchors.bottom: parent.bottom
height: 3
width: 3
color: "#DBDBDB"
visible: dropdown.expanded || dropArea.height > 0
}
Image {
anchors.verticalCenter: parent.verticalCenter
anchors.left: parent.left
anchors.leftMargin: 10
source: "../images/tableOptions.png"
}
Rectangle {
anchors.centerIn: parent
anchors.horizontalCenterOffset: 1
height: 23
width: 1
color: dropdown.expanded || dropArea.height > 0 ? "#FFFFFF" : "#DBDBDB"
}
Image {
anchors.verticalCenter: parent.verticalCenter
anchors.right: parent.right
anchors.rightMargin: 10
source: "../images/dropIndicator.png"
}
}
Timer {
id: timer
interval: 50
repeat: true
running: false
onTriggered: {
if(((appWindow.toolTip.visible && !appWindow.toolTip.containsMouse) || !appWindow.toolTip.visible) && !mouseArea.containsMouse) {
appWindow.toolTip.visible = false
dropdown.expanded = false
currentIndex = -1
timer.stop()
}
}
}
MouseArea {
id: mouseArea
anchors.left: head.left
anchors.right: head.right
anchors.top: head.top
height: head.height + dropArea.height
hoverEnabled: true
onEntered: dropdown.expanded = true
property int currentIndex: -1
onMouseYChanged: {
if(mouseY > head.height) {
var posY = parseInt((mouseY - head.height) / 30)
currentIndex = posY
} else {
currentIndex = -1
}
}
onClicked: {
optionClicked(currentIndex)
}
onExited: timer.start()
preventStealing: true
z: 1
Item {
id: dropArea
anchors.left: parent.left
anchors.right: parent.right
y: head.height
height: dropdown.expanded ? column.height : 0
onHeightChanged: if(height === 0) dropdown.collapsed()
clip: true
Behavior on height {
NumberAnimation { duration: 100; easing.type: Easing.InQuad }
}
Column {
id: column
anchors.left: parent.left
anchors.right: parent.right
anchors.top: parent.top
Repeater {
id: repeater
// Workaround for translations in listElements. All translated strings needs to be listed in this file.
property string stringCopy: qsTr("<b>Copy address to clipboard</b>") + translationManager.emptyString
property string stringSend: qsTr("<b>Send to this address</b>") + translationManager.emptyString
property string stringFind: qsTr("<b>Find similar transactions</b>") + translationManager.emptyString
property string stringRemove: qsTr("<b>Remove from address book</b>") + translationManager.emptyString
delegate: Rectangle {
id: delegate
property bool containsMouse: index === mouseArea.currentIndex
anchors.left: parent.left
anchors.right: parent.right
height: 30
color: containsMouse ? "#F0EEEE" : "#DBDBDB"
//radius: index === repeater.count - 1 ? 5 : 0
Rectangle {
anchors.left: parent.left
anchors.top: parent.top
width: 5
height: 5
color: delegate.color
}
Rectangle {
anchors.right: parent.right
anchors.top: parent.top
width: 5
height: 5
color: delegate.color
}
Image {
anchors.verticalCenter: parent.verticalCenter
anchors.left: parent.left
anchors.leftMargin: 10
source: icon
}
onContainsMouseChanged: {
if(containsMouse) {
var pos = rootItem.mapFromItem(delegate, 30, -25)
appWindow.toolTip.text = qsTr(name) + translationManager.emptyString
appWindow.toolTip.x = pos.x - appWindow.toolTip.width
// if(appWindow.toolTip.height > 30)
// pos.y -= appWindow.toolTip.height - 30
appWindow.toolTip.y = pos.y
appWindow.toolTip.visible = true
appWindow.toolTip.z = 3
}
}
}
}
}
}
}
}

View File

@@ -1,186 +0,0 @@
// Copyright (c) 2014-2015, 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.0
Rectangle {
id: header
signal sortRequest(bool desc, int column)
property alias dataModel: columnsRepeater.model
property int activeSortColumn: -1
property int offset: 0
height: 31
color: "#FFFFFF"
Rectangle {
anchors.left: parent.left
anchors.right: parent.right
anchors.bottom: parent.bottom
height: 1
color: "#DBDBDB"
}
Row {
id: row
anchors.horizontalCenter: header.offset !== 0 ? undefined: parent.horizontalCenter
anchors.left: header.offset !== 0 ? parent.left : undefined
anchors.leftMargin: header.offset
Rectangle {
height: 31
width: 1
color: "#DBDBDB"
}
Repeater {
id: columnsRepeater
// Workaround for translations in listElements. All translated strings needs to be listed in this file.
property string stringPaymentID: qsTr("Payment ID") + translationManager.emptyString
property string stringDate: qsTr("Date") + translationManager.emptyString
property string stringBlockHeight: qsTr("Block height") + translationManager.emptyString
property string stringAmount: qsTr("Amount") + translationManager.emptyString
delegate: Rectangle {
id: delegate
property bool desc: false
height: 31
width: columnWidth
Text {
anchors.verticalCenter: parent.verticalCenter
anchors.verticalCenterOffset: -2
anchors.left: parent.left
anchors.right: parent.right
anchors.leftMargin: 13
anchors.rightMargin: 13
elide: Text.ElideRight
font.family: "Arial"
font.pixelSize: 14
color: {
if(delegateArea.pressed)
return "#FF4304"
return index === header.activeSortColumn || delegateArea.containsMouse ? "#FF6C3C" : "#4A4949"
}
text: qsTr(columnName) + translationManager.emptyString
}
MouseArea {
id: delegateArea
hoverEnabled: true
anchors.fill: parent
onClicked: {
delegate.desc = !delegate.desc
header.activeSortColumn = index
header.sortRequest(delegate.desc, index)
}
}
Row {
anchors.right: parent.right
anchors.top: parent.top
anchors.bottom: parent.bottom
anchors.rightMargin: 9
Item {
width: 14
anchors.top: parent.top
anchors.bottom: parent.bottom
Image {
anchors.centerIn: parent
anchors.verticalCenterOffset: -2
source: {
if(descArea.pressed)
return "../images/descSortIndicatorPressed.png"
return index === header.activeSortColumn || descArea.containsMouse ? "../images/descSortIndicatorActived.png" :
"../images/descSortIndicator.png"
}
}
MouseArea {
id: descArea
hoverEnabled: true
anchors.fill: parent
onClicked: {
delegate.desc = true
header.activeSortColumn = index
header.sortRequest(delegate.desc, index)
}
}
}
Item {
width: 14
anchors.top: parent.top
anchors.bottom: parent.bottom
Image {
anchors.centerIn: parent
anchors.verticalCenterOffset: -3
source: {
if(ascArea.pressed)
return "../images/ascSortIndicatorPressed.png"
return index === header.activeSortColumn || ascArea.containsMouse ? "../images/ascSortIndicatorActived.png" :
"../images/ascSortIndicator.png"
}
}
MouseArea {
id: ascArea
hoverEnabled: true
anchors.fill: parent
onClicked: {
delegate.desc = false
header.activeSortColumn = index
header.sortRequest(delegate.desc, index)
}
}
}
}
Rectangle {
anchors.left: parent.left
anchors.right: parent.right
anchors.bottom: parent.bottom
height: 1
color: index === header.activeSortColumn ? "#FFFFFF" : "#DBDBDB"
}
Rectangle {
anchors.top: parent.top
anchors.bottom: parent.bottom
anchors.right: parent.right
width: 1
color: "#DBDBDB"
}
}
}
}
}

View File

@@ -1,7 +1,17 @@
import QtQuick 2.0
import QtQuick 2.9
import "../components" as MoneroComponents
TextEdit {
color: MoneroComponents.Style.defaultFontColor
font.family: MoneroComponents.Style.fontRegular.name
selectionColor: MoneroComponents.Style.textSelectionColor
wrapMode: Text.Wrap
readOnly: true
selectByMouse: true
// Workaround for https://bugreports.qt.io/browse/QTBUG-50587
onFocusChanged: {
if(focus === false)
deselect()
}
}

46
components/TextPlain.qml Normal file
View File

@@ -0,0 +1,46 @@
import QtQuick 2.9
import "." as MoneroComponents
import "effects/" as MoneroEffects
Text {
// When using this component, please note that if you use a color different
// than `defaultFontColor`, you are required to also define `themeTransitionXColor`.
// If you do not set these the component will receive the wrong color after a transition.
// If you do not want to set these, use `themeTransition: false`.
id: root
property bool themeTransition: true
property string themeTransitionBlackColor: ""
property string themeTransitionWhiteColor: ""
property alias tooltip: tooltip.text
property alias tooltipLeft: tooltip.tooltipLeft
property alias tooltipIconVisible: tooltip.tooltipIconVisible
property alias tooltipPopup: tooltip.tooltipPopup
font.family: MoneroComponents.Style.fontMedium.name
font.bold: false
font.pixelSize: 14
textFormat: Text.PlainText
Rectangle {
width: root.contentWidth
height: root.height
anchors.left: parent.left
anchors.top: parent.top
color: root.focus ? MoneroComponents.Style.titleBarButtonHoverColor : "transparent"
}
MoneroEffects.ColorTransition {
enabled: root.themeTransition
themeTransition: root.themeTransition
targetObj: root
duration: 750
blackColor: root.themeTransitionBlackColor !== "" ? root.themeTransitionBlackColor : MoneroComponents.Style._b_defaultFontColor
whiteColor: root.themeTransitionWhiteColor !== "" ? root.themeTransitionWhiteColor : MoneroComponents.Style._w_defaultFontColor
}
MoneroComponents.Tooltip {
id: tooltip
anchors.top: parent.top
anchors.left: tooltipIconVisible ? parent.right : parent.left
}
}

View File

@@ -0,0 +1,48 @@
import QtQuick 2.9
import QtQuick.Controls 2.0
import "." as MoneroComponents
TextArea {
id: textArea
property bool themeTransition: true
property string colorWhiteTheme: ""
property string colorBlackTheme: ""
color: MoneroComponents.Style.defaultFontColor
font.family: MoneroComponents.Style.fontRegular.name
font.pixelSize: 14
selectByMouse: false
wrapMode: Text.WordWrap;
textMargin: 0
leftPadding: 0
topPadding: 0
readOnly: true
textFormat: TextEdit.PlainText
states: [
State {
name: "black";
when: textArea.themeTransition && MoneroComponents.Style.blackTheme
PropertyChanges {
target: textArea
color: {
return textArea.colorBlackTheme ? textArea.colorBlackTheme : MoneroComponents.Style._b_defaultFontColor
}
}
}, State {
name: "white";
when: textArea.themeTransition && !MoneroComponents.Style.blackTheme
PropertyChanges {
target: textArea
color: {
return textArea.colorWhiteTheme ? textArea.colorWhiteTheme : MoneroComponents.Style._w_defaultFontColor
}
}
}
]
transitions: Transition {
enabled: appWindow.themeTransition
ColorAnimation { properties: "color"; easing.type: Easing.InOutQuad; duration: 750 }
}
}

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2014-2015, The Monero Project
// Copyright (c) 2014-2024, The Monero Project
//
// All rights reserved.
//
@@ -26,9 +26,11 @@
// 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.2
import QtQuick 2.9
import QtQuick.Window 2.1
import "../components" as MoneroComponents
Window {
property alias text: content.text
property alias containsMouse: tipArea.containsMouse
@@ -55,10 +57,10 @@ Window {
anchors.top: parent.bottom
anchors.left: parent.left
anchors.leftMargin: 5
source: "../images/tip.png"
source: "qrc:///images/tip.png"
}
Text {
MoneroComponents.TextPlain {
id: content
anchors.horizontalCenter: parent.horizontalCenter
y: 6

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2014-2015, The Monero Project
// Copyright (c) 2014-2024, The Monero Project
//
// All rights reserved.
//
@@ -26,152 +26,416 @@
// 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.2
import QtQuick 2.9
import QtQuick.Window 2.0
import QtGraphicalEffects 1.0
import QtQuick.Layouts 1.2
import FontAwesome 1.0
import "." as MoneroComponents
import "effects/" as MoneroEffects
Rectangle {
id: titleBar
color: "#000000"
id: root
property int mouseX: 0
property bool containsMouse: false
property alias basicButtonVisible: goToBasicVersionButton.visible
property bool customDecorations: true
signal goToBasicVersion(bool yes)
height: customDecorations ? 30 : 0
y: -height
property string title
property alias maximizeButtonVisible: maximizeButton.visible
z: 1
property bool customDecorations: persistentSettings.customDecorations
property bool showMinimizeButton: true
property bool showMaximizeButton: true
property bool showCloseButton: true
property string walletName: ""
Text {
anchors.centerIn: parent
font.family: "Arial"
font.pixelSize: 15
color: "#FFFFFF"
text: titleBar.title
visible: customDecorations
height: {
if(!persistentSettings.customDecorations) return 0;
return 50;
}
z: 1
color: "transparent"
signal closeClicked
signal maximizeClicked
signal minimizeClicked
signal languageClicked
signal closeWalletClicked
signal lockWalletClicked
state: "default"
states: [
State {
name: "default";
PropertyChanges { target: btnCloseWallet; visible: true}
PropertyChanges { target: btnLockWallet; visible: true}
PropertyChanges { target: btnLanguageToggle; visible: true}
}, State {
// show only theme switcher and window controls
name: "essentials";
PropertyChanges { target: btnCloseWallet; visible: false}
PropertyChanges { target: btnLockWallet; visible: false}
PropertyChanges { target: btnLanguageToggle; visible: false}
}
]
MoneroEffects.GradientBackground {
anchors.fill: parent
duration: 300
fallBackColor: MoneroComponents.Style.middlePanelBackgroundColor
initialStartColor: MoneroComponents.Style.titleBarBackgroundGradientStart
initialStopColor: MoneroComponents.Style.titleBarBackgroundGradientStop
blackColorStart: MoneroComponents.Style._b_titleBarBackgroundGradientStart
blackColorStop: MoneroComponents.Style._b_titleBarBackgroundGradientStop
whiteColorStart: MoneroComponents.Style._w_titleBarBackgroundGradientStart
whiteColorStop: MoneroComponents.Style._w_titleBarBackgroundGradientStop
start: Qt.point(width, 0)
end: Qt.point(0, 0)
}
RowLayout {
z: parent.z + 2
spacing: 0
anchors.fill: parent
// lock wallet
Rectangle {
id: btnLockWallet
color: "transparent"
Layout.preferredWidth: parent.height
Layout.preferredHeight: parent.height
Text {
text: FontAwesome.lock
font.family: FontAwesome.fontFamilySolid
font.pixelSize: 16
color: MoneroComponents.Style.defaultFontColor
font.styleName: "Solid"
anchors.verticalCenter: parent.verticalCenter
anchors.horizontalCenter: parent.horizontalCenter
opacity: 0.75
}
MoneroComponents.Tooltip {
id: btnLockWalletTooltip
anchors.fill: parent
text: qsTr("Lock this wallet") + translationManager.emptyString
}
MouseArea {
anchors.fill: parent
hoverEnabled: true
cursorShape: Qt.PointingHandCursor
onEntered: {
parent.color = MoneroComponents.Style.titleBarButtonHoverColor
btnLockWalletTooltip.tooltipPopup.open()
}
onExited: {
parent.color = "transparent"
btnLockWalletTooltip.tooltipPopup.close()
}
onClicked: root.lockWalletClicked(leftPanel.visible)
}
}
// collapse sidebar
Rectangle {
id: btnCloseWallet
color: "transparent"
Layout.preferredWidth: parent.height
Layout.preferredHeight: parent.height
Text {
text: FontAwesome.signOutAlt
font.family: FontAwesome.fontFamilySolid
font.pixelSize: 16
color: MoneroComponents.Style.defaultFontColor
font.styleName: "Solid"
anchors.verticalCenter: parent.verticalCenter
anchors.horizontalCenter: parent.horizontalCenter
opacity: 0.75
}
MoneroComponents.Tooltip {
id: btnCloseWalletTooltip
anchors.fill: parent
text: qsTr("Close this wallet and return to main menu") + translationManager.emptyString
}
MouseArea {
anchors.fill: parent
hoverEnabled: true
cursorShape: Qt.PointingHandCursor
onEntered: {
parent.color = MoneroComponents.Style.titleBarButtonHoverColor
btnCloseWalletTooltip.tooltipPopup.open()
}
onExited: {
parent.color = "transparent"
btnCloseWalletTooltip.tooltipPopup.close()
}
onClicked: root.closeWalletClicked(leftPanel.visible)
}
}
// language selection
Rectangle {
id: btnLanguageToggle
color: "transparent"
Layout.preferredWidth: parent.height
Layout.preferredHeight: parent.height
Text {
text: FontAwesome.globe
font.family: FontAwesome.fontFamilySolid
font.pixelSize: 16
color: MoneroComponents.Style.defaultFontColor
font.styleName: "Solid"
anchors.verticalCenter: parent.verticalCenter
anchors.horizontalCenter: parent.horizontalCenter
opacity: 0.75
}
MoneroComponents.Tooltip {
id: btnLanguageToggleTooltip
anchors.fill: parent
text: qsTr("Change language") + translationManager.emptyString
}
MouseArea {
anchors.fill: parent
hoverEnabled: true
cursorShape: Qt.PointingHandCursor
onEntered: {
parent.color = MoneroComponents.Style.titleBarButtonHoverColor
btnLanguageToggleTooltip.tooltipPopup.open()
}
onExited: {
parent.color = "transparent"
btnLanguageToggleTooltip.tooltipPopup.close()
}
onClicked: root.languageClicked()
}
}
// switch theme
Rectangle {
color: "transparent"
Layout.preferredWidth: parent.height
Layout.preferredHeight: parent.height
Text {
text: FontAwesome.moonO
font.family: MoneroComponents.Style.blackTheme ? FontAwesome.fontFamilySolid : FontAwesome.fontFamily
font.styleName: MoneroComponents.Style.blackTheme ? "Solid" : "Regular"
font.pixelSize: 15
color: MoneroComponents.Style.defaultFontColor
anchors.verticalCenter: parent.verticalCenter
anchors.horizontalCenter: parent.horizontalCenter
opacity: 0.75
}
MoneroComponents.Tooltip {
id: btnSwitchThemeTooltip
anchors.fill: parent
text: MoneroComponents.Style.blackTheme ? qsTr("Switch to light theme") : qsTr("Switch to dark theme") + translationManager.emptyString
}
MouseArea {
anchors.fill: parent
hoverEnabled: true
cursorShape: Qt.PointingHandCursor
onEntered: {
parent.color = MoneroComponents.Style.titleBarButtonHoverColor
btnSwitchThemeTooltip.tooltipPopup.open()
}
onExited: {
parent.color = "transparent"
btnSwitchThemeTooltip.tooltipPopup.close()
}
onClicked: {
MoneroComponents.Style.blackTheme = !MoneroComponents.Style.blackTheme;
}
}
}
Item {
// make dummy space when hiding buttons when titlebar
// state is 'essentials' in order for the
// monero logo to still be centered
Layout.preferredWidth: parent.height * 2 // amount of buttons we hide
Layout.preferredHeight: parent.height
visible: root.state == "essentials"
}
// monero logo
Item {
visible: walletName.length === 0
Layout.fillWidth: true
Layout.preferredHeight: parent.height
Image {
id: imgLogo
width: 125
height: 28
anchors.horizontalCenter: parent.horizontalCenter
anchors.verticalCenter: parent.verticalCenter
source: MoneroComponents.Style.titleBarLogoSource
visible: {
if(!isOpenGL) return true;
if(!MoneroComponents.Style.blackTheme) return true;
return false;
}
}
Colorize {
visible: isOpenGL && MoneroComponents.Style.blackTheme
anchors.fill: imgLogo
source: imgLogo
saturation: 0.0
}
}
Item {
visible: walletName.length > 0
Layout.fillWidth: true
Layout.preferredHeight: parent.height
MoneroComponents.TextPlain {
font.pixelSize: 20
horizontalAlignment: Text.AlignHCenter
verticalAlignment: Text.AlignVCenter
width: parent.width
height: parent.height
elide: Text.ElideRight
text: walletName
}
}
// minimize
Rectangle {
color: "transparent"
visible: root.showMinimizeButton
Layout.preferredWidth: parent.height
Layout.preferredHeight: parent.height
MoneroEffects.ImageMask {
anchors.bottom: parent.bottom
anchors.bottomMargin: 18
anchors.horizontalCenter: parent.horizontalCenter
height: 3
width: 15
image: MoneroComponents.Style.titleBarMinimizeSource
color: MoneroComponents.Style.defaultFontColor
fontAwesomeFallbackIcon: FontAwesome.minus
fontAwesomeFallbackSize: 18
fontAwesomeFallbackOpacity: MoneroComponents.Style.blackTheme ? 0.8 : 0.6
opacity: 0.75
}
MouseArea {
anchors.fill: parent
hoverEnabled: true
cursorShape: Qt.PointingHandCursor
onEntered: parent.color = MoneroComponents.Style.titleBarButtonHoverColor
onExited: parent.color = "transparent"
onClicked: root.minimizeClicked();
}
}
// maximize
Rectangle {
id: test
visible: root.showMaximizeButton
color: "transparent"
Layout.preferredWidth: parent.height
Layout.preferredHeight: parent.height
Image {
anchors.verticalCenter: parent.verticalCenter
anchors.horizontalCenter: parent.horizontalCenter
source: MoneroComponents.Style.titleBarFullscreenSource
sourceSize.width: 16
sourceSize.height: 16
smooth: true
mipmap: true
opacity: 0.75
rotation: appWindow.visibility === Window.FullScreen ? 180 : 0
}
MouseArea {
id: buttonArea
anchors.fill: parent
hoverEnabled: true
cursorShape: Qt.PointingHandCursor
onEntered: parent.color = MoneroComponents.Style.titleBarButtonHoverColor
onExited: parent.color = "transparent"
onClicked: root.maximizeClicked();
}
}
// close
Rectangle {
visible: root.showCloseButton
color: "transparent"
Layout.preferredWidth: parent.height
Layout.preferredHeight: parent.height
MoneroEffects.ImageMask {
anchors.verticalCenter: parent.verticalCenter
anchors.horizontalCenter: parent.horizontalCenter
height: 16
width: 16
image: MoneroComponents.Style.titleBarCloseSource
color: MoneroComponents.Style.defaultFontColor
fontAwesomeFallbackIcon: FontAwesome.times
fontAwesomeFallbackSize: 21
fontAwesomeFallbackOpacity: MoneroComponents.Style.blackTheme ? 0.8 : 0.6
opacity: 0.75
}
MouseArea {
anchors.fill: parent
hoverEnabled: true
cursorShape: Qt.PointingHandCursor
onEntered: parent.color = MoneroComponents.Style.titleBarButtonHoverColor
onExited: parent.color = "transparent"
onClicked: root.closeClicked();
}
}
}
Rectangle {
id: goToBasicVersionButton
property bool containsMouse: titleBar.mouseX >= x && titleBar.mouseX <= x + width
property bool checked: false
anchors.top: parent.top
anchors.left: parent.left
color: basicMouseArea.containsMouse || !leftPanel.visible ? "#FFE00A" : "#000000"
height: 30
width: height
visible: isMobile
Image {
anchors.centerIn: parent
rotation: !leftPanel.visible ? 180 : 0
source: parent.customDecorations || !leftPanel.visible ? "../images/goToBasicVersionHovered.png" :
"../images/gotoBasicVersion.png"
}
MouseArea {
id: basicMouseArea
hoverEnabled: true
anchors.fill: parent
onClicked: {
parent.checked = !parent.checked
titleBar.goToBasicVersion(leftPanel.visible)
}
}
}
Row {
id: row
anchors.right: parent.right
anchors.top: parent.top
z: parent.z + 3
anchors.bottom: parent.bottom
visible: parent.customDecorations
anchors.left: parent.left
anchors.right: parent.right
height: MoneroComponents.Style.blackTheme ? 1 : 1
color: MoneroComponents.Style.titleBarBackgroundBorderColor
Rectangle {
property bool containsMouse: titleBar.mouseX >= x + row.x && titleBar.mouseX <= x + row.x + width && titleBar.containsMouse
anchors.top: parent.top
anchors.bottom: parent.bottom
width: height
color: containsMouse ? "#6B0072" : "#000000"
Image {
anchors.centerIn: parent
source: "../images/helpIcon.png"
}
MouseArea {
id: whatIsArea
anchors.fill: parent
onClicked: {
}
}
}
Rectangle {
property bool containsMouse: titleBar.mouseX >= x + row.x && titleBar.mouseX <= x + row.x + width && titleBar.containsMouse
anchors.top: parent.top
anchors.bottom: parent.bottom
width: height
color: containsMouse ? "#3665B3" : "#000000"
Image {
anchors.centerIn: parent
source: "../images/minimizeIcon.png"
}
MouseArea {
id: minimizeArea
anchors.fill: parent
onClicked: {
appWindow.visibility = Window.Minimized
}
}
}
Rectangle {
id: maximizeButton
property bool containsMouse: titleBar.mouseX >= x + row.x && titleBar.mouseX <= x + row.x + width && titleBar.containsMouse
anchors.top: parent.top
anchors.bottom: parent.bottom
width: height
color: containsMouse ? "#FF6C3C" : "#000000"
Image {
anchors.centerIn: parent
source: appWindow.visibility === Window.FullScreen ? "../images/backToWindowIcon.png" :
"../images/maximizeIcon.png"
}
MouseArea {
id: maximizeArea
anchors.fill: parent
onClicked: {
appWindow.visibility = appWindow.visibility !== Window.FullScreen ? Window.FullScreen :
Window.Windowed
}
}
}
Rectangle {
property bool containsMouse: titleBar.mouseX >= x + row.x && titleBar.mouseX <= x + row.x + width && titleBar.containsMouse
anchors.top: parent.top
anchors.bottom: parent.bottom
width: height
color: containsMouse ? "#E04343" : "#000000"
Image {
anchors.centerIn: parent
source: "../images/closeIcon.png"
}
MouseArea {
anchors.fill: parent
onClicked: appWindow.close();
}
MoneroEffects.ColorTransition {
targetObj: parent
blackColor: MoneroComponents.Style._b_titleBarBackgroundBorderColor
whiteColor: MoneroComponents.Style._w_titleBarBackgroundBorderColor
}
}
MouseArea {
enabled: persistentSettings.customDecorations
property var previousPosition
anchors.fill: parent
propagateComposedEvents: true
onPressed: previousPosition = globalCursor.getPosition()
onDoubleClicked: root.maximizeClicked()
onPositionChanged: {
if (pressedButtons == Qt.LeftButton) {
var pos = globalCursor.getPosition()
var dx = pos.x - previousPosition.x
var dy = pos.y - previousPosition.y
appWindow.x += dx
appWindow.y += dy
previousPosition = pos
}
}
}
}

112
components/Tooltip.qml Normal file
View File

@@ -0,0 +1,112 @@
// Copyright (c) 2021-2024, 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.Controls 2.2
import QtQuick.Layouts 1.1
import FontAwesome 1.0
import "." as MoneroComponents
Rectangle {
property alias text: tooltip.text
property alias tooltipPopup: popup
property bool tooltipIconVisible: false
property bool tooltipLeft: false
property bool tooltipBottom: tooltipIconVisible ? false : true
color: "transparent"
height: tooltipIconVisible ? icon.height : parent.height
width: tooltipIconVisible ? icon.width : parent.width
visible: text != ""
Text {
id: icon
visible: tooltipIconVisible
color: MoneroComponents.Style.defaultFontColor
font.family: FontAwesome.fontFamily
font.pixelSize: 10
font.styleName: "Regular"
leftPadding: 5
rightPadding: 5
text: FontAwesome.questionCircle
opacity: mouseArea.containsMouse ? 0.7 : 1
MouseArea {
id: mouseArea
anchors.fill: parent
hoverEnabled: true
cursorShape: Qt.WhatsThisCursor
onEntered: popup.open()
onExited: popup.close()
}
}
ToolTip {
id: popup
height: tooltip.height + 20
background: Rectangle {
border.color: MoneroComponents.Style.buttonInlineBackgroundColor
border.width: 1
color: MoneroComponents.Style.titleBarBackgroundGradientStart
radius: 4
}
closePolicy: Popup.NoAutoClose
padding: 10
x: tooltipLeft
? (tooltipIconVisible ? icon.x - icon.width : parent.x - tooltip.width - 20 + parent.width/2)
: (tooltipIconVisible ? icon.x + icon.width : parent.x + parent.width/2)
y: tooltipBottom
? (tooltipIconVisible ? icon.y + height : parent.y + parent.height + 2)
: (tooltipIconVisible ? icon.y - height : parent.y - tooltip.height - 20)
enter: Transition {
NumberAnimation { property: "opacity"; from: 0.0; to: 1.0; duration: 150 }
}
exit: Transition {
NumberAnimation { property: "opacity"; from: 1.0; to: 0.0; duration: 150 }
}
delay: 200
RowLayout {
Layout.maximumWidth: 370
Text {
id: tooltip
width: contentWidth
Layout.maximumWidth: 370
color: MoneroComponents.Style.defaultFontColor
font.family: MoneroComponents.Style.fontRegular.name
font.pixelSize: 12
textFormat: Text.RichText
wrapMode: Text.WordWrap
}
}
}
}

View File

@@ -0,0 +1,441 @@
// Copyright (c) 2014-2024, 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.Controls 1.4 as QtQuickControls1
import QtQuick.Controls 2.2
import QtQuick.Layouts 1.1
import "../components" as MoneroComponents
import FontAwesome 1.0
Rectangle {
id: root
property int margins: 25
x: parent.width/2 - root.width/2
y: parent.height/2 - root.height/2
// TODO: implement without hardcoding sizes
width: 590
height: layout.height + layout.anchors.margins * 2
color: MoneroComponents.Style.blackTheme ? "black" : "white"
visible: false
radius: 10
border.color: MoneroComponents.Style.blackTheme ? Qt.rgba(255, 255, 255, 0.25) : Qt.rgba(0, 0, 0, 0.25)
border.width: 1
Keys.enabled: true
Keys.onEscapePressed: {
root.close()
root.clearFields()
root.rejected()
}
KeyNavigation.tab: confirmButton
property var recipients: []
property var transactionAmount: ""
property var transactionDescription: ""
property var transactionFee: ""
property var transactionPriority: ""
property bool sweepUnmixable: false
property alias errorText: errorText
property alias confirmButton: confirmButton
property alias backButton: backButton
property alias bottomText: bottomText
property alias bottomTextAnimation: bottomTextAnimation
state: "default"
states: [
State {
// waiting for user action, show tx details + back and confirm buttons
name: "default";
when: errorText.text == "" && bottomText.text == ""
PropertyChanges { target: errorText; visible: false }
PropertyChanges { target: txAmountText; visible: root.transactionAmount !== "(all)" || (root.transactionAmount === "(all)" && currentWallet.isHwBacked() === true) }
PropertyChanges { target: txAmountBusyIndicator; visible: !txAmountText.visible }
PropertyChanges { target: txFiatAmountText; visible: txAmountText.visible && persistentSettings.fiatPriceEnabled && root.transactionAmount !== "(all)" }
PropertyChanges { target: txDetails; visible: true }
PropertyChanges { target: bottom; visible: true }
PropertyChanges { target: bottomMessage; visible: false }
PropertyChanges { target: buttons; visible: true }
PropertyChanges { target: backButton; visible: true; primary: false }
PropertyChanges { target: confirmButton; visible: true; focus: true }
}, State {
// error message being displayed, show only back button
name: "error";
when: errorText.text !== ""
PropertyChanges { target: dialogTitle; text: "Error" }
PropertyChanges { target: errorText; visible: true }
PropertyChanges { target: txAmountText; visible: false }
PropertyChanges { target: txAmountBusyIndicator; visible: false }
PropertyChanges { target: txFiatAmountText; visible: false }
PropertyChanges { target: txDetails; visible: false }
PropertyChanges { target: bottom; visible: true }
PropertyChanges { target: bottomMessage; visible: false }
PropertyChanges { target: buttons; visible: true }
PropertyChanges { target: backButton; visible: true; primary: true; focus: true }
PropertyChanges { target: confirmButton; visible: false }
}, State {
// creating or sending transaction, show tx details and don't show any button
name: "bottomText";
when: errorText.text == "" && bottomText.text !== ""
PropertyChanges { target: errorText; visible: false }
PropertyChanges { target: txAmountText; visible: root.transactionAmount !== "(all)" || (root.transactionAmount === "(all)" && currentWallet.isHwBacked() === true) }
PropertyChanges { target: txAmountBusyIndicator; visible: !txAmountText.visible }
PropertyChanges { target: txFiatAmountText; visible: txAmountText.visible && persistentSettings.fiatPriceEnabled && root.transactionAmount !== "(all)" }
PropertyChanges { target: txDetails; visible: true }
PropertyChanges { target: bottom; visible: true }
PropertyChanges { target: bottomMessage; visible: true }
PropertyChanges { target: buttons; visible: false }
}
]
// same signals as Dialog has
signal accepted()
signal rejected()
function open() {
root.visible = true;
//clean previous error message
errorText.text = "";
}
function close() {
root.visible = false;
}
function clearFields() {
root.recipients = [];
root.transactionAmount = "";
root.transactionDescription = "";
root.transactionFee = "";
root.transactionPriority = "";
root.sweepUnmixable = false;
}
function showFiatConversion(valueXMR) {
const fiatFee = fiatApiConvertToFiat(valueXMR);
return "%1 %2".arg(fiatFee < 0.01 ? "&lt;0.01" : "~" + fiatFee).arg(fiatApiCurrencySymbol());
}
ColumnLayout {
id: layout
anchors.top: parent.top
anchors.left: parent.left
anchors.right: parent.right
anchors.margins: parent.margins
spacing: 10
RowLayout {
Layout.topMargin: 10
Layout.fillWidth: true
MoneroComponents.Label {
id: dialogTitle
Layout.fillWidth: true
fontSize: 18
fontFamily: "Arial"
horizontalAlignment: Text.AlignHCenter
text: {
if (appWindow.viewOnly) {
return qsTr("Create transaction file") + translationManager.emptyString;
} else if (root.sweepUnmixable) {
return qsTr("Sweep unmixable outputs") + translationManager.emptyString;
} else {
return qsTr("Confirm send") + translationManager.emptyString;
}
}
}
}
Text {
id: errorText
Layout.fillWidth: true
Layout.fillHeight: true
color: MoneroComponents.Style.defaultFontColor
wrapMode: Text.Wrap
font.pixelSize: 15
}
ColumnLayout {
spacing: 0
Layout.fillWidth: true
Layout.preferredHeight: 71
QtQuickControls1.BusyIndicator {
id: txAmountBusyIndicator
Layout.fillHeight: true
Layout.fillWidth: true
running: root.transactionAmount == "(all)"
}
Text {
id: txAmountText
Layout.fillWidth: true
horizontalAlignment: Text.AlignHCenter
font.pixelSize: root.transactionAmount == "(all)" && currentWallet.isHwBacked() === true ? 32 : 42
color: MoneroComponents.Style.defaultFontColor
text: {
if (root.transactionAmount == "(all)" && currentWallet.isHwBacked() === true) {
return qsTr("All unlocked balance") + translationManager.emptyString;
} else {
return root.transactionAmount + " XMR " + translationManager.emptyString;
}
}
}
Text {
id: txFiatAmountText
Layout.fillWidth: true
horizontalAlignment: Text.AlignHCenter
font.pixelSize: 20
color: MoneroComponents.Style.buttonSecondaryTextColor
text: showFiatConversion(transactionAmount) + translationManager.emptyString
}
}
GridLayout {
columns: 2
id: txDetails
Layout.fillWidth: true
columnSpacing: 15
rowSpacing: 16
Text {
color: MoneroComponents.Style.dimmedFontColor
text: qsTr("From") + ":" + translationManager.emptyString
font.pixelSize: 15
}
ColumnLayout {
Layout.fillWidth: true
spacing: 16
Text {
Layout.fillWidth: true
font.pixelSize: 15
color: MoneroComponents.Style.defaultFontColor
text: {
if (currentWallet) {
var walletTitle = function() {
if (currentWallet.isLedger()) {
return "Ledger";
} else if (currentWallet.isTrezor()) {
return "Trezor";
} else {
return qsTr("My wallet");
}
}
var walletName = appWindow.walletName;
if (appWindow.currentWallet.numSubaddressAccounts() > 1) {
var currentSubaddressAccount = currentWallet.currentSubaddressAccount;
var currentAccountLabel = currentWallet.getSubaddressLabel(currentWallet.currentSubaddressAccount, 0);
return walletTitle() + " (" + walletName + ")" + "<br>" + qsTr("Account #") + currentSubaddressAccount + (currentAccountLabel !== "" ? " (" + currentAccountLabel + ")" : "") + translationManager.emptyString;
} else {
return walletTitle() + " (" + walletName + ")" + translationManager.emptyString;
}
} else {
return "";
}
}
}
}
Text {
font.pixelSize: 15
color: MoneroComponents.Style.dimmedFontColor
text: qsTr("To") + ":" + translationManager.emptyString
}
Flickable {
id: flickable
property int linesInMultipleRecipientsMode: 7
Layout.fillWidth: true
Layout.preferredHeight: recipients.length > 1
? linesInMultipleRecipientsMode * (recipientsArea.contentHeight / recipientsArea.lineCount)
: recipientsArea.contentHeight
boundsBehavior: isMac ? Flickable.DragAndOvershootBounds : Flickable.StopAtBounds
clip: true
TextArea.flickable: TextArea {
id : recipientsArea
color: MoneroComponents.Style.defaultFontColor
font.family: MoneroComponents.Style.fontMonoRegular.name
font.pixelSize: 14
topPadding: 0
bottomPadding: 0
leftPadding: 0
textMargin: 0
readOnly: true
selectByKeyboard: true
selectByMouse: true
selectionColor: MoneroComponents.Style.textSelectionColor
textFormat: TextEdit.RichText
wrapMode: TextEdit.Wrap
text: {
return recipients.map(function (recipient, index) {
var addressBookName = null;
if (currentWallet) {
addressBookName = currentWallet.addressBook.getDescription(recipient.address);
}
var title;
if (addressBookName) {
title = FontAwesome.addressBook + " " + addressBookName;
} else {
title = qsTr("Monero address") + translationManager.emptyString;
}
if (recipients.length > 1) {
title = "%1. %2 - %3 XMR".arg(index + 1).arg(title).arg(recipient.amount);
if (persistentSettings.fiatPriceEnabled) {
title += " (%1)".arg(showFiatConversion(recipient.amount));
}
}
const spacedaddress = recipient.address.match(/.{1,4}/g).join(' ');
return title + "<br>" + spacedaddress;
}).join("<br><br>");
}
}
ScrollBar.vertical: ScrollBar {
policy: recipientsArea.contentHeight > flickable.height ? ScrollBar.AlwaysOn : ScrollBar.AlwaysOff
}
}
Text {
color: MoneroComponents.Style.dimmedFontColor
text: qsTr("Fee") + ":" + translationManager.emptyString
font.pixelSize: 15
}
RowLayout {
Layout.fillWidth: true
spacing: 16
Text {
property bool maliciousTxFee: parseFloat(root.transactionFee) > 0.01
color: maliciousTxFee ? "red" : MoneroComponents.Style.defaultFontColor
font.pixelSize: maliciousTxFee ? 20 : 15
text: {
if (currentWallet) {
if (!root.transactionFee) {
if (currentWallet.isHwBacked() === true) {
return qsTr("See on device") + translationManager.emptyString;
} else {
return qsTr("Calculating fee") + "..." + translationManager.emptyString;
}
} else {
return root.transactionFee + " XMR" + (maliciousTxFee ? " (HIGH FEE)" : "")
}
} else {
return "";
}
}
}
Text {
Layout.fillWidth: true
Layout.leftMargin: 8
color: MoneroComponents.Style.buttonSecondaryTextColor
visible: persistentSettings.fiatPriceEnabled && root.transactionFee
font.pixelSize: 15
text: showFiatConversion(root.transactionFee)
}
}
}
ColumnLayout {
id: bottom
Layout.alignment: Qt.AlignBottom | Qt.AlignHCenter
Layout.fillWidth: true
RowLayout {
id: bottomMessage
Layout.fillWidth: true
Layout.preferredHeight: 50
QtQuickControls1.BusyIndicator {
visible: !bottomTextAnimation.running
running: !bottomTextAnimation.running
scale: .5
}
Text {
id: bottomText
color: MoneroComponents.Style.defaultFontColor
text: ""
horizontalAlignment: Text.AlignHCenter
wrapMode: Text.Wrap
font.pixelSize: 17
opacity: 1
SequentialAnimation{
id:bottomTextAnimation
running: false
loops: Animation.Infinite
alwaysRunToEnd: true
NumberAnimation { target: bottomText; property: "opacity"; to: 0; duration: 500}
NumberAnimation { target: bottomText; property: "opacity"; to: 1; duration: 500}
}
}
}
RowLayout {
id: buttons
spacing: 70
Layout.fillWidth: true
Layout.preferredHeight: 50
MoneroComponents.StandardButton {
id: backButton
text: qsTr("Back") + translationManager.emptyString;
width: 200
primary: false
KeyNavigation.tab: confirmButton
onClicked: {
root.close()
root.clearFields()
root.rejected()
}
}
MoneroComponents.StandardButton {
id: confirmButton
text: qsTr("Confirm") + translationManager.emptyString;
rightIcon: "qrc:///images/rightArrow.png"
width: 200
KeyNavigation.tab: backButton
onClicked: {
root.close()
root.accepted()
}
}
}
}
}
}

204
components/UpdateDialog.qml Normal file
View File

@@ -0,0 +1,204 @@
// Copyright (c) 2020-2024, 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.Controls 2.2
import QtQuick.Layouts 1.1
import moneroComponents.Downloader 1.0
import "../components" as MoneroComponents
Popup {
id: updateDialog
property bool active: false
property bool allowed: true
property string error: ""
property string filename: ""
property string hash: ""
property double progress: url && downloader.total > 0 ? downloader.loaded * 100 / downloader.total : 0
property string url: ""
property bool valid: false
property string version: ""
background: Rectangle {
border.color: MoneroComponents.Style.appWindowBorderColor
border.width: 1
color: MoneroComponents.Style.middlePanelBackgroundColor
}
closePolicy: Popup.NoAutoClose
padding: 20
visible: active && allowed
function show(version, url, hash) {
updateDialog.error = "";
updateDialog.hash = hash;
updateDialog.url = url;
updateDialog.valid = false;
updateDialog.version = version;
updateDialog.active = true;
}
ColumnLayout {
id: mainLayout
spacing: updateDialog.padding
Text {
color: MoneroComponents.Style.defaultFontColor
font.bold: true
font.family: MoneroComponents.Style.fontRegular.name
font.pixelSize: 18
text: qsTr("New Monero version v%1 is available.").arg(updateDialog.version)
}
Text {
id: errorText
color: "red"
font.family: MoneroComponents.Style.fontRegular.name
font.pixelSize: 18
text: updateDialog.error
visible: text
}
Text {
id: statusText
color: updateDialog.valid ? MoneroComponents.Style.green : MoneroComponents.Style.defaultFontColor
font.family: MoneroComponents.Style.fontRegular.name
font.pixelSize: 18
visible: !errorText.visible
text: {
if (!updateDialog.url) {
return qsTr("Please visit getmonero.org for details") + translationManager.emptyString;
}
if (downloader.active) {
return "%1 (%2%)"
.arg(qsTr("Downloading"))
.arg(updateDialog.progress.toFixed(1))
+ translationManager.emptyString;
}
if (updateDialog.valid) {
return qsTr("Update downloaded, signature verified") + translationManager.emptyString;
}
return qsTr("Do you want to download and verify new version?") + translationManager.emptyString;
}
}
Rectangle {
id: progressBar
color: MoneroComponents.Style.lightGreyFontColor
height: 3
Layout.fillWidth: true
visible: updateDialog.valid || downloader.active
Rectangle {
color: MoneroComponents.Style.buttonBackgroundColor
height: parent.height
width: parent.width * updateDialog.progress / 100
}
}
RowLayout {
Layout.alignment: Qt.AlignRight
spacing: parent.spacing
MoneroComponents.StandardButton {
id: cancelButton
fontBold: false
primary: !updateDialog.url
text: {
if (!updateDialog.url) {
return qsTr("Ok") + translationManager.emptyString;
}
if (updateDialog.valid || downloader.active || errorText.visible) {
return qsTr("Cancel") + translationManager.emptyString;
}
return qsTr("Download later") + translationManager.emptyString;
}
onClicked: {
downloader.cancel();
updateDialog.active = false;
}
}
MoneroComponents.StandardButton {
id: downloadButton
KeyNavigation.tab: cancelButton
fontBold: false
text: (updateDialog.error ? qsTr("Retry") : qsTr("Download")) + translationManager.emptyString
visible: updateDialog.url && !updateDialog.valid && !downloader.active
onClicked: {
updateDialog.error = "";
updateDialog.filename = updateDialog.url.replace(/^.*\//, '');
const downloadingStarted = downloader.get(updateDialog.url, updateDialog.hash, function(error) {
if (error) {
console.error("Download failed", error);
updateDialog.error = qsTr("Download failed") + translationManager.emptyString;
} else {
updateDialog.valid = true;
}
});
if (!downloadingStarted) {
updateDialog.error = qsTr("Failed to start download") + translationManager.emptyString;
}
}
}
MoneroComponents.StandardButton {
id: saveButton
KeyNavigation.tab: cancelButton
fontBold: false
onClicked: {
const fullPath = oshelper.openSaveFileDialog(
qsTr("Save as") + translationManager.emptyString,
oshelper.downloadLocation(),
updateDialog.filename);
if (!fullPath) {
return;
}
if (downloader.saveToFile(fullPath)) {
cancelButton.clicked();
oshelper.openContainingFolder(fullPath);
} else {
updateDialog.error = qsTr("Save operation failed") + translationManager.emptyString;
}
}
text: qsTr("Save to file") + translationManager.emptyString
visible: updateDialog.valid
}
}
}
Downloader {
id: downloader
proxyAddress: persistentSettings.getProxyAddress()
}
}

62
components/WarningBox.qml Normal file
View File

@@ -0,0 +1,62 @@
import QtQuick 2.9
import QtQuick.Layouts 1.1
import QtQuick.Controls 2.0
import "." as MoneroComponents
Rectangle {
id: root
property alias text: content.text
property alias textColor: content.color
property int fontSize: 15
Layout.fillWidth: true
Layout.preferredHeight: warningLayout.height
color: MoneroComponents.Style.titleBarButtonHoverColor
radius: 4
border.color: MoneroComponents.Style.inputBorderColorInActive
border.width: 1
signal linkActivated;
RowLayout {
id: warningLayout
spacing: 0
anchors.left: parent.left
anchors.right: parent.right
Image {
Layout.alignment: Qt.AlignVCenter
Layout.preferredHeight: 33
Layout.preferredWidth: 33
Layout.rightMargin: 12
Layout.leftMargin: 18
Layout.topMargin: 12
Layout.bottomMargin: 12
source: "qrc:///images/warning.png"
}
Text {
id: content
Layout.fillWidth: true
color: MoneroComponents.Style.defaultFontColor
font.family: MoneroComponents.Style.fontRegular.name
font.pixelSize: root.fontSize
horizontalAlignment: TextInput.AlignLeft
textFormat: Text.RichText
wrapMode: Text.WordWrap
leftPadding: 4
rightPadding: 18
topPadding: 10
bottomPadding: 10
onLinkActivated: root.linkActivated();
MouseArea {
anchors.fill: parent
acceptedButtons: Qt.NoButton
cursorShape: parent.hoveredLink ? Qt.PointingHandCursor : Qt.ArrowCursor
}
}
}
}

View File

@@ -0,0 +1,58 @@
// Copyright (c) 2014-2024, 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 QtGraphicalEffects 1.0
import "../" as MoneroComponents
Item {
id: root
property var targetObj
property string blackColor: ""
property string whiteColor: ""
property int duration: 300
property bool themeTransition: true
states: [
State {
name: "black";
when: MoneroComponents.Style.blackTheme && root.themeTransition
PropertyChanges { target: root.targetObj; color: root.blackColor}
}, State {
name: "white";
when: !MoneroComponents.Style.blackTheme && root.themeTransition
PropertyChanges { target: root.targetObj; color: root.whiteColor}
}
]
transitions: Transition {
enabled: appWindow.themeTransition
ColorAnimation { properties: "color"; easing.type: Easing.InOutQuad; duration: root.duration }
}
}

Some files were not shown because too many files have changed in this diff Show More