build fix for -no-freetype in Windows
authorjian liang <jianliang79@gmail.com>
Tue, 13 Mar 2012 14:52:51 +0000 (22:52 +0800)
committerQt by Nokia <qt-info@nokia.com>
Wed, 14 Mar 2012 08:45:07 +0000 (09:45 +0100)
Don't use QWindowsFontDatabaseFT::systemDefaultFont() and
QWindowsFontDatabaseFT::LOGFONT_to_QFont() in qwindowsfontdatabase.cpp and
qwindowstheme.cpp because it is not available when building with
-no-freetype.

Change-Id: I11075475ff435c55b0c641540f95a4d3861b79da
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
src/plugins/platforms/windows/qwindowsfontdatabase.cpp
src/plugins/platforms/windows/qwindowsfontdatabase.h
src/plugins/platforms/windows/qwindowsfontdatabase_ft.cpp
src/plugins/platforms/windows/qwindowsfontdatabase_ft.h
src/plugins/platforms/windows/qwindowstheme.cpp

index 5094ad9..e0be731 100644 (file)
@@ -1065,9 +1065,17 @@ static inline int verticalDPI()
     return GetDeviceCaps(QWindowsContext::instance()->displayContext(), LOGPIXELSY);
 }
 
-QFont QWindowsFontDatabase::defaultFont() const
+QFont QWindowsFontDatabase::systemDefaultFont()
 {
-    return QWindowsFontDatabaseFT::systemDefaultFont();
+    LOGFONT lf;
+    GetObject(GetStockObject(DEFAULT_GUI_FONT), sizeof(lf), &lf);
+    QFont systemFont =  QWindowsFontDatabase::LOGFONT_to_QFont(lf);
+    // "MS Shell Dlg 2" is the correct system font >= Win2k
+    if (systemFont.family() == QStringLiteral("MS Shell Dlg"))
+        systemFont.setFamily(QStringLiteral("MS Shell Dlg 2"));
+    if (QWindowsContext::verboseFonts)
+        qDebug() << __FUNCTION__ << systemFont;
+    return systemFont;
 }
 
 QFont QWindowsFontDatabase::LOGFONT_to_QFont(const LOGFONT& logFont, int verticalDPI_In)
index 04d6ccd..f8f2a1e 100644 (file)
@@ -85,7 +85,8 @@ public:
     virtual void releaseHandle(void *handle);
     virtual QString fontDir() const;
 
-    virtual QFont defaultFont() const;
+    virtual QFont defaultFont() const { return systemDefaultFont(); }
+    static QFont systemDefaultFont();
 
     static QFontEngine *createEngine(int script, const QFontDef &request,
                                      HDC fontHdc, int dpi, bool rawMode,
index fcce87d..f90a880 100644 (file)
@@ -40,6 +40,7 @@
 ****************************************************************************/
 
 #include "qwindowsfontdatabase_ft.h"
+#include "qwindowsfontdatabase.h"
 #include "qwindowscontext.h"
 
 #include <ft2build.h>
@@ -460,17 +461,9 @@ static inline int verticalDPI()
     return GetDeviceCaps(QWindowsContext::instance()->displayContext(), LOGPIXELSY);
 }
 
-QFont QWindowsFontDatabaseFT::systemDefaultFont()
+QFont QWindowsFontDatabaseFT::defaultFont() const
 {
-    LOGFONT lf;
-    GetObject(GetStockObject(DEFAULT_GUI_FONT), sizeof(lf), &lf);
-    QFont systemFont =  QWindowsFontDatabaseFT::LOGFONT_to_QFont(lf);
-    // "MS Shell Dlg 2" is the correct system font >= Win2k
-    if (systemFont.family() == QStringLiteral("MS Shell Dlg"))
-        systemFont.setFamily(QStringLiteral("MS Shell Dlg 2"));
-    if (QWindowsContext::verboseFonts)
-        qDebug() << __FUNCTION__ << systemFont;
-    return systemFont;
+    return QWindowsFontDatabase::systemDefaultFont();
 }
 
 QFont QWindowsFontDatabaseFT::LOGFONT_to_QFont(const LOGFONT& logFont, int verticalDPI_In)
index 4136b75..24810c9 100644 (file)
@@ -59,8 +59,7 @@ public:
     QStringList addApplicationFont(const QByteArray &fontData, const QString &fileName);
 
     virtual QString fontDir() const;
-    virtual QFont defaultFont() const { return systemDefaultFont(); }
-    static QFont systemDefaultFont();
+    virtual QFont defaultFont() const;
 
     static HFONT systemFont();
     static QFont LOGFONT_to_QFont(const LOGFONT& lf, int verticalDPI = 0);
index 10b4682..f10595f 100644 (file)
@@ -44,7 +44,7 @@
 #include "qwindowscontext.h"
 #include "qwindowsintegration.h"
 #include "qt_windows.h"
-#include "qwindowsfontdatabase_ft.h"
+#include "qwindowsfontdatabase.h"
 
 #include <QtCore/QVariant>
 #include <QtCore/QCoreApplication>
@@ -325,16 +325,16 @@ void QWindowsTheme::refreshFonts()
     ncm.cbSize = FIELD_OFFSET(NONCLIENTMETRICS, lfMessageFont) + sizeof(LOGFONT);
     SystemParametersInfo(SPI_GETNONCLIENTMETRICS, ncm.cbSize , &ncm, 0);
 
-    const QFont menuFont = QWindowsFontDatabaseFT::LOGFONT_to_QFont(ncm.lfMenuFont);
-    const QFont messageBoxFont = QWindowsFontDatabaseFT::LOGFONT_to_QFont(ncm.lfMessageFont);
-    const QFont statusFont = QWindowsFontDatabaseFT::LOGFONT_to_QFont(ncm.lfStatusFont);
-    const QFont titleFont = QWindowsFontDatabaseFT::LOGFONT_to_QFont(ncm.lfCaptionFont);
+    const QFont menuFont = QWindowsFontDatabase::LOGFONT_to_QFont(ncm.lfMenuFont);
+    const QFont messageBoxFont = QWindowsFontDatabase::LOGFONT_to_QFont(ncm.lfMessageFont);
+    const QFont statusFont = QWindowsFontDatabase::LOGFONT_to_QFont(ncm.lfStatusFont);
+    const QFont titleFont = QWindowsFontDatabase::LOGFONT_to_QFont(ncm.lfCaptionFont);
 
     LOGFONT lfIconTitleFont;
     SystemParametersInfo(SPI_GETICONTITLELOGFONT, sizeof(lfIconTitleFont), &lfIconTitleFont, 0);
-    const QFont iconTitleFont = QWindowsFontDatabaseFT::LOGFONT_to_QFont(lfIconTitleFont);
+    const QFont iconTitleFont = QWindowsFontDatabase::LOGFONT_to_QFont(lfIconTitleFont);
 
-    m_fonts[SystemFont] = new QFont(QWindowsFontDatabaseFT::systemDefaultFont());
+    m_fonts[SystemFont] = new QFont(QWindowsFontDatabase::systemDefaultFont());
     m_fonts[MenuFont] = new QFont(menuFont);
     m_fonts[MenuBarFont] = new QFont(menuFont);
     m_fonts[MessageBoxFont] = new QFont(messageBoxFont);