Compare commits

..

826 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
luigi1111
ad88e60394 Merge pull request #1616
a636a04 fix some malaysian language to Indonesian (ha-yi)
2018-10-11 17:31:44 -05:00
luigi1111
f75086ca28 Merge pull request #1631
b9f2e37 Update Swedish translation with changes in PR#1609 (snaggen)
2018-10-11 14:47:05 -05:00
luigi1111
e7c73164a6 Merge pull request #1605
e21f890 Replacing the optional ring size slider in favor of static ring size 11 (skftn)
2018-10-11 14:45:45 -05:00
Sander Ferdinand
b780142c14 Added the Bulgarian flag and updating qml.qrc 2018-10-11 17:59:04 +02:00
whotheff
1e7f3c8126 Updating languages.xml 2018-10-11 17:58:56 +02:00
whotheff
71bb2e87c8 Added the Bulgarian translation file 2018-10-11 17:57:39 +02:00
luigi1111
6ca3c1a23e Merge pull request #1630
bdb1251 README: update MSYS2 dependencies for Ledger (Lafudoci)
2018-10-10 18:36:24 -05:00
luigi1111
f86bcc61c5 Merge pull request #1634
ead8dc2 Including pirate.png in qml.qrc (skftn)
2018-10-10 16:25:47 -05:00
luigi1111
77f0e9b912 Merge pull request #1633
ca29d7e Qt 5.7 does not support string.startsWith(); use string.indexOf() instead (skftn)
2018-10-10 16:10:38 -05:00
Sander Ferdinand
ead8dc27d0 Including pirate.png in qml.qrc 2018-10-10 20:33:21 +02:00
Sander Ferdinand
ca29d7e1be Qt 5.7 does not support string.startsWith(); use string.indexOf() instead 2018-10-10 20:15:44 +02:00
Sander Ferdinand
e21f8903ee Replacing the optional ring size slider in favor of static ring size 11 2018-10-10 20:04:00 +02:00
luigi1111
b4e0dd107c Merge pull request #1625
3e9df9d Linking libsodium (skftn)
2018-10-10 11:48:31 -05:00
luigi1111
cae90e8287 Merge pull request #1624
da02e4d Bumping monero submodule tag to 0.13 (skftn)
2018-10-10 11:47:17 -05:00
luigi1111
bee64abe2e Merge pull request #1623
cf321fa Added libsodium to install instructions (skftn)
2018-10-10 11:45:07 -05:00
luigi1111
c3f84d6de4 Merge pull request #1622
de8e80a sync all language files, including 'monero-core.ts', for 0.13 (erciccione)
2018-10-10 11:43:58 -05:00
Mattias Eriksson
b9f2e372d0 Update Swedish translation with changes in PR#1609 2018-10-10 09:48:01 +02:00
Lafudoci
bdb1251cfa README: update MSYS2 dependencies for Ledger 2018-10-10 10:54:59 +08:00
Sander Ferdinand
3e9df9d975 Linking libsodium 2018-10-10 02:30:51 +02:00
Sander Ferdinand
cf321fa8f3 Added libsodium to install instructions 2018-10-10 01:25:08 +02:00
Sander Ferdinand
da02e4df42 Bumping monero submodule tag to 0.13 2018-10-10 01:08:42 +02:00
erciccione
de8e80a9bd sync all language files, including 'monero-core.ts', for 0.13 2018-10-09 23:42:44 +01:00
luigi1111
f0cd704fad Merge pull request #1618
4359fe7 CZech translation for Monero 0.13 (ruzaq)
2018-10-09 17:34:41 -05:00
luigi1111
cd87af1415 Merge pull request #1621
703e499 Update monero-core_sv.ts (freminik)
2018-10-09 17:32:30 -05:00
luigi1111
6693fc7449 Merge pull request #1613
5671a45 update slovenian translation: part 2 (gorazdko)
2018-10-09 17:30:15 -05:00
luigi1111
c14df12ce6 Merge pull request #1612
c8d3b55 Hungarian update 0.13 (turossztrapacska)
2018-10-09 17:29:01 -05:00
luigi1111
271650cfbe Merge pull request #1611
b2c264e Updating Serbian language (alexej996)
2018-10-09 17:27:28 -05:00
luigi1111
d523b16c5b Merge pull request #1556
c09806d Update translation for fork (cryptobench)
2018-10-09 17:26:24 -05:00
luigi1111
1455ca8cbf Merge pull request #1593
24992f1 Updated finnish translation (rpinola)
2018-10-09 17:24:54 -05:00
luigi1111
b859854fbf Merge pull request #1608
0fdd75b Updated Lithuanian language. (kasperaitis)
2018-10-09 17:22:18 -05:00
luigi1111
3cda2b663a Merge pull request #1603
2e5012f Translation and corrections for Hebrew #1582 (samuelgozi)
2018-10-09 16:55:26 -05:00
luigi1111
8599aa4e32 Merge pull request #1601
851571c Translation update and added more missing spaces (BlackLotus64)
2018-10-09 16:54:25 -05:00
luigi1111
a1410b444b Merge pull request #1600
80954c3 i18n: update zh-cn (Equim-chan)
2018-10-09 16:52:26 -05:00
luigi1111
34b06c1a0f Merge pull request #1599
1df0520 Dutch translation update (ProkhorZ)
2018-10-09 16:49:33 -05:00
luigi1111
e0cbf43947 Merge pull request #1597
6400c88 Updated Japanese translations for 0.13 (takuto-h)
2018-10-09 16:48:34 -05:00
luigi1111
4934f77c6f Merge pull request #1598
3f5d55d Update monero-core_ru.ts (LvMsterfild)
2018-10-09 16:45:14 -05:00
luigi1111
8d28d0f842 Merge pull request #1596
0d3cb9f updated pt_PT translation (rmbb)
2018-10-09 16:42:17 -05:00
Gorazd
5671a450c8 update slovenian translation: part 2
update slovenian translation: part 1
2018-10-09 23:42:09 +02:00
luigi1111
61ce53f47e Merge pull request #1591
6760d5e edit arabic localization (3b7ameed)
2018-10-09 16:40:43 -05:00
luigi1111
5cb02b9e01 Merge pull request #1590
64d0bd9 update pt_BR strings (netrik182)
2018-10-09 16:39:43 -05:00
freminik
703e499d52 Update monero-core_sv.ts 2018-10-09 22:38:35 +01:00
luigi1111
361ff60f11 Merge pull request #1588
d80b0a3 update german language file (lovvskillz)
2018-10-09 16:38:07 -05:00
luigi1111
b68ac66237 Merge pull request #1586
9d24649 French translation for 0.13 (el00ruobuob)
2018-10-09 16:36:44 -05:00
luigi1111
928966188b Merge pull request #1585
324cb8a Update monero-core_tr.ts (xmoreee)
2018-10-09 16:34:54 -05:00
luigi1111
65a8e5e4aa Merge pull request #1584
5a1ca85 Update monero-core_it.ts (serhack)
2018-10-09 16:32:35 -05:00
luigi1111
66d99324dd Merge pull request #1566
3bc4d6a Allow arguments to be passed to start-gui.sh (nunocastromartins)
2018-10-09 16:31:21 -05:00
Phillip Jensen
c09806d560 Update translation for fork
Small tweak
2018-10-09 21:34:23 +02:00
Aivaras Kasperaitis
0fdd75be59 Updated Lithuanian language. 2018-10-09 20:32:57 +03:00
Ruzicka Pavel
4359fe706e CZech translation for Monero 0.13 2018-10-09 16:54:27 +02:00
Hayi Nukman
a636a04f0a fix some malaysian language to Indonesian 2018-10-09 15:24:01 +07:00
MB
0d3cb9f6e4 updated pt_PT translation 2018-10-08 21:14:24 +01:00
turossztrapacska
c8d3b55741 Hungarian update 0.13 2018-10-08 13:38:50 +01:00
vadim
d80b0a39a8 update german language file 2018-10-08 11:39:38 +02:00
alexej996
b2c264ea59 Updating Serbian language 2018-10-08 01:24:50 +02:00
Samuel Elgozi
2e5012f55b Translation and corrections for Hebrew #1582
Fixed some inconsistencies in the Hebrew translation

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

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

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

German translation round 2

Fix line break

German translation for v0.12.1.0

Fixed typos according to review

Fixed grammar

Fix typo

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

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

* remove the space in front of the dots
2018-04-22 18:31:36 +02:00
Rafficer
85aa323a2d Rename "entfernter Node" to "remote-Node" 2018-04-22 18:31:36 +02:00
vadim
b0f54f6d1d fix typo 2018-04-22 18:31:36 +02:00
Rafficer
acb76b867e remove translatorcomment 2018-04-22 18:31:36 +02:00
vadim
977d9873a7 fix unfinished type 2018-04-22 18:31:36 +02:00
Rafficer
ee328592e9 updated empty fields to unfinished 2018-04-22 18:31:35 +02:00
FalconGoat
431feea267 Translating leftover terms 2018-04-22 18:31:35 +02:00
Rafficer
4f62745207 Added new translations 2018-04-22 18:31:35 +02:00
FalconGoat
05bb8beb71 Proof-read some missed entries 2018-04-22 18:31:35 +02:00
FalconGoat
ab42e7b23a Implemented conclusions from today's discussion 2018-04-22 18:31:35 +02:00
FalconGoat
b4a54eb047 Some work done 2018-04-22 18:31:35 +02:00
Rafficer
5279971bd7 second half update 2018-04-22 18:31:35 +02:00
FalconGoat
f86360faf4 Finished 1st run over chunk
Translate all instances of balance to 'Guthaben'
2018-04-22 18:31:34 +02:00
Rafficer
57d8ec5e32 updated/added german translations 2018-04-22 18:31:34 +02:00
FalconGoat
68898636a4 begin translation 2018-04-22 18:29:24 +02:00
cryptochangements34
b38729fc0e fix openalias resolve 2018-04-21 21:48:31 -04:00
Sander Ferdinand
544b872ada Selection color for inputs 2018-04-21 15:26:48 +02:00
Sander Ferdinand
25e5b3528e dynamic panel height for the settings page 2018-04-20 22:42:32 +02:00
luigi1111
72541b6d51 Merge pull request #1329
9c44252 fix black checkmark on sharedringdb page
2018-04-19 11:39:22 -05:00
luigi1111
a7a954bb22 Merge pull request #1322
66f2983 fix typo in daemon setup wizard
2018-04-19 11:38:03 -05:00
luigi1111
d72e9873d1 Merge pull request #1320
f04a9e0 single colour privacy level
2018-04-19 11:37:02 -05:00
luigi1111
46dc634a5c Merge pull request #1315
d074854 replace qDebug for qWarning, lean message
2018-04-19 11:35:20 -05:00
luigi1111
9b8badc00c Merge pull request #1306
67e9109 Implement 'rightIcon' and 'rightIconInactive' image properties for componenent StandardButton
2018-04-19 11:33:11 -05:00
luigi1111
7251254d8f Merge pull request #1287
6ba65d4 Settings: use checkbox instead of button for daemon mode switching
2018-04-19 11:31:47 -05:00
qubenix
9c4425295b fix black checkmark on sharedringdb page
+ changed `checkedBlackIcon.png` to `checkedIcon-black.png` in pages/SharedRingDB.qml
2018-04-18 14:28:19 -06:00
cryptochangements34
f04a9e07e1 single colour privacy level 2018-04-15 09:45:30 -04:00
cryptochangements34
66f29831e1 fix typo in daemon setup wizard 2018-04-14 23:50:05 -04:00
cryptochangements34
251db80609 show correct address in wizard if remote node used 2018-04-14 23:33:51 -04:00
pazos
791c26734f fix Leftpanel overlay 2018-04-13 21:43:15 +02:00
pazos
d074854aae replace qDebug for qWarning, lean message 2018-04-13 19:37:48 +02:00
cryptochangements34
28fb9fa2be update ApplicationName to "monero-gui" 2018-04-12 20:56:11 -04:00
Sander Ferdinand
67e9109c14 Implement 'rightIcon' and 'rightIconInactive' image properties for componenent StandardButton 2018-04-10 22:36:39 +02:00
René Brunner
5109cb7b33 ReadMe: Updated Windows/MSYS2 compile instructions 2018-04-10 21:29:17 +02:00
luigi1111
b4353a31ac Merge pull request #1239
4e6a421 Add Qt Runtime version to settings page
2018-04-08 17:54:20 -05:00
luigi1111
a15f088e8b Merge pull request #1245
84fad36 Add missing newline to transfer confirm dialog
2018-04-08 17:53:13 -05:00
luigi1111
3034348ac8 Merge pull request #1243
9393529 ProgressBar: fix conversion to percentage
2018-04-08 17:50:09 -05:00
luigi1111
4927d9c29e Merge pull request #1258
ffd49c1 Updated README.md with new dependencies for Ubuntu 16.04+:
2018-04-08 17:45:31 -05:00
luigi1111
d71c35ab22 Merge pull request #1263
6ef2a8e Wallet: fix listener leak
2018-04-08 17:43:59 -05:00
luigi1111
11e3380ab1 Merge pull request #1272
4a96678 Fixes a bug where progress bars were not 100% filled visually (slightly off)
2018-04-08 17:42:39 -05:00
luigi1111
3d00c4ae30 Merge pull request #1271
3b76636 Refactoring signal functions
1378ae4 Reset flickable scrollview to 0 Y position
2018-04-08 17:40:11 -05:00
luigi1111
8db58b42af Merge pull request #1270
6ca0713 Fixes blockchain size warnings
2018-04-08 17:39:03 -05:00
luigi1111
8d5690c834 Merge pull request #1269
39ca338 Fixes misaligned symbols/shortcuts and changes Shared RingDB shortcut to 'A'
2018-04-08 17:37:58 -05:00
luigi1111
a8e545891c Merge pull request #1268
0e92a8f Fixes transparent dropdown
2018-04-08 17:36:43 -05:00
stoffu
6ba65d4caa Settings: use checkbox instead of button for daemon mode switching 2018-04-07 14:32:47 +09:00
stoffu
a9331a757f Set daemon address to WalletManager (requires #3576) 2018-04-07 14:10:31 +09:00
stoffu
cd4418dc45 Receive: make tracking optional 2018-04-07 14:09:28 +09:00
Sander Ferdinand
4a96678580 Fixes a bug where progress bars were not 100% filled visually (slightly off) 2018-04-05 11:56:44 +02:00
Sander Ferdinand
1378ae45c3 Reset flickable scrollview to 0 Y position 2018-04-05 11:52:09 +02:00
Sander Ferdinand
3b76636d6b Refactoring signal functions 2018-04-05 10:32:43 +02:00
Sander Ferdinand
6ca0713739 Fixes blockchain size warnings 2018-04-05 09:21:43 +02:00
Sander Ferdinand
39ca338f96 Fixes misaligned symbols/shortcuts and changes Shared RingDB shortcut to 'A' 2018-04-05 08:30:51 +02:00
Sander Ferdinand
0e92a8f723 Fixes transparent dropdown 2018-04-05 08:20:36 +02:00
moneromooo-monero
6ef2a8e21d Wallet: fix listener leak 2018-04-04 16:59:45 +01:00
Michal
ffd49c1777 Updated README.md with new dependencies for Ubuntu 16.04+:
qml-module-qtquick-controls2
    qml-module-qt-labs-folderlistmodel
2018-04-04 11:52:17 +01:00
stoffu
84fad36282 Add missing newline to transfer confirm dialog 2018-04-03 12:29:40 +09:00
stoffu
9393529613 ProgressBar: fix conversion to percentage 2018-04-03 11:51:37 +09:00
Martín Fdez
4e6a4213ff Add Qt Runtime version to settings page 2018-04-01 22:10:30 +02:00
441 changed files with 120567 additions and 54726 deletions

View File

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

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
@@ -72,7 +76,8 @@ Rectangle {
else if(pos === "Sign") menuColumn.previousButton = signButton
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
}
@@ -95,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
@@ -110,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"
}
@@ -143,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 {
@@ -173,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 {
@@ -194,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
@@ -215,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
}
*/
}
}
}
@@ -246,17 +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: 500 * scaleRatio
anchors.fill: parent
contentHeight: menuColumn.height
anchors.top: parent.top
anchors.bottom: networkStatus.top
width: parent.width
clip: true
Column {
id: menuColumn
@@ -266,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
@@ -303,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
@@ -329,7 +384,7 @@ Rectangle {
// ------------- AddressBook tab ---------------
MenuButton {
MoneroComponents.MenuButton {
id: addressBookButton
anchors.left: parent.left
anchors.right: parent.right
@@ -354,7 +409,7 @@ Rectangle {
}
// ------------- Receive tab ---------------
MenuButton {
MoneroComponents.MenuButton {
id: receiveButton
anchors.left: parent.left
anchors.right: parent.right
@@ -376,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
@@ -401,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
@@ -413,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
@@ -423,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
@@ -440,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
@@ -448,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
@@ -463,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
@@ -471,12 +556,13 @@ 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
symbol: qsTr("S") + translationManager.emptyString
symbol: qsTr("G") + translationManager.emptyString
dotColor: "#FFD781"
under: advancedButton
onClicked: {
@@ -486,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
@@ -496,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
@@ -511,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
@@ -519,7 +606,7 @@ Rectangle {
height: 1
}
// ------------- Settings tab ---------------
MenuButton {
MoneroComponents.MenuButton {
id: settingsButton
anchors.left: parent.left
anchors.right: parent.right
@@ -541,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
@@ -556,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
@@ -568,28 +656,39 @@ Rectangle {
} // Flickable
NetworkStatusItem {
Rectangle {
id: separator
anchors.left: parent.left
anchors.right: parent.right
anchors.leftMargin: 0
anchors.rightMargin: 0
anchors.bottom: networkStatus.top;
height: 10 * scaleRatio
color: "transparent"
}
MoneroComponents.NetworkStatusItem {
id: networkStatus
anchors.left: parent.left
anchors.right: parent.right
anchors.leftMargin: 4
anchors.rightMargin: 4
anchors.leftMargin: 5 * scaleRatio
anchors.rightMargin: 0
anchors.bottom: (progressBar.visible)? progressBar.top : parent.bottom;
connected: Wallet.ConnectionStatus_Disconnected
height: 58 * scaleRatio
height: 48 * scaleRatio
}
ProgressBar {
MoneroComponents.ProgressBar {
id: progressBar
anchors.left: parent.left
anchors.right: parent.right
anchors.bottom: daemonProgressBar.top
height: 35 * scaleRatio
height: 48 * scaleRatio
syncType: qsTr("Wallet")
visible: networkStatus.connected
}
ProgressBar {
MoneroComponents.ProgressBar {
id: daemonProgressBar
anchors.left: parent.left
anchors.right: parent.right

68
Logger.cpp Normal file
View File

@@ -0,0 +1,68 @@
#include <QCoreApplication>
#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 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)
//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)
//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 and ensure path folder exists
const QString getLogPath(const QString logPath)
{
const QFileInfo fi(logPath);
if(!logPath.isEmpty() && !fi.isDir())
return fi.absoluteFilePath();
else {
QDir appDir(osPath + "/" + appFolder);
if(!appDir.exists())
if(!appDir.mkpath("."))
qWarning() << "Logger: Cannot create log directory " + appDir.path();
return appDir.path() + "/" + defaultLogName;
}
}
// custom messageHandler that foward all messages to easylogging
void messageHandler(QtMsgType type, const QMessageLogContext &context, const QString &message)
{
(void) context; // context isn't used in release builds
const std::string cat = "frontend"; // category displayed in the log
const std::string msg = message.toStdString();
switch(type)
{
case QtDebugMsg: Monero::Wallet::debug(cat, msg); break;
case QtInfoMsg: Monero::Wallet::info(cat, msg); break;
case QtWarningMsg: Monero::Wallet::warning(cat, msg); break;
case QtCriticalMsg: Monero::Wallet::error(cat, msg); break;
case QtFatalMsg: Monero::Wallet::error(cat, msg); break;
}
}

8
Logger.h Normal file
View File

@@ -0,0 +1,8 @@
#ifndef LOGGER_H
#define LOGGER_H
const QString getLogPath(const QString logPath);
void messageHandler(QtMsgType type, const QMessageLogContext &context, const QString &message);
#endif // LOGGER_H

View File

@@ -29,14 +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
@@ -50,10 +53,12 @@ Rectangle {
property string unlockedBalanceText
property int minHeight: (appWindow.height > 800) ? appWindow.height : 800 * scaleRatio
property alias contentHeight: mainFlickable.contentHeight
property alias flickable: mainFlickable
// property int headerHeight: header.height
property Transfer transferView: Transfer { }
property Receive receiveView: Receive { }
property Merchant merchantView: Merchant { }
property TxKey txkeyView: TxKey { }
property SharedRingDB sharedringdbView: SharedRingDB { }
property History historyView: History { }
@@ -62,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()
@@ -70,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"
}
@@ -106,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 }
@@ -116,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: 1000 * scaleRatio }
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 }
@@ -128,7 +139,7 @@ Rectangle {
}, State {
name: "SharedRingDB"
PropertyChanges { target: root; currentView: sharedringdbView }
PropertyChanges { target: mainFlickable; contentHeight: minHeight }
PropertyChanges { target: mainFlickable; contentHeight: sharedringdbView.panelHeight + 100 }
}, State {
name: "AddressBook"
PropertyChanges { target: root; currentView: addressBookView }
@@ -136,30 +147,35 @@ 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 }
PropertyChanges { target: mainFlickable; contentHeight: 2000 * scaleRatio }
PropertyChanges { target: mainFlickable; contentHeight: settingsView.settingsHeight }
}, 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" }
@@ -170,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 {
@@ -180,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

120
README.md
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
@@ -69,39 +77,25 @@ Packaging for your favorite distribution would be a welcome contribution!
### On Linux:
(Tested on Ubuntu 16.04 x86, 16.10 x64, Gentoo x64 and Linux Mint 18 "Sarah" - Cinnamon x64)
(Tested on Ubuntu 17.10 x64, Ubuntu 18.04 x64 and Gentoo x64)
1. Install Monero dependencies
- For Ubuntu and Mint
- For Debian distributions (Debian, Ubuntu, Mint, Tails...)
`sudo apt install build-essential cmake libboost-all-dev miniupnpc libunbound-dev graphviz doxygen libunwind8-dev pkg-config libssl-dev libzmq3-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`
`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. Grab an up-to-date copy of the monero-gui repository
2. Install Qt:
`git clone https://github.com/monero-project/monero-gui.git`
*Note*: Qt 5.7 is the minimum version required to build the GUI. This makes **some** distributions (mostly based on debian, like Ubuntu 16.x or Linux Mint 18.x) obsolete. You can still build the GUI if you install an [official Qt release](https://wiki.qt.io/Install_Qt_5_on_Ubuntu), but this is not officially supported.
3. Go into the repository
- For Ubuntu 17.10+
`cd monero-gui`
4. Install the GUI dependencies
- For Ubuntu 16.04 x86
`sudo apt install qtbase5-dev qt5-default qtdeclarative5-dev qml-module-qtquick-controls qml-module-qtquick-xmllistmodel qttools5-dev-tools qml-module-qtquick-dialogs`
- For Ubuntu 16.04+ x64
`sudo apt install qtbase5-dev qt5-default qtdeclarative5-dev qml-module-qtquick-controls qml-module-qtquick-xmllistmodel qttools5-dev-tools qml-module-qtquick-dialogs qml-module-qt-labs-settings libqt5qml-graphicaleffects`
- For Linux Mint 18 "Sarah" - Cinnamon x64
`sudo apt install qml-module-qt-labs-settings qml-module-qtgraphicaleffects`
`sudo apt install qtbase5-dev 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
@@ -109,7 +103,7 @@ Packaging for your favorite distribution would be a welcome contribution!
- Optional : To build the flag `WITH_SCANNER`
- For Ubuntu and Mint
- For Ubuntu
`sudo apt install qtmultimedia5-dev qml-module-qtmultimedia libzbar-dev`
@@ -119,15 +113,17 @@ Packaging for your favorite distribution would be a welcome contribution!
`emerge dev-qt/qtmultimedia:5 media-gfx/zbar`
5. Build the GUI
- For Ubuntu and Mint
3. Clone repository
`./build.sh`
`git clone https://github.com/monero-project/monero-gui.git`
- For Gentoo
4. Build
`QT_SELECT=5 ./build.sh`
```
cd monero-gui
QT_SELECT=5 ./build.sh
```
The executable can be found in the build/release/bin folder.
@@ -194,57 +190,55 @@ More info: http://stackoverflow.com/a/35098040/1683164
### On Windows:
1. Install [msys2](http://msys2.github.io/), follow the instructions on that page on how to update packages to the latest versions
The Monero GUI on Windows is 64 bits only; 32-bit Windows GUI builds are not officially supported anymore.
2. Install Monero dependencies as described in [monero documentation](https://github.com/monero-project/monero) into msys2 environment
**As we only build application for x86, install only dependencies for x86 architecture (i686 in package name)**
```
pacman -S mingw-w64-i686-toolchain make mingw-w64-i686-cmake mingw-w64-i686-boost mingw-w64-i686-openssl mingw-w64-i686-zeromq mingw-w64-i686-libsodium
1. Install [MSYS2](https://www.msys2.org/), follow the instructions on that page on how to update system and packages to the latest versions
```
2. Open an 64-bit MSYS2 shell: Use the *MSYS2 MinGW 64-bit* shortcut, or use the `msys2_shell.cmd` batch file with a `-mingw64` parameter
3. Install git into msys2 environment
3. Install MSYS2 packages for Monero dependencies; the needed 64-bit packages have `x86_64` in their names
```
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
```
pacman -S mingw-w64-x86_64-qt5
```
There is no more need to download some special installer from the Qt website, the standard MSYS2 package for Qt will do in almost all circumstances.
5. Install git
```
pacman -S git
```
4. Install Qt5 from [official site](https://www.qt.io/download-open-source/)
- download unified installer, run and select following options:
- Qt > Qt 5.7 > MinGW 5.3.0 32 bit
- Tools > MinGW 5.3.0
- continue with installation
6. Clone repository
5. Open ```MinGW-w64 Win32 Shell``` shell
```%MSYS_ROOT%\msys2_shell.cmd -mingw32```
Where ```%MSYS_ROOT%``` will be ```c:\msys32``` if your host OS is x86-based or ```c:\msys64``` if your host OS
is x64-based
6. Install the latest version of boost, specifically the required static libraries
```
cd
wget http://sourceforge.net/projects/boost/files/boost/1.63.0/boost_1_63_0.tar.bz2
tar xjf boost_1_63_0.tar.bz2
cd boost_1_63_0
./bootstrap.sh mingw
./b2 --prefix=/mingw32/boost --layout=tagged --without-mpi --without-python toolset=gcc address-model=32 variant=debug,release link=static threading=multi runtime-link=static -j$(nproc) install
```
7. Clone repository
```
cd
git clone https://github.com/monero-project/monero-gui.git
```
8. Build the GUI
7. Build
```
cd monero-gui
export PATH=$(ls -rd /c/Qt/5.[6,7,8]/mingw53_32/bin | head -1):$PATH
./build.sh
source ./build.sh release-static
cd build
make deploy
```
The executable can be found in the ```.\release\bin``` directory.
**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

@@ -25,19 +25,12 @@ bool TranslationManager::setLanguage(const QString &language)
return true;
}
// translations are compiled into app binary
#ifdef Q_OS_MACX
QString dir = qApp->applicationDirPath() + "/../Resources/translations";
#else
QString dir = qApp->applicationDirPath() + "/translations";
#endif
QString filename = "monero-core_" + language;
qDebug("%s: loading translation file '%s' from '%s",
qDebug("%s: loading translation file '%s' from '%s'",
__FUNCTION__, qPrintable(filename), qPrintable(dir));
if (m_translator->load(filename, dir)) {
qDebug("%s: translation for language '%s' loaded successfully",
__FUNCTION__, qPrintable(language));
@@ -45,11 +38,24 @@ bool TranslationManager::setLanguage(const QString &language)
qApp->installTranslator(m_translator);
emit languageChanged();
return true;
} else {
qCritical("%s: error loading translation for language '%s'",
__FUNCTION__, qPrintable(language));
return false;
}
qDebug("%s: couldn't load translation file '%s' from '%s'",
__FUNCTION__, qPrintable(filename), qPrintable(dir));
qDebug("%s: loading embedded translation file '%s'",
__FUNCTION__, qPrintable(filename));
if (m_translator->load(filename, ":")) {
qDebug("%s: embedded translation for language '%s' loaded successfully",
__FUNCTION__, qPrintable(language));
qApp->installTranslator(m_translator);
emit languageChanged();
return true;
}
qCritical("%s: error loading translation for language '%s'",
__FUNCTION__, qPrintable(language));
return false;
}
TranslationManager *TranslationManager::instance()

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

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

View File

@@ -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,37 +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: checkBox.checked ? Qt.rgba(1, 1, 1, 0.35) : Qt.rgba(1, 1, 1, 0.25)
}
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 != ""
}
}
@@ -88,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

@@ -28,6 +28,7 @@
import QtQuick 2.0
import QtQuick.Layouts 1.1
import QtGraphicalEffects 1.0
import "." 1.0
RowLayout {
@@ -40,6 +41,7 @@ RowLayout {
property int fontSize: 14 * scaleRatio
property alias fontColor: label.color
property int textMargin: 8 * scaleRatio
property bool darkDropIndicator: false
signal clicked()
height: 25 * scaleRatio
@@ -55,7 +57,6 @@ RowLayout {
height: label.height
width: (label.width + indicatorRect.width + checkBox.textMargin)
color: "transparent"
anchors.left: parent.left
Text {
id: label
@@ -74,12 +75,19 @@ RowLayout {
anchors.left: label.right
anchors.leftMargin: textMargin
color: "transparent"
rotation: checkBox.checked ? 180 * scaleRatio : 0
Image {
id: indicatorImage
anchors.centerIn: parent
source: "../images/whiteDropIndicator.png"
rotation: checkBox.checked ? 180 * scaleRatio : 0
visible: !darkDropIndicator
}
ColorOverlay {
anchors.fill: indicatorImage
source: indicatorImage
color: "#FF000000"
visible: darkDropIndicator
}
}

View File

@@ -27,22 +27,23 @@
// THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
import QtQuick 2.0
import QtQuick.Controls 1.4
import QtQuick.Controls 2.0
import QtQuick.Dialogs 1.2
import QtQuick.Layouts 1.1
import QtQuick.Controls.Styles 1.4
import QtQuick.Window 2.0
import QtQuick.Window 2.2
import "../components" as MoneroComponents
import "../js/Windows.js" as Windows
import "../js/Utils.js" as Utils
Window {
id: root
modality: Qt.ApplicationModal
flags: Qt.Window | Qt.FramelessWindowHint
property alias title: dialogTitle.text
color: "black"
flags: Windows.flags
property alias text: dialogContent.text
property alias content: root.text
property alias okVisible: okButton.visible
property alias textArea: dialogContent
property var icon
@@ -50,15 +51,25 @@ Window {
signal accepted()
signal rejected()
onClosing: {
inactiveOverlay.visible = false;
}
function open() {
show()
inactiveOverlay.visible = true;
show();
}
// TODO: implement without hardcoding sizes
width: 480
height: 280
// background gradient
Image {
anchors.fill: parent
source: "../images/middlePanelBg.jpg"
}
// Make window draggable
MouseArea {
anchors.fill: parent
@@ -70,79 +81,127 @@ Window {
ColumnLayout {
id: mainLayout
spacing: 10
anchors { fill: parent; margins: 35 }
RowLayout {
id: column
//anchors {fill: parent; margins: 16 }
Layout.alignment: Qt.AlignHCenter
anchors.fill: parent
anchors.topMargin: 20 * scaleRatio
anchors.margins: 35 * scaleRatio
spacing: 20 * scaleRatio
Label {
id: dialogTitle
horizontalAlignment: Text.AlignHCenter
font.pixelSize: 32
font.family: "Arial"
color: "#555555"
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
anchors.fill: parent
RowLayout {
TextArea {
id : dialogContent
Layout.fillWidth: true
Layout.fillHeight: true
font.family: "Arial"
textFormat: TextEdit.AutoText
readOnly: true
font.pixelSize: 12
}
}
TextArea.flickable: TextArea {
id : dialogContent
textFormat: TextEdit.RichText
selectByMouse: true
selectByKeyboard: true
font.family: MoneroComponents.Style.defaultFontColor
font.pixelSize: 14 * scaleRatio
color: MoneroComponents.Style.defaultFontColor
selectionColor: MoneroComponents.Style.dimmedFontColor
wrapMode: TextEdit.Wrap
readOnly: true
function logCommand(msg){
msg = log_color(msg, "lime");
textArea.append(msg);
}
function logMessage(msg){
msg = msg.trim();
var color = "white";
if(msg.toLowerCase().indexOf('error') >= 0){
color = "red";
} else if (msg.toLowerCase().indexOf('warning') >= 0){
color = "yellow";
}
// Ok/Cancel buttons
RowLayout {
id: buttons
spacing: 60
Layout.alignment: Qt.AlignHCenter
// format multi-lines
if(msg.split("\n").length >= 2){
msg = msg.split("\n").join('<br>');
}
MoneroComponents.StandardButton {
id: okButton
width: 120
fontSize: 14
text: qsTr("Close") + translationManager.emptyString
onClicked: {
root.close()
root.accepted()
log(msg, color);
}
function log_color(msg, color){
return "<span style='color: " + color + ";' >" + msg + "</span>";
}
function log(msg, color){
var timestamp = Utils.formatDate(new Date(), {
weekday: undefined,
month: "numeric",
timeZoneName: undefined
});
var _timestamp = log_color("[" + timestamp + "]", "#FFFFFF");
var _msg = log_color(msg, color);
textArea.append(_timestamp + " " + _msg);
// scroll to bottom
//if(flickable.contentHeight > content.height){
// flickable.contentY = flickable.contentHeight + 20;
//}
}
}
ScrollBar.vertical: ScrollBar {}
}
}
RowLayout {
Layout.fillWidth: true
MoneroComponents.LineEdit {
id: sendCommandText
width: 300
Layout.fillWidth: true
placeholderText: qsTr("command + enter (e.g help)") + translationManager.emptyString
onAccepted: {
if(text.length > 0)
daemonManager.sendCommand(text,currentWallet.nettype);
if(text.length > 0) {
textArea.logCommand(">>> " + text)
daemonManager.sendCommand(text, currentWallet.nettype);
}
text = ""
}
}
// Status button
// MoneroComponents.StandardButton {
// id: sendCommandButton
// enabled: sendCommandText.text.length > 0
// fontSize: 14
// text: qsTr("Send command")
// onClicked: {
// daemonManager.sendCommand(sendCommandText.text,currentWallet.testnet);
// }
// }
}
}
// window borders
Rectangle {
anchors.bottom: parent.bottom
anchors.top: parent.top
anchors.left: parent.left
width:1
color: "#2F2F2F"
z: 2
}
Rectangle {
anchors.bottom: parent.bottom
anchors.top: parent.top
anchors.right: parent.right
width:1
color: "#2F2F2F"
z: 2
}
Rectangle {
anchors.bottom: parent.bottom
anchors.right: parent.right
anchors.left: parent.left
height:1
color: "#2F2F2F"
z: 2
}
}

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.greyFontColor
}
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.greyFontColor;
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

@@ -38,6 +38,8 @@ TextField {
horizontalAlignment: TextInput.AlignLeft
selectByMouse: true
color: MoneroComponents.Style.defaultFontColor
selectionColor: MoneroComponents.Style.dimmedFontColor
selectedTextColor: MoneroComponents.Style.defaultFontColor
background: Rectangle {
color: "transparent"

View File

@@ -46,6 +46,7 @@ Item {
signal rejected()
function open() {
inactiveOverlay.visible = true
leftPanel.enabled = false
middlePanel.enabled = false
titleBar.enabled = false
@@ -56,6 +57,7 @@ Item {
}
function close() {
inactiveOverlay.visible = false
leftPanel.enabled = true
middlePanel.enabled = true
titleBar.enabled = true
@@ -63,7 +65,7 @@ Item {
}
ColumnLayout {
z: bg.z + 1
z: parent.z + 1
id: mainLayout
spacing: 10
anchors { fill: parent; margins: 35 }
@@ -77,7 +79,6 @@ Item {
Label {
id: label
anchors.left: parent.left
Layout.fillWidth: true
font.pixelSize: 16 * scaleRatio
@@ -91,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
@@ -101,6 +101,8 @@ Item {
leftPadding: 10
topPadding: 10
color: MoneroComponents.Style.defaultFontColor
selectionColor: MoneroComponents.Style.dimmedFontColor
selectedTextColor: MoneroComponents.Style.defaultFontColor
background: Rectangle {
radius: 2
@@ -153,12 +155,4 @@ Item {
}
}
}
Rectangle {
id: bg
z: parent.z + 1
anchors.fill: parent
color: "black"
opacity: 0.8
}
}

View File

@@ -32,34 +32,33 @@ import QtQuick 2.7
import "../js/TxUtils.js" as TxUtils
import "../components" as MoneroComponents
TextArea {
property bool error: false
property bool addressValidation: false
property bool wrapAnywhere: true
property int fontSize: 18 * scaleRatio
property bool fontBold: false
property string fontColor: MoneroComponents.Style.defaultFontColor
property bool mouseSelection: true
property bool error: false
property bool addressValidation: false
id: textArea
font.family: MoneroComponents.Style.fontRegular.name
color: fontColor
font.pixelSize: fontSize
font.bold: fontBold
horizontalAlignment: TextInput.AlignLeft
selectByMouse: true
color: MoneroComponents.Style.defaultFontColor
selectByMouse: mouseSelection
selectionColor: MoneroComponents.Style.dimmedFontColor
selectedTextColor: MoneroComponents.Style.defaultFontColor
property int minimumHeight: 100 * scaleRatio
height: contentHeight > minimumHeight ? contentHeight : minimumHeight
wrapMode: {
if(wrapAnywhere){
return Text.WrapAnywhere;
} else {
return Text.WordWrap;
}
}
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

@@ -26,7 +26,7 @@
// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
// THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
import QtQuick 2.0
import QtQuick 2.5
import QtQuick.Layouts 1.1
import "../components" as MoneroComponents
@@ -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
@@ -43,6 +43,9 @@ Item {
property string fontFamily: ""
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
@@ -64,5 +67,6 @@ Item {
font.bold: fontBold
color: fontColor
onLinkActivated: item.linkActivated()
textFormat: parent.textFormat
}
}

View File

@@ -43,7 +43,6 @@ Rectangle {
width: labelButtonText.width + 14
anchors.right: copyButton.left
anchors.rightMargin: 6
visible: isValidOpenAliasAddress(addressLine.text)
Text {
id: labelButtonText

View File

@@ -32,7 +32,7 @@ import "../components" as MoneroComponents
Label {
id: item
fontSize: 17 * scaleRatio
fontSize: 18 * scaleRatio
Rectangle {
anchors.top: item.bottom
@@ -43,4 +43,10 @@ Label {
color: MoneroComponents.Style.dividerColor
opacity: MoneroComponents.Style.dividerOpacity
}
MouseArea {
anchors.fill: parent
acceptedButtons: Qt.NoButton
cursorShape: parent.hoveredLink ? Qt.PointingHandCursor : Qt.ArrowCursor
}
}

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

@@ -40,8 +40,9 @@ Item {
property bool placeholderFontBold: false
property int placeholderFontSize: 18 * scaleRatio
property string placeholderColor: MoneroComponents.Style.defaultFontColor
property real placeholderOpacity: 0.25
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
@@ -50,16 +51,19 @@ Item {
property alias inlineButtonText: inlineButtonId.text
property alias inlineIcon: inlineIcon.visible
property bool copyButton: false
property bool borderDisabled: false
property string borderColor: {
if(input.activeFocus){
return Qt.rgba(255, 255, 255, 0.35);
if(error && input.text !== ""){
return MoneroComponents.Style.inputBorderColorInvalid;
} else if(input.activeFocus){
return MoneroComponents.Style.inputBorderColorActive;
} else {
return Qt.rgba(255, 255, 255, 0.25);
return MoneroComponents.Style.inputBorderColorInActive;
}
}
property bool borderDisabled: false
property int fontSize: 18 * scaleRatio
property bool showBorder: true
property bool fontBold: false
property alias fontColor: input.color
property bool error: false
@@ -105,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
@@ -140,6 +143,7 @@ Item {
anchors.top: showingHeader ? inputLabel.bottom : parent.top
anchors.topMargin: showingHeader ? 12 * scaleRatio : 2 * scaleRatio
width: parent.width
clip: true
Text {
id: placeholderLabel
@@ -194,12 +198,14 @@ Item {
MoneroComponents.Input {
id: input
anchors.fill: parent
anchors.leftMargin: inlineIcon.visible ? 38 : 0
anchors.leftMargin: inlineIcon.visible ? 44 * scaleRatio : 0
font.pixelSize: item.fontSize
font.bold: item.fontBold
onEditingFinished: item.editingFinished()
onAccepted: item.accepted();
onTextChanged: item.textUpdated()
topPadding: 10 * scaleRatio
bottomPadding: 10 * scaleRatio
}
MoneroComponents.InlineButton {
@@ -207,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

@@ -32,25 +32,68 @@ import QtQuick.Layouts 1.1
import "../components" as MoneroComponents
ColumnLayout {
id: lineditmulti
property alias text: multiLine.text
property alias placeholderText: placeholderLabel.text
id: item
Layout.fillWidth: true
property alias text: input.text
property alias labelText: inputLabel.text
property alias error: multiLine.error
property alias readOnly: multiLine.readOnly
property alias addressValidation: multiLine.addressValidation
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
property int placeholderFontSize: 18 * scaleRatio
property string placeholderColor: MoneroComponents.Style.defaultFontColor
property real placeholderOpacity: 0.35
property bool borderDisabled: false
property string borderColor: {
if(input.error && input.text !== ""){
return MoneroComponents.Style.inputBorderColorInvalid;
} else if(input.activeFocus){
return MoneroComponents.Style.inputBorderColorActive;
} else {
return MoneroComponents.Style.inputBorderColorInActive;
}
}
property bool error: false
property string labelFontColor: MoneroComponents.Style.defaultFontColor
property bool labelFontBold: false
property int labelFontSize: 16 * scaleRatio
property bool labelButtonVisible: false
property bool copyButton: false
property bool wrapAnywhere: true
property bool showingHeader: true
property bool showBorder: true
property string fontColor: "white"
property bool fontBold: false
property int fontSize: 16 * scaleRatio
property bool mouseSelection: true
property alias readOnly: input.readOnly
property bool copyButton: false
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();
spacing: 0
Rectangle {
@@ -65,57 +108,81 @@ ColumnLayout {
anchors.top: parent.top
anchors.left: parent.left
font.family: MoneroComponents.Style.fontRegular.name
font.pixelSize: 16 * scaleRatio
font.pixelSize: item.labelFontSize
font.bold: labelFontBold
textFormat: Text.RichText
color: MoneroComponents.Style.defaultFontColor
color: item.labelFontColor
onLinkActivated: inputLabelLinkActivated()
MouseArea {
anchors.fill: parent
acceptedButtons: Qt.NoButton
cursorShape: parent.hoveredLink ? Qt.PointingHandCursor : Qt.ArrowCursor
}
}
MoneroComponents.LabelButton {
id: labelButton
onClicked: labelButtonClicked()
visible: labelButtonVisible
}
RowLayout {
anchors.right: parent.right
spacing: 16 * scaleRatio
MoneroComponents.LabelButton {
id: copyButtonId
visible: copyButton && multiLine.text !== ""
text: qsTr("Copy")
anchors.right: labelButton.visible ? inputLabel.right : parent.right
anchors.rightMargin: labelButton.visible? 4 : 0
onClicked: {
if (multiLine.text.length > 0) {
console.log("Copied to clipboard");
clipboard.setText(multiLine.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
}
}
}
MoneroComponents.InputMulti {
id: multiLine
id: input
readOnly: false
addressValidation: true
anchors.top: parent.showingHeader ? inputLabelRect.bottom : parent.top
addressValidation: false
Layout.fillWidth: true
topPadding: parent.showingHeader ? 10 * scaleRatio : 0
bottomPadding: 10 * scaleRatio
wrapAnywhere: parent.wrapAnywhere
fontSize: parent.fontSize
fontBold: parent.fontBold
leftPadding: item.inputPaddingLeft
rightPadding: item.inputPaddingRight
topPadding: item.inputPaddingTop
bottomPadding: item.inputPaddingBottom
wrapMode: item.wrapMode
fontSize: item.fontSize
fontBold: item.fontBold
fontColor: item.fontColor
mouseSelection: item.mouseSelection
onEditingFinished: item.editingFinished()
error: item.error
Text {
id: placeholderLabel
visible: multiLine.text ? false : true
visible: input.text ? false : true
anchors.verticalCenter: parent.verticalCenter
anchors.left: parent.left
anchors.leftMargin: 10 * scaleRatio
opacity: 0.25
color: MoneroComponents.Style.defaultFontColor
font.family: MoneroComponents.Style.fontRegular.name
font.pixelSize: 18 * scaleRatio
opacity: item.placeholderOpacity
color: item.placeholderColor
font.family: item.placeholderFontFamily
font.bold: item.placeholderFontBold
font.pixelSize: item.placeholderFontSize
text: ""
z: 3
}
@@ -123,18 +190,19 @@ ColumnLayout {
Rectangle {
color: "transparent"
border.width: 1
border.color: {
if(multiLine.error && multiLine.text !== ""){
return Qt.rgba(255, 0, 0, 0.45);
} else if(multiLine.activeFocus){
return Qt.rgba(255, 255, 255, 0.35);
} else {
return Qt.rgba(255, 255, 255, 0.25);
}
}
radius: 4
border.color: item.borderColor
radius: item.inputRadius
anchors.fill: parent
visible: lineditmulti.showBorder
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

@@ -123,8 +123,10 @@ Rectangle {
Text {
id: symbolText
anchors.centerIn: parent
font.pixelSize: 11 * scaleRatio
anchors.right: parent.right
anchors.rightMargin: 44 * scaleRatio
anchors.verticalCenter: parent.verticalCenter
font.pixelSize: 12 * scaleRatio
font.bold: true
color: button.checked || buttonArea.containsMouse ? "#FFFFFF" : dot.color
visible: appWindow.ctrlPressed

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

@@ -38,14 +38,9 @@ import "../components" as MoneroComponents
Item {
id: root
visible: false
Rectangle {
id: bg
z: parent.z + 1
anchors.fill: parent
color: "black"
opacity: 0.8
}
z: parent.z + 2
property bool isHidden: true
property alias password: passwordInput1.text
// same signals as Dialog has
@@ -54,6 +49,7 @@ Item {
signal closeCallback()
function open() {
inactiveOverlay.visible = true
leftPanel.enabled = false
middlePanel.enabled = false
titleBar.enabled = false
@@ -65,12 +61,19 @@ Item {
}
function close() {
inactiveOverlay.visible = false
leftPanel.enabled = true
middlePanel.enabled = true
titleBar.enabled = true
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
@@ -86,7 +89,7 @@ Item {
}
ColumnLayout {
z: bg.z + 1
z: inactiveOverlay.z + 1
id: mainLayout
spacing: 10
anchors { fill: parent; margins: 35 * scaleRatio }
@@ -100,7 +103,6 @@ Item {
Label {
text: qsTr("Please enter new password")
anchors.left: parent.left
Layout.fillWidth: true
font.pixelSize: 16 * scaleRatio
@@ -113,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
@@ -123,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 {
@@ -132,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
}
}
}
}
@@ -158,7 +181,6 @@ Item {
Label {
text: qsTr("Please confirm new password")
anchors.left: parent.left
Layout.fillWidth: true
font.pixelSize: 16 * scaleRatio
@@ -171,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
@@ -182,6 +203,8 @@ Item {
leftPadding: 10
topPadding: 10
color: MoneroComponents.Style.defaultFontColor
selectionColor: MoneroComponents.Style.dimmedFontColor
selectedTextColor: MoneroComponents.Style.defaultFontColor
background: Rectangle {
radius: 2
@@ -190,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

@@ -38,17 +38,22 @@ import "../components" as MoneroComponents
Item {
id: root
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
@@ -56,18 +61,27 @@ Item {
root.visible = true;
passwordInput.forceActiveFocus();
passwordInput.text = ""
appWindow.hideBalanceForced = true;
appWindow.updateBalance();
}
function showError(errorText) {
open(root.walletName, errorText);
}
function close() {
inactiveOverlay.visible = false
leftPanel.enabled = true
middlePanel.enabled = true
titleBar.enabled = true
root.visible = false;
appWindow.hideBalanceForced = false;
appWindow.updateBalance();
closeCallback();
}
ColumnLayout {
z: bg.z + 1
z: inactiveOverlay.z + 1
id: mainLayout
spacing: 10
anchors { fill: parent; margins: 35 * scaleRatio }
@@ -81,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
@@ -90,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
@@ -105,6 +128,8 @@ Item {
leftPadding: 10
topPadding: 10
color: MoneroComponents.Style.defaultFontColor
selectionColor: MoneroComponents.Style.dimmedFontColor
selectedTextColor: MoneroComponents.Style.defaultFontColor
background: Rectangle {
radius: 2
@@ -113,15 +138,37 @@ 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
}
}
}
}
Keys.enabled: root.visible
Keys.onReturnPressed: {
root.close()
root.accepted()
@@ -144,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()
@@ -166,11 +213,4 @@ Item {
}
}
Rectangle {
id: bg
anchors.fill: parent
color: "black"
opacity: 0.8
}
}

View File

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

@@ -26,6 +26,8 @@
// 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 {
@@ -39,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
}
}
@@ -69,13 +71,9 @@ Item {
anchors.left: parent.left
anchors.margins: 4
//radius: 2
width: row.x
width: ruler.x
color: {
if(item.fillLevel < 5) return "#FF6C3C"
if(item.fillLevel < 13) return "#AAFFBB"
return "#36B25C"
}
color: "#FF6C3C"
Timer {
interval: 500
@@ -96,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
}
@@ -105,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
}
@@ -114,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
}
@@ -125,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
@@ -133,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)
}
@@ -145,7 +143,7 @@ Item {
}
Row {
id: row
id: ruler
anchors.right: bar.right
anchors.rightMargin: 8
anchors.top: bar.bottom
@@ -166,7 +164,7 @@ Item {
width: 1
color: "#DBDBDB"
Component.onCompleted: {
row.positions[index] = delegateItem2
ruler.positions[index] = delegateItem2
}
}
}
@@ -186,7 +184,7 @@ Item {
width: 1
color: "#DBDBDB"
Component.onCompleted: {
row.positions[index + 4] = delegateItem1
ruler.positions[index + 4] = delegateItem1
}
}
}

View File

@@ -42,7 +42,7 @@ Rectangle {
function updateProgress(currentBlock,targetBlock, blocksToSync, statusTxt){
if(targetBlock > 0) {
var remaining = (currentBlock < targetBlock) ? targetBlock - currentBlock : 0
var progressLevel = (blocksToSync > 0 && blocksToSync != remaining) ? (100*(blocksToSync - remaining)/blocksToSync).toFixed(0) : 100*(currentBlock / targetBlock).toFixed(0)
var progressLevel = (blocksToSync > 0 && blocksToSync != remaining) ? (100*(blocksToSync - remaining)/blocksToSync).toFixed(0) : (100*(currentBlock / targetBlock)).toFixed(0)
fillLevel = progressLevel
if(typeof statusTxt != "undefined" && statusTxt != "") {
progressText.text = statusTxt;
@@ -67,7 +67,7 @@ Rectangle {
font.pixelSize: 13 * scaleRatio
font.bold: true
color: "white"
text: qsTr("Synchronizing %1").arg(syncType)
text: qsTr("Synchronizing %1").arg(syncType) + translationManager.emptyString
height: 18 * scaleRatio
}
@@ -100,7 +100,7 @@ Rectangle {
anchors.bottom: parent.bottom
anchors.left: parent.left
height: bar.height
property int maxWidth: bar.width - 4 * scaleRatio
property int maxWidth: bar.width * scaleRatio
width: (maxWidth * fillLevel) / 100
radius: 8
// could change color based on progressbar status; if(item.fillLevel < 99 )

View File

@@ -0,0 +1,92 @@
// 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 QtQuick.Layouts 1.1
import "../components" as MoneroComponents
Item {
id: radioButton
property alias text: label.text
property bool checked: false
property int fontSize: 14 * scaleRatio
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)
function toggle(){
radioButton.checked = !radioButton.checked
radioButton.clicked()
}
RowLayout {
id: layout
Rectangle {
id: button
color: "transparent"
border.color: borderColor
height: radioButton.height
width: radioButton.height
radius: radioButton.height
Rectangle {
visible: radioButton.checked
anchors.horizontalCenter: parent.horizontalCenter
anchors.verticalCenter: parent.verticalCenter
color: checkedColor
width: 10 * scaleRatio
height: 10 * scaleRatio
radius: 10
opacity: 0.8
}
}
Text {
id: label
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()
}
}
}

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 {
@@ -48,17 +49,31 @@ GridLayout {
property bool placeholderFontBold: false
property int placeholderFontSize: 18 * scaleRatio
property string placeholderColor: MoneroComponents.Style.defaultFontColor
property real placeholderOpacity: 0.25
property real placeholderOpacity: 0.35
property string lineEditBorderColor: Qt.rgba(0, 0, 0, 0.15)
property string lineEditBackgroundColor: "white"
property string lineEditFontColor: "black"
property int lineEditFontSize: 18 * scaleRatio
property int labelFontSize: 16 * scaleRatio
property bool lineEditFontBold: true
signal editingFinished()
signal textChanged()
function isValid() {
return daemonAddr.text.trim().length > 0 && daemonPort.acceptableInput
}
function getAddress() {
return daemonAddr.text.trim() + ":" + daemonPort.text.trim()
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 {
@@ -70,11 +85,14 @@ GridLayout {
placeholderFontSize: root.placeholderFontSize
placeholderColor: root.placeholderColor
placeholderOpacity: root.placeholderOpacity
onEditingFinished: root.editingFinished()
labelFontSize: root.labelFontSize
borderColor: lineEditBorderColor
backgroundColor: lineEditBackgroundColor
fontColor: lineEditFontColor
fontBold: lineEditFontBold
fontSize: lineEditFontSize
onEditingFinished: root.editingFinished()
onTextChanged: root.textChanged()
}
LineEdit {
@@ -86,10 +104,15 @@ GridLayout {
placeholderFontSize: root.placeholderFontSize
placeholderColor: root.placeholderColor
placeholderOpacity: root.placeholderOpacity
onEditingFinished: root.editingFinished()
labelFontSize: root.labelFontSize
borderColor: lineEditBorderColor
backgroundColor: lineEditBackgroundColor
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

@@ -34,7 +34,7 @@ import "../components" as MoneroComponents
Item {
id: button
property string rightIcon: ""
property string icon: ""
property string rightIconInactive: ""
property string textColor: button.enabled? MoneroComponents.Style.buttonTextColor: MoneroComponents.Style.buttonTextColorDisabled
property bool small: false
property alias text: label.text
@@ -44,10 +44,10 @@ Item {
}
signal clicked()
// Dynamic height/width
Layout.minimumWidth: (label.contentWidth > 50)? label.contentWidth + 22 : 60
height: small ? 30 * scaleRatio : 36 * scaleRatio
width: buttonLayout.width + 22 * scaleRatio
implicitHeight: height
implicitWidth: width
function doClick() {
// Android workaround
@@ -56,54 +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: Text.AlignHCenter
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
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;
}
}
}
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

@@ -32,17 +32,19 @@ import "../components" as MoneroComponents
Item {
id: dropdown
property int itemTopMargin: 0
property alias dataModel: repeater.model
property string shadowPressedColor
property string shadowReleasedColor
property string pressedColor
property string releasedColor
property string textColor: "#FFFFFF"
property alias currentIndex: column.currentIndex
property alias currentIndex: columnid.currentIndex
property bool expanded: false
property int dropdownHeight: 42
property int fontHeaderSize: 16 * scaleRatio
property int fontItemSize: 14 * scaleRatio
property string colorBorder: MoneroComponents.Style.inputBorderColorInActive
property string colorHeaderBackground: "transparent"
property bool headerBorder: true
property bool headerFontBold: false
@@ -67,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 {
@@ -75,12 +77,13 @@ Item {
anchors.left: parent.left
anchors.right: parent.right
anchors.top: parent.top
anchors.topMargin: parent.itemTopMargin
height: dropdown.dropdownHeight
Rectangle {
color: dropdown.colorHeaderBackground
border.width: dropdown.headerBorder ? 1 : 0
border.color: Qt.rgba(1, 1, 1, 0.25)
border.color: dropdown.colorBorder
radius: 4
anchors.fill: parent
}
@@ -126,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
@@ -149,7 +152,7 @@ Item {
}
Column {
id: column
id: columnid
anchors.left: parent.left
anchors.right: parent.right
anchors.top: parent.top
@@ -175,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
@@ -187,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
}
@@ -224,7 +227,7 @@ Item {
onClicked: {
dropdown.expanded = false
column.currentIndex = index
columnid.currentIndex = index
changed();
dropdown.update()
}

View File

@@ -3,20 +3,28 @@ pragma Singleton
import QtQuick 2.5
QtObject {
property QtObject fontMedium: FontLoader { id: _fontMedium; source: "qrc:/fonts/SFUIDisplay-Medium.otf"; }
property QtObject fontBold: FontLoader { id: _fontBold; source: "qrc:/fonts/SFUIDisplay-Bold.otf"; }
property QtObject fontLight: FontLoader { id: _fontLight; source: "qrc:/fonts/SFUIDisplay-Light.otf"; }
property QtObject fontRegular: FontLoader { id: _fontRegular; source: "qrc:/fonts/SFUIDisplay-Regular.otf"; }
property QtObject fontMedium: FontLoader { id: _fontMedium; source: "qrc:/fonts/Roboto-Medium.ttf"; }
property QtObject fontBold: FontLoader { id: _fontBold; source: "qrc:/fonts/Roboto-Bold.ttf"; }
property QtObject fontLight: FontLoader { id: _fontLight; source: "qrc:/fonts/Roboto-Light.ttf"; }
property QtObject fontRegular: FontLoader { id: _fontRegular; source: "qrc:/fonts/Roboto-Regular.ttf"; }
property 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 greyFontColor: "#808080"
property string dimmedFontColor: "#BBBBBB"
property string lightGreyFontColor: "#DFDFDF"
property string errorColor: "#FA6800"
property string inputBoxBackground: "black"
property string inputBoxBackgroundError: "#FFDDDD"
property string inputBoxColor: "white"
property string legacy_placeholderFontColor: "#BABABA"
property string inputBorderColorActive: Qt.rgba(255, 255, 255, 0.38)
property string inputBorderColorInActive: Qt.rgba(255, 255, 255, 0.32)
property string inputBorderColorInvalid: Qt.rgba(255, 0, 0, 0.40)
property string buttonBackgroundColor: "#FA6800"
property string buttonBackgroundColorHover: "#E65E00"
@@ -25,5 +33,5 @@ QtObject {
property string buttonTextColor: "white"
property string buttonTextColorDisabled: "black"
property string dividerColor: "white"
property real dividerOpacity: 0.25
property real dividerOpacity: 0.20
}

View File

@@ -1,160 +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
import "../components" as MoneroComponents
ListView {
id: listView
clip: true
boundsBehavior: ListView.StopAtBounds
highlightMoveDuration: 0
highlightFollowsCurrentItem: true
anchors.topMargin: 0
spacing: 0
delegate: Rectangle {
id: delegate
height: 80
color: 'transparent';
anchors.topMargin: 0
width: listView.width
clip: true
MoneroComponents.LineEditMulti {
id: addressLine
fontSize: 14
readOnly: true
width: parent.width
anchors.top: parent.top
anchors.left: parent.left
anchors.right: parent.right
anchors.leftMargin: 10
anchors.topMargin: 12
anchors.rightMargin: 54
anchors.bottomMargin: 0
text: address
showingHeader: false
showBorder: false
addressValidation: false
}
MoneroComponents.IconButton {
id: clipboardButton
imageSource: "../images/copyToClipboard.png"
onClicked: {
console.log(addressLine.text + " copied to clipboard");
clipboard.setText(addressLine.text);
appWindow.showStatusMessage(qsTr("Address copied to clipboard"),3);
}
anchors.right: parent.right
anchors.rightMargin: 0
anchors.verticalCenter: parent.verticalCenter
}
Text {
id: indexText
anchors.top: addressLine.bottom
anchors.left: parent.left
anchors.leftMargin: 20
font.family: "Arial"
font.bold: true
font.pixelSize: 12
color: "#444444"
text: "#" + index
}
Text {
id: labelText
anchors.top: addressLine.bottom
anchors.left: indexText.right
anchors.right: parent.right
anchors.leftMargin: 10
font.family: "Arial"
font.bold: true
font.pixelSize: 12
color: MoneroComponents.Style.greyFontColor
text: label
}
MouseArea {
z: 5
anchors.top: parent.top
anchors.left: parent.left
anchors.bottom: parent.bottom
anchors.right: parent.right
anchors.rightMargin: clipboardButton.width
cursorShape: Qt.PointingHandCursor
onClicked: {
listView.currentIndex = index;
}
}
Rectangle {
anchors.left: parent.left
anchors.top: parent.top
anchors.bottom: parent.bottom
width: 1
color: MoneroComponents.Style.grey
z: 6
}
Rectangle {
anchors.right: parent.right
anchors.top: parent.top
anchors.bottom: parent.bottom
width: 1
color: MoneroComponents.Style.grey
z: 6
}
Rectangle {
anchors.right: parent.right
anchors.left: parent.left
anchors.bottom: parent.bottom
color: MoneroComponents.Style.grey
height: 1
z: 6
}
Rectangle {
width: 3
color: 'white'
visible: listView.currentIndex == index
anchors.left: parent.left
anchors.top: parent.top
anchors.bottom: parent.bottom
}
}
}

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

@@ -5,6 +5,7 @@ import "../components" as MoneroComponents
TextEdit {
color: MoneroComponents.Style.defaultFontColor
font.family: MoneroComponents.Style.fontRegular.name
selectionColor: MoneroComponents.Style.dimmedFontColor
wrapMode: Text.Wrap
readOnly: true
selectByMouse: true

View File

@@ -26,48 +26,78 @@
// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
// THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
import QtQuick 2.2
import QtQuick 2.5
import QtQuick.Window 2.0
import QtQuick.Layouts 1.1
Rectangle {
id: titleBar
property int mouseX: 0
property bool containsMouse: false
property alias basicButtonVisible: goToBasicVersionButton.visible
property bool customDecorations: true
signal goToBasicVersion(bool yes)
height: customDecorations && !isMobile ? 50 : 0
height: {
if(!customDecorations || isMobile){
return 0;
}
if(small) return 38 * scaleRatio;
else return 50 * scaleRatio;
}
y: -height
property string title
property alias maximizeButtonVisible: maximizeButton.visible
z: 1
Item {
id: test
width: parent.width
height: 50
z: 1
property string title
property int mouseX: 0
property bool containsMouse: false
property bool basicButtonVisible: false
property bool customDecorations: persistentSettings.customDecorations
property bool showWhatIsButton: true
property bool showMinimizeButton: false
property bool showMaximizeButton: false
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
signal minimizeClicked
signal goToBasicVersion(bool yes)
Item {
// Background gradient
width: parent.width
height: parent.height
z: parent.z + 1
// use jpg for gradiency
Image {
id: titleBarGradientImage
visible: !titleBar.orange
anchors.fill: parent
height: parent.height
width: parent.width
height: titleBar.height
width: titleBar.width
source: "../images/titlebarGradient.jpg"
}
Rectangle {
visible: titleBar.orange
width: parent.width
height: parent.height
color: "#ff6600"
}
}
Item{
Item {
id: titlebarlogo
width: 125
height: 50
height: parent.height
anchors.centerIn: parent
visible: customDecorations
z: 1
z: parent.z + 1
Image {
visible: !isMobile && showMoneroLogo && !titleBar.orange
anchors.left: parent.left
anchors.top: parent.top
anchors.topMargin: 11
@@ -75,39 +105,100 @@ Rectangle {
height: 28
source: "../images/titlebarLogo.png"
}
}
// collapse left panel
Rectangle {
id: goToBasicVersionButton
property bool containsMouse: titleBar.mouseX >= x && titleBar.mouseX <= x + width
property bool checked: false
anchors.top: parent.top
anchors.left: parent.left
color: "transparent"
height: 50 * scaleRatio
width: height
visible: isMobile
z: 2
Image {
width: 14
height: 14
anchors.centerIn: parent
source: "../images/expand.png"
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 {
id: titleLabel
visible: !showMoneroLogo && customDecorations && titleBar.title !== ''
anchors.centerIn: parent
fontSize: 18
text: titleBar.title
z: parent.z + 1
}
RowLayout {
anchors.left: parent.left
anchors.top: parent.top
width: 40
height: parent.height
spacing: 0
z: parent.z + 2
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();
}
}
}
}
@@ -118,36 +209,11 @@ Rectangle {
anchors.top: parent.top
anchors.bottom: parent.bottom
visible: parent.customDecorations
z: 2
Rectangle {
id: whatIsAreaButton
anchors.top: parent.top
anchors.bottom: parent.bottom
width: 42
color: containsMouse ? "#6B0072" : "#00000000"
Image {
anchors.centerIn: parent
width: 9
height: 16
source: "../images/question.png"
}
MouseArea {
id: whatIsArea
anchors.fill: parent
cursorShape: Qt.PointingHandCursor
onEntered: whatIsAreaButton.color = "#262626";
onExited: whatIsAreaButton.color = "transparent";
onClicked: {
}
}
}
z: parent.z + 2
Rectangle {
id: minimizeButton
visible: showMinimizeButton
anchors.top: parent.top
anchors.bottom: parent.bottom
width: 42
@@ -163,16 +229,21 @@ Rectangle {
anchors.fill: parent
hoverEnabled: true
cursorShape: Qt.PointingHandCursor
onEntered: minimizeButton.color = "#262626";
onExited: minimizeButton.color = "transparent";
onClicked: {
appWindow.visibility = Window.Minimized
onEntered: {
if(titleBar.orange){
minimizeButton.color = titleBar.buttonHoverColorOrange;
} else {
minimizeButton.color = titleBar.buttonHoverColor;
}
}
onExited: minimizeButton.color = "transparent";
onClicked: minimizeClicked();
}
}
Rectangle {
id: maximizeButton
visible: showMaximizeButton
anchors.top: parent.top
anchors.bottom: parent.bottom
width: 42
@@ -191,17 +262,21 @@ Rectangle {
anchors.fill: parent
hoverEnabled: true
cursorShape: Qt.PointingHandCursor
onEntered: maximizeButton.color = "#262626";
onExited: maximizeButton.color = "transparent";
onClicked: {
appWindow.visibility = appWindow.visibility !== Window.FullScreen ? Window.FullScreen :
Window.Windowed
onEntered: {
if(titleBar.orange){
maximizeButton.color = titleBar.buttonHoverColorOrange;
} else {
maximizeButton.color = titleBar.buttonHoverColor;
}
}
onExited: maximizeButton.color = "transparent";
onClicked: maximizeClicked();
}
}
Rectangle {
id: closeButton
visible: showCloseButton
anchors.top: parent.top
anchors.bottom: parent.bottom
width: 42
@@ -216,13 +291,39 @@ Rectangle {
MouseArea {
anchors.fill: parent
onClicked: appWindow.close();
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";
}
}
}
// window borders
Rectangle {
visible: !titleBar.orange
anchors.bottom: parent.bottom
anchors.right: parent.right
anchors.left: parent.left
height: 1
color: "#2F2F2F"
z: parent.z + 1
}
Rectangle {
visible: titleBar.small && !titleBar.orange
anchors.top: parent.top
anchors.right: parent.right
anchors.left: parent.left
height: 1
color: "#2F2F2F"
z: parent.z + 1
}
}

62
components/WarningBox.qml Normal file
View File

@@ -0,0 +1,62 @@
import QtQuick 2.7
import QtQuick.Layouts 1.1
import QtQuick.Controls 2.0
import "." as MoneroComponents
Rectangle {
id: root
property alias text: content.text
property alias textColor: content.color
property int fontSize: 15 * scaleRatio
Layout.fillWidth: true
Layout.preferredHeight: warningLayout.height
color: "#09FFFFFF"
radius: 4
border.color: MoneroComponents.Style.inputBorderColorInActive
border.width: 1
signal linkActivated;
RowLayout {
id: warningLayout
spacing: 0
anchors.left: parent.left
anchors.right: parent.right
Image {
Layout.alignment: Qt.AlignVCenter
Layout.preferredHeight: 33 * 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"
}
TextArea {
id: content
Layout.fillWidth: true
color: MoneroComponents.Style.defaultFontColor
font.family: MoneroComponents.Style.fontRegular.name
font.pixelSize: root.fontSize
horizontalAlignment: TextInput.AlignLeft
selectByMouse: true
textFormat: Text.RichText
wrapMode: Text.WordWrap
textMargin: 0
leftPadding: 4 * scaleRatio
rightPadding: 18 * scaleRatio
topPadding: 10 * scaleRatio
bottomPadding: 10 * scaleRatio
readOnly: true
onLinkActivated: root.linkActivated();
selectionColor: MoneroComponents.Style.dimmedFontColor
selectedTextColor: MoneroComponents.Style.defaultFontColor
}
}
}

View File

@@ -34,13 +34,24 @@ filter::filter(QObject *parent) :
QObject(parent)
{
m_tabPressed = false;
m_backtabPressed = false;
}
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);
if(ke->key() == Qt::Key_Tab || ke->key() == Qt::Key_Backtab) {
if(ke->key() == Qt::Key_Backtab) {
if(m_backtabPressed)
break;
else m_backtabPressed = true;
}
if(ke->key() == Qt::Key_Tab) {
if(m_tabPressed)
break;
else m_tabPressed = true;
@@ -58,7 +69,7 @@ bool filter::eventFilter(QObject *obj, QEvent *ev) {
sks = ks.toString();
}
#ifndef Q_OS_MAC
if(sks.contains("Alt+Tab") || sks.contains("Alt+Shift+Backtab"))
if(sks.contains("Alt+Tab") || sks.contains("Alt+Backtab"))
break;
#else
sks.replace("Meta", "Ctrl");
@@ -67,7 +78,11 @@ bool filter::eventFilter(QObject *obj, QEvent *ev) {
} break;
case QEvent::KeyRelease: {
QKeyEvent *ke = static_cast<QKeyEvent*>(ev);
if(ke->key() == Qt::Key_Tab || ke->key() == Qt::Key_Backtab)
if(ke->key() == Qt::Key_Backtab)
m_backtabPressed = false;
if(ke->key() == Qt::Key_Tab)
m_tabPressed = false;
QString sks;
@@ -88,7 +103,7 @@ bool filter::eventFilter(QObject *obj, QEvent *ev) {
sks = ks.toString();
}
#ifndef Q_OS_MAC
if(sks.contains("Alt+Tab") || sks.contains("Alt+Shift+Backtab"))
if(sks.contains("Alt+Tab") || sks.contains("Alt+Backtab"))
break;
#else
sks.replace("Meta", "Ctrl");

View File

@@ -36,7 +36,7 @@ class filter : public QObject
Q_OBJECT
private:
bool m_tabPressed;
bool m_backtabPressed;
public:
explicit filter(QObject *parent = 0);
@@ -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

202
fonts/LICENSE.txt Normal file
View File

@@ -0,0 +1,202 @@
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright [yyyy] [name of copyright owner]
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

BIN
fonts/Roboto-Bold.ttf Normal file

Binary file not shown.

BIN
fonts/Roboto-Light.ttf Normal file

Binary file not shown.

BIN
fonts/Roboto-Medium.ttf Normal file

Binary file not shown.

BIN
fonts/Roboto-Regular.ttf Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

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.12.0.0
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"
@@ -75,8 +77,7 @@ else
fi
if [ "$BUILD_LIBWALLET" != true ]; then
# exit this script
return
exit 0
fi
echo "GUI_MONERO_VERSION=\"$VERSIONTAG\"" > $MONERO_DIR/version.sh
@@ -89,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
@@ -137,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
@@ -147,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
@@ -187,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
@@ -237,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.

Before

Width:  |  Height:  |  Size: 191 B

After

Width:  |  Height:  |  Size: 324 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 291 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 288 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 287 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 288 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 231 B

After

Width:  |  Height:  |  Size: 396 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 30 KiB

After

Width:  |  Height:  |  Size: 21 KiB

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 87 KiB

BIN
images/checkedIcon-black.png Executable file → Normal file

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 388 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 317 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 320 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 280 B

After

Width:  |  Height:  |  Size: 383 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: 249 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 255 B

After

Width:  |  Height:  |  Size: 408 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 306 B

After

Width:  |  Height:  |  Size: 454 B

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: 59 KiB

After

Width:  |  Height:  |  Size: 3.7 KiB

BIN
images/createWalletFromDevice.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 268 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 334 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 301 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 301 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 301 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 284 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: 301 B

After

Width:  |  Height:  |  Size: 448 B

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