6#include <QtGui/qwindow.h>
7#include <QtGui/qfontdatabase.h>
10#include <QtCore/private/qcore_mac_p.h>
11#include <QtGui/private/qfont_p.h>
12#include <QtGui/private/qfontengine_p.h>
23 UIFontPickerViewControllerConfiguration *configuration = [[UIFontPickerViewControllerConfiguration alloc] init];
25 UIFontDescriptorSymbolicTraits traits = {};
26 traits |= UIFontDescriptorTraitMonoSpace;
27 configuration.filteredTraits = traits;
29 configuration.includeFaces = YES;
30 if (self = [super initWithConfiguration:configuration]) {
33 self.presentationController.delegate =
self;
35 [configuration release];
42 auto family = fontInfo.family().toNSString();
43 auto size = fontInfo.pointSize();
46 static_cast<NSString *
>(UIFontDescriptorFamilyAttribute): family,
47 static_cast<NSString *>(UIFontDescriptorSizeAttribute): [NSNumber numberWithInt:
size]
49 UIFontDescriptor *
fd = [UIFontDescriptor fontDescriptorWithFontAttributes:dictionary];
51 UIFontDescriptorSymbolicTraits traits = 0;
53 traits |= UIFontDescriptorTraitItalic;
55 traits |= UIFontDescriptorTraitBold;
56 fd = [fd fontDescriptorWithSymbolicTraits:traits];
58 self.selectedFontDescriptor =
fd;
63 UIFontDescriptor *
font =
self.selectedFontDescriptor;
67 NSDictionary *attributes =
font.fontAttributes;
68 UIFontDescriptorSymbolicTraits traits =
font.symbolicTraits;
72 QString family = QString::fromNSString([attributes objectForKey:UIFontDescriptorFamilyAttribute]);
77 UIFont *
f = [UIFont fontWithDescriptor:font size:size];
78 family = QString::fromNSString(
f.familyName);
82 if ((traits & (UIFontDescriptorTraitItalic | UIFontDescriptorTraitBold)) == (UIFontDescriptorTraitItalic | UIFontDescriptorTraitBold))
83 style =
"Bold Italic";
84 else if (traits & UIFontDescriptorTraitItalic)
86 else if (traits & UIFontDescriptorTraitBold)
92 m_fontDialog->updateCurrentFont(newFont);
93 emit m_fontDialog->currentFontChanged(newFont);
98- (
void)fontPickerViewControllerDidPickFont:(UIFontPickerViewController *)viewController
101 emit m_fontDialog->accept();
104- (
void)fontPickerViewControllerDidCancel:(UIFontPickerViewController *)viewController
107 emit m_fontDialog->reject();
111- (
void)presentationControllerDidDismiss:(UIPresentationController *)presentationController
114 emit m_fontDialog->reject();
139 if (!m_viewController) {
145 m_viewController.modalInPresentation = YES;
153 if (
window.rootViewController.presentedViewController)
156 [window.rootViewController presentViewController:m_viewController animated:YES completion:nil];
165 m_viewController =
nullptr;
172 if (m_currentFont ==
font)
175 m_currentFont =
font;
176 if (m_viewController)
182 return m_currentFont;
187 m_currentFont =
font;
int exec(ProcessEventsFlags flags=AllEvents)
Enters the main event loop and waits until exit() is called.
void exit(int returnCode=0)
Tells the event loop to exit with a return code.
bool isRunning() const
Returns true if the event loop is running; otherwise returns false.
Options options
the various options that affect the look and feel of the dialog
static QFont font(const QString &family, const QString &style, int pointSize)
Returns a QFont object that has family family, style style and point size pointSize.
Weight weight() const
Returns the weight of the font, using the same scale as the \l{QFont::Weight} enumeration.
int pointSize() const
Returns the point size of the font.
Style style() const
Returns the style of the font.
bool show(Qt::WindowFlags windowFlags, Qt::WindowModality windowModality, QWindow *parent) override
void updateCurrentFont(const QFont &)
void setCurrentFont(const QFont &) override
QFont currentFont() const override
QObject * parent() const
Returns a pointer to the parent object.
\macro QT_RESTRICTED_CAST_FROM_ASCII
bool isEmpty() const
Returns true if the string has no characters; otherwise returns false.
AppleApplication * qt_apple_sharedApplication()
DBusConnection const char DBusError DBusBusType DBusError return DBusConnection DBusHandleMessageFunction void DBusFreeFunction return DBusConnection return DBusConnection return const char DBusError return DBusConnection DBusMessage dbus_uint32_t return DBusConnection dbus_bool_t DBusConnection DBusAddWatchFunction DBusRemoveWatchFunction DBusWatchToggledFunction void DBusFreeFunction return DBusConnection DBusDispatchStatusFunction void DBusFreeFunction DBusTimeout return DBusTimeout return DBusWatch return DBusWatch unsigned int return DBusError const DBusError return const DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessageIter int const void return DBusMessageIter DBusMessageIter return DBusMessageIter void DBusMessageIter void int return DBusMessage DBusMessageIter return DBusMessageIter return DBusMessageIter DBusMessageIter const char const char const char const char return DBusMessage return DBusMessage const char return DBusMessage dbus_bool_t return DBusMessage dbus_uint32_t return DBusMessage void
int qRound(qfloat16 d) noexcept
GLenum GLuint GLintptr GLsizeiptr size
[1]
QFuture< QSet< QString > > dictionary
QFileDialog dialog(this)
[1]
IUIAutomationTreeWalker __RPC__deref_out_opt IUIAutomationElement ** parent