Compare commits

..

412 Commits

Author SHA1 Message Date
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
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
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
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
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
BigslimVdub
3bf20a0bd1 Dll update
Update for latest msys2 build dll files
2018-09-17 13:06:04 -05:00
304 changed files with 87095 additions and 43167 deletions

View File

@@ -31,7 +31,8 @@ import QtQuick.Layouts 1.1
import QtGraphicalEffects 1.0
import moneroComponents.Wallet 1.0
import moneroComponents.NetworkType 1.0
import "components"
import moneroComponents.Clipboard 1.0
import "components" as MoneroComponents
Rectangle {
id: panel
@@ -46,8 +47,9 @@ Rectangle {
property alias daemonProgressBar : daemonProgressBar
property alias minutesToUnlockTxt: unlockedBalanceLabel.text
property int titleBarHeight: 50
property string copyValue: ""
Clipboard { id: clipboard }
signal dashboardClicked()
signal historyClicked()
signal transferClicked()
signal receiveClicked()
@@ -58,13 +60,15 @@ Rectangle {
signal miningClicked()
signal signClicked()
signal keysClicked()
signal merchantClicked()
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 === "Merchant") menuColumn.previousButton = merchantButton
else if(pos === "AddressBook") menuColumn.previousButton = addressBookButton
else if(pos === "Mining") menuColumn.previousButton = miningButton
else if(pos === "TxKey") menuColumn.previousButton = txkeyButton
@@ -73,7 +77,7 @@ Rectangle {
else if(pos === "Settings") menuColumn.previousButton = settingsButton
else if(pos === "Advanced") menuColumn.previousButton = advancedButton
else if(pos === "Keys") menuColumn.previousButton = keysButton
else if(pos === "Account") menuColumn.previousButton = accountButton
menuColumn.previousButton.checked = true
}
@@ -96,7 +100,7 @@ Rectangle {
visible: true
z: 2
id: column1
height: 200
height: 210
anchors.left: parent.left
anchors.right: parent.right
anchors.top: parent.top
@@ -111,10 +115,10 @@ Rectangle {
anchors.leftMargin: 20
anchors.verticalCenter: parent.verticalCenter
height: 490 * scaleRatio
width: 259 * scaleRatio
width: 260 * scaleRatio
Image {
width: 259; height: 170
width: 260; height: 170
fillMode: Image.PreserveAspectFit
source: "images/card-background.png"
}
@@ -144,6 +148,37 @@ Rectangle {
font.bold: true
color: "#ff9323"
}
Rectangle {
height: (logoutImage.height + 8) * scaleRatio
width: (logoutImage.width + 8) * scaleRatio
color: "transparent"
anchors.right: parent.right
anchors.rightMargin: 8
anchors.top: parent.top
anchors.topMargin: 25
Image {
id: logoutImage
anchors.verticalCenter: parent.verticalCenter
anchors.horizontalCenter: parent.horizontalCenter
height: 16 * scaleRatio
width: 13 * scaleRatio
source: "../images/logout.png"
}
MouseArea{
anchors.fill: parent
hoverEnabled: true
cursorShape: Qt.PointingHandCursor
onClicked: {
middlePanel.addressBookView.clearFields();
middlePanel.transferView.clearFields();
middlePanel.receiveView.clearFields();
appWindow.showWizard();
}
}
}
}
Item {
@@ -174,6 +209,23 @@ Rectangle {
}
return defaultSize;
}
MouseArea {
hoverEnabled: true
anchors.fill: parent
cursorShape: Qt.PointingHandCursor
onEntered: {
parent.color = MoneroComponents.Style.orange
}
onExited: {
parent.color = MoneroComponents.Style.white
}
onClicked: {
console.log("Copied to clipboard");
clipboard.setText(parent.text);
appWindow.showStatusMessage(qsTr("Copied to clipboard"),3)
}
}
}
Text {
@@ -195,19 +247,37 @@ Rectangle {
}
return defaultSize;
}
MouseArea {
hoverEnabled: true
anchors.fill: parent
cursorShape: Qt.PointingHandCursor
onEntered: {
parent.color = MoneroComponents.Style.orange
}
onExited: {
parent.color = MoneroComponents.Style.white
}
onClicked: {
console.log("Copied to clipboard");
clipboard.setText(parent.text);
appWindow.showStatusMessage(qsTr("Copied to clipboard"),3)
}
}
}
Label {
MoneroComponents.Label {
id: unlockedBalanceLabel
visible: true
text: qsTr("Unlocked balance") + translationManager.emptyString
fontSize: 14
anchors.left: parent.left
anchors.leftMargin: 20
anchors.top: parent.top
anchors.topMargin: 110
}
Label {
MoneroComponents.Label {
visible: !isMobile
id: balanceLabel
text: qsTr("Balance") + translationManager.emptyString
@@ -216,26 +286,14 @@ Rectangle {
anchors.leftMargin: 20
anchors.top: parent.top
anchors.topMargin: 60
elide: Text.ElideRight
textWidth: 238
}
Item { //separator
anchors.left: parent.left
anchors.right: parent.right
height: 1
}
/* 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
}
*/
}
}
}
@@ -247,19 +305,17 @@ Rectangle {
anchors.right: parent.right
anchors.bottom: parent.bottom
anchors.top: (isMobile)? parent.top : column1.bottom
anchors.topMargin: (isMobile)? 0 : 32
color: "transparent"
Flickable {
id:flicker
contentHeight: (progressBar.visible)? menuColumn.height + separator.height +
networkStatus.height + progressBar.height + daemonProgressBar.height :
menuColumn.height + separator.height + networkStatus.height
anchors.fill: parent
contentHeight: menuColumn.height
anchors.top: parent.top
anchors.bottom: networkStatus.top
width: parent.width
clip: true
Column {
id: menuColumn
@@ -269,34 +325,6 @@ Rectangle {
clip: true
property var previousButton: transferButton
// ------------- Dashboard tab ---------------
/*
MenuButton {
id: dashboardButton
anchors.left: parent.left
anchors.right: parent.right
text: qsTr("Dashboard") + translationManager.emptyString
symbol: qsTr("D") + translationManager.emptyString
dotColor: "#FFE00A"
checked: true
onClicked: {
parent.previousButton.checked = false
parent.previousButton = dashboardButton
panel.dashboardClicked()
}
}
Rectangle {
anchors.left: parent.left
anchors.right: parent.right
anchors.leftMargin: 16
color: dashboardButton.checked || transferButton.checked ? "#1C1C1C" : "#313131"
height: 1
}
*/
// top border
Rectangle {
anchors.left: parent.left
@@ -306,8 +334,32 @@ Rectangle {
height: 1
}
// ------------- Account tab ---------------
MoneroComponents.MenuButton {
id: accountButton
anchors.left: parent.left
anchors.right: parent.right
text: qsTr("Account") + translationManager.emptyString
symbol: qsTr("T") + translationManager.emptyString
dotColor: "#44AAFF"
onClicked: {
parent.previousButton.checked = false
parent.previousButton = accountButton
panel.accountClicked()
}
}
Rectangle {
visible: accountButton.present
anchors.left: parent.left
anchors.right: parent.right
anchors.leftMargin: 16
color: "#313131"
height: 1
}
// ------------- Transfer tab ---------------
MenuButton {
MoneroComponents.MenuButton {
id: transferButton
anchors.left: parent.left
anchors.right: parent.right
@@ -332,7 +384,7 @@ Rectangle {
// ------------- AddressBook tab ---------------
MenuButton {
MoneroComponents.MenuButton {
id: addressBookButton
anchors.left: parent.left
anchors.right: parent.right
@@ -357,7 +409,7 @@ Rectangle {
}
// ------------- Receive tab ---------------
MenuButton {
MoneroComponents.MenuButton {
id: receiveButton
anchors.left: parent.left
anchors.right: parent.right
@@ -379,9 +431,36 @@ Rectangle {
height: 1
}
// ------------- Merchant tab ---------------
MoneroComponents.MenuButton {
id: merchantButton
visible: appWindow.walletMode >= 2
anchors.left: parent.left
anchors.right: parent.right
text: qsTr("Merchant") + translationManager.emptyString
symbol: qsTr("U") + translationManager.emptyString
dotColor: "#FF4F41"
under: receiveButton
onClicked: {
parent.previousButton.checked = false
parent.previousButton = merchantButton
panel.merchantClicked()
}
}
Rectangle {
visible: merchantButton.present && appWindow.walletMode >= 2
anchors.left: parent.left
anchors.right: parent.right
anchors.leftMargin: 16
color: "#313131"
height: 1
}
// ------------- History tab ---------------
MenuButton {
MoneroComponents.MenuButton {
id: historyButton
anchors.left: parent.left
anchors.right: parent.right
@@ -404,8 +483,9 @@ Rectangle {
}
// ------------- Advanced tab ---------------
MenuButton {
MoneroComponents.MenuButton {
id: advancedButton
visible: appWindow.walletMode >= 2
anchors.left: parent.left
anchors.right: parent.right
text: qsTr("Advanced") + translationManager.emptyString
@@ -416,8 +496,9 @@ Rectangle {
parent.previousButton = advancedButton
}
}
Rectangle {
visible: advancedButton.present
visible: advancedButton.present && appWindow.walletMode >= 2
anchors.left: parent.left
anchors.right: parent.right
anchors.leftMargin: 16
@@ -426,9 +507,9 @@ Rectangle {
}
// ------------- Mining tab ---------------
MenuButton {
MoneroComponents.MenuButton {
id: miningButton
visible: !isAndroid && !isIOS
visible: !isAndroid && !isIOS && appWindow.walletMode >= 2
anchors.left: parent.left
anchors.right: parent.right
text: qsTr("Mining") + translationManager.emptyString
@@ -443,7 +524,7 @@ Rectangle {
}
Rectangle {
visible: miningButton.present
visible: miningButton.present && appWindow.walletMode >= 2
anchors.left: parent.left
anchors.right: parent.right
anchors.leftMargin: 16
@@ -451,8 +532,9 @@ Rectangle {
height: 1
}
// ------------- TxKey tab ---------------
MenuButton {
MoneroComponents.MenuButton {
id: txkeyButton
visible: appWindow.walletMode >= 2
anchors.left: parent.left
anchors.right: parent.right
text: qsTr("Prove/check") + translationManager.emptyString
@@ -466,7 +548,7 @@ Rectangle {
}
}
Rectangle {
visible: txkeyButton.present
visible: txkeyButton.present && appWindow.walletMode >= 2
anchors.left: parent.left
anchors.right: parent.right
anchors.leftMargin: 16
@@ -474,8 +556,9 @@ Rectangle {
height: 1
}
// ------------- Shared RingDB tab ---------------
MenuButton {
MoneroComponents.MenuButton {
id: sharedringdbButton
visible: appWindow.walletMode >= 2
anchors.left: parent.left
anchors.right: parent.right
text: qsTr("Shared RingDB") + translationManager.emptyString
@@ -489,7 +572,7 @@ Rectangle {
}
}
Rectangle {
visible: sharedringdbButton.present
visible: sharedringdbButton.present && appWindow.walletMode >= 2
anchors.left: parent.left
anchors.right: parent.right
anchors.leftMargin: 16
@@ -499,8 +582,9 @@ Rectangle {
// ------------- Sign/verify tab ---------------
MenuButton {
MoneroComponents.MenuButton {
id: signButton
visible: appWindow.walletMode >= 2
anchors.left: parent.left
anchors.right: parent.right
text: qsTr("Sign/verify") + translationManager.emptyString
@@ -514,7 +598,7 @@ Rectangle {
}
}
Rectangle {
visible: signButton.present
visible: signButton.present && appWindow.walletMode >= 2
anchors.left: parent.left
anchors.right: parent.right
anchors.leftMargin: 16
@@ -522,7 +606,7 @@ Rectangle {
height: 1
}
// ------------- Settings tab ---------------
MenuButton {
MoneroComponents.MenuButton {
id: settingsButton
anchors.left: parent.left
anchors.right: parent.right
@@ -544,8 +628,9 @@ Rectangle {
height: 1
}
// ------------- Sign/verify tab ---------------
MenuButton {
MoneroComponents.MenuButton {
id: keysButton
visible: appWindow.walletMode >= 2
anchors.left: parent.left
anchors.right: parent.right
text: qsTr("Seed & Keys") + translationManager.emptyString
@@ -559,7 +644,7 @@ Rectangle {
}
}
Rectangle {
visible: settingsButton.present
visible: settingsButton.present && appWindow.walletMode >= 2
anchors.left: parent.left
anchors.right: parent.right
anchors.leftMargin: 16
@@ -582,18 +667,18 @@ Rectangle {
color: "transparent"
}
NetworkStatusItem {
MoneroComponents.NetworkStatusItem {
id: networkStatus
anchors.left: parent.left
anchors.right: parent.right
anchors.leftMargin: 0
anchors.leftMargin: 5 * scaleRatio
anchors.rightMargin: 0
anchors.bottom: (progressBar.visible)? progressBar.top : parent.bottom;
connected: Wallet.ConnectionStatus_Disconnected
height: 48 * scaleRatio
}
ProgressBar {
MoneroComponents.ProgressBar {
id: progressBar
anchors.left: parent.left
anchors.right: parent.right
@@ -603,7 +688,7 @@ Rectangle {
visible: networkStatus.connected
}
ProgressBar {
MoneroComponents.ProgressBar {
id: daemonProgressBar
anchors.left: parent.left
anchors.right: parent.right

View File

@@ -2,32 +2,51 @@
#include <QStandardPaths>
#include <QFileInfo>
#include <QString>
#include <QDir>
#include <QDebug>
#include "Logger.h"
#include "wallet/api/wallet2_api.h"
// default log path by OS (should be writable)
static const QString default_name = "monero-wallet-gui.log";
#if defined(Q_OS_ANDROID) || defined(Q_OS_IOS)
static const QString defaultLogName = "monero-wallet-gui.log";
#if defined(Q_OS_IOS)
//AppDataLocation = "<APPROOT>/Library/Application Support"
static const QString osPath = QStandardPaths::standardLocations(QStandardPaths::AppDataLocation).at(0);
static const QString appFolder = "monero-wallet-gui";
#elif defined(Q_OS_WIN)
static const QString osPath = QCoreApplication::applicationDirPath();
//AppDataLocation = "C:/Users/<USER>/AppData/Roaming/<APPNAME>"
static const QString osPath = QStandardPaths::standardLocations(QStandardPaths::AppDataLocation).at(0);
static const QString appFolder = "monero-wallet-gui";
#elif defined(Q_OS_ANDROID)
//AppDataLocation = "<USER>/<APPNAME>/files"
static const QString osPath = QStandardPaths::standardLocations(QStandardPaths::AppDataLocation).at(1);
static const QString appFolder = "";
#elif defined(Q_OS_MAC)
static const QString osPath = QStandardPaths::standardLocations(QStandardPaths::HomeLocation).at(0) + "/Library/Logs";
#else // linux + bsd
//HomeLocation = "~"
static const QString osPath = QStandardPaths::standardLocations(QStandardPaths::HomeLocation).at(0);
static const QString appFolder = "Library/Logs";
#else // linux + bsd
//HomeLocation = "~"
static const QString osPath = QStandardPaths::standardLocations(QStandardPaths::HomeLocation).at(0);
static const QString appFolder = ".bitmonero";
#endif
// return the absolute path of the logfile
// return the absolute path of the logfile and ensure path folder exists
const QString getLogPath(const QString logPath)
{
const QFileInfo fi(logPath);
if(!logPath.isEmpty() && !fi.isDir())
return fi.absoluteFilePath();
else
return osPath + "/" + default_name;
else {
QDir appDir(osPath + "/" + appFolder);
if(!appDir.exists())
if(!appDir.mkpath("."))
qWarning() << "Logger: Cannot create log directory " + appDir.path();
return appDir.path() + "/" + defaultLogName;
}
}

View File

@@ -29,15 +29,17 @@
import QtQml 2.0
import QtQuick 2.2
// QtQuick.Controls 2.0 isn't stable enough yet. Needs more testing.
//import QtQuick.Controls 2.0
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 "components" as MoneroComponents
import "./pages"
import "./pages/settings"
import "./pages/merchant"
import "components" as MoneroComponents
Rectangle {
id: root
@@ -56,6 +58,7 @@ Rectangle {
property Transfer transferView: Transfer { }
property Receive receiveView: Receive { }
property Merchant merchantView: Merchant { }
property TxKey txkeyView: TxKey { }
property SharedRingDB sharedringdbView: SharedRingDB { }
property History historyView: History { }
@@ -64,7 +67,7 @@ Rectangle {
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 sweepUnmixableClicked()
@@ -72,11 +75,16 @@ Rectangle {
signal getProofClicked(string txid, string address, string message);
signal checkProofClicked(string txid, string address, string message, string signature);
Rectangle {
// grey background on merchantView
visible: currentView === merchantView
color: MoneroComponents.Style.moneroGrey
anchors.fill: parent
}
Image {
anchors.left: parent.left
anchors.right: parent.right
anchors.top: parent.top
anchors.bottom: parent.bottom
anchors.fill: parent
visible: currentView !== merchantView
source: "../images/middlePanelBg.jpg"
}
@@ -108,9 +116,6 @@ Rectangle {
states: [
State {
name: "Dashboard"
PropertyChanges { }
}, State {
name: "History"
PropertyChanges { target: root; currentView: historyView }
PropertyChanges { target: historyView; model: appWindow.currentWallet ? appWindow.currentWallet.historyModel : null }
@@ -118,11 +123,15 @@ Rectangle {
}, State {
name: "Transfer"
PropertyChanges { target: root; currentView: transferView }
PropertyChanges { target: mainFlickable; contentHeight: 1000 * scaleRatio }
PropertyChanges { target: mainFlickable; contentHeight: 700 * scaleRatio }
}, State {
name: "Receive"
PropertyChanges { target: root; currentView: receiveView }
PropertyChanges { target: mainFlickable; contentHeight: receiveView.receiveHeight + 100 }
}, State {
name: "Merchant"
PropertyChanges { target: root; currentView: merchantView }
PropertyChanges { target: mainFlickable; contentHeight: merchantView.merchantHeight + 100 }
}, State {
name: "TxKey"
PropertyChanges { target: root; currentView: txkeyView }
@@ -138,7 +147,7 @@ Rectangle {
}, State {
name: "Sign"
PropertyChanges { target: root; currentView: signView }
PropertyChanges { target: mainFlickable; contentHeight: 1200 * scaleRatio }
PropertyChanges { target: mainFlickable; contentHeight: 1000 * scaleRatio }
}, State {
name: "Settings"
PropertyChanges { target: root; currentView: settingsView }
@@ -146,22 +155,27 @@ Rectangle {
}, State {
name: "Mining"
PropertyChanges { target: root; currentView: miningView }
PropertyChanges { target: mainFlickable; contentHeight: minHeight }
PropertyChanges { target: mainFlickable; contentHeight: 700 * scaleRatio}
}, State {
name: "Keys"
PropertyChanges { target: root; currentView: keysView }
PropertyChanges { target: mainFlickable; contentHeight: minHeight + 200 * scaleRatio }
}
PropertyChanges { target: mainFlickable; contentHeight: keysView.keysHeight }
}, State {
name: "Account"
PropertyChanges { target: root; currentView: accountView }
PropertyChanges { target: mainFlickable; contentHeight: minHeight }
}
]
// color stripe at the top
Row {
id: styledRow
visible: currentView !== merchantView
height: 4
anchors.top: parent.top
anchors.left: parent.left
anchors.right: parent.right
z: parent.z + 1
Rectangle { height: 4; width: parent.width / 5; color: "#FFE00A" }
Rectangle { height: 4; width: parent.width / 5; color: "#6B0072" }
@@ -172,8 +186,8 @@ Rectangle {
ColumnLayout {
anchors.fill: parent
anchors.margins: 18
anchors.topMargin: appWindow.persistentSettings.customDecorations ? 50 : 0
anchors.margins: currentView !== merchantView ? 20 * scaleRatio : 0
anchors.topMargin: appWindow.persistentSettings.customDecorations ? 50 * scaleRatio : 0
spacing: 0
Flickable {
@@ -182,14 +196,20 @@ Rectangle {
Layout.fillHeight: true
clip: true
ScrollBar.vertical: ScrollBar {
parent: mainFlickable.parent
anchors.left: parent.right
anchors.leftMargin: 3
anchors.top: parent.top
anchors.topMargin: 4
anchors.bottom: parent.bottom
anchors.bottomMargin: persistentSettings.customDecorations ? 4 : 0
}
onFlickingChanged: {
releaseFocus();
}
// Disabled scrollbars, gives crash on startup on windows
// ScrollIndicator.vertical: ScrollIndicator { }
// ScrollBar.vertical: ScrollBar { } // uncomment to test
// Views container
StackView {
id: stackView

View File

@@ -9,6 +9,7 @@ Copyright (c) 2014-2018, The Monero Project
- Mail: [dev@getmonero.org](mailto:dev@getmonero.org)
- Github: [https://github.com/monero-project/monero-gui](https://github.com/monero-project/monero-gui)
- IRC: [#monero-dev on Freenode](irc://chat.freenode.net/#monero-dev)
- Translation platform (Pootle): [translate.getmonero.org](https://translate.getmonero.org)
## Vulnerability response
@@ -55,6 +56,13 @@ There are also several mining pools that kindly donate a portion of their fees,
See [LICENSE](LICENSE).
## Translations
Do you speak a second language and would like to help translate the Monero GUI? Sign up at [translate.getmonero.org](https://translate.getmonero.org), our localization platform. Navigate to the 'monero-gui' project and find the language you can help with. Suggest changes or add new translated text.
&nbsp;
If you need help/support or any info you can contact the localization workgroup on the IRC channel #monero-translations (relayed on matrix/riot and MatterMost) 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)
## Installing the Monero GUI from a package
Packages are available for
@@ -75,11 +83,11 @@ Packaging for your favorite distribution would be a welcome contribution!
- 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 libzmq3-dev libsodium-dev`
`sudo apt install build-essential cmake libboost-all-dev miniupnpc libunbound-dev graphviz doxygen libunwind8-dev pkg-config libssl-dev libzmq3-dev libsodium-dev libhidapi-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 net-libs/zeromq sys-libs/libunwind dev-libs/libsodium`
`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 net-libs/zeromq sys-libs/libunwind dev-libs/libsodium dev-libs/hidapi`
2. Install Qt:
@@ -87,7 +95,7 @@ Packaging for your favorite distribution would be a welcome contribution!
- For Ubuntu 17.10+
`sudo apt install qtbase5-dev qt5-default qtdeclarative5-dev 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-folderlistmodel qttools5-dev-tools`
`sudo apt install qtbase5-dev qt5-default qtdeclarative5-dev 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-folderlistmodel qttools5-dev-tools qml-module-qtquick-templates2`
- For Gentoo
@@ -194,6 +202,12 @@ The Monero GUI on Windows is 64 bits only; 32-bit Windows GUI builds are not off
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
```
Optional : To build the flag `WITH_SCANNER`
```
pacman -S mingw-w64-x86_64-zbar
```
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.
4. Install Qt5
@@ -220,9 +234,11 @@ The Monero GUI on Windows is 64 bits only; 32-bit Windows GUI builds are not off
```
cd monero-gui
./build.sh
source ./build.sh release-static
cd build
make deploy
```
**Note:** The use of `source` above is a dirty workaround for a suspected bug in the current QT version 5.11.2-3 available in the MSYS2 packaging system, see https://github.com/monero-project/monero-gui/issues/1559 for more info.
The executable can be found in the `.\release\bin` directory.

View File

@@ -31,7 +31,6 @@ import QtQuick.Controls 1.2
import QtQuick.Controls.Styles 1.2
import QtGraphicalEffects 1.0
import "tabs"
import "components"
Rectangle {

View File

@@ -1,6 +1,7 @@
#!/bin/bash
BUILD_TYPE=$1
BUILD_TREZOR=${BUILD_TREZOR-true}
source ./utils.sh
platform=$(get_platform)
# default build type
@@ -72,6 +73,7 @@ if [[ $platform == *bsd* ]]; then
fi
# build libwallet
export BUILD_TREZOR
./get_libwallet_api.sh $BUILD_TYPE
# build zxcvbn

View File

@@ -38,3 +38,7 @@ void clipboardAdapter::setText(const QString &text) {
m_pClipboard->setText(text, QClipboard::Clipboard);
m_pClipboard->setText(text, QClipboard::Selection);
}
QString clipboardAdapter::text() const {
return m_pClipboard->text();
}

View File

@@ -39,6 +39,7 @@ class clipboardAdapter : public QObject
public:
explicit clipboardAdapter(QObject *parent = 0);
Q_INVOKABLE void setText(const QString &text);
Q_INVOKABLE QString text() const;
private:
QClipboard *m_pClipboard;

View File

@@ -28,11 +28,13 @@
import QtQuick 2.0
import moneroComponents.Clipboard 1.0
import "../js/TxUtils.js" as TxUtils
ListView {
id: listView
clip: true
boundsBehavior: ListView.StopAtBounds
property bool selectAndSend: false
footer: Rectangle {
height: 127
@@ -56,6 +58,11 @@ ListView {
color: "transparent"
z: listView.count - index
function collapseDropdown() { dropdown.expanded = false }
function doSend() {
console.log("Sending to: ", address +" "+ paymentId);
middlePanel.sendTo(address, paymentId, description);
leftPanel.selectItem(middlePanel.state)
}
Text {
id: descriptionText
@@ -88,7 +95,13 @@ ListView {
font.family: "Arial"
font.pixelSize: 16
color: "#ffffff"
text: address
text: {
if(isMobile){
TxUtils.addressTruncate(address, 6);
} else {
return TxUtils.addressTruncate(address, 10);
}
}
readOnly: true
}
@@ -117,7 +130,13 @@ ListView {
font.family: "Arial"
font.pixelSize: 13
color: "#545454"
text: paymentId
text: {
if(isMobile){
TxUtils.addressTruncate(paymentId, 6);
} else {
return TxUtils.addressTruncate(paymentId, 10);
}
}
}
ListModel {
@@ -135,6 +154,7 @@ ListView {
anchors.verticalCenter: parent.verticalCenter
anchors.rightMargin: 5
dataModel: dropModel
visible: !listView.selectAndSend
z: 1
onExpandedChanged: {
if(expanded) {
@@ -150,9 +170,7 @@ ListView {
appWindow.showStatusMessage(qsTr("Address copied to clipboard"),3)
}
else if(option === 1){
console.log("Sending to: ", address +" "+ paymentId);
middlePanel.sendTo(address, paymentId, description);
leftPanel.selectItem(middlePanel.state)
doSend()
} else if(option === 2){
console.log("Delete: ", rowId);
currentWallet.addressBookModel.deleteRow(rowId);
@@ -167,5 +185,14 @@ ListView {
height: 1
color: "#404040"
}
MouseArea {
anchors.fill: parent
cursorShape: Qt.PointingHandCursor
visible: listView.selectAndSend
onClicked: {
doSend();
}
}
}
}

View File

@@ -31,17 +31,20 @@ import QtQuick.Layouts 1.1
import "../components" as MoneroComponents
RowLayout {
Item {
id: checkBox
property alias text: label.text
property string checkedIcon: "../images/checkedIcon-black.png"
property string uncheckedIcon
property bool checked: false
property alias background: backgroundRect.color
property bool border: true
property int fontSize: 14 * scaleRatio
property alias fontColor: label.color
property bool iconOnTheLeft: true
signal clicked()
height: 25 * scaleRatio
width: checkBoxLayout.width
function toggle(){
checkBox.checked = !checkBox.checked
@@ -49,42 +52,38 @@ RowLayout {
}
RowLayout {
Layout.fillWidth: true
Rectangle {
anchors.left: parent.left
width: 25 * scaleRatio
height: checkBox.height - 1
radius: 3
y: 0
color: "transparent"
border.color:
if(checkBox.checked){
return MoneroComponents.Style.inputBorderColorActive;
} else {
return MoneroComponents.Style.inputBorderColorInActive;
}
}
id: checkBoxLayout
layoutDirection: iconOnTheLeft ? Qt.LeftToRight : Qt.RightToLeft
spacing: (!isMobile ? 10 : 8) * scaleRatio
Rectangle {
id: backgroundRect
anchors.left: parent.left
width: 25 * scaleRatio
height: checkBox.height - 1
y: 1
color: "transparent"
Item {
id: checkMark
height: checkBox.height
width: checkBox.height
Rectangle {
id: backgroundRect
anchors.fill: parent
radius: 3
color: "transparent"
border.color:
if(checkBox.checked){
return MoneroComponents.Style.inputBorderColorActive;
} else {
return MoneroComponents.Style.inputBorderColorInActive;
}
visible: checkBox.border
}
Image {
anchors.centerIn: parent
source: checkBox.checkedIcon
visible: checkBox.checked
}
MouseArea {
anchors.fill: parent
cursorShape: Qt.PointingHandCursor
onClicked: {
toggle()
source: {
if (checkBox.checked || checkBox.uncheckedIcon == "") {
return checkBox.checkedIcon;
}
return checkBox.uncheckedIcon;
}
visible: checkBox.checked || checkBox.uncheckedIcon != ""
}
}
@@ -93,17 +92,16 @@ RowLayout {
font.family: MoneroComponents.Style.fontRegular.name
font.pixelSize: checkBox.fontSize
color: MoneroComponents.Style.defaultFontColor
textFormat: Text.RichText
wrapMode: Text.Wrap
Layout.fillWidth: true
anchors.left: backgroundRect.right
anchors.leftMargin: !isMobile ? 10 : 8
MouseArea {
anchors.fill: parent
cursorShape: Qt.PointingHandCursor
onClicked: {
toggle()
}
}
}
}
MouseArea {
anchors.fill: parent
cursorShape: Qt.PointingHandCursor
onClicked: {
toggle()
}
}
}

View File

@@ -57,7 +57,6 @@ RowLayout {
height: label.height
width: (label.width + indicatorRect.width + checkBox.textMargin)
color: "transparent"
anchors.left: parent.left
Text {
id: label

View File

@@ -87,10 +87,17 @@ Window {
anchors.margins: 35 * scaleRatio
spacing: 20 * scaleRatio
RowLayout {
id: content
Layout.fillWidth: true
Item {
Layout.fillHeight: true
Layout.fillWidth: true
Rectangle {
anchors.fill: parent
color: "transparent"
border.color: MoneroComponents.Style.inputBorderColorActive
border.width: 1
radius: 4
}
Flickable {
id: flickable
@@ -101,20 +108,12 @@ Window {
textFormat: TextEdit.RichText
selectByMouse: true
selectByKeyboard: true
anchors.fill: parent
font.family: "Ariel"
font.family: MoneroComponents.Style.defaultFontColor
font.pixelSize: 14 * scaleRatio
color: MoneroComponents.Style.defaultFontColor
selectionColor: MoneroComponents.Style.dimmedFontColor
wrapMode: TextEdit.Wrap
readOnly: true
background: Rectangle {
color: "transparent"
anchors.fill: parent
border.color: Qt.rgba(255, 255, 255, 0.25);
border.width: 1
radius: 4
}
function logCommand(msg){
msg = log_color(msg, "lime");
textArea.append(msg);
@@ -156,15 +155,7 @@ Window {
}
}
ScrollBar.vertical: ScrollBar {
// TODO: scrollbar always visible is buggy.
// QT 5.9 introduces `policy: ScrollBar.AlwaysOn`
contentItem.opacity: 1
anchors.top: flickable.top
anchors.left: flickable.right
anchors.leftMargin: 10 * scaleRatio
anchors.bottom: flickable.bottom
}
ScrollBar.vertical: ScrollBar {}
}
}

View File

@@ -1,252 +0,0 @@
// Copyright (c) 2014-2018, 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

@@ -384,7 +384,9 @@ Item {
Image {
anchors.centerIn: parent
source: "../images/nextMonth.png"
source: "../images/prevMonth.png"
transformOrigin: Item.Center
rotation: 180
}
MouseArea {

View File

@@ -41,16 +41,18 @@ ListView {
property int rowSpacing: 12
property var addressBookModel: null
function buildTxDetailsString(tx_id, paymentId, tx_key,tx_note, destinations, rings) {
function buildTxDetailsString(tx_id, paymentId, tx_key,tx_note, destinations, rings, address, address_label) {
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 : "")
+ (address_label ? trStart + qsTr("Address label:") + trMiddle + address_label + trEnd : "")
+ (address ? trStart + qsTr("Address:") + trMiddle + address + 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 : "")
+ (tx_note ? trStart + qsTr("Tx note:") + trMiddle + tx_note + trEnd : "")
+ (destinations ? trStart + qsTr("Destinations:") + trMiddle + destinations + trEnd : "")
+ (rings ? trStart + qsTr("Rings:") + trMiddle + rings + trEnd : "")
+ "</table>"
@@ -138,9 +140,9 @@ ListView {
Image {
id: arrowImage
source: isOut ? "../images/downArrow.png" : "../images/upArrow-green.png"
source: isOut ? "../images/downArrow.png" : confirmationsRequired === 60 ? "../images/miningxmr.png" : "../images/upArrow-green.png"
height: 18 * scaleRatio
width: 12 * scaleRatio
width: (confirmationsRequired === 60 ? 18 : 12) * scaleRatio
anchors.top: parent.top
anchors.topMargin: 12 * scaleRatio
}
@@ -151,7 +153,7 @@ ListView {
anchors.leftMargin: 18 * scaleRatio
font.family: MoneroComponents.Style.fontLight.name
font.pixelSize: 14 * scaleRatio
text: isOut ? "Sent" : "Received"
text: isOut ? qsTr("Sent") + translationManager.emptyString : qsTr("Received") + translationManager.emptyString
color: "#808080"
}
@@ -175,7 +177,23 @@ ListView {
return _amount + " XMR";
}
color: isOut ? "white" : "#2eb358"
color: isOut ? MoneroComponents.Style.white : MoneroComponents.Style.green
MouseArea {
hoverEnabled: true
anchors.fill: parent
cursorShape: Qt.PointingHandCursor
onEntered: {
parent.color = MoneroComponents.Style.orange
}
onExited: {
parent.color = isOut ? MoneroComponents.Style.white : MoneroComponents.Style.green }
onClicked: {
console.log("Copied to clipboard");
clipboard.setText(parent.text.split(" ")[0]);
appWindow.showStatusMessage(qsTr("Copied to clipboard"),3)
}
}
}
Rectangle {
@@ -198,7 +216,7 @@ ListView {
anchors.left: dateLabel.right
anchors.leftMargin: 7 * scaleRatio
anchors.top: parent.top
anchors.topMargin: 3 * scaleRatio
anchors.topMargin: 1 * scaleRatio
font.pixelSize: 12 * scaleRatio
text: time
color: "#808080"
@@ -218,7 +236,7 @@ ListView {
address = TxUtils.destinationsToAddress(destinations);
if(address){
var truncated = TxUtils.addressTruncate(address);
return "To " + truncated;
return qsTr("To ") + translationManager.emptyString + truncated;
} else {
return "Unknown recipient";
}
@@ -293,7 +311,7 @@ ListView {
anchors.left: parent.left
anchors.leftMargin: 30 * scaleRatio
labelHeader: "Transaction ID"
labelHeader: qsTr("Transaction ID") + translationManager.emptyString
labelValue: hash.substring(0, 18) + "..."
copyValue: hash
}
@@ -358,14 +376,15 @@ ListView {
// right column
MoneroComponents.HistoryTableInnerColumn {
visible: currentWallet.getUserNote(hash)
anchors.right: parent.right
anchors.rightMargin: 80 * scaleRatio
width: 220 * scaleRatio
height: parent.height
color: "transparent"
hashValue: hash
labelHeader: qsTr("Description") + translationManager.emptyString
labelHeaderIconImageSource: "../images/editIcon.png"
labelHeader: qsTr("Description")
labelValue: {
var note = currentWallet.getUserNote(hash);
if(note){
@@ -375,9 +394,10 @@ ListView {
return note;
}
} else {
return "";
return qsTr("None") + translationManager.emptyString;
}
}
copyValue: {
return currentWallet.getUserNote(hash);
}
@@ -452,10 +472,12 @@ ListView {
var tx_key = currentWallet.getTxKey(hash)
var tx_note = currentWallet.getUserNote(hash)
var rings = currentWallet.getRings(hash)
var address_label = subaddrIndex == 0 ? qsTr("Primary address") : currentWallet.getSubaddressLabel(subaddrAccount, subaddrIndex)
var address = currentWallet.address(subaddrAccount, subaddrIndex)
if (rings)
rings = rings.replace(/\|/g, '\n')
informationPopup.title = "Transaction details";
informationPopup.content = buildTxDetailsString(hash,paymentId,tx_key,tx_note,destinations, rings);
informationPopup.content = buildTxDetailsString(hash,paymentId,tx_key,tx_note,destinations, rings, address, address_label);
informationPopup.onCloseCallback = null
informationPopup.open();
}

View File

@@ -33,7 +33,7 @@ import moneroComponents.Clipboard 1.0
import moneroComponents.PendingTransaction 1.0
import moneroComponents.Wallet 1.0
import "../components" as MoneroComponents
import "." as MoneroComponents
Rectangle{
@@ -44,48 +44,81 @@ Rectangle{
color: "transparent"
property string copyValue: ""
property string hashValue: ""
property alias labelHeader: label1.text
property alias labelValue: label2.text
property alias labelHeaderIcon: icon
property alias labelHeaderIconImageSource: icon.imageSource
Text {
id: label1
anchors.left: parent.left
font.family: MoneroComponents.Style.fontRegular.name
font.pixelSize: 14 * scaleRatio
text: labelHeader
color: MoneroComponents.Style.dimmedFontColor
}
ColumnLayout {
Layout.fillWidth: true
spacing: 2 * scaleRatio
Text {
id: label2
anchors.left: parent.left
anchors.top: label1.bottom
font.family: MoneroComponents.Style.fontRegular.name
font.pixelSize: 14 * scaleRatio
text: labelValue
color: MoneroComponents.Style.dimmedFontColor
}
RowLayout {
Layout.fillWidth: true
// hover effect / copy value
MouseArea {
visible: copyValue !== ""
hoverEnabled: true
anchors.fill: parent
cursorShape: Qt.PointingHandCursor
onEntered: {
label1.color = MoneroComponents.Style.defaultFontColor;
label2.color = MoneroComponents.Style.defaultFontColor;
Text {
id: label1
font.family: MoneroComponents.Style.fontRegular.name
font.pixelSize: 14 * scaleRatio
text: labelHeader
color: MoneroComponents.Style.dimmedFontColor
}
MoneroComponents.IconButton {
id: icon
visible: imageSource !== ""
Layout.leftMargin: 8 * scaleRatio
width: image.width
height: image.height
onClicked: {
editDescription(hashValue);
}
}
}
onExited: {
label1.color = MoneroComponents.Style.dimmedFontColor
label2.color = MoneroComponents.Style.dimmedFontColor;
}
onClicked: {
if(copyValue){
console.log("Copied to clipboard");
clipboard.setText(copyValue);
appWindow.showStatusMessage(qsTr("Copied to clipboard"),3)
Text {
id: label2
font.family: MoneroComponents.Style.fontRegular.name
font.pixelSize: 14 * scaleRatio
text: labelValue
color: MoneroComponents.Style.dimmedFontColor
MouseArea {
hoverEnabled: true
anchors.fill: parent
cursorShape: Qt.PointingHandCursor
onEntered: {
label1.color = MoneroComponents.Style.defaultFontColor;
label2.color = MoneroComponents.Style.defaultFontColor;
}
onExited: {
label1.color = MoneroComponents.Style.dimmedFontColor;
label2.color = MoneroComponents.Style.dimmedFontColor;
}
onClicked: {
if(copyValue){
console.log("Copied to clipboard");
clipboard.setText(copyValue);
appWindow.showStatusMessage(qsTr("Copied to clipboard"),3)
}
}
}
}
}
function editDescription(_hash){
inputDialog.labelText = qsTr("Set description:") + translationManager.emptyString;
inputDialog.onAcceptedCallback = function() {
appWindow.currentWallet.setUserNote(_hash, inputDialog.inputText);
appWindow.showStatusMessage(qsTr("Updated description."),3);
middlePanel.historyView.update();
}
inputDialog.onRejectedCallback = null;
inputDialog.open()
}
}

View File

@@ -35,7 +35,6 @@ Item {
signal clicked(var mouse)
id: button
width: parent.height
height: parent.height
@@ -47,13 +46,13 @@ Item {
id: buttonImage
source: ""
x : (parent.width - width) / 2
y : (parent.height - height) /2
y : (parent.height - height) / 2
z: 100
}
MouseArea {
id: buttonArea
anchors.fill: parent
anchors.fill: buttonImage
hoverEnabled: true
cursorShape: Qt.PointingHandCursor
@@ -61,14 +60,21 @@ Item {
buttonImage.x = buttonImage.x + 2
buttonImage.y = buttonImage.y + 2
}
onReleased: {
buttonImage.x = buttonImage.x - 2
buttonImage.y = buttonImage.y - 2
buttonImage.x = (parent.width - width) / 2
buttonImage.y = (parent.height - height) / 2
}
onExited: {
if (pressed) {
buttonImage.x = (parent.width - width) / 2
buttonImage.y = (parent.height - height) / 2
}
}
onClicked: {
parent.clicked(mouse)
}
}
}

View File

@@ -33,15 +33,22 @@ import "../components" as MoneroComponents
Item {
id: inlineButton
height: rect.height * scaleRatio
height: parent.height
anchors.top: parent.top
anchors.bottom: parent.bottom
property bool small: false
property string shadowPressedColor: "#B32D00"
property string shadowReleasedColor: "#FF4304"
property string pressedColor: "#FF4304"
property string releasedColor: "#FF6C3C"
property string icon: ""
property string textColor: "#FFFFFF"
property int fontSize: 12 * scaleRatio
property int fontSize: small ? 14 * scaleRatio : 16 * scaleRatio
property int rectHeight: small ? 24 * scaleRatio : 28 * scaleRatio
property int rectHMargin: small ? 16 * scaleRatio : 22 * scaleRatio
property alias text: inlineText.text
property alias buttonColor: rect.color
signal clicked()
function doClick() {
@@ -55,22 +62,29 @@ Item {
color: MoneroComponents.Style.buttonBackgroundColorDisabled
border.color: "black"
height: 28 * scaleRatio
width: inlineText.width + 22 * scaleRatio
width: inlineText.text ? (inlineText.width + 22) * scaleRatio : inlineButton.icon ? (inlineImage.width + 16) * scaleRatio : rect.height
radius: 4
anchors.top: parent.top
anchors.verticalCenter: parent.verticalCenter
anchors.right: parent.right
Text {
id: inlineText
font.family: MoneroComponents.Style.fontBold.name
font.bold: true
font.pixelSize: 16 * scaleRatio
font.pixelSize: inlineButton.fontSize
color: "black"
anchors.verticalCenter: parent.verticalCenter
anchors.horizontalCenter: parent.horizontalCenter
}
Image {
id: inlineImage
visible: inlineButton.icon !== ""
anchors.centerIn: parent
source: inlineButton.icon
}
MouseArea {
id: buttonArea
cursorShape: rect.enabled ? Qt.PointingHandCursor : Qt.ArrowCursor
@@ -78,12 +92,12 @@ Item {
anchors.fill: parent
onClicked: doClick()
onEntered: {
rect.color = "#707070";
rect.color = buttonColor ? buttonColor : "#707070";
rect.opacity = 0.8;
}
onExited: {
rect.opacity = 1.0;
rect.color = "#808080";
rect.color = buttonColor ? buttonColor : "#808080";
}
}
}

View File

@@ -79,7 +79,6 @@ Item {
Label {
id: label
anchors.left: parent.left
Layout.fillWidth: true
font.pixelSize: 16 * scaleRatio
@@ -93,7 +92,6 @@ Item {
focus: true
Layout.topMargin: 6
Layout.fillWidth: true
anchors.left: parent.left
horizontalAlignment: TextInput.AlignLeft
verticalAlignment: TextInput.AlignVCenter
font.family: MoneroComponents.Style.fontLight.name

View File

@@ -51,11 +51,14 @@ TextArea {
selectionColor: MoneroComponents.Style.dimmedFontColor
selectedTextColor: MoneroComponents.Style.defaultFontColor
property int minimumHeight: 100 * scaleRatio
height: contentHeight > minimumHeight ? contentHeight : minimumHeight
onTextChanged: {
if(addressValidation){
// js replacement for `RegExpValidator { regExp: /[0-9A-Fa-f]{95}/g }`
textArea.text = textArea.text.replace(/[^a-z0-9.@]/gi,'');
var address_ok = TxUtils.checkAddress(textArea.text, appWindow.persistentSettings.nettype);
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;

View File

@@ -35,7 +35,7 @@ Item {
id: item
property alias text: label.text
property alias color: label.color
property alias textFormat: label.textFormat
property int textFormat: Text.PlainText
property string tipText: ""
property int fontSize: 16 * scaleRatio
property bool fontBold: false
@@ -44,6 +44,8 @@ Item {
property alias wrapMode: label.wrapMode
property alias horizontalAlignment: label.horizontalAlignment
property alias hoveredLink: label.hoveredLink
property alias elide: label.elide
property alias textWidth: label.width
signal linkActivated()
height: label.height * scaleRatio
width: label.width * scaleRatio
@@ -65,5 +67,6 @@ Item {
font.bold: fontBold
color: fontColor
onLinkActivated: item.linkActivated()
textFormat: parent.textFormat
}
}

View File

@@ -0,0 +1,170 @@
// Copyright (c) 2014-2019, The Monero Project
//
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without modification, are
// permitted provided that the following conditions are met:
//
// 1. Redistributions of source code must retain the above copyright notice, this list of
// conditions and the following disclaimer.
//
// 2. Redistributions in binary form must reproduce the above copyright notice, this list
// of conditions and the following disclaimer in the documentation and/or other
// materials provided with the distribution.
//
// 3. Neither the name of the copyright holder nor the names of its contributors may be
// used to endorse or promote products derived from this software without specific
// prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
// THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
// THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
import "../components" as MoneroComponents
import QtQuick 2.7
import QtQuick.XmlListModel 2.0
import QtQuick.Layouts 1.2
import QtQuick.Controls 2.0
Drawer {
id: sideBar
// @TODO: Qt 5.10 introduces `opened` built-in for Drawer
property bool isOpened: false
onClosed: {
isOpened = false;
}
onOpened: {
isOpened = true;
}
width: 240 * scaleRatio
height: parent.height - (persistentSettings.customDecorations ? 50 : 0)
y: titleBar.height
background: Rectangle {
color: "#0d0d0d"
width: parent.width
}
Rectangle {
anchors.top: parent.top
anchors.left: parent.left
anchors.right: parent.right
color: "red"
ListView {
clip: true
Layout.fillHeight: true
Layout.fillWidth: true
boundsBehavior: Flickable.StopAtBounds
width: sideBar.width
height: sideBar.height
model: langModel
delegate: Rectangle {
id: item
color: "transparent"
width: sideBar.width
height: 32 * scaleRatio
Text {
anchors.left: parent.left
anchors.leftMargin: 16 * scaleRatio
font.bold: true
font.pixelSize: 14 * scaleRatio
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: "../images/menuButtonGradient.png"
opacity: 0.65
visible: true
MouseArea {
anchors.fill: parent
cursorShape: Qt.PointingHandCursor
onClicked: {
var locale_spl = locale.split("_");
// reload active translations
console.log(locale_spl[0]);
translationManager.setLanguage(locale_spl[0]);
// set wizard language settings
wizard.language_locale = locale;
wizard.language_wallet = wallet_language;
wizard.language_language = display_name + " (" + locale_spl[1] + ") ";
sideBar.close()
}
hoverEnabled: true
onEntered: {
// item.color = "#26FFFFFF"
parent.opacity = 1
}
onExited: {
// item.color = "transparent"
parent.opacity = 0.65
}
}
}
}
ScrollIndicator.vertical: ScrollIndicator {
// @TODO: QT 5.9 introduces `policy: ScrollBar.AlwaysOn`
active: true
contentItem.opacity: 0.7
onActiveChanged: {
if (!active) {
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);
}
}
}
}

View File

@@ -42,6 +42,7 @@ Item {
property string placeholderColor: MoneroComponents.Style.defaultFontColor
property real placeholderOpacity: 0.35
property alias acceptableInput: input.acceptableInput
property alias validator: input.validator
property alias readOnly : input.readOnly
property alias cursorPosition: input.cursorPosition
@@ -53,7 +54,9 @@ Item {
property bool borderDisabled: false
property string borderColor: {
if(input.activeFocus){
if(error && input.text !== ""){
return MoneroComponents.Style.inputBorderColorInvalid;
} else if(input.activeFocus){
return MoneroComponents.Style.inputBorderColorActive;
} else {
return MoneroComponents.Style.inputBorderColorInActive;
@@ -106,8 +109,7 @@ Item {
id: inputLabel
anchors.top: parent.top
anchors.left: parent.left
anchors.topMargin: 2 * scaleRatio
font.family: MoneroComponents.Style.fontLight.name
font.family: MoneroComponents.Style.fontRegular.name
font.pixelSize: labelFontSize
font.bold: labelFontBold
textFormat: Text.RichText
@@ -211,8 +213,6 @@ Item {
visible: item.inlineButtonText ? true : false
anchors.right: parent.right
anchors.rightMargin: 8 * scaleRatio
anchors.top: parent.top
anchors.topMargin: 6 * scaleRatio
}
}
}

View File

@@ -35,13 +35,18 @@ ColumnLayout {
id: item
Layout.fillWidth: true
Layout.preferredHeight: childrenRect.height
property alias text: input.text
property alias labelText: inputLabel.text
property alias labelButtonText: labelButton.text
property alias placeholderText: placeholderLabel.text
property int inputPaddingLeft: 10 * scaleRatio
property int inputPaddingRight: 10 * scaleRatio
property int inputPaddingTop: 10 * scaleRatio
property int inputPaddingBottom: 10 * scaleRatio
property int inputRadius: 4
property bool placeholderCenter: false
property string placeholderFontFamily: MoneroComponents.Style.fontRegular.name
property bool placeholderFontBold: false
@@ -74,11 +79,18 @@ ColumnLayout {
property bool mouseSelection: true
property alias readOnly: input.readOnly
property bool copyButton: false
property bool showingHeader: true
property bool pasteButton: false
property var onPaste: function(clipboardText) {
item.text = clipboardText;
}
property bool showingHeader: labelText != "" || copyButton || pasteButton
property var wrapMode: Text.NoWrap
property alias addressValidation: input.addressValidation
property string backgroundColor: "" // mock
property alias inlineButton: inlineButtonId
property bool inlineButtonVisible: false
signal labelButtonClicked();
signal inputLabelLinkActivated();
signal editingFinished();
@@ -109,25 +121,35 @@ ColumnLayout {
}
}
MoneroComponents.LabelButton {
id: labelButton
onClicked: labelButtonClicked()
visible: labelButtonVisible
}
RowLayout {
anchors.right: parent.right
spacing: 16 * scaleRatio
MoneroComponents.LabelButton {
id: copyButtonId
visible: copyButton && input.text !== ""
text: qsTr("Copy")
anchors.right: labelButton.visible ? inputLabel.right : parent.right
anchors.rightMargin: labelButton.visible? 4 : 0
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: labelButton
onClicked: labelButtonClicked()
visible: labelButtonVisible
}
MoneroComponents.LabelButton {
id: copyButtonId
visible: copyButton && input.text !== ""
text: qsTr("Copy")
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: item.onPaste(clipboard.text())
text: qsTr("Paste")
visible: pasteButton
}
}
}
@@ -135,10 +157,13 @@ ColumnLayout {
id: input
readOnly: false
addressValidation: false
anchors.top: item.showingHeader ? inputLabelRect.bottom : item.top
Layout.fillWidth: true
topPadding: item.showingHeader ? 10 * scaleRatio : 0
bottomPadding: 10 * scaleRatio
leftPadding: item.inputPaddingLeft
rightPadding: item.inputPaddingRight
topPadding: item.inputPaddingTop
bottomPadding: item.inputPaddingBottom
wrapMode: item.wrapMode
fontSize: item.fontSize
fontBold: item.fontBold
@@ -166,9 +191,18 @@ ColumnLayout {
color: "transparent"
border.width: 1
border.color: item.borderColor
radius: 4
radius: item.inputRadius
anchors.fill: parent
visible: !item.borderDisabled
}
MoneroComponents.InlineButton {
id: inlineButtonId
visible: (inlineButtonId.text || inlineButtonId.icon) && inlineButtonVisible ? true : false
anchors.right: parent.right
anchors.rightMargin: 8 * scaleRatio
anchors.top: parent.top
anchors.topMargin: 4 * scaleRatio
}
}
}

View File

@@ -43,12 +43,17 @@ Rectangle {
return qsTr("Synchronizing")
if(appWindow.remoteNodeConnected)
return qsTr("Remote node")
return qsTr("Connected")
return appWindow.isMining ? qsTr("Connected") + " + " + qsTr("Mining"): qsTr("Connected")
}
if (status == Wallet.ConnectionStatus_WrongVersion)
return qsTr("Wrong version")
if (status == Wallet.ConnectionStatus_Disconnected)
if (status == Wallet.ConnectionStatus_Disconnected){
if(appWindow.walletMode <= 1){
return qsTr("Searching node") + translationManager.emptyString;
}
return qsTr("Disconnected")
}
return qsTr("Invalid connection status")
}
@@ -57,7 +62,6 @@ Rectangle {
Item {
id: iconItem
anchors.top: parent.top
width: 40 * scaleRatio
height: 40 * scaleRatio
opacity: {
@@ -70,22 +74,34 @@ Rectangle {
Image {
anchors.top: parent.top
anchors.topMargin: 6
anchors.topMargin: !appWindow.isMining ? 6 * scaleRatio : 4 * scaleRatio
anchors.right: parent.right
anchors.rightMargin: 11
anchors.rightMargin: !appWindow.isMining ? 11 * scaleRatio : 0
source: {
if(item.connected == Wallet.ConnectionStatus_Connected){
if(appWindow.isMining) {
return "../images/miningxmr.png"
} else if(item.connected == Wallet.ConnectionStatus_Connected) {
return "../images/lightning.png"
} else {
return "../images/lightning-white.png"
}
}
MouseArea {
anchors.fill: parent
cursorShape: Qt.PointingHandCursor
onClicked: {
if(!appWindow.isMining) {
middlePanel.settingsView.settingsStateViewState = "Node";
appWindow.showPageRequest("Settings");
} else {
appWindow.showPageRequest("Mining")
}
}
}
}
}
Item {
anchors.top: parent.top
anchors.left: iconItem.right
height: 40 * scaleRatio
width: 260 * scaleRatio
@@ -111,9 +127,19 @@ Rectangle {
font.pixelSize: 20 * scaleRatio
color: "white"
text: getConnectionStatusString(item.connected) + translationManager.emptyString
MouseArea {
anchors.fill: parent
cursorShape: Qt.PointingHandCursor
onClicked: {
if(!appWindow.isMining) {
middlePanel.settingsView.settingsStateViewState = "Node";
appWindow.showPageRequest("Settings");
} else {
appWindow.showPageRequest("Mining")
}
}
}
}
}
}
}

View File

@@ -40,6 +40,7 @@ Item {
visible: false
z: parent.z + 2
property bool isHidden: true
property alias password: passwordInput1.text
// same signals as Dialog has
@@ -67,6 +68,12 @@ Item {
root.visible = false;
closeCallback();
}
function toggleIsHidden() {
passwordInput1.echoMode = isHidden ? TextInput.Normal : TextInput.Password;
passwordInput2.echoMode = isHidden ? TextInput.Normal : TextInput.Password;
isHidden = !isHidden;
}
// TODO: implement without hardcoding sizes
width: 480
@@ -96,7 +103,6 @@ Item {
Label {
text: qsTr("Please enter new password")
anchors.left: parent.left
Layout.fillWidth: true
font.pixelSize: 16 * scaleRatio
@@ -109,7 +115,6 @@ Item {
id : passwordInput1
Layout.topMargin: 6
Layout.fillWidth: true
anchors.left: parent.left
horizontalAlignment: TextInput.AlignLeft
verticalAlignment: TextInput.AlignVCenter
font.family: MoneroComponents.Style.fontLight.name
@@ -119,6 +124,8 @@ Item {
leftPadding: 10
topPadding: 10
color: MoneroComponents.Style.defaultFontColor
selectionColor: MoneroComponents.Style.dimmedFontColor
selectedTextColor: MoneroComponents.Style.defaultFontColor
KeyNavigation.tab: passwordInput2
background: Rectangle {
@@ -128,12 +135,32 @@ Item {
color: "black"
Image {
width: 12
height: 16
source: "../images/lockIcon.png"
width: 26 * scaleRatio
height: 26 * scaleRatio
opacity: 0.7
fillMode: Image.PreserveAspectFit
source: isHidden ? "../images/eyeShow.png" : "../images/eyeHide.png"
anchors.verticalCenter: parent.verticalCenter
anchors.right: parent.right
anchors.rightMargin: 20
MouseArea {
anchors.fill: parent
cursorShape: Qt.PointingHandCursor
hoverEnabled: true
onClicked: {
toggleIsHidden()
}
onEntered: {
parent.opacity = 0.9
parent.width = 28 * scaleRatio
parent.height = 28 * scaleRatio
}
onExited: {
parent.opacity = 0.7
parent.width = 26 * scaleRatio
parent.height = 26 * scaleRatio
}
}
}
}
@@ -154,7 +181,6 @@ Item {
Label {
text: qsTr("Please confirm new password")
anchors.left: parent.left
Layout.fillWidth: true
font.pixelSize: 16 * scaleRatio
@@ -167,7 +193,6 @@ Item {
id : passwordInput2
Layout.topMargin: 6
Layout.fillWidth: true
anchors.left: parent.left
horizontalAlignment: TextInput.AlignLeft
verticalAlignment: TextInput.AlignVCenter
font.family: MoneroComponents.Style.fontLight.name
@@ -178,6 +203,8 @@ Item {
leftPadding: 10
topPadding: 10
color: MoneroComponents.Style.defaultFontColor
selectionColor: MoneroComponents.Style.dimmedFontColor
selectedTextColor: MoneroComponents.Style.defaultFontColor
background: Rectangle {
radius: 2
@@ -186,12 +213,32 @@ Item {
color: "black"
Image {
width: 12
height: 16
source: "../images/lockIcon.png"
width: 26 * scaleRatio
height: 26 * scaleRatio
opacity: 0.7
fillMode: Image.PreserveAspectFit
source: isHidden ? "../images/eyeShow.png" : "../images/eyeHide.png"
anchors.verticalCenter: parent.verticalCenter
anchors.right: parent.right
anchors.rightMargin: 20
MouseArea {
anchors.fill: parent
cursorShape: Qt.PointingHandCursor
hoverEnabled: true
onClicked: {
toggleIsHidden()
}
onEntered: {
parent.opacity = 0.9
parent.width = 28 * scaleRatio
parent.height = 28 * scaleRatio
}
onExited: {
parent.opacity = 0.7
parent.width = 26 * scaleRatio
parent.height = 26 * scaleRatio
}
}
}
}

View File

@@ -40,17 +40,20 @@ Item {
visible: false
z: parent.z + 2
property bool isHidden: true
property alias password: passwordInput.text
property string walletName
property string errorText
// same signals as Dialog has
signal accepted()
signal rejected()
signal closeCallback()
function open(walletName) {
function open(walletName, errorText) {
inactiveOverlay.visible = true // draw appwindow inactive
root.walletName = walletName ? walletName : ""
root.errorText = errorText ? errorText : "";
leftPanel.enabled = false
middlePanel.enabled = false
titleBar.enabled = false
@@ -58,6 +61,12 @@ Item {
root.visible = true;
passwordInput.forceActiveFocus();
passwordInput.text = ""
appWindow.hideBalanceForced = true;
appWindow.updateBalance();
}
function showError(errorText) {
open(root.walletName, errorText);
}
function close() {
@@ -66,6 +75,8 @@ Item {
middlePanel.enabled = true
titleBar.enabled = true
root.visible = false;
appWindow.hideBalanceForced = false;
appWindow.updateBalance();
closeCallback();
}
@@ -84,7 +95,6 @@ Item {
Label {
text: root.walletName.length > 0 ? qsTr("Please enter wallet password for: ") + root.walletName : qsTr("Please enter wallet password")
anchors.left: parent.left
Layout.fillWidth: true
font.pixelSize: 16 * scaleRatio
@@ -93,11 +103,21 @@ Item {
color: MoneroComponents.Style.defaultFontColor
}
Label {
text: root.errorText
visible: root.errorText
color: MoneroComponents.Style.errorColor
font.pixelSize: 16 * scaleRatio
font.family: MoneroComponents.Style.fontLight.name
Layout.fillWidth: true
wrapMode: Text.Wrap
}
TextField {
id : passwordInput
Layout.topMargin: 6
Layout.fillWidth: true
anchors.left: parent.left
horizontalAlignment: TextInput.AlignLeft
verticalAlignment: TextInput.AlignVCenter
font.family: MoneroComponents.Style.fontLight.name
@@ -118,12 +138,33 @@ Item {
color: "black"
Image {
width: 12
height: 16
source: "../images/lockIcon.png"
width: 26 * scaleRatio
height: 26 * scaleRatio
opacity: 0.7
fillMode: Image.PreserveAspectFit
source: isHidden ? "../images/eyeShow.png" : "../images/eyeHide.png"
anchors.verticalCenter: parent.verticalCenter
anchors.right: parent.right
anchors.rightMargin: 20
MouseArea {
anchors.fill: parent
cursorShape: Qt.PointingHandCursor
hoverEnabled: true
onClicked: {
passwordInput.echoMode = isHidden ? TextInput.Normal : TextInput.Password;
isHidden = !isHidden;
}
onEntered: {
parent.opacity = 0.9
parent.width = 28 * scaleRatio
parent.height = 28 * scaleRatio
}
onExited: {
parent.opacity = 0.7
parent.width = 26 * scaleRatio
parent.height = 26 * scaleRatio
}
}
}
}
@@ -150,7 +191,7 @@ Item {
MoneroComponents.StandardButton {
id: cancelButton
small: true
text: qsTr("Cancel") + translationManager.emptyString
text: root.walletName.length > 0 ? qsTr("Change wallet") + translationManager.emptyString : qsTr("Cancel") + translationManager.emptyString
KeyNavigation.tab: passwordInput
onClicked: {
root.close()

View File

@@ -1,153 +0,0 @@
// Copyright (c) 2014-2018, 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.
// @TODO: Remove component after wizard redesign
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: "#FF6C3C"
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 / 14
Repeater {
model: 4
delegate: TickDelegate {
id: delegateItem2
currentX: x + row2.x
currentIndex: index
mainTick: currentIndex === 0
Component.onCompleted: {
row.positions[currentIndex] = delegateItem2
}
}
}
}
Row {
id: row1
spacing: bar.width / 14
Repeater {
model: 10
delegate: TickDelegate {
id: delegateItem1
currentX: x + row1.x
currentIndex: index + 4
mainTick: currentIndex === 13
Component.onCompleted: {
row.positions[currentIndex] = delegateItem1
}
}
}
}
}
}

View File

@@ -41,7 +41,7 @@ Item {
onFillLevelChanged: {
if (!interactive) {
//print("fillLevel: " + fillLevel)
fillRect.width = row.positions[fillLevel].currentX + row.x
fillRect.width = ruler.positions[fillLevel].currentX + ruler.x
}
}
@@ -71,7 +71,7 @@ Item {
anchors.left: parent.left
anchors.margins: 4
//radius: 2
width: row.x
width: ruler.x
color: "#FF6C3C"
@@ -94,7 +94,7 @@ Item {
font.family: "Arial"
font.pixelSize: 15
color: "#000000"
x: row.x + (row.positions[0] !== undefined ? row.positions[0].currentX - 3 : 0) - width
x: ruler.x + (ruler.positions[0] !== undefined ? ruler.positions[0].currentX - 3 : 0) - width
text: qsTr("Low") + translationManager.emptyString
}
@@ -103,7 +103,7 @@ Item {
font.family: "Arial"
font.pixelSize: 15
color: "#000000"
x: row.x + (row.positions[4] !== undefined ? row.positions[4].currentX - 3 : 0) - width
x: ruler.x + (ruler.positions[4] !== undefined ? ruler.positions[4].currentX - 3 : 0) - width
text: qsTr("Medium") + translationManager.emptyString
}
@@ -112,7 +112,7 @@ Item {
font.family: "Arial"
font.pixelSize: 15
color: "#000000"
x: row.x + (row.positions[13] !== undefined ? row.positions[13].currentX - 3 : 0) - width
x: ruler.x + (ruler.positions[13] !== undefined ? ruler.positions[13].currentX - 3 : 0) - width
text: qsTr("High") + translationManager.emptyString
}
@@ -123,7 +123,7 @@ Item {
var xDiff = 999999
var index = -1
for(var i = 0; i < 14; ++i) {
var tmp = Math.abs(row.positions[i].currentX + row.x - mouseX)
var tmp = Math.abs(ruler.positions[i].currentX + ruler.x - mouseX)
if(tmp < xDiff) {
xDiff = tmp
index = i
@@ -131,7 +131,7 @@ Item {
}
if(index !== -1) {
fillRect.width = Qt.binding(function(){ return row.positions[index].currentX + row.x })
fillRect.width = Qt.binding(function(){ return ruler.positions[index].currentX + ruler.x })
item.fillLevel = index
print ("fillLevel: " + item.fillLevel)
}
@@ -143,7 +143,7 @@ Item {
}
Row {
id: row
id: ruler
anchors.right: bar.right
anchors.rightMargin: 8
anchors.top: bar.bottom
@@ -164,7 +164,7 @@ Item {
width: 1
color: "#DBDBDB"
Component.onCompleted: {
row.positions[index] = delegateItem2
ruler.positions[index] = delegateItem2
}
}
}
@@ -184,7 +184,7 @@ Item {
width: 1
color: "#DBDBDB"
Component.onCompleted: {
row.positions[index + 4] = delegateItem1
ruler.positions[index + 4] = delegateItem1
}
}
}

View File

@@ -31,7 +31,7 @@ import QtQuick.Layouts 1.1
import "../components" as MoneroComponents
RowLayout {
Item {
id: radioButton
property alias text: label.text
property bool checked: false
@@ -39,6 +39,7 @@ RowLayout {
property alias fontColor: label.color
signal clicked()
height: 26 * scaleRatio
width: layout.width
// legacy properties
property var checkedColor: "white"
property var borderColor: checked ? Qt.rgba(1, 1, 1, 0.35) : Qt.rgba(1, 1, 1, 0.25)
@@ -49,15 +50,14 @@ RowLayout {
}
RowLayout {
Layout.fillWidth: true
id: layout
Rectangle {
id: button
anchors.left: parent.left
y: 0
color: "transparent"
border.color: borderColor
width: radioButton.height
height: radioButton.height
width: radioButton.height
radius: radioButton.height
Rectangle {
@@ -70,32 +70,23 @@ RowLayout {
radius: 10
opacity: 0.8
}
MouseArea {
anchors.fill: parent
cursorShape: Qt.PointingHandCursor
onClicked: {
toggle()
}
}
}
Text {
id: label
anchors.left: button.right
anchors.leftMargin: !isMobile ? 10 : 8
Layout.leftMargin: (!isMobile ? 10 : 8) * scaleRatio
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()
}
}
MouseArea {
anchors.fill: parent
cursorShape: Qt.PointingHandCursor
onClicked: {
toggle()
}
}
}

View File

@@ -31,6 +31,7 @@ import QtQuick.Controls.Styles 1.2
import QtQuick 2.2
import QtQuick.Layouts 1.1
import "../js/Utils.js" as Utils
import "../components" as MoneroComponents
GridLayout {
@@ -58,12 +59,24 @@ GridLayout {
property bool lineEditFontBold: true
signal editingFinished()
signal textChanged()
function getAddress() {
return daemonAddr.text.trim() + ":" + daemonPort.text.trim()
function isValid() {
return daemonAddr.text.trim().length > 0 && daemonPort.acceptableInput
}
LineEditMulti {
function getAddress() {
var addr = daemonAddr.text.trim();
var port = daemonPort.text.trim();
// validation
if(addr === "" || addr.length < 2) return "";
if(!Utils.isNumeric(port)) return "";
return addr + ":" + port;
}
LineEdit {
id: daemonAddr
Layout.fillWidth: true
placeholderText: qsTr("Remote Node Hostname / IP") + translationManager.emptyString
@@ -79,9 +92,10 @@ GridLayout {
fontBold: lineEditFontBold
fontSize: lineEditFontSize
onEditingFinished: root.editingFinished()
onTextChanged: root.textChanged()
}
LineEditMulti {
LineEdit {
id: daemonPort
Layout.fillWidth: true
placeholderText: qsTr("Port") + translationManager.emptyString
@@ -96,7 +110,9 @@ GridLayout {
fontColor: lineEditFontColor
fontBold: lineEditFontBold
fontSize: lineEditFontSize
validator: IntValidator{bottom: 1; top: 65535;}
onEditingFinished: root.editingFinished()
onTextChanged: root.textChanged()
}
}

View File

@@ -27,10 +27,14 @@
// THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
import QtQuick 2.0
import "." as MoneroComponents
Item {
id: scrollItem
property var flickable
property alias scrollColor: scroll.color
property alias scrollWidth: scroll.width
property alias scrollRadius: scroll.radius
width: 15
z: 1
@@ -52,13 +56,14 @@ Item {
id: scroll
width: 4
radius: width / 2
height: {
var t = (flickable.height * flickable.height) / flickable.contentHeight
return t < 20 ? 20 : t
return t < 50 ? 50 : t
}
y: 0; x: 0
color: "#DBDBDB"
opacity: flickable.moving || handleArea.pressed || scrollArea.containsMouse ? 0.5 : 0
color: MoneroComponents.Style.orange
opacity: flickable.moving || handleArea.pressed || scrollArea.containsMouse ? 0.8 : 0
visible: flickable.contentHeight > flickable.height
Behavior on opacity {

View File

@@ -1,229 +0,0 @@
// Copyright (c) 2014-2018, 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 "../components" as MoneroComponents
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
}
}
}
}
}
}
MoneroComponents.StandardButton {
id: button
anchors.top: parent.top
anchors.bottom: parent.bottom
anchors.right: parent.right
anchors.margins: 6
width: 80
text: qsTr("SEARCH")
onClicked: item.searchClicked(input.text, droplist.currentOption)
}
}
}

View File

@@ -35,9 +35,7 @@ Item {
id: button
property string rightIcon: ""
property string rightIconInactive: ""
property string icon: ""
property string textColor: button.enabled? MoneroComponents.Style.buttonTextColor: MoneroComponents.Style.buttonTextColorDisabled
property string textAlign: rightIcon !== "" ? "left" : "center"
property bool small: false
property alias text: label.text
property int fontSize: {
@@ -46,22 +44,10 @@ Item {
}
signal clicked()
// Dynamic height/width
Layout.minimumWidth: {
var _padding = 22;
if(button.rightIcon !== ""){
_padding += 60;
}
var _width = label.contentWidth + _padding;
if(_width <= 50) {
return 60;
}
return _width;
}
height: small ? 30 * scaleRatio : 36 * scaleRatio
width: buttonLayout.width + 22 * scaleRatio
implicitHeight: height
implicitWidth: width
function doClick() {
// Android workaround
@@ -70,70 +56,87 @@ Item {
}
Rectangle {
anchors.left: parent.left
anchors.right: parent.right
height: parent.height - 1
id: buttonRect
anchors.fill: parent
radius: 3
color: parent.enabled ? MoneroComponents.Style.buttonBackgroundColor : MoneroComponents.Style.buttonBackgroundColorDisabled
border.width: parent.focus ? 1 : 0
MouseArea {
anchors.fill: parent
cursorShape: Qt.PointingHandCursor
hoverEnabled: true
propagateComposedEvents: true
// possibly do some hover effects here
onEntered: {
// if(button.enabled) parent.color = Style.buttonBackgroundColorHover;
// else parent.color = Style.buttonBackgroundColorDisabledHover;
}
onExited: {
// if(button.enabled) parent.color = Style.buttonBackgroundColor;
// else parent.color = Style.buttonBackgroundColorDisabled;
state: button.enabled ? "active" : "disabled"
Component.onCompleted: state = state
states: [
State {
name: "hover"
when: buttonArea.containsMouse || button.focus
PropertyChanges {
target: buttonRect
color: MoneroComponents.Style.buttonBackgroundColorHover
}
},
State {
name: "active"
when: button.enabled
PropertyChanges {
target: buttonRect
color: MoneroComponents.Style.buttonBackgroundColor
}
},
State {
name: "disabled"
when: !button.enabled
PropertyChanges {
target: buttonRect
color: MoneroComponents.Style.buttonBackgroundColorDisabled
}
}
]
transitions: Transition {
ColorAnimation { duration: 100 }
}
}
Text {
id: label
anchors.verticalCenter: parent.verticalCenter
anchors.left: parent.left
anchors.right: parent.right
horizontalAlignment: textAlign === "center" ? Text.AlignHCenter : Text.AlignLeft
anchors.leftMargin: textAlign === "center" ? 0 : 11
font.family: MoneroComponents.Style.fontBold.name
font.bold: true
font.pixelSize: buttonArea.pressed ? button.fontSize - 1 : button.fontSize
color: parent.textColor
visible: parent.icon === ""
}
Image {
RowLayout {
id: buttonLayout
height: button.height
spacing: 11 * scaleRatio
anchors.centerIn: parent
visible: parent.icon !== ""
source: parent.icon
}
Image {
visible: parent.rightIcon !== ""
anchors.right: parent.right
anchors.rightMargin: 11 * scaleRatio
anchors.verticalCenter: parent.verticalCenter
width: parent.small ? 16 * scaleRatio : 20 * scaleRatio
height: parent.small ? 16 * scaleRatio : 20 * scaleRatio
source: {
if(parent.rightIconInactive !== "" && !parent.enabled){
return parent.rightIconInactive;
Text {
id: label
font.family: MoneroComponents.Style.fontBold.name
font.bold: true
font.pixelSize: button.fontSize
color: !buttonArea.pressed ? button.textColor : "transparent"
visible: text !== ""
Text {
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
}
}
Image {
visible: button.rightIcon !== ""
Layout.alignment: Qt.AlignVCenter | Qt.AlignRight
width: button.small ? 16 * scaleRatio : 20 * scaleRatio
height: button.small ? 16 * scaleRatio : 20 * scaleRatio
source: {
if(button.rightIconInactive !== "" && !button.enabled) {
return button.rightIconInactive;
}
return button.rightIcon;
}
return parent.rightIcon;
}
}
MouseArea {
id: buttonArea
anchors.fill: parent
hoverEnabled: true
onClicked: doClick()
cursorShape: Qt.PointingHandCursor
}

View File

@@ -47,6 +47,7 @@ Rectangle {
property alias textArea: dialogContent
property alias okText: okButton.text
property alias cancelText: cancelButton.text
property alias closeVisible: closeButton.visible
property var icon
@@ -89,55 +90,63 @@ Rectangle {
}
// TODO: implement without hardcoding sizes
width: isMobile ? screenWidth : 520
height: isMobile ? screenHeight : 380
width: isMobile ? screenWidth : 520 * scaleRatio
height: isMobile ? screenHeight : 380 * scaleRatio
ColumnLayout {
id: mainLayout
spacing: 10
anchors { fill: parent; margins: 15 }
spacing: 10 * scaleRatio
anchors.fill: parent
anchors.margins: (isMobile? 17 : 20) * scaleRatio
RowLayout {
id: column
//anchors {fill: parent; margins: 16 }
Layout.topMargin: 14 * scaleRatio
Layout.alignment: Qt.AlignHCenter
Layout.fillWidth: true
MoneroComponents.Label {
id: dialogTitle
horizontalAlignment: Text.AlignHCenter
fontSize: 18 * scaleRatio
fontFamily: "Arial"
color: MoneroComponents.Style.defaultFontColor
}
}
RowLayout {
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 * scaleRatio
selectByMouse: false
wrapMode: TextEdit.Wrap
color: MoneroComponents.Style.defaultFontColor
Item {
Layout.fillHeight: true
Layout.fillWidth: true
Layout.preferredHeight: 240 * scaleRatio
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)
Flickable {
id: flickable
anchors.fill: parent
ScrollBar.vertical: ScrollBar { }
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 * scaleRatio
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)
}
}
}
}
@@ -146,7 +155,7 @@ Rectangle {
// Ok/Cancel buttons
RowLayout {
id: buttons
spacing: 60
spacing: 60 * scaleRatio
Layout.alignment: Qt.AlignHCenter
MoneroComponents.StandardButton {
@@ -160,20 +169,47 @@ Rectangle {
MoneroComponents.StandardButton {
id: okButton
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 * scaleRatio
height: 48 * scaleRatio
color: "transparent"
Image {
anchors.centerIn: parent
width: 16 * scaleRatio
height: 16 * scaleRatio
source: "../images/close.png"
}
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
width: 1 * scaleRatio
color: MoneroComponents.Style.grey
anchors.left: parent.left
anchors.top: parent.top
@@ -181,7 +217,7 @@ Rectangle {
}
Rectangle{
width: 1
width: 1 * scaleRatio
color: MoneroComponents.Style.grey
anchors.right: parent.right
anchors.top: parent.top
@@ -189,7 +225,7 @@ Rectangle {
}
Rectangle{
height: 1
height: 1 * scaleRatio
color: MoneroComponents.Style.grey
anchors.left: parent.left
anchors.top: parent.top
@@ -197,7 +233,7 @@ Rectangle {
}
Rectangle{
height: 1
height: 1 * scaleRatio
color: MoneroComponents.Style.grey
anchors.left: parent.left
anchors.bottom: parent.bottom

View File

@@ -39,7 +39,7 @@ Item {
property string pressedColor
property string releasedColor
property string textColor: "#FFFFFF"
property alias currentIndex: column.currentIndex
property alias currentIndex: columnid.currentIndex
property bool expanded: false
property int dropdownHeight: 42
property int fontHeaderSize: 16 * scaleRatio
@@ -69,7 +69,7 @@ Item {
// Workaroud for suspected memory leak in 5.8 causing malloc crash on app exit
function update() {
firstColText.text = column.currentIndex < repeater.model.rowCount() ? qsTr(repeater.model.get(column.currentIndex).column1) + translationManager.emptyString : ""
firstColText.text = columnid.currentIndex < repeater.model.rowCount() ? qsTr(repeater.model.get(columnid.currentIndex).column1) + translationManager.emptyString : ""
}
Item {
@@ -129,7 +129,7 @@ Item {
anchors.right: parent.right
anchors.top: head.bottom
clip: true
height: dropdown.expanded ? column.height : 0
height: dropdown.expanded ? columnid.height : 0
color: dropdown.pressedColor
//radius: 4
@@ -152,7 +152,7 @@ Item {
}
Column {
id: column
id: columnid
anchors.left: parent.left
anchors.right: parent.right
anchors.top: parent.top
@@ -178,7 +178,7 @@ Item {
anchors.right: parent.right
height: (dropdown.dropdownHeight * 0.75) * scaleRatio
//radius: index === repeater.count - 1 ? 4 : 0
color: itemArea.containsMouse || index === column.currentIndex || itemArea.containsMouse ? dropdown.releasedColor : dropdown.pressedColor
color: itemArea.containsMouse || index === columnid.currentIndex || itemArea.containsMouse ? dropdown.releasedColor : dropdown.pressedColor
Text {
id: col1Text
@@ -190,7 +190,7 @@ Item {
font.family: MoneroComponents.Style.fontRegular.name
font.bold: true
font.pixelSize: fontItemSize
color: itemArea.containsMouse || index === column.currentIndex || itemArea.containsMouse ? "#FA6800" : "#FFFFFF"
color: itemArea.containsMouse || index === columnid.currentIndex || itemArea.containsMouse ? "#FA6800" : "#FFFFFF"
text: qsTr(column1) + translationManager.emptyString
}
@@ -227,7 +227,7 @@ Item {
onClicked: {
dropdown.expanded = false
column.currentIndex = index
columnid.currentIndex = index
changed();
dropdown.update()
}

View File

@@ -9,9 +9,15 @@ QtObject {
property QtObject fontRegular: FontLoader { id: _fontRegular; source: "qrc:/fonts/Roboto-Regular.ttf"; }
property string grey: "#404040"
property string orange: "#FF6C3C"
property string white: "#FFFFFF"
property string green: "#2EB358"
property string moneroGrey: "#4C4C4C"
property string defaultFontColor: "white"
property string dimmedFontColor: "#BBBBBB"
property string lightGreyFontColor: "#DFDFDF"
property string errorColor: "#FA6800"
property string inputBoxBackground: "black"
property string inputBoxBackgroundError: "#FFDDDD"
property string inputBoxColor: "white"

View File

@@ -1,202 +0,0 @@
// Copyright (c) 2014-2018, 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: "transparent"
Rectangle{
anchors.right: parent.right
anchors.top: parent.top
anchors.bottom: parent.bottom
width: 1
color: "#808080"
}
Rectangle{
anchors.left: parent.left
anchors.top: parent.top
anchors.bottom: parent.bottom
width: 1
color: "#808080"
}
Rectangle {
anchors.left: parent.left
anchors.right: parent.right
anchors.bottom: parent.bottom
height: 1
color: "#808080"
}
Row {
id: row
anchors.horizontalCenter: parent.horizontalCenter
Rectangle {
height: 31
width: 1
color: "#808080"
}
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
color: "transparent"
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 ? "white" : "#808080"
}
text: qsTr(columnName) + translationManager.emptyString
}
MouseArea {
id: delegateArea
hoverEnabled: true
anchors.fill: parent
cursorShape: Qt.PointingHandCursor
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: "transparent"
}
Rectangle {
anchors.top: parent.top
anchors.bottom: parent.bottom
anchors.right: parent.right
width: 1
color: "#808080"
}
}
}
}
}

View File

@@ -47,7 +47,7 @@ Rectangle {
property string title
property int mouseX: 0
property bool containsMouse: false
property alias basicButtonVisible: goToBasicVersionButton.visible
property bool basicButtonVisible: false
property bool customDecorations: persistentSettings.customDecorations
property bool showWhatIsButton: true
property bool showMinimizeButton: false
@@ -55,6 +55,10 @@ Rectangle {
property bool showCloseButton: true
property bool showMoneroLogo: false
property bool small: false
property alias titleBarGradientImageOpacity: titleBarGradientImage.opacity
property bool orange: false
property string buttonHoverColor: "#262626"
property string buttonHoverColorOrange: "#44FFFFFF"
signal closeClicked
signal maximizeClicked
@@ -68,11 +72,20 @@ Rectangle {
z: parent.z + 1
Image {
id: titleBarGradientImage
visible: !titleBar.orange
anchors.fill: parent
height: titleBar.height
width: titleBar.width
source: "../images/titlebarGradient.jpg"
}
Rectangle {
visible: titleBar.orange
width: parent.width
height: parent.height
color: "#ff6600"
}
}
Item {
@@ -80,10 +93,11 @@ Rectangle {
width: 125
height: parent.height
anchors.centerIn: parent
visible: customDecorations && showMoneroLogo
visible: customDecorations
z: parent.z + 1
Image {
visible: !isMobile && showMoneroLogo && !titleBar.orange
anchors.left: parent.left
anchors.top: parent.top
anchors.topMargin: 11
@@ -91,6 +105,16 @@ Rectangle {
height: 28
source: "../images/titlebarLogo.png"
}
Image {
visible: !isMobile && showMoneroLogo && titleBar.orange
anchors.left: parent.left
anchors.top: parent.top
anchors.topMargin: 11
width: 132
height: 22
source: "../images/moneroLogo_white.png"
}
}
Label {
@@ -102,37 +126,79 @@ Rectangle {
z: parent.z + 1
}
// collapse left panel
Rectangle {
id: goToBasicVersionButton
property bool containsMouse: titleBar.mouseX >= x && titleBar.mouseX <= x + width
property bool checked: false
anchors.top: parent.top
RowLayout {
anchors.left: parent.left
color: "transparent"
height: titleBar.height
width: height
visible: isMobile
anchors.top: parent.top
width: 40
height: parent.height
spacing: 0
z: parent.z + 2
Image {
width: 14
height: 14
anchors.centerIn: parent
source: "../images/expand.png"
Rectangle {
Layout.preferredHeight: parent.height
Layout.preferredWidth: Layout.preferredHeight
id: goToBasicVersionButton
property bool containsMouse: titleBar.mouseX >= x && titleBar.mouseX <= x + width
property bool checked: false
color: "transparent"
height: titleBar.height
width: height
visible: !titleBar.orange && titleBar.basicButtonVisible
Image {
width: 14
height: 14
anchors.centerIn: parent
source: "../images/expand.png"
}
MouseArea {
id: basicMouseArea
hoverEnabled: true
anchors.fill: parent
cursorShape: Qt.PointingHandCursor
onEntered: { goToBasicVersionButton.color = titleBar.orange ? titleBar.buttonHoverColorOrange : titleBar.buttonHoverColor }
onExited: goToBasicVersionButton.color = "transparent";
onClicked: {
releaseFocus()
parent.checked = !parent.checked
titleBar.goToBasicVersion(leftPanel.visible)
}
}
}
MouseArea {
id: basicMouseArea
hoverEnabled: true
anchors.fill: parent
cursorShape: Qt.PointingHandCursor
onEntered: goToBasicVersionButton.color = "#262626";
onExited: goToBasicVersionButton.color = "transparent";
onClicked: {
releaseFocus()
parent.checked = !parent.checked
titleBar.goToBasicVersion(leftPanel.visible)
// language selection
Rectangle {
Layout.preferredHeight: parent.height
Layout.preferredWidth: Layout.preferredHeight
visible: !titleBar.orange && persistentSettings.customDecorations
id: languageSelection
property bool containsMouse: titleBar.mouseX >= x && titleBar.mouseX <= x + width
property bool checked: false
color: "transparent"
height: titleBar.height
width: height
z: parent.z + 2
Image {
width: 14
height: 14
anchors.centerIn: parent
source: "../images/langFlagGrey.png"
}
MouseArea {
hoverEnabled: true
anchors.fill: parent
cursorShape: Qt.PointingHandCursor
onEntered: parent.color = "#262626";
onExited: parent.color = "transparent";
onClicked: {
releaseFocus();
appWindow.toggleLanguageView();
}
}
}
}
@@ -163,7 +229,13 @@ Rectangle {
anchors.fill: parent
hoverEnabled: true
cursorShape: Qt.PointingHandCursor
onEntered: minimizeButton.color = "#262626";
onEntered: {
if(titleBar.orange){
minimizeButton.color = titleBar.buttonHoverColorOrange;
} else {
minimizeButton.color = titleBar.buttonHoverColor;
}
}
onExited: minimizeButton.color = "transparent";
onClicked: minimizeClicked();
}
@@ -190,7 +262,13 @@ Rectangle {
anchors.fill: parent
hoverEnabled: true
cursorShape: Qt.PointingHandCursor
onEntered: maximizeButton.color = "#262626";
onEntered: {
if(titleBar.orange){
maximizeButton.color = titleBar.buttonHoverColorOrange;
} else {
maximizeButton.color = titleBar.buttonHoverColor;
}
}
onExited: maximizeButton.color = "transparent";
onClicked: maximizeClicked();
}
@@ -216,7 +294,13 @@ Rectangle {
onClicked: closeClicked();
hoverEnabled: true
cursorShape: Qt.PointingHandCursor
onEntered: closeButton.color = "#262626";
onEntered: {
if(titleBar.orange){
closeButton.color = titleBar.buttonHoverColorOrange;
} else {
closeButton.color = titleBar.buttonHoverColor;
}
}
onExited: closeButton.color = "transparent";
}
}
@@ -224,6 +308,7 @@ Rectangle {
// window borders
Rectangle {
visible: !titleBar.orange
anchors.bottom: parent.bottom
anchors.right: parent.right
anchors.left: parent.left
@@ -233,10 +318,10 @@ Rectangle {
}
Rectangle {
visible: titleBar.small && !titleBar.orange
anchors.top: parent.top
anchors.right: parent.right
anchors.left: parent.left
visible: titleBar.small
height: 1
color: "#2F2F2F"
z: parent.z + 1

View File

@@ -7,6 +7,7 @@ import "." as MoneroComponents
Rectangle {
id: root
property alias text: content.text
property alias textColor: content.color
property int fontSize: 15 * scaleRatio
Layout.fillWidth: true
@@ -16,9 +17,9 @@ Rectangle {
radius: 4
border.color: MoneroComponents.Style.inputBorderColorInActive
border.width: 1
signal linkActivated;
RowLayout {
id: warningLayout
spacing: 0
@@ -27,12 +28,12 @@ Rectangle {
Image {
Layout.alignment: Qt.AlignVCenter
Layout.preferredHeight: 33
Layout.preferredWidth: 33
Layout.rightMargin: 14
Layout.leftMargin: 14
Layout.topMargin: 12
Layout.bottomMargin: 12
Layout.preferredHeight: 33 * scaleRatio
Layout.preferredWidth: 33 * scaleRatio
Layout.rightMargin: 12 * scaleRatio
Layout.leftMargin: 18 * scaleRatio
Layout.topMargin: 12 * scaleRatio
Layout.bottomMargin: 12 * scaleRatio
source: "../images/warning.png"
}
@@ -43,21 +44,19 @@ Rectangle {
font.family: MoneroComponents.Style.fontRegular.name
font.pixelSize: root.fontSize
horizontalAlignment: TextInput.AlignLeft
selectByMouse: false
selectByMouse: true
textFormat: Text.RichText
wrapMode: Text.WordWrap
textMargin: 0
leftPadding: 0
topPadding: 6
leftPadding: 4 * scaleRatio
rightPadding: 18 * scaleRatio
topPadding: 10 * scaleRatio
bottomPadding: 10 * scaleRatio
readOnly: true
onLinkActivated: root.linkActivated();
// @TODO: Legacy. Remove after Qt 5.8.
// https://stackoverflow.com/questions/41990013
MouseArea {
anchors.fill: parent
enabled: false
}
selectionColor: MoneroComponents.Style.dimmedFontColor
selectedTextColor: MoneroComponents.Style.defaultFontColor
}
}
}

View File

@@ -38,6 +38,10 @@ filter::filter(QObject *parent) :
}
bool filter::eventFilter(QObject *obj, QEvent *ev) {
if(ev->type() == QEvent::KeyPress || ev->type() == QEvent::MouseButtonRelease){
emit userActivity();
}
switch(ev->type()) {
case QEvent::KeyPress: {
QKeyEvent *ke = static_cast<QKeyEvent*>(ev);

View File

@@ -48,6 +48,7 @@ signals:
void sequenceReleased(const QVariant &o, const QVariant &seq);
void mousePressed(const QVariant &o, const QVariant &x, const QVariant &y);
void mouseReleased(const QVariant &o, const QVariant &x, const QVariant &y);
void userActivity();
};
#endif // FILTER_H

View File

@@ -0,0 +1,798 @@
pragma Singleton
import QtQuick 2.0
Object {
FontLoader {
source: "./fontawesome-webfont.ttf"
}
property string fontFamily: "FontAwesome"
// Icons
property string addressBook : "\uf2b9"
property string addressBookO : "\uf2ba"
property string addressCard : "\uf2bb"
property string addressCardO : "\uf2bc"
property string adjust : "\uf042"
property string adn : "\uf170"
property string alignCenter : "\uf037"
property string alignJustify : "\uf039"
property string alignLeft : "\uf036"
property string alignRight : "\uf038"
property string amazon : "\uf270"
property string ambulance : "\uf0f9"
property string americanSignLanguageInterpreting : "\uf2a3"
property string anchor : "\uf13d"
property string android : "\uf17b"
property string angellist : "\uf209"
property string angleDoubleDown : "\uf103"
property string angleDoubleLeft : "\uf100"
property string angleDoubleRight : "\uf101"
property string angleDoubleUp : "\uf102"
property string angleDown : "\uf107"
property string angleLeft : "\uf104"
property string angleRight : "\uf105"
property string angleUp : "\uf106"
property string apple : "\uf179"
property string archive : "\uf187"
property string areaChart : "\uf1fe"
property string arrowCircleDown : "\uf0ab"
property string arrowCircleLeft : "\uf0a8"
property string arrowCircleODown : "\uf01a"
property string arrowCircleOLeft : "\uf190"
property string arrowCircleORight : "\uf18e"
property string arrowCircleOUp : "\uf01b"
property string arrowCircleRight : "\uf0a9"
property string arrowCircleUp : "\uf0aa"
property string arrowDown : "\uf063"
property string arrowLeft : "\uf060"
property string arrowRight : "\uf061"
property string arrowUp : "\uf062"
property string arrows : "\uf047"
property string arrowsAlt : "\uf0b2"
property string arrowsH : "\uf07e"
property string arrowsV : "\uf07d"
property string aslInterpreting : "\uf2a3"
property string assistiveListeningSystems : "\uf2a2"
property string asterisk : "\uf069"
property string at : "\uf1fa"
property string audioDescription : "\uf29e"
property string automobile : "\uf1b9"
property string backward : "\uf04a"
property string balanceScale : "\uf24e"
property string ban : "\uf05e"
property string bandcamp : "\uf2d5"
property string bank : "\uf19c"
property string barChart : "\uf080"
property string barChartO : "\uf080"
property string barcode : "\uf02a"
property string bars : "\uf0c9"
property string bath : "\uf2cd"
property string bathtub : "\uf2cd"
property string battery : "\uf240"
property string battery0 : "\uf244"
property string battery1 : "\uf243"
property string battery2 : "\uf242"
property string battery3 : "\uf241"
property string battery4 : "\uf240"
property string batteryEmpty : "\uf244"
property string batteryFull : "\uf240"
property string batteryHalf : "\uf242"
property string batteryQuarter : "\uf243"
property string batteryThreeQuarters : "\uf241"
property string bed : "\uf236"
property string beer : "\uf0fc"
property string behance : "\uf1b4"
property string behanceSquare : "\uf1b5"
property string bell : "\uf0f3"
property string bellO : "\uf0a2"
property string bellSlash : "\uf1f6"
property string bellSlashO : "\uf1f7"
property string bicycle : "\uf206"
property string binoculars : "\uf1e5"
property string birthdayCake : "\uf1fd"
property string bitbucket : "\uf171"
property string bitbucketSquare : "\uf172"
property string bitcoin : "\uf15a"
property string blackTie : "\uf27e"
property string blind : "\uf29d"
property string bluetooth : "\uf293"
property string bluetoothB : "\uf294"
property string bold : "\uf032"
property string bolt : "\uf0e7"
property string bomb : "\uf1e2"
property string book : "\uf02d"
property string bookmark : "\uf02e"
property string bookmarkO : "\uf097"
property string braille : "\uf2a1"
property string briefcase : "\uf0b1"
property string btc : "\uf15a"
property string bug : "\uf188"
property string building : "\uf1ad"
property string buildingO : "\uf0f7"
property string bullhorn : "\uf0a1"
property string bullseye : "\uf140"
property string bus : "\uf207"
property string buysellads : "\uf20d"
property string cab : "\uf1ba"
property string calculator : "\uf1ec"
property string calendar : "\uf073"
property string calendarCheckO : "\uf274"
property string calendarMinusO : "\uf272"
property string calendarO : "\uf133"
property string calendarPlusO : "\uf271"
property string calendarTimesO : "\uf273"
property string camera : "\uf030"
property string cameraRetro : "\uf083"
property string car : "\uf1b9"
property string caretDown : "\uf0d7"
property string caretLeft : "\uf0d9"
property string caretRight : "\uf0da"
property string caretSquareODown : "\uf150"
property string caretSquareOLeft : "\uf191"
property string caretSquareORight : "\uf152"
property string caretSquareOUp : "\uf151"
property string caretUp : "\uf0d8"
property string cartArrowDown : "\uf218"
property string cartPlus : "\uf217"
property string cc : "\uf20a"
property string ccAmex : "\uf1f3"
property string ccDinersClub : "\uf24c"
property string ccDiscover : "\uf1f2"
property string ccJcb : "\uf24b"
property string ccMastercard : "\uf1f1"
property string ccPaypal : "\uf1f4"
property string ccStripe : "\uf1f5"
property string ccVisa : "\uf1f0"
property string certificate : "\uf0a3"
property string chain : "\uf0c1"
property string chainBroken : "\uf127"
property string check : "\uf00c"
property string checkCircle : "\uf058"
property string checkCircleO : "\uf05d"
property string checkSquare : "\uf14a"
property string checkSquareO : "\uf046"
property string chevronCircleDown : "\uf13a"
property string chevronCircleLeft : "\uf137"
property string chevronCircleRight : "\uf138"
property string chevronCircleUp : "\uf139"
property string chevronDown : "\uf078"
property string chevronLeft : "\uf053"
property string chevronRight : "\uf054"
property string chevronUp : "\uf077"
property string child : "\uf1ae"
property string chrome : "\uf268"
property string circle : "\uf111"
property string circleO : "\uf10c"
property string circleONotch : "\uf1ce"
property string circleThin : "\uf1db"
property string clipboard : "\uf0ea"
property string clockO : "\uf017"
property string clone : "\uf24d"
property string close : "\uf00d"
property string cloud : "\uf0c2"
property string cloudDownload : "\uf0ed"
property string cloudUpload : "\uf0ee"
property string cny : "\uf157"
property string code : "\uf121"
property string codeFork : "\uf126"
property string codepen : "\uf1cb"
property string codiepie : "\uf284"
property string coffee : "\uf0f4"
property string cog : "\uf013"
property string cogs : "\uf085"
property string columns : "\uf0db"
property string comment : "\uf075"
property string commentO : "\uf0e5"
property string commenting : "\uf27a"
property string commentingO : "\uf27b"
property string comments : "\uf086"
property string commentsO : "\uf0e6"
property string compass : "\uf14e"
property string compress : "\uf066"
property string connectdevelop : "\uf20e"
property string contao : "\uf26d"
property string copy : "\uf0c5"
property string copyright : "\uf1f9"
property string creativeCommons : "\uf25e"
property string creditCard : "\uf09d"
property string creditCardAlt : "\uf283"
property string crop : "\uf125"
property string crosshairs : "\uf05b"
property string css3 : "\uf13c"
property string cube : "\uf1b2"
property string cubes : "\uf1b3"
property string cut : "\uf0c4"
property string cutlery : "\uf0f5"
property string dashboard : "\uf0e4"
property string dashcube : "\uf210"
property string database : "\uf1c0"
property string deaf : "\uf2a4"
property string deafness : "\uf2a4"
property string dedent : "\uf03b"
property string delicious : "\uf1a5"
property string desktop : "\uf108"
property string deviantart : "\uf1bd"
property string diamond : "\uf219"
property string digg : "\uf1a6"
property string dollar : "\uf155"
property string dotCircleO : "\uf192"
property string download : "\uf019"
property string dribbble : "\uf17d"
property string driversLicense : "\uf2c2"
property string driversLicenseO : "\uf2c3"
property string dropbox : "\uf16b"
property string drupal : "\uf1a9"
property string edge : "\uf282"
property string edit : "\uf044"
property string eercast : "\uf2da"
property string eject : "\uf052"
property string ellipsisH : "\uf141"
property string ellipsisV : "\uf142"
property string empire : "\uf1d1"
property string envelope : "\uf0e0"
property string envelopeO : "\uf003"
property string envelopeOpen : "\uf2b6"
property string envelopeOpenO : "\uf2b7"
property string envelopeSquare : "\uf199"
property string envira : "\uf299"
property string eraser : "\uf12d"
property string etsy : "\uf2d7"
property string eur : "\uf153"
property string euro : "\uf153"
property string exchange : "\uf0ec"
property string exclamation : "\uf12a"
property string exclamationCircle : "\uf06a"
property string exclamationTriangle : "\uf071"
property string expand : "\uf065"
property string expeditedssl : "\uf23e"
property string externalLink : "\uf08e"
property string externalLinkSquare : "\uf14c"
property string eye : "\uf06e"
property string eyeSlash : "\uf070"
property string eyedropper : "\uf1fb"
property string fa : "\uf2b4"
property string facebook : "\uf09a"
property string facebookF : "\uf09a"
property string facebookOfficial : "\uf230"
property string facebookSquare : "\uf082"
property string fastBackward : "\uf049"
property string fastForward : "\uf050"
property string fax : "\uf1ac"
property string feed : "\uf09e"
property string female : "\uf182"
property string fighterJet : "\uf0fb"
property string file : "\uf15b"
property string fileArchiveO : "\uf1c6"
property string fileAudioO : "\uf1c7"
property string fileCodeO : "\uf1c9"
property string fileExcelO : "\uf1c3"
property string fileImageO : "\uf1c5"
property string fileMovieO : "\uf1c8"
property string fileO : "\uf016"
property string filePdfO : "\uf1c1"
property string filePhotoO : "\uf1c5"
property string filePictureO : "\uf1c5"
property string filePowerpointO : "\uf1c4"
property string fileSoundO : "\uf1c7"
property string fileText : "\uf15c"
property string fileTextO : "\uf0f6"
property string fileVideoO : "\uf1c8"
property string fileWordO : "\uf1c2"
property string fileZipO : "\uf1c6"
property string filesO : "\uf0c5"
property string film : "\uf008"
property string filter : "\uf0b0"
property string fire : "\uf06d"
property string fireExtinguisher : "\uf134"
property string firefox : "\uf269"
property string firstOrder : "\uf2b0"
property string flag : "\uf024"
property string flagCheckered : "\uf11e"
property string flagO : "\uf11d"
property string flash : "\uf0e7"
property string flask : "\uf0c3"
property string flickr : "\uf16e"
property string floppyO : "\uf0c7"
property string folder : "\uf07b"
property string folderO : "\uf114"
property string folderOpen : "\uf07c"
property string folderOpenO : "\uf115"
property string font : "\uf031"
property string fontAwesome : "\uf2b4"
property string fonticons : "\uf280"
property string fortAwesome : "\uf286"
property string forumbee : "\uf211"
property string forward : "\uf04e"
property string foursquare : "\uf180"
property string freeCodeCamp : "\uf2c5"
property string frownO : "\uf119"
property string futbolO : "\uf1e3"
property string gamepad : "\uf11b"
property string gavel : "\uf0e3"
property string gbp : "\uf154"
property string ge : "\uf1d1"
property string gear : "\uf013"
property string gears : "\uf085"
property string genderless : "\uf22d"
property string getPocket : "\uf265"
property string gg : "\uf260"
property string ggCircle : "\uf261"
property string gift : "\uf06b"
property string git : "\uf1d3"
property string gitSquare : "\uf1d2"
property string github : "\uf09b"
property string githubAlt : "\uf113"
property string githubSquare : "\uf092"
property string gitlab : "\uf296"
property string gittip : "\uf184"
property string glass : "\uf000"
property string glide : "\uf2a5"
property string glideG : "\uf2a6"
property string globe : "\uf0ac"
property string google : "\uf1a0"
property string googlePlus : "\uf0d5"
property string googlePlusCircle : "\uf2b3"
property string googlePlusOfficial : "\uf2b3"
property string googlePlusSquare : "\uf0d4"
property string googleWallet : "\uf1ee"
property string graduationCap : "\uf19d"
property string gratipay : "\uf184"
property string grav : "\uf2d6"
property string group : "\uf0c0"
property string hSquare : "\uf0fd"
property string hackerNews : "\uf1d4"
property string handGrabO : "\uf255"
property string handLizardO : "\uf258"
property string handODown : "\uf0a7"
property string handOLeft : "\uf0a5"
property string handORight : "\uf0a4"
property string handOUp : "\uf0a6"
property string handPaperO : "\uf256"
property string handPeaceO : "\uf25b"
property string handPointerO : "\uf25a"
property string handRockO : "\uf255"
property string handScissorsO : "\uf257"
property string handSpockO : "\uf259"
property string handStopO : "\uf256"
property string handshakeO : "\uf2b5"
property string hardOfHearing : "\uf2a4"
property string hashtag : "\uf292"
property string hddO : "\uf0a0"
property string header : "\uf1dc"
property string headphones : "\uf025"
property string heart : "\uf004"
property string heartO : "\uf08a"
property string heartbeat : "\uf21e"
property string history : "\uf1da"
property string home : "\uf015"
property string hospitalO : "\uf0f8"
property string hotel : "\uf236"
property string hourglass : "\uf254"
property string hourglass1 : "\uf251"
property string hourglass2 : "\uf252"
property string hourglass3 : "\uf253"
property string hourglassEnd : "\uf253"
property string hourglassHalf : "\uf252"
property string hourglassO : "\uf250"
property string hourglassStart : "\uf251"
property string houzz : "\uf27c"
property string html5 : "\uf13b"
property string iCursor : "\uf246"
property string idBadge : "\uf2c1"
property string idCard : "\uf2c2"
property string idCardO : "\uf2c3"
property string ils : "\uf20b"
property string image : "\uf03e"
property string imdb : "\uf2d8"
property string inbox : "\uf01c"
property string indent : "\uf03c"
property string industry : "\uf275"
property string info : "\uf129"
property string infoCircle : "\uf05a"
property string inr : "\uf156"
property string instagram : "\uf16d"
property string institution : "\uf19c"
property string internetExplorer : "\uf26b"
property string intersex : "\uf224"
property string ioxhost : "\uf208"
property string italic : "\uf033"
property string joomla : "\uf1aa"
property string jpy : "\uf157"
property string jsfiddle : "\uf1cc"
property string key : "\uf084"
property string keyboardO : "\uf11c"
property string krw : "\uf159"
property string language : "\uf1ab"
property string laptop : "\uf109"
property string lastfm : "\uf202"
property string lastfmSquare : "\uf203"
property string leaf : "\uf06c"
property string leanpub : "\uf212"
property string legal : "\uf0e3"
property string lemonO : "\uf094"
property string levelDown : "\uf149"
property string levelUp : "\uf148"
property string lifeBouy : "\uf1cd"
property string lifeBuoy : "\uf1cd"
property string lifeRing : "\uf1cd"
property string lifeSaver : "\uf1cd"
property string lightbulbO : "\uf0eb"
property string lineChart : "\uf201"
property string link : "\uf0c1"
property string linkedin : "\uf0e1"
property string linkedinSquare : "\uf08c"
property string linode : "\uf2b8"
property string linux : "\uf17c"
property string list : "\uf03a"
property string listAlt : "\uf022"
property string listOl : "\uf0cb"
property string listUl : "\uf0ca"
property string locationArrow : "\uf124"
property string lock : "\uf023"
property string longArrowDown : "\uf175"
property string longArrowLeft : "\uf177"
property string longArrowRight : "\uf178"
property string longArrowUp : "\uf176"
property string lowVision : "\uf2a8"
property string magic : "\uf0d0"
property string magnet : "\uf076"
property string mailForward : "\uf064"
property string mailReply : "\uf112"
property string mailReplyAll : "\uf122"
property string male : "\uf183"
property string map : "\uf279"
property string mapMarker : "\uf041"
property string mapO : "\uf278"
property string mapPin : "\uf276"
property string mapSigns : "\uf277"
property string mars : "\uf222"
property string marsDouble : "\uf227"
property string marsStroke : "\uf229"
property string marsStrokeH : "\uf22b"
property string marsStrokeV : "\uf22a"
property string maxcdn : "\uf136"
property string meanpath : "\uf20c"
property string medium : "\uf23a"
property string medkit : "\uf0fa"
property string meetup : "\uf2e0"
property string mehO : "\uf11a"
property string mercury : "\uf223"
property string microchip : "\uf2db"
property string microphone : "\uf130"
property string microphoneSlash : "\uf131"
property string minus : "\uf068"
property string minusCircle : "\uf056"
property string minusSquare : "\uf146"
property string minusSquareO : "\uf147"
property string mixcloud : "\uf289"
property string mobile : "\uf10b"
property string mobilePhone : "\uf10b"
property string modx : "\uf285"
property string money : "\uf0d6"
property string moonO : "\uf186"
property string mortarBoard : "\uf19d"
property string motorcycle : "\uf21c"
property string mousePointer : "\uf245"
property string music : "\uf001"
property string navicon : "\uf0c9"
property string neuter : "\uf22c"
property string newspaperO : "\uf1ea"
property string objectGroup : "\uf247"
property string objectUngroup : "\uf248"
property string odnoklassniki : "\uf263"
property string odnoklassnikiSquare : "\uf264"
property string opencart : "\uf23d"
property string openid : "\uf19b"
property string opera : "\uf26a"
property string optinMonster : "\uf23c"
property string outdent : "\uf03b"
property string pagelines : "\uf18c"
property string paintBrush : "\uf1fc"
property string paperPlane : "\uf1d8"
property string paperPlaneO : "\uf1d9"
property string paperclip : "\uf0c6"
property string paragraph : "\uf1dd"
property string paste : "\uf0ea"
property string pause : "\uf04c"
property string pauseCircle : "\uf28b"
property string pauseCircleO : "\uf28c"
property string paw : "\uf1b0"
property string paypal : "\uf1ed"
property string pencil : "\uf040"
property string pencilSquare : "\uf14b"
property string pencilSquareO : "\uf044"
property string percent : "\uf295"
property string phone : "\uf095"
property string phoneSquare : "\uf098"
property string photo : "\uf03e"
property string pictureO : "\uf03e"
property string pieChart : "\uf200"
property string piedPiper : "\uf2ae"
property string piedPiperAlt : "\uf1a8"
property string piedPiperPp : "\uf1a7"
property string pinterest : "\uf0d2"
property string pinterestP : "\uf231"
property string pinterestSquare : "\uf0d3"
property string plane : "\uf072"
property string play : "\uf04b"
property string playCircle : "\uf144"
property string playCircleO : "\uf01d"
property string plug : "\uf1e6"
property string plus : "\uf067"
property string plusCircle : "\uf055"
property string plusSquare : "\uf0fe"
property string plusSquareO : "\uf196"
property string podcast : "\uf2ce"
property string powerOff : "\uf011"
property string printIcon : "\uf02f"
property string productHunt : "\uf288"
property string puzzlePiece : "\uf12e"
property string qq : "\uf1d6"
property string qrcode : "\uf029"
property string question : "\uf128"
property string questionCircle : "\uf059"
property string questionCircleO : "\uf29c"
property string quora : "\uf2c4"
property string quoteLeft : "\uf10d"
property string quoteRight : "\uf10e"
property string ra : "\uf1d0"
property string random : "\uf074"
property string ravelry : "\uf2d9"
property string rebel : "\uf1d0"
property string recycle : "\uf1b8"
property string reddit : "\uf1a1"
property string redditAlien : "\uf281"
property string redditSquare : "\uf1a2"
property string refresh : "\uf021"
property string registered : "\uf25d"
property string remove : "\uf00d"
property string renren : "\uf18b"
property string reorder : "\uf0c9"
property string repeat : "\uf01e"
property string reply : "\uf112"
property string replyAll : "\uf122"
property string resistance : "\uf1d0"
property string retweet : "\uf079"
property string rmb : "\uf157"
property string road : "\uf018"
property string rocket : "\uf135"
property string rotateLeft : "\uf0e2"
property string rotateRight : "\uf01e"
property string rouble : "\uf158"
property string rss : "\uf09e"
property string rssSquare : "\uf143"
property string rub : "\uf158"
property string ruble : "\uf158"
property string rupee : "\uf156"
property string s15 : "\uf2cd"
property string safari : "\uf267"
property string save : "\uf0c7"
property string scissors : "\uf0c4"
property string scribd : "\uf28a"
property string search : "\uf002"
property string searchMinus : "\uf010"
property string searchPlus : "\uf00e"
property string sellsy : "\uf213"
property string send : "\uf1d8"
property string sendO : "\uf1d9"
property string server : "\uf233"
property string share : "\uf064"
property string shareAlt : "\uf1e0"
property string shareAltSquare : "\uf1e1"
property string shareSquare : "\uf14d"
property string shareSquareO : "\uf045"
property string shekel : "\uf20b"
property string sheqel : "\uf20b"
property string shield : "\uf132"
property string ship : "\uf21a"
property string shirtsinbulk : "\uf214"
property string shoppingBag : "\uf290"
property string shoppingBasket : "\uf291"
property string shoppingCart : "\uf07a"
property string shower : "\uf2cc"
property string signIn : "\uf090"
property string signLanguage : "\uf2a7"
property string signOut : "\uf08b"
property string signal : "\uf012"
property string signing : "\uf2a7"
property string simplybuilt : "\uf215"
property string sitemap : "\uf0e8"
property string skyatlas : "\uf216"
property string skype : "\uf17e"
property string slack : "\uf198"
property string sliders : "\uf1de"
property string slideshare : "\uf1e7"
property string smileO : "\uf118"
property string snapchat : "\uf2ab"
property string snapchatGhost : "\uf2ac"
property string snapchatSquare : "\uf2ad"
property string snowflakeO : "\uf2dc"
property string soccerBallO : "\uf1e3"
property string sort : "\uf0dc"
property string sortAlphaAsc : "\uf15d"
property string sortAlphaDesc : "\uf15e"
property string sortAmountAsc : "\uf160"
property string sortAmountDesc : "\uf161"
property string sortAsc : "\uf0de"
property string sortDesc : "\uf0dd"
property string sortDown : "\uf0dd"
property string sortNumericAsc : "\uf162"
property string sortNumericDesc : "\uf163"
property string sortUp : "\uf0de"
property string soundcloud : "\uf1be"
property string spaceShuttle : "\uf197"
property string spinner : "\uf110"
property string spoon : "\uf1b1"
property string spotify : "\uf1bc"
property string square : "\uf0c8"
property string squareO : "\uf096"
property string stackExchange : "\uf18d"
property string stackOverflow : "\uf16c"
property string star : "\uf005"
property string starHalf : "\uf089"
property string starHalfEmpty : "\uf123"
property string starHalfFull : "\uf123"
property string starHalfO : "\uf123"
property string starO : "\uf006"
property string steam : "\uf1b6"
property string steamSquare : "\uf1b7"
property string stepBackward : "\uf048"
property string stepForward : "\uf051"
property string stethoscope : "\uf0f1"
property string stickyNote : "\uf249"
property string stickyNoteO : "\uf24a"
property string stop : "\uf04d"
property string stopCircle : "\uf28d"
property string stopCircleO : "\uf28e"
property string streetView : "\uf21d"
property string strikethrough : "\uf0cc"
property string stumbleupon : "\uf1a4"
property string stumbleuponCircle : "\uf1a3"
property string subscript : "\uf12c"
property string subway : "\uf239"
property string suitcase : "\uf0f2"
property string sunO : "\uf185"
property string superpowers : "\uf2dd"
property string superscript : "\uf12b"
property string support : "\uf1cd"
property string table : "\uf0ce"
property string tablet : "\uf10a"
property string tachometer : "\uf0e4"
property string tag : "\uf02b"
property string tags : "\uf02c"
property string tasks : "\uf0ae"
property string taxi : "\uf1ba"
property string telegram : "\uf2c6"
property string television : "\uf26c"
property string tencentWeibo : "\uf1d5"
property string terminal : "\uf120"
property string textHeight : "\uf034"
property string textWidth : "\uf035"
property string th : "\uf00a"
property string thLarge : "\uf009"
property string thList : "\uf00b"
property string themeisle : "\uf2b2"
property string thermometer : "\uf2c7"
property string thermometer0 : "\uf2cb"
property string thermometer1 : "\uf2ca"
property string thermometer2 : "\uf2c9"
property string thermometer3 : "\uf2c8"
property string thermometer4 : "\uf2c7"
property string thermometerEmpty : "\uf2cb"
property string thermometerFull : "\uf2c7"
property string thermometerHalf : "\uf2c9"
property string thermometerQuarter : "\uf2ca"
property string thermometerThreeQuarters : "\uf2c8"
property string thumbTack : "\uf08d"
property string thumbsDown : "\uf165"
property string thumbsODown : "\uf088"
property string thumbsOUp : "\uf087"
property string thumbsUp : "\uf164"
property string ticket : "\uf145"
property string times : "\uf00d"
property string timesCircle : "\uf057"
property string timesCircleO : "\uf05c"
property string timesRectangle : "\uf2d3"
property string timesRectangleO : "\uf2d4"
property string tint : "\uf043"
property string toggleDown : "\uf150"
property string toggleLeft : "\uf191"
property string toggleOff : "\uf204"
property string toggleOn : "\uf205"
property string toggleRight : "\uf152"
property string toggleUp : "\uf151"
property string trademark : "\uf25c"
property string train : "\uf238"
property string transgender : "\uf224"
property string transgenderAlt : "\uf225"
property string trash : "\uf1f8"
property string trashO : "\uf014"
property string tree : "\uf1bb"
property string trello : "\uf181"
property string tripadvisor : "\uf262"
property string trophy : "\uf091"
property string truck : "\uf0d1"
property string tryIcon : "\uf195"
property string tty : "\uf1e4"
property string tumblr : "\uf173"
property string tumblrSquare : "\uf174"
property string turkishLira : "\uf195"
property string tv : "\uf26c"
property string twitch : "\uf1e8"
property string twitter : "\uf099"
property string twitterSquare : "\uf081"
property string umbrella : "\uf0e9"
property string underline : "\uf0cd"
property string undo : "\uf0e2"
property string universalAccess : "\uf29a"
property string university : "\uf19c"
property string unlink : "\uf127"
property string unlock : "\uf09c"
property string unlockAlt : "\uf13e"
property string unsorted : "\uf0dc"
property string upload : "\uf093"
property string usb : "\uf287"
property string usd : "\uf155"
property string user : "\uf007"
property string userCircle : "\uf2bd"
property string userCircleO : "\uf2be"
property string userMd : "\uf0f0"
property string userO : "\uf2c0"
property string userPlus : "\uf234"
property string userSecret : "\uf21b"
property string userTimes : "\uf235"
property string users : "\uf0c0"
property string vcard : "\uf2bb"
property string vcardO : "\uf2bc"
property string venus : "\uf221"
property string venusDouble : "\uf226"
property string venusMars : "\uf228"
property string viacoin : "\uf237"
property string viadeo : "\uf2a9"
property string viadeoSquare : "\uf2aa"
property string videoCamera : "\uf03d"
property string vimeo : "\uf27d"
property string vimeoSquare : "\uf194"
property string vine : "\uf1ca"
property string vk : "\uf189"
property string volumeControlPhone : "\uf2a0"
property string volumeDown : "\uf027"
property string volumeOff : "\uf026"
property string volumeUp : "\uf028"
property string warning : "\uf071"
property string wechat : "\uf1d7"
property string weibo : "\uf18a"
property string weixin : "\uf1d7"
property string whatsapp : "\uf232"
property string wheelchair : "\uf193"
property string wheelchairAlt : "\uf29b"
property string wifi : "\uf1eb"
property string wikipediaW : "\uf266"
property string windowClose : "\uf2d3"
property string windowCloseO : "\uf2d4"
property string windowMaximize : "\uf2d0"
property string windowMinimize : "\uf2d1"
property string windowRestore : "\uf2d2"
property string windows : "\uf17a"
property string won : "\uf159"
property string wordpress : "\uf19a"
property string wpbeginner : "\uf297"
property string wpexplorer : "\uf2de"
property string wpforms : "\uf298"
property string wrench : "\uf0ad"
property string xing : "\uf168"
property string xingSquare : "\uf169"
property string yCombinator : "\uf23b"
property string yCombinatorSquare : "\uf1d4"
property string yahoo : "\uf19e"
property string yc : "\uf23b"
property string ycSquare : "\uf1d4"
property string yelp : "\uf1e9"
property string yen : "\uf157"
property string yoast : "\uf2b1"
property string youtube : "\uf167"
property string youtubePlay : "\uf16a"
property string youtubeSquare : "\uf166"
}

View File

@@ -0,0 +1,8 @@
import QtQuick 2.0
QtObject {
id: object
default property alias children: object.__children
property list<QtObject> __children: [QtObject {}]
}

Binary file not shown.

2
fonts/FontAwesome/qmldir Normal file
View File

@@ -0,0 +1,2 @@
module FontAwesome
singleton FontAwesome 1.0 FontAwesome.qml

View File

@@ -17,16 +17,15 @@ if [ ! -d $MONERO_DIR/src ]; then
fi
git submodule update --remote
git -C $MONERO_DIR fetch
git -C $MONERO_DIR checkout v0.13.0.3
git -C $MONERO_DIR checkout origin/release-v0.13
# get monero core tag
pushd $MONERO_DIR
get_tag
popd
# create local monero branch
git -C $MONERO_DIR checkout -B $VERSIONTAG
git -C $MONERO_DIR submodule init
git -C $MONERO_DIR submodule update
# Merge monero PR dependencies
# Workaround for git username requirements
@@ -48,6 +47,9 @@ done
$(git -C $MONERO_DIR config user.name "$OLD_GIT_USER")
$(git -C $MONERO_DIR config user.email "$OLD_GIT_EMAIL")
git -C $MONERO_DIR submodule init
git -C $MONERO_DIR submodule update
# Build libwallet if it doesnt exist
if [ ! -f $MONERO_DIR/lib/libwallet_merged.a ]; then
echo "libwallet_merged.a not found - Building libwallet"
@@ -88,6 +90,11 @@ if [ -z $BUILD_TYPE ]; then
BUILD_TYPE=release
fi
BUILD_TREZOR_FLAGS=" -DUSE_DEVICE_TREZOR=ON"
if [ "$BUILD_TREZOR" == false ]; then
BUILD_TREZOR_FLAGS=" -DUSE_DEVICE_TREZOR=OFF"
fi
STATIC=false
ANDROID=false
if [ "$BUILD_TYPE" == "release" ]; then
@@ -136,9 +143,9 @@ make_exec="make"
if [ "$platform" == "darwin" ]; then
echo "Configuring build for MacOS.."
if [ "$STATIC" == true ]; then
cmake -D CMAKE_BUILD_TYPE=$CMAKE_BUILD_TYPE -D STATIC=ON -D ARCH="x86-64" -D BUILD_64=ON -D BUILD_GUI_DEPS=ON -D INSTALL_VENDORED_LIBUNBOUND=ON -D CMAKE_INSTALL_PREFIX="$MONERO_DIR" ../..
cmake -D CMAKE_BUILD_TYPE=$CMAKE_BUILD_TYPE -D STATIC=ON -D ARCH="x86-64" -D BUILD_64=ON -D BUILD_GUI_DEPS=ON -D INSTALL_VENDORED_LIBUNBOUND=ON $BUILD_TREZOR_FLAGS -D CMAKE_INSTALL_PREFIX="$MONERO_DIR" ../..
else
cmake -D CMAKE_BUILD_TYPE=$CMAKE_BUILD_TYPE -D BUILD_GUI_DEPS=ON -D INSTALL_VENDORED_LIBUNBOUND=ON -D CMAKE_INSTALL_PREFIX="$MONERO_DIR" ../..
cmake -D CMAKE_BUILD_TYPE=$CMAKE_BUILD_TYPE -D BUILD_GUI_DEPS=ON -D INSTALL_VENDORED_LIBUNBOUND=ON $BUILD_TREZOR_FLAGS -D CMAKE_INSTALL_PREFIX="$MONERO_DIR" ../..
fi
## LINUX 64
@@ -146,38 +153,38 @@ elif [ "$platform" == "linux64" ]; then
echo "Configuring build for Linux x64"
if [ "$ANDROID" == true ]; then
echo "Configuring build for Android on Linux host"
cmake -D CMAKE_BUILD_TYPE=$CMAKE_BUILD_TYPE -D STATIC=ON -D ARCH="armv7-a" -D ANDROID=true -D BUILD_GUI_DEPS=ON -D USE_LTO=OFF -D INSTALL_VENDORED_LIBUNBOUND=ON -D CMAKE_INSTALL_PREFIX="$MONERO_DIR" ../..
cmake -D CMAKE_BUILD_TYPE=$CMAKE_BUILD_TYPE -D STATIC=ON -D ARCH="armv7-a" -D ANDROID=true -D BUILD_GUI_DEPS=ON -D USE_LTO=OFF -D INSTALL_VENDORED_LIBUNBOUND=ON $BUILD_TREZOR_FLAGS -D CMAKE_INSTALL_PREFIX="$MONERO_DIR" ../..
elif [ "$STATIC" == true ]; then
cmake -D CMAKE_BUILD_TYPE=$CMAKE_BUILD_TYPE -D STATIC=ON -D ARCH="x86-64" -D BUILD_64=ON -D BUILD_GUI_DEPS=ON -D INSTALL_VENDORED_LIBUNBOUND=ON -D CMAKE_INSTALL_PREFIX="$MONERO_DIR" ../..
cmake -D CMAKE_BUILD_TYPE=$CMAKE_BUILD_TYPE -D STATIC=ON -D ARCH="x86-64" -D BUILD_64=ON -D BUILD_GUI_DEPS=ON -D INSTALL_VENDORED_LIBUNBOUND=ON $BUILD_TREZOR_FLAGS -D CMAKE_INSTALL_PREFIX="$MONERO_DIR" ../..
else
cmake -D CMAKE_BUILD_TYPE=$CMAKE_BUILD_TYPE -D BUILD_GUI_DEPS=ON -D CMAKE_INSTALL_PREFIX="$MONERO_DIR" ../..
cmake -D CMAKE_BUILD_TYPE=$CMAKE_BUILD_TYPE -D BUILD_GUI_DEPS=ON $BUILD_TREZOR_FLAGS -D CMAKE_INSTALL_PREFIX="$MONERO_DIR" ../..
fi
## LINUX 32
elif [ "$platform" == "linux32" ]; then
echo "Configuring build for Linux i686"
if [ "$STATIC" == true ]; then
cmake -D CMAKE_BUILD_TYPE=$CMAKE_BUILD_TYPE -D STATIC=ON -D ARCH="i686" -D BUILD_64=OFF -D BUILD_GUI_DEPS=ON -D INSTALL_VENDORED_LIBUNBOUND=ON -D CMAKE_INSTALL_PREFIX="$MONERO_DIR" ../..
cmake -D CMAKE_BUILD_TYPE=$CMAKE_BUILD_TYPE -D STATIC=ON -D ARCH="i686" -D BUILD_64=OFF -D BUILD_GUI_DEPS=ON -D INSTALL_VENDORED_LIBUNBOUND=ON $BUILD_TREZOR_FLAGS -D CMAKE_INSTALL_PREFIX="$MONERO_DIR" ../..
else
cmake -D CMAKE_BUILD_TYPE=$CMAKE_BUILD_TYPE -D BUILD_GUI_DEPS=ON -D CMAKE_INSTALL_PREFIX="$MONERO_DIR" ../..
cmake -D CMAKE_BUILD_TYPE=$CMAKE_BUILD_TYPE -D BUILD_GUI_DEPS=ON $BUILD_TREZOR_FLAGS -D CMAKE_INSTALL_PREFIX="$MONERO_DIR" ../..
fi
## LINUX ARMv7
elif [ "$platform" == "linuxarmv7" ]; then
echo "Configuring build for Linux armv7"
if [ "$STATIC" == true ]; then
cmake -D BUILD_TESTS=OFF -D ARCH="armv7-a" -D STATIC=ON -D BUILD_64=OFF -D BUILD_GUI_DEPS=ON -D CMAKE_INSTALL_PREFIX="$MONERO_DIR" ../..
cmake -D BUILD_TESTS=OFF -D ARCH="armv7-a" -D STATIC=ON -D BUILD_64=OFF -D BUILD_GUI_DEPS=ON $BUILD_TREZOR_FLAGS -D CMAKE_INSTALL_PREFIX="$MONERO_DIR" ../..
else
cmake -D BUILD_TESTS=OFF -D ARCH="armv7-a" -D -D BUILD_64=OFF -D BUILD_GUI_DEPS=ON -D CMAKE_INSTALL_PREFIX="$MONERO_DIR" ../..
cmake -D BUILD_TESTS=OFF -D ARCH="armv7-a" -D -D BUILD_64=OFF -D BUILD_GUI_DEPS=ON $BUILD_TREZOR_FLAGS -D CMAKE_INSTALL_PREFIX="$MONERO_DIR" ../..
fi
## LINUX other
elif [ "$platform" == "linux" ]; then
echo "Configuring build for Linux general"
if [ "$STATIC" == true ]; then
cmake -D CMAKE_BUILD_TYPE=$CMAKE_BUILD_TYPE -D STATIC=ON -D BUILD_GUI_DEPS=ON -D INSTALL_VENDORED_LIBUNBOUND=ON -D CMAKE_INSTALL_PREFIX="$MONERO_DIR" ../..
cmake -D CMAKE_BUILD_TYPE=$CMAKE_BUILD_TYPE -D STATIC=ON -D BUILD_GUI_DEPS=ON -D INSTALL_VENDORED_LIBUNBOUND=ON $BUILD_TREZOR_FLAGS -D CMAKE_INSTALL_PREFIX="$MONERO_DIR" ../..
else
cmake -D CMAKE_BUILD_TYPE=$CMAKE_BUILD_TYPE -D BUILD_GUI_DEPS=ON -D CMAKE_INSTALL_PREFIX="$MONERO_DIR" ../..
cmake -D CMAKE_BUILD_TYPE=$CMAKE_BUILD_TYPE -D BUILD_GUI_DEPS=ON $BUILD_TREZOR_FLAGS -D CMAKE_INSTALL_PREFIX="$MONERO_DIR" ../..
fi
## Windows 64
@@ -186,21 +193,21 @@ elif [ "$platform" == "mingw64" ]; then
# Do something under Windows NT platform
echo "Configuring build for MINGW64.."
BOOST_ROOT=/mingw64/boost
cmake -D CMAKE_BUILD_TYPE=$CMAKE_BUILD_TYPE -D STATIC=ON -D BOOST_ROOT="$BOOST_ROOT" -D ARCH="x86-64" -D BUILD_GUI_DEPS=ON -D INSTALL_VENDORED_LIBUNBOUND=ON -D CMAKE_INSTALL_PREFIX="$MONERO_DIR" -G "MSYS Makefiles" ../..
cmake -D CMAKE_BUILD_TYPE=$CMAKE_BUILD_TYPE -D STATIC=ON -D BOOST_ROOT="$BOOST_ROOT" -D ARCH="x86-64" -D BUILD_GUI_DEPS=ON -D INSTALL_VENDORED_LIBUNBOUND=ON $BUILD_TREZOR_FLAGS -D CMAKE_INSTALL_PREFIX="$MONERO_DIR" -G "MSYS Makefiles" -D CMAKE_TOOLCHAIN_FILE=../../cmake/64-bit-toolchain.cmake -D MSYS2_FOLDER=c:/msys64 ../..
## Windows 32
elif [ "$platform" == "mingw32" ]; then
# Do something under Windows NT platform
echo "Configuring build for MINGW32.."
BOOST_ROOT=/mingw32/boost
cmake -D CMAKE_BUILD_TYPE=$CMAKE_BUILD_TYPE -D STATIC=ON -D Boost_DEBUG=ON -D BOOST_ROOT="$BOOST_ROOT" -D ARCH="i686" -D BUILD_64=OFF -D BUILD_GUI_DEPS=ON -D INSTALL_VENDORED_LIBUNBOUND=ON -D CMAKE_INSTALL_PREFIX="$MONERO_DIR" -G "MSYS Makefiles" ../..
cmake -D CMAKE_BUILD_TYPE=$CMAKE_BUILD_TYPE -D STATIC=ON -D Boost_DEBUG=ON -D BOOST_ROOT="$BOOST_ROOT" -D ARCH="i686" -D BUILD_64=OFF -D BUILD_GUI_DEPS=ON -D INSTALL_VENDORED_LIBUNBOUND=ON $BUILD_TREZOR_FLAGS -D CMAKE_INSTALL_PREFIX="$MONERO_DIR" -G "MSYS Makefiles" -D CMAKE_TOOLCHAIN_FILE=../../cmake/32-bit-toolchain.cmake -D MSYS2_FOLDER=c:/msys32 ../..
make_exec="mingw32-make"
else
echo "Unknown platform, configuring general build"
if [ "$STATIC" == true ]; then
cmake -D CMAKE_BUILD_TYPE=$CMAKE_BUILD_TYPE -D STATIC=ON -D BUILD_GUI_DEPS=ON -D CMAKE_INSTALL_PREFIX="$MONERO_DIR" ../..
cmake -D CMAKE_BUILD_TYPE=$CMAKE_BUILD_TYPE -D STATIC=ON -D BUILD_GUI_DEPS=ON $BUILD_TREZOR_FLAGS -D CMAKE_INSTALL_PREFIX="$MONERO_DIR" ../..
else
cmake -D CMAKE_BUILD_TYPE=$CMAKE_BUILD_TYPE -D BUILD_GUI_DEPS=ON -D CMAKE_INSTALL_PREFIX="$MONERO_DIR" ../..
cmake -D CMAKE_BUILD_TYPE=$CMAKE_BUILD_TYPE -D BUILD_GUI_DEPS=ON $BUILD_TREZOR_FLAGS -D CMAKE_INSTALL_PREFIX="$MONERO_DIR" ../..
fi
fi
@@ -236,12 +243,13 @@ eval make -C $MONERO_DIR/build/$BUILD_TYPE/external/easylogging++ all install
eval make -C $MONERO_DIR/build/$BUILD_TYPE/external/db_drivers/liblmdb all install
# Install libunbound
echo "Installing libunbound..."
pushd $MONERO_DIR/build/$BUILD_TYPE/external/unbound
# no need to make, it was already built as dependency for libwallet
# make -j$CPU_CORE_COUNT
$make_exec install -j$CPU_CORE_COUNT
popd
if [ -d $MONERO_DIR/build/$BUILD_TYPE/external/unbound ]; then
echo "Installing libunbound..."
pushd $MONERO_DIR/build/$BUILD_TYPE/external/unbound
# no need to make, it was already built as dependency for libwallet
# make -j$CPU_CORE_COUNT
$make_exec install -j$CPU_CORE_COUNT
popd
fi
popd

Binary file not shown.

Before

Width:  |  Height:  |  Size: 361 KiB

After

Width:  |  Height:  |  Size: 264 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 291 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 447 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 447 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 447 B

BIN
images/card-background@2x.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 87 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 344 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 460 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 460 B

BIN
images/close@2x.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 404 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 408 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

BIN
images/create-wallet.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

BIN
images/create-wallet@2x.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 415 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 456 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 448 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 448 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 448 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 364 B

After

Width:  |  Height:  |  Size: 922 B

BIN
images/downArrow@2x.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

BIN
images/download-white.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 214 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 255 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 454 B

After

Width:  |  Height:  |  Size: 444 B

BIN
images/dropdownCopy@2x.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 821 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 578 B

After

Width:  |  Height:  |  Size: 612 B

BIN
images/editIcon@2x.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

BIN
images/expand@2x.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 347 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 469 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 246 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 323 B

BIN
images/eyeHide.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 691 B

BIN
images/eyeHide@2x.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

BIN
images/eyeShow.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 575 B

BIN
images/eyeShow@2x.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

BIN
images/fullscreen@2x.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 291 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 401 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 402 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 469 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 456 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 367 B

BIN
images/langFlagGrey.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

BIN
images/lightning-white@2x.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

BIN
images/lightning@2x.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

BIN
images/local-node-full.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

BIN
images/local-node.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 848 B

BIN
images/local-node@2x.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

BIN
images/logout.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 378 B

BIN
images/logout@2x.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 579 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 648 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 380 B

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