Bitcoin Core
32.99.0
P2P Digital Currency
Loading...
Searching...
No Matches
src
qt
macdockiconhandler.mm
Go to the documentation of this file.
1
// Copyright (c) 2011-present The Bitcoin Core developers
2
// Distributed under the MIT software license, see the accompanying
3
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
4
5
#include "
macdockiconhandler.h
"
6
7
#include <AppKit/AppKit.h>
8
#include <objc/runtime.h>
9
10
static
MacDockIconHandler
*
s_instance
=
nullptr
;
11
12
bool
dockClickHandler
(
id
self
,
SEL
_cmd
, ...) {
13
Q_UNUSED
(
self
)
14
Q_UNUSED
(
_cmd
)
15
16
Q_EMIT
s_instance
->
dockIconClicked
();
17
18
// Return NO (false) to suppress the default macOS actions
19
return
false
;
20
}
21
22
void
setupDockClickHandler
() {
23
if
(
NSApp
==
nil
)
return
;
24
Class
delClass
= (Class)[[
NSApp
delegate
]
class
];
25
SEL
shouldHandle
=
sel_registerName
(
"applicationShouldHandleReopen:hasVisibleWindows:"
);
26
class_replaceMethod
(
delClass
,
shouldHandle
, (
IMP
)
dockClickHandler
,
"B@:"
);
27
}
28
29
MacDockIconHandler::MacDockIconHandler
() : QObject()
30
{
31
setupDockClickHandler
();
32
}
33
34
MacDockIconHandler
*
MacDockIconHandler::instance
()
35
{
36
if
(!
s_instance
)
37
s_instance
=
new
MacDockIconHandler
();
38
return
s_instance
;
39
}
40
41
void
MacDockIconHandler::cleanup
()
42
{
43
delete
s_instance
;
44
}
45
51
void
ForceActivation
()
52
{
53
if
(
NSApp
==
nil
)
return
;
54
[
NSApp
activateIgnoringOtherApps
:YES];
55
}
MacDockIconHandler
macOS-specific Dock icon handler.
Definition
macdockiconhandler.h:13
MacDockIconHandler::MacDockIconHandler
MacDockIconHandler()
Definition
macdockiconhandler.mm:29
MacDockIconHandler::dockIconClicked
void dockIconClicked()
MacDockIconHandler::cleanup
static void cleanup()
Definition
macdockiconhandler.mm:41
MacDockIconHandler::instance
static MacDockIconHandler * instance()
Definition
macdockiconhandler.mm:34
macdockiconhandler.h
s_instance
static MacDockIconHandler * s_instance
Definition
macdockiconhandler.mm:10
setupDockClickHandler
void setupDockClickHandler()
Definition
macdockiconhandler.mm:22
dockClickHandler
bool dockClickHandler(id self, SEL _cmd,...)
Definition
macdockiconhandler.mm:12
ForceActivation
void ForceActivation()
Force application activation on macOS.
Definition
macdockiconhandler.mm:51
Ticks
constexpr auto Ticks(Dur2 d)
Helper to count the seconds of a duration/time_point.
Definition
time.h:82
Generated on Fri Oct 23 2026 20:00:27 for Bitcoin Core by
1.9.8