-
Notifications
You must be signed in to change notification settings - Fork 5
Expand file tree
/
Copy pathmacutils.h
More file actions
65 lines (56 loc) · 1.84 KB
/
macutils.h
File metadata and controls
65 lines (56 loc) · 1.84 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
#ifndef MACUTILS_H
#define MACUTILS_H
#ifndef __COREFOUNDATION__
class NSView;
class NSWindow;
class NSImage;
class NSString;
#endif
#include "utilsexport.h"
#include <Carbon/Carbon.h>
#include <QWidget>
class MacUtils : public QObject
{
Q_OBJECT
protected:
MacUtils();
virtual ~MacUtils();
public:
class MacUtilsPrivate;
friend MacUtilsPrivate * gp();
static MacUtils * instance();
signals:
void windowFullScreenModeWillChange(QWidget *window, bool fullScreen);
void windowFullScreenModeChanged(QWidget *window, bool fullScreen);
private:
MacUtilsPrivate *p;
};
// Qt <-> Cocoa
WindowRef windowRefFromWidget(const QWidget *w);
NSWindow * nsWindowFromWidget(const QWidget *w);
NSView * nsViewFromWidget(const QWidget *w);
NSImage * nsImageFromQImage(const QImage &image);
QImage qImageFromNSImage(NSImage *image);
NSString * nsStringFromQString(const QString &s);
QString qStringFromNSString(NSString *s);
// window management
void setWindowShadowEnabled(QWidget *window, bool enabled);
bool isWindowGrowButtonEnabled(const QWidget *window);
void setWindowGrowButtonEnabled(QWidget *window, bool enabled);
void hideWindow(void */* (NSWindow*) */ window);
void setWindowFullScreenEnabled(QWidget *window, bool enabled);
bool isWindowFullScreenEnabled(const QWidget *window);
void setWindowFullScreen(QWidget *window, bool enabled);
bool isWindowFullScreen(const QWidget *window);
void setWindowOntop(QWidget *window, bool enabled);
bool isWindowOntop(const QWidget *window);
void setWindowResizable(QWidget *window, bool enabled);
bool isWindowResizable(QWidget *window);
void setWindowShownOnAllSpaces(QWidget *window, bool enabled);
bool isWindowShownOnAllSpaces(QWidget *window);
// app management
void setAppFullScreenEnabled(bool enabled);
bool isAppFullScreenEnabled();
// string management
QString convertFromMacCyrillic(const char *str);
#endif // MACUTILS_H