aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGerald Combs <gerald@wireshark.org>2012-07-31 00:00:35 +0000
committerGerald Combs <gerald@wireshark.org>2012-07-31 00:00:35 +0000
commit0161f2aa88b3e984a80889be410896046525b999 (patch)
tree4809f9d5e2225ff8168c035de72b186bc9d2cc43
parentd3a8e5614ceb0cd7167c83309fbfa856c0945465 (diff)
Try to choose a better default font. Fix a runtime warning in the status
bar. svn path=/trunk/; revision=44147
-rw-r--r--ui/qt/main_status_bar.cpp2
-rw-r--r--ui/qt/monospace_font.cpp50
2 files changed, 39 insertions, 13 deletions
diff --git a/ui/qt/main_status_bar.cpp b/ui/qt/main_status_bar.cpp
index ae335e2652..805b9790b9 100644
--- a/ui/qt/main_status_bar.cpp
+++ b/ui/qt/main_status_bar.cpp
@@ -140,7 +140,7 @@ MainStatusBar::MainStatusBar(QWidget *parent) :
// " margin-left: %1px;"
" max-width: 8em;"
"}")
- .arg(pbMargin)
+// .arg(pbMargin)
);
// XXX - Add the expert level icon
diff --git a/ui/qt/monospace_font.cpp b/ui/qt/monospace_font.cpp
index 9d41fad433..e89f044a14 100644
--- a/ui/qt/monospace_font.cpp
+++ b/ui/qt/monospace_font.cpp
@@ -23,7 +23,16 @@
#include "monospace_font.h"
+#include "wireshark_application.h"
+
#include <QFontMetrics>
+#include <QString>
+#include <QStringList>
+#include <QDebug>
+
+//
+// XXX We should probably move this to wsApp.
+//
//MonospaceFont::MonospaceFont(QObject *parent) :
// QFont(parent)
@@ -36,24 +45,41 @@ QFont m_r_font, m_b_font;
// emit(monospaceFontChanged(self));
//}
+// http://en.wikipedia.org/wiki/Category:Monospaced_typefaces
+#define WIN_DEF_FONT "Consolas"
+#define WIN_ALT_FONTS "Lucida Console"
+#define OSX_DEF_FONT "Menlo"
+#define OSX_ALT_FONTS "Monaco"
+#define X11_DEF_FONT "Bitstream Vera Sans Mono"
+#define X11_ALT_FONTS "Liberation Mono" << "DejaVu Sans Mono"
+#define FALLBACK_FONTS "Lucida Sans Typewriter" << "Inconsolata" << "Droid Sans Mono" << "Andale Mono" << "Courier New" << "monospace"
+
void
font_init(void) {
- m_r_font.setFamily("Lucida Console");
-// m_r_font.setPointSize(10);
-#if QT_VERSION >= 0x040700
- m_r_font.setStyleHint(QFont::Monospace);
+ QStringList substitutes;
+
+ // Try to pick the latest, shiniest fixed-width font for our OS.
+#if defined(Q_WS_WIN)
+#define DEF_FONT WIN_DEF_FONT
+ substitutes = QStringList() << WIN_ALT_FONTS << OSX_DEF_FONT << OSX_ALT_FONTS << X11_DEF_FONT << X11_ALT_FONTS << FALLBACK_FONTS;
+#elif defined(Q_WS_MAC)
+#define DEF_FONT OSX_DEF_FONT
+ substitutes = QStringList() << OSX_ALT_FONTS << WIN_DEF_FONT << WIN_ALT_FONTS << X11_DEF_FONT << X11_ALT_FONTS << FALLBACK_FONTS;
#else
- m_r_font.setStyleHint(QFont::TypeWriter);
+#define DEF_FONT X11_DEF_FONT
+ substitutes = QStringList() << X11_ALT_FONTS << WIN_DEF_FONT << WIN_ALT_FONTS << OSX_DEF_FONT << OSX_ALT_FONTS << FALLBACK_FONTS;
#endif
- m_b_font.setFamily("Lucida Console");
-// m_b_font.setPointSize(10);
+ m_r_font.setFamily(DEF_FONT);
+ m_r_font.insertSubstitutions(DEF_FONT, substitutes);
+ m_r_font.setPointSize(wsApp->font().pointSize());
+ m_r_font.setFixedPitch(true);
+
+ m_b_font.setFamily(DEF_FONT);
+ m_b_font.insertSubstitutions(DEF_FONT, substitutes);
+ m_b_font.setPointSize(wsApp->font().pointSize());
+ m_b_font.setFixedPitch(true);
m_b_font.setWeight(QFont::Bold);
-#if QT_VERSION >= 0x040700
- m_b_font.setStyleHint(QFont::Monospace);
-#else
- m_b_font.setStyleHint(QFont::TypeWriter);
-#endif
}
fa_ret_t