Merge bitcoin/bitcoin#22427: [0.21] gui: Backports for 0.21.2
e3f1da4bf3
qt: Draw "eye" sign at the beginning of watch-only addresses (Hennadii Stepanov)6ca54ce2ae
qt: Do not extend recent transaction width to address/label string (Hennadii Stepanov)f220368220
qt: Do not use QClipboard::Selection on Windows and macOS. (Hennadii Stepanov) Pull request description: Backports https://github.com/bitcoin-core/gui/pull/277, https://github.com/bitcoin-core/gui/pull/365. ACKs for top commit: fanquake: ACKe3f1da4bf3
jarolrod: ACKe3f1da4bf3
Tree-SHA512: 43cc2ac48f4e5014bfdbe86cc904bb36d2be9fcd257f0fc0800c384bd727bb98466723e450a8909b06708784ad91184be599c49cf60de2e4377202774cb878f6
This commit is contained in:
commit
997e528a34
|
@ -734,8 +734,11 @@ bool SetStartOnSystemStartup(bool fAutoStart) { return false; }
|
|||
|
||||
void setClipboard(const QString& str)
|
||||
{
|
||||
QApplication::clipboard()->setText(str, QClipboard::Clipboard);
|
||||
QApplication::clipboard()->setText(str, QClipboard::Selection);
|
||||
QClipboard* clipboard = QApplication::clipboard();
|
||||
clipboard->setText(str, QClipboard::Clipboard);
|
||||
if (clipboard->supportsSelection()) {
|
||||
clipboard->setText(str, QClipboard::Selection);
|
||||
}
|
||||
}
|
||||
|
||||
fs::path qstringToBoostPath(const QString &path)
|
||||
|
|
|
@ -68,18 +68,16 @@ public:
|
|||
foreground = brush.color();
|
||||
}
|
||||
|
||||
if (index.data(TransactionTableModel::WatchonlyRole).toBool()) {
|
||||
QIcon iconWatchonly = qvariant_cast<QIcon>(index.data(TransactionTableModel::WatchonlyDecorationRole));
|
||||
QRect watchonlyRect(addressRect.left(), addressRect.top(), 16, addressRect.height());
|
||||
iconWatchonly.paint(painter, watchonlyRect);
|
||||
addressRect.setLeft(addressRect.left() + watchonlyRect.width() + 5);
|
||||
}
|
||||
|
||||
painter->setPen(foreground);
|
||||
QRect boundingRect;
|
||||
painter->drawText(addressRect, Qt::AlignLeft | Qt::AlignVCenter, address, &boundingRect);
|
||||
int address_rect_min_width = boundingRect.width();
|
||||
|
||||
if (index.data(TransactionTableModel::WatchonlyRole).toBool())
|
||||
{
|
||||
QIcon iconWatchonly = qvariant_cast<QIcon>(index.data(TransactionTableModel::WatchonlyDecorationRole));
|
||||
QRect watchonlyRect(boundingRect.right() + 5, mainRect.top()+ypad+halfheight, 16, halfheight);
|
||||
iconWatchonly.paint(painter, watchonlyRect);
|
||||
address_rect_min_width += 5 + watchonlyRect.width();
|
||||
}
|
||||
|
||||
if(amount < 0)
|
||||
{
|
||||
|
@ -107,7 +105,8 @@ public:
|
|||
QRect date_bounding_rect;
|
||||
painter->drawText(amountRect, Qt::AlignLeft | Qt::AlignVCenter, GUIUtil::dateTimeStr(date), &date_bounding_rect);
|
||||
|
||||
const int minimum_width = std::max(address_rect_min_width, amount_bounding_rect.width() + date_bounding_rect.width());
|
||||
// 0.4*date_bounding_rect.width() is used to visually distinguish a date from an amount.
|
||||
const int minimum_width = 1.4 * date_bounding_rect.width() + amount_bounding_rect.width();
|
||||
const auto search = m_minimum_width.find(index.row());
|
||||
if (search == m_minimum_width.end() || search->second != minimum_width) {
|
||||
m_minimum_width[index.row()] = minimum_width;
|
||||
|
|
Loading…
Reference in a new issue