Skip to content

Commit

Permalink
Merge pull request #2151 from cyrossignol/gui
Browse files Browse the repository at this point in the history
gui: Overhaul the voting UI
  • Loading branch information
jamescowens committed Jun 10, 2021
2 parents 7dc6698 + 74de3ed commit 052113a
Show file tree
Hide file tree
Showing 106 changed files with 6,554 additions and 1,638 deletions.
7 changes: 0 additions & 7 deletions build-aux/m4/bitcoin_qt.m4
Original file line number Diff line number Diff line change
Expand Up @@ -372,8 +372,6 @@ AC_DEFUN([_BITCOIN_QT_CHECK_STATIC_LIBS], [
PKG_CHECK_MODULES([QT_THEME], [${qt_lib_prefix}ThemeSupport${qt_lib_suffix}], [QT_LIBS="$QT_THEME_LIBS $QT_LIBS"])
dnl Gridcoin uses Concurrent:
PKG_CHECK_MODULES([QT_CONCURRENT], [${qt_lib_prefix}Concurrent${qt_lib_suffix}], [QT_LIBS="$QT_CONCURRENT_LIBS $QT_LIBS"])
dnl Gridcoin uses Charts:
PKG_CHECK_MODULES([QT_CHARTS], [${qt_lib_prefix}Charts${qt_lib_suffix}], [QT_LIBS="$QT_CONCURRENT_LIBS $QT_LIBS"])
dnl Gridcoin uses SVG:
PKG_CHECK_MODULES([QT_SVG], [${qt_lib_prefix}Svg${qt_lib_suffix}], [QT_LIBS="$QT_SVG_LIBS $QT_LIBS"])
if test "x$TARGET_OS" = xlinux; then
Expand Down Expand Up @@ -420,11 +418,6 @@ AC_DEFUN([_BITCOIN_QT_FIND_LIBS],[
PKG_CHECK_MODULES([QT_CONCURRENT], [${qt_lib_prefix}Concurrent${qt_lib_suffix} $qt_version], [QT_INCLUDES="$QT_CONCURRENT_CFLAGS $QT_INCLUDES" QT_LIBS="$QT_CONCURRENT_LIBS $QT_LIBS"],
[BITCOIN_QT_FAIL([${qt_lib_prefix}Concurrent${qt_lib_suffix} $qt_version not found])])
])
dnl Gridcoin uses Charts:
BITCOIN_QT_CHECK([
PKG_CHECK_MODULES([QT_CHARTS], [${qt_lib_prefix}Charts${qt_lib_suffix} $qt_version], [QT_INCLUDES="$QT_CHARTS_CFLAGS $QT_INCLUDES" QT_LIBS="$QT_CHARTS_LIBS $QT_LIBS" CPPFLAGS="$CPPFLAGS -DQT_CHARTS_LIB"],
[AC_MSG_WARN([${qt_lib_prefix}Charts${qt_lib_suffix} $qt_version not found. Poll results will not display charts.])])
])
BITCOIN_QT_CHECK([
PKG_CHECK_MODULES([QT_TEST], [${qt_lib_prefix}Test${qt_lib_suffix} $qt_version], [QT_TEST_INCLUDES="$QT_TEST_CFLAGS"; have_qt_test=yes], [have_qt_test=no])
Expand Down
2 changes: 1 addition & 1 deletion ci/test/00_setup_env_native.sh
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ export LC_ALL=C.UTF-8

export CONTAINER_NAME=ci_native
export DOCKER_NAME_TAG=ubuntu:20.04
export PACKAGES="libqt5gui5 libqt5core5a qtbase5-dev libqt5dbus5 qttools5-dev qttools5-dev-tools libqt5charts5-dev libssl-dev libevent-dev bsdmainutils libboost-system-dev libboost-filesystem-dev libboost-chrono-dev libboost-iostreams-dev libboost-program-options-dev libboost-test-dev libboost-thread-dev libdb5.3++-dev libminiupnpc-dev libqrencode-dev libzip-dev zlib1g zlib1g-dev libcurl4 libcurl4-openssl-dev"
export PACKAGES="libqt5gui5 libqt5core5a qtbase5-dev libqt5dbus5 qttools5-dev qttools5-dev-tools libssl-dev libevent-dev bsdmainutils libboost-system-dev libboost-filesystem-dev libboost-chrono-dev libboost-iostreams-dev libboost-program-options-dev libboost-test-dev libboost-thread-dev libdb5.3++-dev libminiupnpc-dev libqrencode-dev libzip-dev zlib1g zlib1g-dev libcurl4 libcurl4-openssl-dev"
export RUN_UNIT_TESTS=true
# export RUN_FUNCTIONAL_TESTS=false
# export RUN_SECURITY_TESTS="true"
Expand Down
12 changes: 0 additions & 12 deletions depends/packages/qt.mk
Original file line number Diff line number Diff line change
Expand Up @@ -18,17 +18,12 @@ $(package)_qttranslations_sha256_hash=577b0668a777eb2b451c61e8d026d79285371597ce
$(package)_qttools_file_name=qttools-$($(package)_suffix)
$(package)_qttools_sha256_hash=98b2aaca230458f65996f3534fd471d2ffd038dd58ac997c0589c06dc2385b4f

# Gridcoin uses charts for the voting features:
$(package)_qtcharts_file_name=qtcharts-$($(package)_suffix)
$(package)_qtcharts_sha256_hash=8567502335913a45dbe47c5b493974b48c2049dc07ab5a2a273ddfdcf43c002c

# Gridcoin displays SVG images in the GUI:
$(package)_qtsvg_file_name=qtsvg-$($(package)_suffix)
$(package)_qtsvg_sha256_hash=7a6857a2f68cfbebb9f791396b401a98e951c9bff9bfeb1b5b01914c3ea1a0ed

$(package)_extra_sources = $($(package)_qttranslations_file_name)
$(package)_extra_sources += $($(package)_qttools_file_name)
$(package)_extra_sources += $($(package)_qtcharts_file_name)
$(package)_extra_sources += $($(package)_qtsvg)

define $(package)_set_vars
Expand Down Expand Up @@ -196,7 +191,6 @@ define $(package)_fetch_cmds
$(call fetch_file,$(package),$($(package)_download_path),$($(package)_download_file),$($(package)_file_name),$($(package)_sha256_hash)) && \
$(call fetch_file,$(package),$($(package)_download_path),$($(package)_qttranslations_file_name),$($(package)_qttranslations_file_name),$($(package)_qttranslations_sha256_hash)) && \
$(call fetch_file,$(package),$($(package)_download_path),$($(package)_qttools_file_name),$($(package)_qttools_file_name),$($(package)_qttools_sha256_hash)) && \
$(call fetch_file,$(package),$($(package)_download_path),$($(package)_qtcharts_file_name),$($(package)_qtcharts_file_name),$($(package)_qtcharts_sha256_hash)) && \
$(call fetch_file,$(package),$($(package)_download_path),$($(package)_qtsvg_file_name),$($(package)_qtsvg_file_name),$($(package)_qtsvg_sha256_hash))
endef

Expand All @@ -205,7 +199,6 @@ define $(package)_extract_cmds
echo "$($(package)_sha256_hash) $($(package)_source)" > $($(package)_extract_dir)/.$($(package)_file_name).hash && \
echo "$($(package)_qttranslations_sha256_hash) $($(package)_source_dir)/$($(package)_qttranslations_file_name)" >> $($(package)_extract_dir)/.$($(package)_file_name).hash && \
echo "$($(package)_qttools_sha256_hash) $($(package)_source_dir)/$($(package)_qttools_file_name)" >> $($(package)_extract_dir)/.$($(package)_file_name).hash && \
echo "$($(package)_qtcharts_sha256_hash) $($(package)_source_dir)/$($(package)_qtcharts_file_name)" >> $($(package)_extract_dir)/.$($(package)_file_name).hash && \
echo "$($(package)_qtsvg_sha256_hash) $($(package)_source_dir)/$($(package)_qtsvg_file_name)" >> $($(package)_extract_dir)/.$($(package)_file_name).hash && \
$(build_SHA256SUM) -c $($(package)_extract_dir)/.$($(package)_file_name).hash && \
mkdir qtbase && \
Expand All @@ -214,8 +207,6 @@ define $(package)_extract_cmds
tar --no-same-owner --strip-components=1 -xf $($(package)_source_dir)/$($(package)_qttranslations_file_name) -C qttranslations && \
mkdir qttools && \
tar --no-same-owner --strip-components=1 -xf $($(package)_source_dir)/$($(package)_qttools_file_name) -C qttools && \
mkdir qtcharts && \
tar --no-same-owner --strip-components=1 -xf $($(package)_source_dir)/$($(package)_qtcharts_file_name) -C qtcharts && \
mkdir qtsvg && \
tar --strip-components=1 -xf $($(package)_source_dir)/$($(package)_qtsvg_file_name) -C qtsvg
endef
Expand Down Expand Up @@ -288,7 +279,6 @@ define $(package)_config_cmds
qtbase/bin/qmake -o qttools/src/linguist/lrelease/Makefile qttools/src/linguist/lrelease/lrelease.pro && \
qtbase/bin/qmake -o qttools/src/linguist/lupdate/Makefile qttools/src/linguist/lupdate/lupdate.pro && \
qtbase/bin/qmake -o qttools/src/linguist/lconvert/Makefile qttools/src/linguist/lconvert/lconvert.pro && \
qtbase/bin/qmake -o qtcharts/src/charts/Makefile qtcharts/src/charts/charts.pro && \
qtbase/bin/qmake -o qtsvg/src/Makefile qtsvg/src/src.pro
endef

Expand All @@ -299,7 +289,6 @@ define $(package)_build_cmds
$(MAKE) -C qttools/src/linguist/lupdate && \
$(MAKE) -C qttools/src/linguist/lconvert && \
$(MAKE) -C qttranslations && \
$(MAKE) -C qtcharts/src/charts && \
$(MAKE) -C qtsvg/src \
'
endef
Expand All @@ -311,7 +300,6 @@ define $(package)_stage_cmds
$(MAKE) -C qttools/src/linguist/lupdate INSTALL_ROOT=$($(package)_staging_dir) install_target && \
$(MAKE) -C qttools/src/linguist/lconvert INSTALL_ROOT=$($(package)_staging_dir) install_target && \
$(MAKE) -C qttranslations INSTALL_ROOT=$($(package)_staging_dir) install_subtargets && \
$(MAKE) -C qtcharts/src/charts INSTALL_ROOT=$($(package)_staging_dir) install && \
$(MAKE) -C qtsvg/src INSTALL_ROOT=$($(package)_staging_dir) install \
'
endef
Expand Down
4 changes: 0 additions & 4 deletions depends/patches/qt/subdirs.pro
Original file line number Diff line number Diff line change
Expand Up @@ -11,16 +11,12 @@ TEMPLATE = subdirs

SUBDIRS = \
qtbase \
qtcharts \
qtsvg \
qttools \
qttranslations

qtbase.target = module-qtbase

qtcharts.target = module-qtcharts
qtcharts.depends = qtbase

qtsvg.target = module-qtsvg
qtsvg.depends = qtbase

Expand Down
10 changes: 3 additions & 7 deletions doc/build-unix.md
Original file line number Diff line number Diff line change
Expand Up @@ -135,7 +135,7 @@ To build without GUI pass `--without-gui` to configure.

To build with Qt 5 (recommended) you need the following:

sudo apt-get install libqt5gui5 libqt5core5a libqt5charts5-dev libqt5dbus5 qttools5-dev qttools5-dev-tools libprotobuf-dev protobuf-compiler
sudo apt-get install libqt5gui5 libqt5core5a libqt5dbus5 qttools5-dev qttools5-dev-tools libprotobuf-dev protobuf-compiler

libqrencode (enabled by default, switch off by passing `--without-qrencode` to configure) can be installed with:

Expand Down Expand Up @@ -188,11 +188,7 @@ To build without GUI pass `--without-gui` to configure.

To build with Qt 5 (recommended) you need the following:

sudo zypper install libQt5Gui5 libQt5Core5 libQt5Charts5 libQt5DBus5 libQt5Network-devel libqt5-qttools-devel libqt5-qttools

Additionally for Tumbleweed:

sudo zypper install libQt5Charts5-designer
sudo zypper install libQt5Gui5 libQt5Core5 libQt5DBus5 libQt5Network-devel libqt5-qttools-devel libqt5-qttools

libqrencode (enabled by default, switch off by passing `--without-qrencode` to configure) can be installed with:

Expand Down Expand Up @@ -222,7 +218,7 @@ Dependencies for the GUI: Alpine Linux

To build the Qt GUI on Alpine Linux, we need these dependencies:

apk add libqrencode-dev protobuf-dev qt5-qtbase-dev qt5-qtcharts-dev qt5-qtsvg-dev qt5-qttools-dev
apk add libqrencode-dev protobuf-dev qt5-qtbase-dev qt5-qtsvg-dev qt5-qttools-dev


Setup and Build Example: Arch Linux
Expand Down
57 changes: 49 additions & 8 deletions gridcoinresearch.pro
Original file line number Diff line number Diff line change
Expand Up @@ -15,12 +15,6 @@ win32 {
DEFINES += _WIN32_WINNT=0x0501 WINVER=0x0501
}

lessThan(QT_MAJOR_VERSION, 5) | lessThan(QT_MINOR_VERSION, 8) {
# Qt charts not available
}else{
QT += charts
}

# for boost 1.37, add -mt to the boost libraries
# use: qmake BOOST_LIB_SUFFIX=-mt
# for boost thread win32 with _win32 sufix
Expand Down Expand Up @@ -185,6 +179,23 @@ HEADERS += src/qt/bitcoingui.h \
src/qt/researcher/researcherwizardpoolsummarypage.h \
src/qt/researcher/researcherwizardprojectspage.h \
src/qt/researcher/researcherwizardsummarypage.h \
src/qt/voting/pollcard.h \
src/qt/voting/pollcardview.h \
src/qt/voting/polldetails.h \
src/qt/voting/pollresultchoiceitem.h \
src/qt/voting/pollresultdialog.h \
src/qt/voting/polltab.h \
src/qt/voting/polltablemodel.h \
src/qt/voting/pollwizard.h \
src/qt/voting/pollwizarddetailspage.h \
src/qt/voting/pollwizardprojectpage.h \
src/qt/voting/pollwizardsummarypage.h \
src/qt/voting/pollwizardtypepage.h \
src/qt/voting/votewizard.h \
src/qt/voting/votewizardballotpage.h \
src/qt/voting/votewizardsummarypage.h \
src/qt/voting/votingmodel.h \
src/qt/voting/votingpage.h \
src/qt/transactiontablemodel.h \
src/qt/addresstablemodel.h \
src/qt/optionsdialog.h \
Expand Down Expand Up @@ -260,7 +271,6 @@ HEADERS += src/qt/bitcoingui.h \
src/protocol.h \
src/qt/notificator.h \
src/qt/qtipcserver.h \
src/qt/votingdialog.h \
src/allocators.h \
src/ui_interface.h \
src/qt/rpcconsole.h \
Expand Down Expand Up @@ -292,6 +302,23 @@ SOURCES += src/qt/bitcoin.cpp src/qt/bitcoingui.cpp \
src/qt/researcher/researcherwizardpoolsummarypage.cpp \
src/qt/researcher/researcherwizardprojectspage.cpp \
src/qt/researcher/researcherwizardsummarypage.cpp \
src/qt/voting/pollcard.cpp \
src/qt/voting/pollcardview.cpp \
src/qt/voting/polldetails.cpp \
src/qt/voting/pollresultchoiceitem.cpp \
src/qt/voting/pollresultdialog.cpp \
src/qt/voting/polltab.cpp \
src/qt/voting/polltablemodel.cpp \
src/qt/voting/pollwizard.cpp \
src/qt/voting/pollwizarddetailspage.cpp \
src/qt/voting/pollwizardprojectpage.cpp \
src/qt/voting/pollwizardsummarypage.cpp \
src/qt/voting/pollwizardtypepage.cpp \
src/qt/voting/votewizard.cpp \
src/qt/voting/votewizardballotpage.cpp \
src/qt/voting/votewizardsummarypage.cpp \
src/qt/voting/votingmodel.cpp \
src/qt/voting/votingpage.cpp \
src/qt/transactiontablemodel.cpp \
src/qt/addresstablemodel.cpp \
src/qt/optionsdialog.cpp \
Expand All @@ -305,7 +332,6 @@ SOURCES += src/qt/bitcoin.cpp src/qt/bitcoingui.cpp \
src/qt/aboutdialog.cpp \
src/qt/editaddressdialog.cpp \
src/qt/bitcoinaddressvalidator.cpp \
src/qt/votingdialog.cpp \
src/qt/diagnosticsdialog.cpp \
src/alert.cpp \
src/block.cpp \
Expand Down Expand Up @@ -395,6 +421,21 @@ FORMS += \
src/qt/forms/researcherwizardpoolsummarypage.ui \
src/qt/forms/researcherwizardprojectspage.ui \
src/qt/forms/researcherwizardsummarypage.ui \
src/qt/forms/voting/pollcard.ui \
src/qt/forms/voting/pollcardview.ui \
src/qt/forms/voting/polldetails.ui \
src/qt/forms/voting/pollresultchoiceitem.ui \
src/qt/forms/voting/pollresultdialog.ui \
src/qt/forms/voting/polltab.ui \
src/qt/forms/voting/pollwizard.ui \
src/qt/forms/voting/pollwizarddetailspage.ui \
src/qt/forms/voting/pollwizardprojectpage.ui \
src/qt/forms/voting/pollwizardsummarypage.ui \
src/qt/forms/voting/pollwizardtypepage.ui \
src/qt/forms/voting/votewizard.ui \
src/qt/forms/voting/votewizardballotpage.ui \
src/qt/forms/voting/votewizardsummarypage.ui \
src/qt/forms/voting/votingpage.ui \
src/qt/forms/receivecoinspage.ui \
src/qt/forms/sendcoinsdialog.ui \
src/qt/forms/favoritespage.ui \
Expand Down
1 change: 1 addition & 0 deletions src/Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -123,6 +123,7 @@ GRIDCOIN_CORE_H = \
gridcoin/upgrade.h \
gridcoin/voting/builders.h \
gridcoin/voting/claims.h \
gridcoin/voting/filter.h \
gridcoin/voting/fwd.h \
gridcoin/voting/payloads.h \
gridcoin/voting/poll.h \
Expand Down

0 comments on commit 052113a

Please sign in to comment.