Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions src/qt/askpassphrasedialog.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,8 @@ AskPassphraseDialog::AskPassphraseDialog(Mode _mode, QWidget *parent) :

GUIUtil::updateFonts();

GUIUtil::disableMacFocusRect(this);

ui->passEdit1->setMinimumSize(ui->passEdit1->sizeHint());
ui->passEdit2->setMinimumSize(ui->passEdit2->sizeHint());
ui->passEdit3->setMinimumSize(ui->passEdit3->sizeHint());
Expand Down
2 changes: 2 additions & 0 deletions src/qt/coincontroldialog.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,8 @@ CoinControlDialog::CoinControlDialog(const PlatformStyle *_platformStyle, QWidge

GUIUtil::updateFonts();

GUIUtil::disableMacFocusRect(this);

// context menu actions
QAction *copyAddressAction = new QAction(tr("Copy address"), this);
QAction *copyLabelAction = new QAction(tr("Copy label"), this);
Expand Down
2 changes: 2 additions & 0 deletions src/qt/editaddressdialog.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,8 @@ EditAddressDialog::EditAddressDialog(Mode _mode, QWidget *parent) :
{
ui->setupUi(this);

GUIUtil::disableMacFocusRect(this);

GUIUtil::setupAddressWidget(ui->addressEdit, this);

switch(mode)
Expand Down
11 changes: 11 additions & 0 deletions src/qt/guiutil.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1410,6 +1410,17 @@ bool dashThemeActive()
return theme != traditionalTheme;
}

void disableMacFocusRect(const QWidget* w)
{
#ifdef Q_OS_MAC
for (const auto& c : w->findChildren<QWidget*>()) {
if (c->testAttribute(Qt::WA_MacShowFocusRect)) {
c->setAttribute(Qt::WA_MacShowFocusRect, !dashThemeActive());
}
}
#endif
}

void setClipboard(const QString& str)
{
QApplication::clipboard()->setText(str, QClipboard::Clipboard);
Expand Down
4 changes: 4 additions & 0 deletions src/qt/guiutil.h
Original file line number Diff line number Diff line change
Expand Up @@ -307,6 +307,10 @@ namespace GUIUtil
/** Check if a dash specific theme is activated (light/dark) */
bool dashThemeActive();

/** Disable the OS default focus rect for macOS because we have custom focus rects
* set in the css files */
void disableMacFocusRect(const QWidget* w);

/* Convert QString to OS specific boost path through UTF-8 */
fs::path qstringToBoostPath(const QString &path);

Expand Down
1 change: 1 addition & 0 deletions src/qt/intro.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -205,6 +205,7 @@ bool Intro::pickDataDirectory()
{
/* Let the user choose one */
Intro intro;
GUIUtil::disableMacFocusRect(&intro);
intro.setDataDirectory(dataDirDefaultCurrent);
intro.setWindowIcon(QIcon(":icons/bitcoin"));

Expand Down
1 change: 1 addition & 0 deletions src/qt/openuridialog.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ OpenURIDialog::OpenURIDialog(QWidget *parent) :
{
ui->setupUi(this);
GUIUtil::updateFonts();
GUIUtil::disableMacFocusRect(this);
ui->uriEdit->setPlaceholderText("dash:");
}

Expand Down
2 changes: 2 additions & 0 deletions src/qt/optionsdialog.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,8 @@ OptionsDialog::OptionsDialog(QWidget *parent, bool enableWallet) :

GUIUtil::updateFonts();

GUIUtil::disableMacFocusRect(this);

/* Main elements init */
ui->databaseCache->setMinimum(nMinDbCache);
ui->databaseCache->setMaximum(nMaxDbCache);
Expand Down
2 changes: 2 additions & 0 deletions src/qt/rpcconsole.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -473,6 +473,8 @@ RPCConsole::RPCConsole(const PlatformStyle *_platformStyle, QWidget *parent) :
ui->banHeading
}, GUIUtil::FontWeight::Bold, 16);

GUIUtil::disableMacFocusRect(this);

QSettings settings;
if (!restoreGeometry(settings.value("RPCConsoleWindowGeometry").toByteArray())) {
// Restore failed (perhaps missing setting), center the window
Expand Down
2 changes: 2 additions & 0 deletions src/qt/sendcoinsentry.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,8 @@ SendCoinsEntry::SendCoinsEntry(const PlatformStyle *_platformStyle, QWidget *par
{
ui->setupUi(this);

GUIUtil::disableMacFocusRect(this);

setCurrentWidget(ui->SendCoins);

if (platformStyle->getUseExtraSpacing())
Expand Down
2 changes: 2 additions & 0 deletions src/qt/signverifymessagedialog.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,8 @@ SignVerifyMessageDialog::SignVerifyMessageDialog(const PlatformStyle *_platformS
GUIUtil::setFont({ui->statusLabel_SM, ui->statusLabel_VM}, GUIUtil::FontWeight::Bold);

GUIUtil::updateFonts();

GUIUtil::disableMacFocusRect(this);
}

SignVerifyMessageDialog::~SignVerifyMessageDialog()
Expand Down
2 changes: 2 additions & 0 deletions src/qt/walletview.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -112,6 +112,8 @@ WalletView::WalletView(const PlatformStyle *_platformStyle, QWidget *parent):

// Pass through messages from transactionView
connect(transactionView, SIGNAL(message(QString,QString,unsigned int)), this, SIGNAL(message(QString,QString,unsigned int)));

GUIUtil::disableMacFocusRect(this);
}

WalletView::~WalletView()
Expand Down