Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
Tom
crown-core-no-relationship
Commits
d03aaf82
Commit
d03aaf82
authored
6 years ago
by
t-o-m
Committed by
Tom
6 years ago
1
Browse files
Options
Download
Email Patches
Plain Diff
Provide correct sorting to numeric columns in the wallet UI
parent
b2a19c43
Pipeline
#470
failed with stage
in 0 seconds
Changes
3
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
src/qt/guiutil.cpp
+24
-0
src/qt/guiutil.cpp
src/qt/guiutil.h
+16
-0
src/qt/guiutil.h
src/qt/masternodelist.cpp
+9
-9
src/qt/masternodelist.cpp
with
49 additions
and
9 deletions
+49
-9
src/qt/guiutil.cpp
View file @
d03aaf82
...
...
@@ -910,4 +910,28 @@ QString formatPingTime(double dPingTime)
return
dPingTime
==
0
?
QObject
::
tr
(
"N/A"
)
:
QString
(
QObject
::
tr
(
"%1 ms"
)).
arg
(
QString
::
number
((
int
)(
dPingTime
*
1000
),
10
));
}
/**
* Class constructor.
* @param[int64_t] numValue The Number to convert to a QString for display
*/
QTableWidgetNumberItem
::
QTableWidgetNumberItem
(
const
int64_t
numValue
)
:
QTableWidgetItem
(),
value
(
numValue
)
{
this
->
setText
(
QString
::
number
(
numValue
));
}
/**
* Comparator overload to ensure that the QStrings internally set as numbers are compared as numbers and not strings.
* @param[QTableWidgetItem] item Right hand side of the less than operator
*/
bool
QTableWidgetNumberItem
::
operator
<
(
QTableWidgetItem
const
&
item
)
const
{
QTableWidgetNumberItem
const
*
rhs
=
dynamic_cast
<
QTableWidgetNumberItem
const
*>
(
&
item
);
if
(
!
rhs
)
{
return
QTableWidgetItem
::
operator
<
(
item
);
}
return
value
<
rhs
->
value
;
}
}
// namespace GUIUtil
This diff is collapsed.
Click to expand it.
src/qt/guiutil.h
View file @
d03aaf82
...
...
@@ -14,6 +14,7 @@
#include <QProgressBar>
#include <QString>
#include <QTableView>
#include <QTableWidget>
#include <boost/filesystem.hpp>
...
...
@@ -172,6 +173,21 @@ namespace GUIUtil
void
on_geometriesChanged
();
};
/*
* An extension to the QTableWidgetItem that provides the ability to compare numeric values
* in a table widget, reverting back to the default parent comparison when the items are not
* both numeric.
*/
class
QTableWidgetNumberItem
:
public
QTableWidgetItem
{
public:
QTableWidgetNumberItem
(
const
int64_t
numValue
);
virtual
bool
operator
<
(
QTableWidgetItem
const
&
item
)
const
;
private:
int64_t
value
;
};
bool
GetStartOnSystemStartup
();
bool
SetStartOnSystemStartup
(
bool
fAutoStart
);
...
...
This diff is collapsed.
Click to expand it.
src/qt/masternodelist.cpp
View file @
d03aaf82
...
...
@@ -554,16 +554,16 @@ void MasternodeList::updateVoteList(bool reset)
urlItem
->
setOpenExternalLinks
(
true
);
urlItem
->
setStyleSheet
(
"background-color: transparent;"
);
QTableWidgetItem
*
hashItem
=
new
QTableWidgetItem
(
QString
::
fromStdString
(
pbudgetProposal
->
GetHash
().
ToString
()));
QTableWidgetItem
*
blockStartItem
=
new
QTableWidget
Item
(
QString
::
n
umber
((
int64_t
)
pbudgetProposal
->
GetBlockStart
())
)
;
QTableWidgetItem
*
blockEndItem
=
new
QTableWidget
Item
(
QString
::
n
umber
((
int64_t
)
pbudgetProposal
->
GetBlockEnd
())
)
;
QTableWidgetItem
*
paymentsItem
=
new
QTableWidget
Item
(
QString
::
n
umber
((
int64_t
)
pbudgetProposal
->
GetTotalPaymentCount
())
)
;
QTableWidgetItem
*
remainingPaymentsItem
=
new
QTableWidget
Item
(
QString
::
n
umber
((
int64_t
)
pbudgetProposal
->
GetRemainingPaymentCount
())
)
;
QTableWidgetItem
*
yesVotesItem
=
new
QTableWidget
Item
(
QString
::
n
umber
((
int64_t
)
pbudgetProposal
->
GetYeas
())
)
;
QTableWidgetItem
*
noVotesItem
=
new
QTableWidget
Item
(
QString
::
n
umber
((
int64_t
)
pbudgetProposal
->
GetNays
())
)
;
QTableWidgetItem
*
abstainVotesItem
=
new
QTableWidget
Item
(
QString
::
n
umber
((
int64_t
)
pbudgetProposal
->
GetAbstains
())
)
;
GUIUtil
::
QTableWidget
Number
Item
*
blockStartItem
=
new
GUIUtil
::
QTableWidget
N
umber
Item
((
int64_t
)
pbudgetProposal
->
GetBlockStart
());
GUIUtil
::
QTableWidget
Number
Item
*
blockEndItem
=
new
GUIUtil
::
QTableWidget
N
umber
Item
((
int64_t
)
pbudgetProposal
->
GetBlockEnd
());
GUIUtil
::
QTableWidget
Number
Item
*
paymentsItem
=
new
GUIUtil
::
QTableWidget
N
umber
Item
((
int64_t
)
pbudgetProposal
->
GetTotalPaymentCount
());
GUIUtil
::
QTableWidget
Number
Item
*
remainingPaymentsItem
=
new
GUIUtil
::
QTableWidget
N
umber
Item
((
int64_t
)
pbudgetProposal
->
GetRemainingPaymentCount
());
GUIUtil
::
QTableWidget
Number
Item
*
yesVotesItem
=
new
GUIUtil
::
QTableWidget
N
umber
Item
((
int64_t
)
pbudgetProposal
->
GetYeas
());
GUIUtil
::
QTableWidget
Number
Item
*
noVotesItem
=
new
GUIUtil
::
QTableWidget
N
umber
Item
((
int64_t
)
pbudgetProposal
->
GetNays
());
GUIUtil
::
QTableWidget
Number
Item
*
abstainVotesItem
=
new
GUIUtil
::
QTableWidget
N
umber
Item
((
int64_t
)
pbudgetProposal
->
GetAbstains
());
QTableWidgetItem
*
AddressItem
=
new
QTableWidgetItem
(
QString
::
fromStdString
(
address2
.
ToString
()));
QTableWidgetItem
*
totalPaymentItem
=
new
QTableWidget
Item
(
QString
::
n
umber
((
pbudgetProposal
->
GetAmount
()
*
pbudgetProposal
->
GetTotalPaymentCount
())
/
100000000
)
);
QTableWidgetItem
*
monthlyPaymentItem
=
new
QTableWidget
Item
(
QString
::
n
umber
(
pbudgetProposal
->
GetAmount
()
/
100000000
)
)
;
GUIUtil
::
QTableWidget
Number
Item
*
totalPaymentItem
=
new
GUIUtil
::
QTableWidget
N
umber
Item
((
pbudgetProposal
->
GetAmount
()
*
pbudgetProposal
->
GetTotalPaymentCount
())
/
100000000
);
GUIUtil
::
QTableWidget
Number
Item
*
monthlyPaymentItem
=
new
GUIUtil
::
QTableWidget
N
umber
Item
(
pbudgetProposal
->
GetAmount
()
/
100000000
);
ui
->
tableWidgetVoting
->
insertRow
(
0
);
ui
->
tableWidgetVoting
->
setItem
(
0
,
0
,
nameItem
);
...
...
This diff is collapsed.
Click to expand it.
Tom
@t-o-m
mentioned in commit
587dfdbd
·
6 years ago
mentioned in commit
587dfdbd
mentioned in commit 587dfdbd3db1116f41addcf0dd32f5bb57649718
Toggle commit list
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment
Menu
Projects
Groups
Snippets
Help