Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

gui, voting: Implement poll additional fields gui components #2525

7 changes: 7 additions & 0 deletions src/Makefile.qt.include
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,7 @@ QT_FORMS_UI = \
qt/forms/sendcoinsentry.ui \
qt/forms/signverifymessagedialog.ui \
qt/forms/transactiondescdialog.ui \
qt/forms/voting/additionalfieldstableview.ui \
qt/forms/voting/pollcard.ui \
qt/forms/voting/pollcardview.ui \
qt/forms/voting/polldetails.ui \
Expand Down Expand Up @@ -182,6 +183,8 @@ QT_MOC_CPP = \
qt/researcher/moc_researcherwizardpoolsummarypage.cpp \
qt/researcher/moc_researcherwizardprojectspage.cpp \
qt/researcher/moc_researcherwizardsummarypage.cpp \
qt/voting/moc_additionalfieldstableview.cpp \
qt/voting/moc_additionalfieldstablemodel.cpp \
qt/voting/moc_pollcard.cpp \
qt/voting/moc_pollcardview.cpp \
qt/voting/moc_polldetails.cpp \
Expand Down Expand Up @@ -292,6 +295,8 @@ GRIDCOINRESEARCH_QT_H = \
qt/transactiontablemodel.h \
qt/transactionview.h \
qt/upgradeqt.h \
qt/voting/additionalfieldstableview.h \
qt/voting/additionalfieldstablemodel.h \
qt/voting/poll_types.h \
qt/voting/pollcard.h \
qt/voting/pollcardview.h \
Expand Down Expand Up @@ -377,6 +382,8 @@ GRIDCOINRESEARCH_QT_CPP = \
qt/transactiontablemodel.cpp \
qt/transactionview.cpp \
qt/upgradeqt.cpp \
qt/voting/additionalfieldstableview.cpp \
qt/voting/additionalfieldstablemodel.cpp \
qt/voting/poll_types.cpp \
qt/voting/pollcard.cpp \
qt/voting/pollcardview.cpp \
Expand Down
9 changes: 8 additions & 1 deletion src/gridcoin/voting/poll.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -191,6 +191,11 @@ int64_t Poll::Age(const int64_t now) const
return now - m_timestamp;
}

uint32_t Poll::Duration() const
{
return m_duration_days;
}

bool Poll::Expired(const int64_t now) const
{
return Age(now) > m_duration_days * 86400;
Expand Down Expand Up @@ -253,7 +258,9 @@ std::string Poll::PollTypeToString(const PollType& type, const bool& translated)
assert(false); // Suppress warning
}


// This will never be reached. Put it in anyway to prevent control reaches end of non-void function warning
// from some compiler versions.
return std::string{};
}

std::string Poll::PollTypeToDescString() const
Expand Down
7 changes: 7 additions & 0 deletions src/gridcoin/voting/poll.h
Original file line number Diff line number Diff line change
Expand Up @@ -476,6 +476,13 @@ class Poll
//!
int64_t Age(const int64_t now) const;

//!
//! \brief Get the duration of the poll in days.
//!
//! \return Poll duration in days.
//!
uint32_t Duration() const;

//!
//! \brief Determine whether the poll age exceeds the duration of the poll.
//!
Expand Down
31 changes: 31 additions & 0 deletions src/qt/forms/voting/additionalfieldstableview.ui
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>Form</class>
<widget class="QWidget" name="Form">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>400</width>
<height>300</height>
</rect>
</property>
<property name="windowTitle">
<string>Form</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<widget class="AdditionalFieldsTableView" name="tableView"/>
</item>
</layout>
</widget>
<customwidgets>
<customwidget>
<class>AdditionalFieldsTableView</class>
<extends>QTableView</extends>
<header>voting/additionalfieldstableview.h</header>
</customwidget>
</customwidgets>
<resources/>
<connections/>
</ui>
19 changes: 18 additions & 1 deletion src/qt/forms/voting/polldetails.ui
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
<x>0</x>
<y>0</y>
<width>599</width>
<height>103</height>
<height>312</height>
</rect>
</property>
<property name="windowTitle">
Expand Down Expand Up @@ -97,6 +97,16 @@
</item>
</layout>
</item>
<item>
<widget class="QLabel" name="additionalFieldsLabel">
<property name="text">
<string>Additional Fields</string>
</property>
</widget>
</item>
<item>
<widget class="AdditionalFieldsTableView" name="additionalFieldsTableView"/>
</item>
<item>
<layout class="QHBoxLayout" name="topAnswerLayout">
<property name="topMargin">
Expand Down Expand Up @@ -132,6 +142,13 @@
</item>
</layout>
</widget>
<customwidgets>
<customwidget>
<class>AdditionalFieldsTableView</class>
<extends>QTableView</extends>
<header>voting/additionalfieldstableview.h</header>
</customwidget>
</customwidgets>
<resources/>
<connections/>
</ui>
31 changes: 24 additions & 7 deletions src/qt/forms/voting/pollwizarddetailspage.ui
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
<x>0</x>
<y>0</y>
<width>630</width>
<height>480</height>
<height>753</height>
</rect>
</property>
<property name="sizePolicy">
Expand Down Expand Up @@ -174,7 +174,7 @@
</item>
</layout>
</item>
<item row="4" column="0">
<item row="5" column="0">
<widget class="QLabel" name="weightTypeLabel">
<property name="text">
<string>Weight Type:</string>
Expand All @@ -184,10 +184,10 @@
</property>
</widget>
</item>
<item row="4" column="1">
<item row="5" column="1">
<widget class="QComboBox" name="weightTypeList"/>
</item>
<item row="5" column="0">
<item row="6" column="0">
<widget class="QLabel" name="responseTypeLabel">
<property name="text">
<string>Response Type:</string>
Expand All @@ -197,17 +197,17 @@
</property>
</widget>
</item>
<item row="5" column="1">
<item row="6" column="1">
<widget class="QComboBox" name="responseTypeList"/>
</item>
<item row="6" column="0">
<item row="7" column="0">
<widget class="QLabel" name="choicesLabel">
<property name="text">
<string>Choices:</string>
</property>
</widget>
</item>
<item row="6" column="1">
<item row="7" column="1">
<layout class="QVBoxLayout" name="choicesLayout">
<property name="rightMargin">
<number>0</number>
Expand Down Expand Up @@ -320,10 +320,27 @@
</item>
</layout>
</item>
<item row="4" column="1">
<widget class="AdditionalFieldsTableView" name="additionalFieldsTableView"/>
</item>
<item row="4" column="0">
<widget class="QLabel" name="additionalFieldsLabel">
<property name="text">
<string>Additional Fields:</string>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</widget>
<customwidgets>
<customwidget>
<class>AdditionalFieldsTableView</class>
<extends>QTableView</extends>
<header>voting/additionalfieldstableview.h</header>
</customwidget>
</customwidgets>
<tabstops>
<tabstop>durationField</tabstop>
<tabstop>titleField</tabstop>
Expand Down
19 changes: 16 additions & 3 deletions src/qt/forms/voting/pollwizardprojectpage.ui
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@
<rect>
<x>0</x>
<y>0</y>
<width>630</width>
<height>480</height>
<width>664</width>
<height>597</height>
</rect>
</property>
<property name="sizePolicy">
Expand Down Expand Up @@ -39,6 +39,9 @@
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="addRemoveStateLineEdit"/>
</item>
<item>
<widget class="Line" name="headerLine">
<property name="orientation">
Expand Down Expand Up @@ -155,13 +158,23 @@
<item row="0" column="1">
<widget class="QLineEdit" name="projectNameField"/>
</item>
<item row="1" column="1">
<item row="2" column="1">
<widget class="QCheckBox" name="criteriaCheckbox">
<property name="text">
<string>This project satisfies the Gridcoin listing criteria.</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLineEdit" name="projectUrlField"/>
</item>
<item row="1" column="0">
<widget class="QLabel" name="projectUrlLabel">
<property name="text">
<string>Project URL</string>
</property>
</widget>
</item>
</layout>
</item>
</layout>
Expand Down
Loading