Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
373 commits
Select commit Hold shift + click to select a range
4a5531e
coin control focus and alternate color removed.
furszy Apr 28, 2019
42edeff
topbar icons connected to the backend.
furszy Apr 28, 2019
e4ba616
style and elements tree widget added
Neoperol Apr 28, 2019
125888e
coin control tree widget root decoration
furszy Apr 28, 2019
350b168
style options button changed
Neoperol Apr 28, 2019
ab61f2a
dashboard unconfirmed row icon
furszy Apr 29, 2019
950ee47
pixelated pixmap icons fixed.
furszy Apr 29, 2019
a601eea
Layout fixes in send, settings display and resources warning fixes
Neoperol Apr 29, 2019
602a692
tooltip menu generalization.
furszy Apr 30, 2019
4bc2b59
status warninng sync dashboard added, warning layouts removed
Neoperol Apr 30, 2019
4cec67e
send multi outputs, tooltip menu + delete row connected.
furszy May 1, 2019
384c028
send screen, contacts dropdown position on multi output fix
furszy May 1, 2019
7aedcbf
Layout changes, in main window, address and privacy view
Neoperol May 1, 2019
4169e8a
Layout warning changed
Neoperol May 3, 2019
3c7cde5
dashboard warning icon.
furszy May 3, 2019
021a44d
Progress sync added
Neoperol May 4, 2019
208ba52
topbar progress bar connected to sync widget.
furszy May 5, 2019
bca6b66
loading dialog created.
furszy May 6, 2019
7eb575f
topbar generalized to pwidget.
furszy May 6, 2019
196da4c
loading dialog + runnable tasks object
furszy May 7, 2019
229a59f
move encrypt wallet to background task.
furszy May 7, 2019
cacce31
change theme, dark mode initial connection.
furszy May 7, 2019
03e12d3
css style dark.
furszy May 7, 2019
13650d3
button show password
Neoperol May 7, 2019
f21fd8f
privacy image added
Neoperol May 7, 2019
96915f8
style dark mode changed
Neoperol May 7, 2019
d5c592d
coincontrol dark mode fixed
Neoperol May 7, 2019
4eb1ee5
dark mode improvements all over the UI.
furszy May 7, 2019
1605e65
wallet sync signal connected to dashboard warning, askkpassphrasedial…
furszy May 8, 2019
062403c
Style dark changes
Neoperol May 8, 2019
e6efef9
Icons console changed
Neoperol May 8, 2019
c75ffb7
Icons darkmode added
Neoperol May 8, 2019
316977a
signal changeTheme name changed to not override parent slot
furszy May 8, 2019
81d5a72
background loading crash fixed.
furszy May 9, 2019
1b0a804
qtcharts lib integrated.
furszy May 9, 2019
c3455f9
console update theme
furszy May 9, 2019
1304c66
tx row, use tx model flow instead of direct access.
furszy May 9, 2019
b862f6a
dashboard stakes chart connected (main logic left)
furszy May 9, 2019
2371229
wallet sync warning visible/invisible + minor UI modifications.
furszy May 10, 2019
1fef880
passphrase dialog edit line echo mode on click change fixed + dashboa…
furszy May 10, 2019
3b97499
transaction size calculation method created + connected to the tx rec…
furszy May 11, 2019
ca834b0
create/update contact from the send multi screen fully functional.
furszy May 11, 2019
766426f
send screen, tooltip menu width and remove one by one entry fix
furszy May 11, 2019
4af6af8
backup screen, texts changed.
furszy May 11, 2019
c48a417
update send screen balance on every entry.
furszy May 13, 2019
0c18316
amount entry max range.
furszy May 13, 2019
09e87cc
tx detail, show inputs connected.
furszy May 16, 2019
1927ca7
null chart change theme fix
furszy May 16, 2019
915ca4d
Loading resources added
Neoperol May 16, 2019
b4b0215
[GUI] tx detail dialog outputs connected.
furszy May 16, 2019
ca7d069
[GUI] coincontrol dialog ok button style.
furszy May 17, 2019
d60bfbb
layout send changed
Neoperol May 17, 2019
465b055
Layout confirmation changed, copy button added
Neoperol May 17, 2019
7e40e4f
Icon copy changed
Neoperol May 18, 2019
f1fa289
[GUI] txdetail dialog inputs organized in grid layout.
furszy May 18, 2019
d1a7107
[GUI] snackbar generalized + txDetailDialog copy id event connected.
furszy May 19, 2019
c6bb3db
[GUI] dashboard stakes PIV chart color.
furszy May 20, 2019
1599a40
[GUI] settings sign message connected.
furszy May 20, 2019
cefcd9f
Sign layout changed
Neoperol May 20, 2019
72cb7cf
[GUI] settings sign screen addresses dropdown connected.
furszy May 20, 2019
d4a4c39
[GUI] QLineEdit selection color and background changed.
furszy May 20, 2019
213637d
Send layout changed
Neoperol May 20, 2019
a7b7041
[GUI] welcome tutorial go back between screens fixed
furszy May 20, 2019
d11d1b7
[GUI] bip38 encrypt screen connected.
furszy May 22, 2019
a26563a
[GUI] hide dialog on loading action.
furszy May 22, 2019
54a240b
[GUI] loading text animation.
furszy May 22, 2019
49fd73b
[GUI] information and warning standard qt dialog in askpassphrasedial…
furszy May 22, 2019
77462d8
Layout coincontrol changed
Neoperol May 22, 2019
1bbf8c4
zPiv coincontrol layout changed
Neoperol May 22, 2019
84ffada
[Model] isWalletUnlocked method created.
furszy May 23, 2019
ed9702b
[GUI] check if the wallet is unlocked to perform certain actions + UI…
furszy May 23, 2019
68edadb
[GUI] Address table model update amount of send/receive address.
furszy May 23, 2019
271d0f1
[GUI] welcome tutorial texts changed.
furszy May 23, 2019
8147fc2
Send layout changed
Neoperol May 23, 2019
317b7be
Layout space changes
Neoperol May 23, 2019
e8f1ea6
layout request changed
Neoperol May 23, 2019
7ea6798
Style and layout changes
Neoperol May 24, 2019
ec300f4
[GUI] request dialog layout organization + send layout change
furszy May 25, 2019
9d42541
[GUI] dashboard txes sort fixed.
furszy May 27, 2019
3032c83
[GUI] send confirmation dialog, not show outputs when there is only one.
furszy May 27, 2019
ac1cfb5
[GUI] styles fixed from a bad rebase.
furszy May 27, 2019
ba8634d
[GUI] Store size of zc txes.
furszy May 27, 2019
c1446ba
[GUI] empty view when no zc txes.
furszy May 27, 2019
676b48d
[GUI] request dialog address not updated fix + layout reorg.
furszy May 28, 2019
fd63c44
[GUI] privacy widget cleanup + no coin inputs notifications.
furszy May 28, 2019
bdebe41
[GUI] comma char replaced thin space on html formatted balance.
furszy May 28, 2019
98eab47
[GUI] win stake tx amount color fix.
furszy May 28, 2019
b1efc22
[GUI] dashboard chart re organization.
furszy May 29, 2019
c74e884
style changes
Neoperol May 30, 2019
014df06
[GUI] dashboard chart, days in months connected.
furszy May 30, 2019
12e7906
Combobox arrow style and
Neoperol May 31, 2019
000b82c
[GUI] openuridialog buttons style, code cleanup + encryptionStatus ev…
furszy May 31, 2019
1f2e36a
Style combobox settings changed
Neoperol May 31, 2019
90f107d
[GUI] hide multi outputs for zPIV spend + dashboard refresh chart on …
furszy May 31, 2019
bccaebd
[Deployment] fix bad link order.
furszy Jun 1, 2019
e1c1014
[GUI] contacts dropdown change theme.
furszy Jun 1, 2019
40f084c
[Model] block zpiv mints from the ui.
furszy Jun 1, 2019
6f15b52
[WalletModel] wallet first key creation time method implemented.
furszy Jun 1, 2019
37f2f44
[GUI] dashboard staking chart, year and month filters + chart logic.
furszy Jun 1, 2019
5ec1e79
Style chart added
Neoperol Jun 1, 2019
c02499e
style combobox chart changed
Neoperol Jun 1, 2019
47520da
[GUI] chart combobox rounded borders.
furszy Jun 2, 2019
3ef02a9
style combo-secundary added, group title added
Neoperol Jun 2, 2019
8aaf00f
[GUI] chart sort and filter controls style improved.
furszy Jun 2, 2019
9444e85
[GUI] dashboard, staking chart style margin fix.
furszy Jun 2, 2019
d67df85
[GUI] dashboard staking chart, move chart position flow.
furszy Jun 3, 2019
4d5ff36
[Tx Model] tx arrive signal, tx hash added.
furszy Jun 3, 2019
059d39f
[WalletModel] isCoinStake method added.
furszy Jun 3, 2019
45d0471
[GUI] dashboard, only update chart when stakes arrive.
furszy Jun 3, 2019
d9e79be
Chart buttons style changed
Neoperol Jun 3, 2019
a22c487
[GUI] dashboard hasStakes method.
furszy Jun 3, 2019
39c5bbb
layout chart, and style buttons changed
Neoperol Jun 3, 2019
c5bc680
[GUI] chart sort by buttons expanded.
furszy Jun 3, 2019
aaf98e5
Arrow back chart added
Neoperol Jun 4, 2019
e2cd6c8
[GUI] dark theme invalid icons name fix.
furszy Jun 4, 2019
d83b1b1
[GUI] layout reorg, duplicate arrow on comboBox fix.
furszy Jun 4, 2019
d031f68
[GUI] dashboard chart arrow style.
furszy Jun 4, 2019
ac865b1
style dark mode style settings fixed
Neoperol Jun 4, 2019
1447ef0
[GUI] FAQ resizable.
furszy Jun 5, 2019
d8335c4
Receive error fixed
Neoperol Jun 5, 2019
14816c4
[GUI] MN screens ui coded (not connected) + pwidget constructor cleanup.
furszy Jun 5, 2019
6f1992b
[GUI] tooltip texts generalized.
furszy Jun 10, 2019
42337ad
[GUI] master nodes model + new screen implemented.
furszy Jun 10, 2019
8230a44
[GUI] Delete single master node implemented.
furszy Jun 10, 2019
cf9f8e9
[GUI] master nodes screen, subtitle and MN info.
furszy Jun 11, 2019
775053d
[GUI] topbar lock btn open non perfect opening fixed.
furszy Jun 12, 2019
9006da9
[GUI] receive address screen, change address label dialog text correc…
furszy Jun 13, 2019
53c199f
[GUI] navmenu code better abstracted.
furszy Jun 13, 2019
259e367
[GUI] verifyWalletUnlocked method implemented.
furszy Jun 13, 2019
dc24786
[GUI] dashboard change theme, staking graph fix.
furszy Jun 13, 2019
aeeef1c
[Model] no swiftTx by default.
furszy Jun 13, 2019
5efbba2
[GUI] master nodes model and creation wizard.
furszy Jun 13, 2019
137aa2e
[REBASE] rebase issues solved.
furszy Jun 18, 2019
ec70fed
[GUI] FAQ, MN description added.
furszy Jun 19, 2019
ebb43fb
[GUI] openFaq method created.
furszy Jun 19, 2019
3610af1
[GUI] MN model, update list + get master node internal data.
furszy Jun 19, 2019
b40d05d
[GUI] Master nodes flow, MN info dialog created and connected.
furszy Jun 19, 2019
0d911df
[GUI] Master node list update timer.
furszy Jun 19, 2019
8824a19
[GUI] minor snackbar dialog delete.
furszy Jun 19, 2019
e4d17b6
FAQ icon added
Neoperol Jun 19, 2019
e386b66
[GUI] dashboard staking chart, change theme y axis color.
furszy Jun 19, 2019
3014d9b
[GUI] payment request dialog open fix + copy URI connected.
furszy Jun 20, 2019
e08cf3b
[GUI] send screen, parse URI.
furszy Jun 20, 2019
97546ad
[Cleanup] not used zpiv coin control dialog removed.
furszy Jun 20, 2019
2719ddf
[GUI] Send, add new entry validation.
furszy Jun 20, 2019
85ef032
[GUI] send screen, multi outputs validations
furszy Jun 20, 2019
5cebcfd
[GUI] Sign/Verify flow fully connected.
furszy Jun 20, 2019
4c9a162
[GUI] settings widget layout improvements.
furszy Jun 20, 2019
9e92e10
[GUI] MN wizard mode texts included.
furszy Jun 20, 2019
c762cc3
[GUI] settings tools, bip38 layout and encription.
furszy Jun 21, 2019
661904c
[GUI] settings wallet, multiSend layout organization improved.
furszy Jun 21, 2019
38ebf90
[GUI] settings tools sign/verify completed.
furszy Jun 21, 2019
bb19862
[GUI] Send screen, open URI from file connected.
furszy Jun 21, 2019
cf59e12
[GUI] faq + multisend layout minor reorg
furszy Jun 21, 2019
494afeb
[GUI] askpassphrase dialog wrap title.
furszy Jun 21, 2019
7c7035b
[GUI] settings widget, only one option checked at time.
furszy Jun 22, 2019
235e23d
[GUI] settings options, re organization + code cleanup.
furszy Jun 23, 2019
f85d1f6
[GUI] settings duplicate option name changed.
furszy Jun 23, 2019
014e2e6
[GUI] tx detail, title correction.
furszy Jun 23, 2019
afe44bc
[GUI] About and commands dialog connected.
furszy Jun 25, 2019
336e3f9
[GUI] settings options re organization.
furszy Jun 25, 2019
621198d
Layout settings main changed, texto style added
Neoperol Jun 25, 2019
84668f5
[GUI] Default dialog visible when the screen is not visible.
furszy Jun 26, 2019
f7be74e
[GUI] dashboard, update chart only with own stakes + cleanup.
furszy Jul 5, 2019
2b8ea8d
[WalletModel] set wallet default fee method created.
furszy Jul 6, 2019
fb70996
[GUI] Custom fee option connected on send screen.
furszy Jul 6, 2019
b21956d
[GUI] Minor layout corrections in custom fee dialog and tools sign me…
furszy Jul 6, 2019
1ba730d
[Cleanup] Continuing with the final cleanup, setProperty methods move…
furszy Jul 8, 2019
d217799
[GUI] Contacts screen, add contact -> notify about an already existen…
furszy Jul 8, 2019
7010862
Layout intro app changed
Neoperol Jul 8, 2019
0b84005
Background and layout changed
Neoperol Jul 9, 2019
db994e9
[GUI] Intro dialog new style finished.
furszy Jul 9, 2019
db73d9e
[GUI] Intro dialog minor corrections.
furszy Jul 9, 2019
f4ce128
[GUI] send row hover style minor fix and smart fee update connected.
furszy Jul 10, 2019
f83ad71
[GUI] enabled/disabled editable status added.
furszy Jul 10, 2019
639d14d
[GUI] Master nodes wizard creation, only controller flow.
furszy Jul 11, 2019
6825fab
[GUI] Master nodes wizard input validations + code cleanup.
furszy Jul 11, 2019
65c93b0
[GUI] settings/tools bip38 decrypt connected.
furszy Jul 12, 2019
2126b04
[GUI][Model] MultiSend functionality fully revamped and connected.
furszy Jul 13, 2019
460489f
[GUI] receive address padding overlapping text fix.
furszy Jul 15, 2019
1745fae
[GUI] topbar lock, not perform any action if the wallet is already on…
furszy Jul 15, 2019
238e276
[REBASE] rebase fixes.
furszy Jul 15, 2019
7d2820e
[GUI] payment request dropdown style fix.
furszy Jul 16, 2019
b9f6d43
[GUI] styling improvements, css class property set cleanup.
furszy Jul 16, 2019
911966b
[Build] build system QT fixes + duplicated moc object fix.
furszy Jul 17, 2019
ed1515e
[Build] travis new wallet dependencies added.
furszy Jul 18, 2019
387d83e
[Build] qt missing-img-files, fixing rebase inserted issues.
furszy Jul 18, 2019
0e5070e
[Model] Invalid iterator position crash fix.
furszy Jul 19, 2019
dad5c97
[UI] series removal not cleaning the charts pointer fix.
furszy Jul 19, 2019
950524a
[Trivial] PIVX license header.
furszy Jul 19, 2019
e3cbae3
[Doc] New dependencies for ubuntu QT build added.
furszy Jul 19, 2019
57a1b60
[Build] gitian-qt
furszy Jul 21, 2019
3c94867
[GUI] Request dialog storing address label + description text layout …
furszy Jul 21, 2019
c477e9b
[Wallet][Model] GetKeyCreationTime moved from walletModel into the wa…
furszy Jul 21, 2019
6abfe3a
[GUI] My address row set date if exists.
furszy Jul 21, 2019
5850de0
[GUI] Settings information minor layout fix + code reorg and refactor…
furszy Jul 21, 2019
45cbe2c
[Model] Only look for the creation time for internal addresses
furszy Jul 21, 2019
d4a7316
[GUI] Show dialog correct title + MN show/hide screen checkbox removed.
furszy Jul 21, 2019
404059d
[Trivial] Further small wording tweaks
CaveSpectre11 Jul 20, 2019
1af2b07
[GUI] stake spin box range + settings console not returning values fi…
furszy Jul 22, 2019
365f9fe
[GUI] settings display options show display unit fix, settings inform…
furszy Jul 22, 2019
f855afc
[GUI] Master nodes screen, FAQ opening MN section.
furszy Jul 23, 2019
173a833
[GUI] open/close option button arrow icon connected.
furszy Jul 23, 2019
239b599
[GUI][Model] Settings options reset.
furszy Jul 24, 2019
ac69ee4
[Model] isTestnet method created, abstracting the UI from backend dep…
furszy Jul 24, 2019
78979f2
[GUI] FAQ rounded btns.
furszy Jul 24, 2019
0e8eff1
[Model][MasterNodes] Master node MISSING status added, only happens w…
furszy Jul 24, 2019
4a66dd1
[GUI] Master node screen improvements:
furszy Jul 25, 2019
8f935d1
[GUI] Contacts screen, update list view and empty screen when contact…
furszy Jul 25, 2019
9aa97f1
[GUI][Model] Settings options, mechanism to discard options that were…
furszy Jul 25, 2019
1ebb669
[Wallet][Model] Badly nStakeSplitThreshold set in optionsModel fixed …
furszy Jul 25, 2019
0f80422
[GUI] dashboard staking chart, prevent series added twice.
furszy Jul 26, 2019
866415e
[GUI] Send screen, total remaining label modified to show the coin co…
furszy Jul 26, 2019
79d131d
[Model] isCoinStakeMine method validating against the tx input instea…
furszy Jul 26, 2019
1732ad3
[GUI] Dashboard screen:
furszy Jul 27, 2019
eea027a
[GUI][Model] Masternodes screen, export Masternode data for remote se…
furszy Jul 28, 2019
3d54f90
[GUI][Model] Masternodes screen:
furszy Jul 30, 2019
d4bc144
[GUI] tx detail dialog closing delay solved + cleanup.
furszy Jul 30, 2019
f3a6e2c
[GUI] Dashboard screen, hide tx filters when the wallet doesn't have …
furszy Jul 30, 2019
9809f00
[GUI][Model] Masternodes screen, verify if masternode collateral tx w…
furszy Jul 30, 2019
70dd159
[GUI] AskPassphraseDialog, missing opaque background on dialog popup …
furszy Jul 30, 2019
680d2dd
[GUI] notify user when the system doesn't have a predetermined text e…
furszy Jul 31, 2019
1d07968
[GUI] Hack to re paint the chart view for linux. The chart was not up…
furszy Aug 1, 2019
9cb8f64
[GUI] Update coin control style when the theme changes.
furszy Aug 2, 2019
57ca1b4
[GUI] Linux QComboBox listView items internal invalid focus square re…
furszy Aug 2, 2019
b233081
[GUI] Settings multisend, list missing container style.
furszy Aug 2, 2019
05594c8
[REFACTOR] Code refactor forced by #949. "Using namespaces" statement…
furszy Aug 5, 2019
d89de01
[Trivial] Cleanup UI compile warnings
CaveSpectre11 Aug 4, 2019
891f64d
[GUI] Settings trailing spaces + minimize layout vertical expansion.
furszy Aug 5, 2019
6698d0b
[GUI] Settings multiSend, request wallet unlock before add or delete …
furszy Aug 5, 2019
3675f2e
[GUI] * processNewTransaction method connected to dashboard screen, p…
furszy Aug 8, 2019
fb9b7e6
[GUI] welcome tutorial, typo fixed + privacy and MN text changed.
furszy Aug 12, 2019
62e06f2
[UI] Wallet sync state, pending icon and style added to the transacti…
furszy Aug 27, 2019
85dc691
[GUI] Fix connectSlotsByName errors
CaveSpectre11 Aug 25, 2019
bb1a743
[GUI] Cleanup build warnings
CaveSpectre11 Aug 25, 2019
f23a8f9
[UI] Open uri dialog, invalid place holder text removed.
furszy Aug 29, 2019
dcbfe17
[Build][UI] Provisional move of the QTCharts library to optional depe…
furszy Sep 2, 2019
07d5a6e
testnet flag disabled
furszy Sep 4, 2019
4f6c6cb
[Travis] qrencode no longer optional added to host x86_64-unknown-lin…
furszy Sep 4, 2019
56074a2
[Helpers] Invalid conversion from ‘const char*’ to ‘uint {aka unsigne…
furszy Sep 5, 2019
e40ea11
[UI] Forced reset to activate the settings options custom values conn…
furszy Sep 5, 2019
30e7c1e
[Refactor] * Capitalized PIVXGUI and AddressFilterProxyModel filename…
furszy Sep 6, 2019
8029464
[refactor] lowercase files
furszy Sep 6, 2019
b19cbaf
[Revert] bad method name change reverted, debug console enter button …
furszy Sep 6, 2019
c812429
[GUI] Abstract background thread process flow created, dashboard char…
furszy Sep 8, 2019
06ee910
[Trivial] Compiler warnings, not used variables.
furszy Sep 8, 2019
1e0a347
[UI] - When clicking unlock/lock wallet, the password get edit text g…
furszy Sep 8, 2019
c07c9b3
[UI] NavMenu, app's version connected.
furszy Sep 8, 2019
3c711ef
[Trivial] transactionTableModel foreach using const variable instead …
furszy Sep 8, 2019
ca046aa
[UI] - Dashboard chart load, min update time interval, not update vie…
furszy Sep 9, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
7 changes: 7 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -132,3 +132,10 @@ libbitcoinconsensus.pc
.idea
CMakeLists.txt
cmake-build-debug

moc_*
*.tmp
ui_*
build*
pivxd.*
pivxd-new-gui.*
10 changes: 5 additions & 5 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -139,7 +139,7 @@ jobs:
name: 'x86_64 Linux [GOAL: install] [bionic] [uses qt5 dev package instead of depends Qt to speed up build and avoid timeout]'
env: >-
HOST=x86_64-unknown-linux-gnu
PACKAGES="python3-zmq qtbase5-dev qttools5-dev-tools protobuf-compiler libdbus-1-dev libharfbuzz-dev libprotobuf-dev"
PACKAGES="python3-zmq qtbase5-dev qttools5-dev-tools libqt5svg5-dev libqt5charts5-dev libqrencode-dev protobuf-compiler libdbus-1-dev libharfbuzz-dev libprotobuf-dev"
DEP_OPTS="NO_QT=1 NO_UPNP=1 DEBUG=1 ALLOW_HOST_PACKAGES=1"
RUN_FUNCTIONAL_TESTS=true
#TEST_RUNNER_EXTRA="--coverage --extended" # Run extended tests so that coverage does not fail, but exclude the very slow dbcrash
Expand All @@ -151,7 +151,7 @@ jobs:
env: >-
HOST=x86_64-unknown-linux-gnu
DOCKER_NAME_TAG=ubuntu:14.04
PACKAGES="python3-zmq qtbase5-dev qttools5-dev-tools libicu-dev libpng-dev libssl-dev libevent-dev bsdmainutils libboost-system-dev libboost-filesystem-dev libboost-chrono-dev libboost-program-options-dev libboost-test-dev libboost-thread-dev libdb5.1++-dev libminiupnpc-dev libzmq3-dev libprotobuf-dev protobuf-compiler libqrencode-dev libgmp-dev"
PACKAGES="python3-zmq qtbase5-dev qttools5-dev-tools libqt5svg5-dev libicu-dev libpng-dev libssl-dev libevent-dev bsdmainutils libboost-system-dev libboost-filesystem-dev libboost-chrono-dev libboost-program-options-dev libboost-test-dev libboost-thread-dev libdb5.1++-dev libminiupnpc-dev libzmq3-dev libprotobuf-dev protobuf-compiler libqrencode-dev libgmp-dev"
NO_DEPENDS=1
RUN_FUNCTIONAL_TESTS=false
GOAL="install"
Expand All @@ -162,7 +162,7 @@ jobs:
env: >-
HOST=x86_64-unknown-linux-gnu
DOCKER_NAME_TAG=ubuntu:16.04
PACKAGES="python3-zmq qtbase5-dev qttools5-dev-tools libssl-dev libevent-dev bsdmainutils libboost-system-dev libboost-filesystem-dev libboost-chrono-dev libboost-program-options-dev libboost-test-dev libboost-thread-dev libdb5.3++-dev libminiupnpc-dev libzmq3-dev libprotobuf-dev protobuf-compiler libqrencode-dev libgmp-dev"
PACKAGES="python3-zmq qtbase5-dev qttools5-dev-tools libqt5svg5-dev libssl-dev libevent-dev bsdmainutils libboost-system-dev libboost-filesystem-dev libboost-chrono-dev libboost-program-options-dev libboost-test-dev libboost-thread-dev libdb5.3++-dev libminiupnpc-dev libzmq3-dev libprotobuf-dev protobuf-compiler libqrencode-dev libgmp-dev"
NO_DEPENDS=1
GOAL="install"
BITCOIN_CONFIG="--enable-zmq --with-incompatible-bdb --with-gui=qt5 CPPFLAGS=-DDEBUG_LOCKORDER --disable-hardening --disable-asm"
Expand All @@ -171,7 +171,7 @@ jobs:
name: 'x86_64 Linux [GOAL: install] [bionic] [no depends, only system libs]'
env: >-
HOST=x86_64-unknown-linux-gnu
PACKAGES="python3-zmq qtbase5-dev qttools5-dev-tools libssl1.0-dev libevent-dev bsdmainutils libboost-system-dev libboost-filesystem-dev libboost-chrono-dev libboost-program-options-dev libboost-test-dev libboost-thread-dev libdb5.3++-dev libminiupnpc-dev libzmq3-dev libprotobuf-dev protobuf-compiler libqrencode-dev libgmp-dev"
PACKAGES="python3-zmq qtbase5-dev qttools5-dev-tools libqt5svg5-dev libqt5charts5-dev libssl1.0-dev libevent-dev bsdmainutils libboost-system-dev libboost-filesystem-dev libboost-chrono-dev libboost-program-options-dev libboost-test-dev libboost-thread-dev libdb5.3++-dev libminiupnpc-dev libzmq3-dev libprotobuf-dev protobuf-compiler libqrencode-dev libgmp-dev"
NO_DEPENDS=1
GOAL="install"
BITCOIN_CONFIG="--enable-zmq --with-incompatible-bdb --with-gui=qt5 CPPFLAGS=-DDEBUG_LOCKORDER"
Expand All @@ -180,7 +180,7 @@ jobs:
# name: 'x86_64 Linux [GOAL: install] [bionic] [no depends, only system libs, sanitizers: fuzzer,address]'
# env: >-
# HOST=x86_64-unknown-linux-gnu
# PACKAGES="clang python3-zmq qtbase5-dev qttools5-dev-tools libssl1.0-dev libevent-dev bsdmainutils libboost-system-dev libboost-filesystem-dev libboost-chrono-dev libboost-program-options-dev libboost-test-dev libboost-thread-dev libdb5.3++-dev libminiupnpc-dev libzmq3-dev libprotobuf-dev protobuf-compiler libqrencode-dev libgmp-dev"
# PACKAGES="clang python3-zmq qtbase5-dev qttools5-dev-tools libqt5svg5-dev libqt5charts5-dev libssl1.0-dev libevent-dev bsdmainutils libboost-system-dev libboost-filesystem-dev libboost-chrono-dev libboost-program-options-dev libboost-test-dev libboost-thread-dev libdb5.3++-dev libminiupnpc-dev libzmq3-dev libprotobuf-dev protobuf-compiler libqrencode-dev libgmp-dev"
# NO_DEPENDS=1
# RUN_UNIT_TESTS=false
# RUN_FUNCTIONAL_TESTS=false
Expand Down
13 changes: 10 additions & 3 deletions build-aux/m4/bitcoin_qt.m4
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,7 @@ AC_DEFUN([BITCOIN_QT_INIT],[
AC_ARG_WITH([qt-libdir],[AS_HELP_STRING([--with-qt-libdir=LIB_DIR],[specify qt lib path (overridden by pkgconfig)])], [qt_lib_path=$withval], [])
AC_ARG_WITH([qt-plugindir],[AS_HELP_STRING([--with-qt-plugindir=PLUGIN_DIR],[specify qt plugin path (overridden by pkgconfig)])], [qt_plugin_path=$withval], [])
AC_ARG_WITH([qt-translationdir],[AS_HELP_STRING([--with-qt-translationdir=PLUGIN_DIR],[specify qt translation path (overridden by pkgconfig)])], [qt_translation_path=$withval], [])
AC_ARG_WITH([qt-svgdir],[AS_HELP_STRING([--with-qt-svgdir=PLUGIN_DIR],[specify qt svg path (overridden by pkgconfig)])], [qt_svg_path=$withval], [])
AC_ARG_WITH([qt-bindir],[AS_HELP_STRING([--with-qt-bindir=BIN_DIR],[specify qt bin path])], [qt_bin_path=$withval], [])

AC_ARG_WITH([qtdbus],
Expand Down Expand Up @@ -136,6 +137,8 @@ AC_DEFUN([BITCOIN_QT_CONFIGURE],[
fi
_BITCOIN_QT_CHECK_STATIC_PLUGINS([Q_IMPORT_PLUGIN(QMinimalIntegrationPlugin)],[-lqminimal])
AC_DEFINE(QT_QPA_PLATFORM_MINIMAL, 1, [Define this symbol if the minimal qt platform exists])
_BITCOIN_QT_CHECK_STATIC_PLUGINS([Q_IMPORT_PLUGIN(QSvgPlugin)],[-lqsvg])
_BITCOIN_QT_CHECK_STATIC_PLUGINS([Q_IMPORT_PLUGIN(QSvgIconPlugin)],[-lqsvgicon])
if test "x$TARGET_OS" = xwindows; then
_BITCOIN_QT_CHECK_STATIC_PLUGINS([Q_IMPORT_PLUGIN(QWindowsIntegrationPlugin)],[-lqwindows])
AC_DEFINE(QT_QPA_PLATFORM_WINDOWS, 1, [Define this symbol if the qt platform is windows])
Expand Down Expand Up @@ -355,7 +358,7 @@ dnl Inputs: qt_plugin_path. optional.
dnl Outputs: QT_LIBS is appended
AC_DEFUN([_BITCOIN_QT_FIND_STATIC_PLUGINS],[
if test "x$qt_plugin_path" != x; then
QT_LIBS="$QT_LIBS -L$qt_plugin_path/platforms"
QT_LIBS="$QT_LIBS -L$qt_plugin_path/platforms -L$qt_plugin_path/imageformats -L$qt_plugin_path/iconengines"
if test -d "$qt_plugin_path/accessible"; then
QT_LIBS="$QT_LIBS -L$qt_plugin_path/accessible"
fi
Expand All @@ -382,6 +385,7 @@ AC_DEFUN([_BITCOIN_QT_FIND_STATIC_PLUGINS],[
PKG_CHECK_MODULES([QTGRAPHICS], [Qt5GraphicsSupport], [QT_LIBS="-lQt5GraphicsSupport $QT_LIBS"])
PKG_CHECK_MODULES([QTCGL], [Qt5CglSupport], [QT_LIBS="-lQt5CglSupport $QT_LIBS"])
fi
@echo "QT_LIBS: $(QT_LIBS)"
])
else
if test "x$TARGET_OS" = xwindows; then
Expand Down Expand Up @@ -428,7 +432,7 @@ dnl Outputs: have_qt_test and have_qt_dbus are set (if applicable) to yes|no.
AC_DEFUN([_BITCOIN_QT_FIND_LIBS_WITH_PKGCONFIG],[
m4_ifdef([PKG_CHECK_MODULES],[
QT_LIB_PREFIX=Qt5
qt5_modules="Qt5Core Qt5Gui Qt5Network Qt5Widgets"
qt5_modules="Qt5Core Qt5Gui Qt5Network Qt5Widgets Qt5Svg"
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd suggest not adding Qt5Svg here.
On my system (debian without Qt5Svg) removing this leads configure (with --with-gui) to fail with configure: error: qtsvg not found while with this the error message is more generic: configure: error: Qt dependencies not found.

Copy link
Copy Markdown
Author

@furszy furszy Aug 5, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

qt5svg is mandatory now. Have updated the dependencies doc with it.

Explanation:
Our wallet is fully responsive now, every icon and drawable resource can be resized depending on the screen density (xml scalable vectors that we can expand or minimize programmatically, SVG resources).

Previous wallet used only png resources, which were blocking any good quality screen resize. png force the wallet to have one icon/image file per screen density, instead of programmatically resize the same unique file, increasing the amount of required resources in different sizes for different screen densities inside the wallet or it will get pixelated and decrease its quality a lot.

In linux qt5svg is supported in every distribution that i have tried, you just need to download libqt5svg5-dev.

Copy link
Copy Markdown

@Warrows Warrows Aug 5, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes but this line makes it so that the configure script doesn't tell you that qtsvg is missing.
I think removing it from here shouldn't be a problem since it's checked else where on its own. Unless I missed something.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

hmm ok, it's validated in other place but I'm not so sure if we can remove it from there, if qt5_modules is a global variable used in some other places then it should be checked before that line and not be removed. Will check it.

Still, i wouldn't spend too much time around this. People will always first read the build-xxx.md doc, which states the svg dependency anyway.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

s/always/eventually ;)

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Qt5Svg is indeed checked elsewhere and shouldn't be included in this particular line, who's purpose is to only check the top level Core Qt modules (those available/provided by the Qt5Base package).

So here, the Core modules are checked first, then (if present), additional modules and supporting libraries are checked elsewhere.

Copy link
Copy Markdown
Author

@furszy furszy Aug 6, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cannot argue much against our build system champ, will remove it from that line then 👍 .

BITCOIN_QT_CHECK([
PKG_CHECK_MODULES([QT5], [$qt5_modules], [QT_INCLUDES="$QT5_CFLAGS"; QT_LIBS="$QT5_LIBS" have_qt=yes],[have_qt=no])

Expand Down Expand Up @@ -460,14 +464,16 @@ AC_DEFUN([_BITCOIN_QT_FIND_LIBS_WITHOUT_PKGCONFIG],[
TEMP_LIBS="$LIBS"
BITCOIN_QT_CHECK([
if test "x$qt_include_path" != x; then
QT_INCLUDES="-I$qt_include_path -I$qt_include_path/QtCore -I$qt_include_path/QtGui -I$qt_include_path/QtWidgets -I$qt_include_path/QtNetwork -I$qt_include_path/QtTest -I$qt_include_path/QtDBus"
QT_INCLUDES="-I$qt_include_path -I$qt_include_path/QtCore -I$qt_include_path/QtGui -I$qt_include_path/QtWidgets -I$qt_include_path/QtNetwork -I$qt_include_path/QtTest -I$qt_include_path/QtDBus -I$qt_include_path/QtSvg -I$qt_include_path/QtCharts"
CPPFLAGS="$QT_INCLUDES $CPPFLAGS"
fi
])

BITCOIN_QT_CHECK([AC_CHECK_HEADER([QtPlugin],,BITCOIN_QT_FAIL(QtCore headers missing))])
BITCOIN_QT_CHECK([AC_CHECK_HEADER([QApplication],, BITCOIN_QT_FAIL(QtGui headers missing))])
BITCOIN_QT_CHECK([AC_CHECK_HEADER([QLocalSocket],, BITCOIN_QT_FAIL(QtNetwork headers missing))])
BITCOIN_QT_CHECK([AC_CHECK_HEADER([QtSvg],, BITCOIN_QT_FAIL(QtSvg headers missing))])
BITCOIN_QT_CHECK([AC_CHECK_HEADER([QtCharts],, BITCOIN_QT_FAIL(QtCharts headers missing))])

BITCOIN_QT_CHECK([
if test "x$bitcoin_qt_want_version" = xauto; then
Expand Down Expand Up @@ -502,6 +508,7 @@ AC_DEFUN([_BITCOIN_QT_FIND_LIBS_WITHOUT_PKGCONFIG],[
BITCOIN_QT_CHECK(AC_CHECK_LIB([${QT_LIB_PREFIX}Gui] ,[main],,BITCOIN_QT_FAIL(lib${QT_LIB_PREFIX}Gui not found)))
BITCOIN_QT_CHECK(AC_CHECK_LIB([${QT_LIB_PREFIX}Network],[main],,BITCOIN_QT_FAIL(lib${QT_LIB_PREFIX}Network not found)))
BITCOIN_QT_CHECK(AC_CHECK_LIB([${QT_LIB_PREFIX}Widgets],[main],,BITCOIN_QT_FAIL(lib${QT_LIB_PREFIX}Widgets not found)))
BITCOIN_QT_CHECK(AC_CHECK_LIB([${QT_LIB_PREFIX}Svg],[main],,BITCOIN_QT_FAIL(lib${QT_LIB_PREFIX}Svg not found)))
QT_LIBS="$LIBS"
LIBS="$TEMP_LIBS"

Expand Down
54 changes: 33 additions & 21 deletions configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -138,11 +138,11 @@ AC_ARG_ENABLE([extended-functional-tests],
[use_extended_functional_tests=$enableval],
[use_extended_functional_tests=no])

AC_ARG_WITH([qrencode],
[AS_HELP_STRING([--with-qrencode],
[enable QR code support (default is yes if qt is enabled and libqrencode is found)])],
[use_qr=$withval],
[use_qr=auto])
AC_ARG_WITH([qtcharts],
[AS_HELP_STRING([--with-qtcharts],
[enable QTCHARTS code support (default is yes if qt is enabled and qtchartview is found)])],
[use_qtcharts=$withval],
[use_qtcharts=auto])

AC_ARG_ENABLE([hardening],
[AS_HELP_STRING([--disable-hardening],
Expand Down Expand Up @@ -1024,9 +1024,12 @@ if test x$use_pkgconfig = xyes; then
PKG_CHECK_MODULES([SSL], [libssl],, [AC_MSG_ERROR(openssl not found.)])
PKG_CHECK_MODULES([CRYPTO], [libcrypto],,[AC_MSG_ERROR(libcrypto not found.)])
BITCOIN_QT_CHECK([PKG_CHECK_MODULES([PROTOBUF], [protobuf], [have_protobuf=yes], [BITCOIN_QT_FAIL(libprotobuf not found)])])
if test x$use_qr != xno; then
BITCOIN_QT_CHECK([PKG_CHECK_MODULES([QR], [libqrencode], [have_qrencode=yes], [have_qrencode=no])])
BITCOIN_QT_CHECK([PKG_CHECK_MODULES([QR], [libqrencode], [have_qrencode=yes], [have_qrencode=no])])
if test x$use_qtcharts != xno; then
BITCOIN_QT_CHECK([PKG_CHECK_MODULES([CHARTS], [Qt5Charts],[have_qtcharts=yes], [have_qtcharts=no])])
fi
BITCOIN_QT_CHECK([PKG_CHECK_MODULES([SVG], [Qt5Svg],,[BITCOIN_QT_FAIL(qtsvg not found)])])

if test x$build_bitcoin_utils$build_bitcoind$bitcoin_enable_qt$use_tests != xnononono; then
PKG_CHECK_MODULES([EVENT], [libevent],, [AC_MSG_ERROR(libevent not found.)])
if test x$TARGET_OS != xwindows; then
Expand Down Expand Up @@ -1084,9 +1087,14 @@ else
fi

BITCOIN_QT_CHECK(AC_CHECK_LIB([protobuf] ,[main],[PROTOBUF_LIBS=-lprotobuf], BITCOIN_QT_FAIL(libprotobuf not found)))
if test x$use_qr != xno; then
BITCOIN_QT_CHECK([AC_CHECK_LIB([qrencode], [main],[QR_LIBS=-lqrencode], [have_qrencode=no])])
BITCOIN_QT_CHECK([AC_CHECK_HEADER([qrencode.h],, have_qrencode=no)])
BITCOIN_QT_CHECK([AC_CHECK_LIB([Qt5Svg], [main],[SVG_LIBS=-lQt5Svg], BITCOIN_QT_FAIL(svg not found))])
BITCOIN_QT_CHECK([AC_CHECK_LIB([Qt5Charts], [main],[CHARTS_LIBS=-lQt5Charts], BITCOIN_QT_FAIL(charts not found))])

BITCOIN_QT_CHECK([AC_CHECK_LIB([qrencode], [main],[QR_LIBS=-lqrencode], [have_qrencode=no])])
BITCOIN_QT_CHECK([AC_CHECK_HEADER([qrencode.h],, have_qrencode=no)])
if test x$use_qtcharts != xno; then
BITCOIN_QT_CHECK([AC_CHECK_LIB([Qt5Charts], [main],[CHARTS_LIBS=-lQt5Charts], [have_qtcharts=no])])
BITCOIN_QT_CHECK([AC_CHECK_HEADER([qchartview.h],, have_qtcharts=no)])
fi
fi

Expand Down Expand Up @@ -1265,18 +1273,18 @@ if test x$bitcoin_enable_qt != xno; then
fi
AC_MSG_RESULT($bitcoin_enable_qt_dbus)

dnl enable qr support
AC_MSG_CHECKING([whether to build GUI with support for QR codes])
if test x$have_qrencode = xno; then
if test x$use_qr = xyes; then
AC_MSG_ERROR("QR support requested but cannot be built. use --without-qrencode")
dnl enable qtcharts support
AC_MSG_CHECKING([whether to build GUI with support for qtcharts codes])
if test x$have_qtcharts = xno; then
if test x$use_qtcharts = xyes; then
AC_MSG_ERROR("QTCharts support requested but cannot be built. use --without-qtcharts")
fi
AC_MSG_RESULT(no)
else
if test x$use_qr != xno; then
if test x$use_qtcharts != xno; then
AC_MSG_RESULT(yes)
AC_DEFINE([USE_QRCODE],[1],[Define if QR support should be compiled in])
use_qr=yes
AC_DEFINE([USE_QTCHARTS],[1],[Define if QTCHARTS support should be compiled in])
use_qtcharts=yes
else
AC_MSG_RESULT(no)
fi
Expand Down Expand Up @@ -1341,7 +1349,7 @@ AM_CONDITIONAL([ENABLE_TESTS],[test x$BUILD_TEST = xyes])
AM_CONDITIONAL([ENABLE_QT],[test x$bitcoin_enable_qt = xyes])
AM_CONDITIONAL([ENABLE_QT_TESTS],[test x$BUILD_TEST_QT = xyes])
AM_CONDITIONAL([ENABLE_BENCH],[test x$use_bench = xyes])
AM_CONDITIONAL([USE_QRCODE], [test x$use_qr = xyes])
AM_CONDITIONAL([USE_QTCHARTS], [test x$use_qtcharts = xyes])
AM_CONDITIONAL([USE_LCOV],[test x$use_lcov = xyes])
AM_CONDITIONAL([GLIBC_BACK_COMPAT],[test x$use_glibc_compat = xyes])
AM_CONDITIONAL([HARDEN],[test x$use_hardening = xyes])
Expand Down Expand Up @@ -1390,7 +1398,7 @@ AC_SUBST(AVX2_CXXFLAGS)
AC_SUBST(SHANI_CXXFLAGS)
AC_SUBST(LIBTOOL_APP_LDFLAGS)
AC_SUBST(USE_UPNP)
AC_SUBST(USE_QRCODE)
AC_SUBST(USE_QTCHARTS)
AC_SUBST(BOOST_LIBS)
AC_SUBST(TESTDEFS)
AC_SUBST(LEVELDB_TARGET_FLAGS)
Expand Down Expand Up @@ -1469,7 +1477,7 @@ echo "Options used to compile and link:"
echo " with wallet = $enable_wallet"
echo " with gui / qt = $bitcoin_enable_qt"
if test x$bitcoin_enable_qt != xno; then
echo " with qr = $use_qr"
echo " with QTCHARTS = $use_qtcharts"
fi
echo " with zmq = $use_zmq"
echo " with bignum = $set_bignum"
Expand All @@ -1494,4 +1502,8 @@ echo " LDFLAGS = $PTHREAD_CFLAGS $HARDENED_LDFLAGS $GPROF_LDFLAGS $LDFLAG
echo " ARFLAGS = $ARFLAGS"
echo " PIC_FLAGS = $PIC_FLAGS"
echo " QT_PIE_FLAGS = $QT_PIE_FLAGS"
echo " SVG_LIBS = $SVG_LIBS "
echo " SVG_CFLAGS = $SVG_CFLAGS "
echo " CHARTS_LIBS = $CHARTS_LIBS "
echo " CHARTS_CFLAGS = $CHARTS_CFLAGS "
echo
4 changes: 4 additions & 0 deletions contrib/macdeploy/macdeployqtplus
Original file line number Diff line number Diff line change
Expand Up @@ -424,7 +424,11 @@ def deployPlugins(appBundleInfo, deploymentInfo, strip, verbose):
elif pluginPath == "imageformats/libqsvg.dylib" or pluginPath == "iconengines/libqsvgicon.dylib":
# Deploy the svg plugins only if QtSvg is in use
if not deploymentInfo.usesFramework("QtSvg"):
print ("qtSVG NOT FOUND")
continue
else:
print ("qtSVG FOUND!")
#a = deploymentInfo.usesFramework("QtSvg")
elif pluginPath == "accessible/libqtaccessiblecompatwidgets.dylib":
# Deploy accessibility for Qt3Support only if the Qt3Support is in use
if not deploymentInfo.usesFramework("Qt3Support"):
Expand Down
3 changes: 3 additions & 0 deletions contrib/pivx-qt.pro
Original file line number Diff line number Diff line change
Expand Up @@ -658,3 +658,6 @@ TRANSLATIONS += src/qt/locale/pivx_bg.ts \
src/qt/locale/pivx_vi.ts \
src/qt/locale/pivx_zh_CN.ts \
src/qt/locale/pivx_zh_TW.ts

DISTFILES += \
README.md
3 changes: 3 additions & 0 deletions depends/config.site.in
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,9 @@ fi
if test -z $with_qt_translationdir; then
with_qt_translationdir=$depends_prefix/translations
fi
if test -z $with_qt_svgdir; then
with_qt_svgdir=$depends_prefix/svg
fi
if test -z $with_qt_bindir && test -z "@no_qt@"; then
with_qt_bindir=$depends_prefix/native/bin
fi
Expand Down
Loading