aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMike Skec <skec@protonmail.ch>2021-01-04 10:43:42 +1100
committerFelix Queißner <felix@ib-queissner.de>2021-01-04 11:06:26 +0100
commit8cfa899b316040799d3a37b912ecfcb142b78fbd (patch)
tree8208c83478096e4a2961d6636391789112c350bf /src
parentf93bc413e9325750c8d41a465090058386518cfc (diff)
downloadkristall-8cfa899b316040799d3a37b912ecfcb142b78fbd.tar.gz
better default fonts
Diffstat (limited to 'src')
-rw-r--r--src/documentstyle.cpp33
-rw-r--r--src/documentstyle.hpp4
-rw-r--r--src/kristall.hpp2
-rw-r--r--src/main.cpp11
4 files changed, 42 insertions, 8 deletions
diff --git a/src/documentstyle.cpp b/src/documentstyle.cpp
index 1026b4e..5e4f727 100644
--- a/src/documentstyle.cpp
+++ b/src/documentstyle.cpp
@@ -1,4 +1,5 @@
#include "documentstyle.hpp"
+#include "kristall.hpp"
#include <cassert>
#include <QDebug>
#include <QString>
@@ -115,7 +116,7 @@ static QString encodeCssFont (const QFont& refFont)
return cssFontStr;
}
-DocumentStyle::DocumentStyle() : theme(Fixed),
+DocumentStyle::DocumentStyle(bool do_init) : theme(Fixed),
standard_font(),
h1_font(),
h2_font(),
@@ -135,21 +136,41 @@ DocumentStyle::DocumentStyle() : theme(Fixed),
external_link_prefix("⇒ "),
margin(55.0)
{
- preformatted_font.setFamily("monospace");
+ if (do_init) this->initialiseDefaultFonts();
+}
+
+void DocumentStyle::initialiseDefaultFonts()
+{
+ // Setup default fonts
+#ifdef Q_OS_WIN32
+ // Windows
+ static const QString FONT_NORMAL = "Segoe UI";
+ static const QString FONT_MONO = "Consolas";
+//#elif defined Q_OS_DARWIN
+ // Mac (No idea what they use)
+ // static const QString FONT_NORMAL = "???";
+ // static const QString FONT_MONO = "???";
+#else
+ // Ganoo slash linooks
+ static const QString FONT_NORMAL = kristall::default_font_family;
+ static const QString FONT_MONO = kristall::default_font_family_fixed;
+#endif
+
+ preformatted_font.setFamily(FONT_MONO);
preformatted_font.setPointSizeF(10.0);
- standard_font.setFamily("sans");
+ standard_font.setFamily(FONT_NORMAL);
standard_font.setPointSizeF(10.0);
- h1_font.setFamily("sans");
+ h1_font.setFamily(FONT_NORMAL);
h1_font.setBold(true);
h1_font.setPointSizeF(20.0);
- h2_font.setFamily("sans");
+ h2_font.setFamily(FONT_NORMAL);
h2_font.setBold(true);
h2_font.setPointSizeF(15.0);
- h3_font.setFamily("sans");
+ h3_font.setFamily(FONT_NORMAL);
h3_font.setBold(true);
h3_font.setPointSizeF(12.0);
diff --git a/src/documentstyle.hpp b/src/documentstyle.hpp
index a577ca8..930c3bd 100644
--- a/src/documentstyle.hpp
+++ b/src/documentstyle.hpp
@@ -14,7 +14,9 @@ struct DocumentStyle
AutoLightTheme = 2
};
- DocumentStyle();
+ DocumentStyle(bool do_init = true);
+
+ void initialiseDefaultFonts();
//! Calculates a filtered/legal file name with all non-allowed chars escaped
static QString createFileNameFromName(QString const & src, int index);
diff --git a/src/kristall.hpp b/src/kristall.hpp
index 88e7ed9..e3403c0 100644
--- a/src/kristall.hpp
+++ b/src/kristall.hpp
@@ -116,6 +116,8 @@ namespace kristall
void setTheme(Theme theme);
void setUiDensity(UIDensity density, bool previewing);
+
+ extern QString default_font_family, default_font_family_fixed;
}
#endif // KRISTALL_HPP
diff --git a/src/main.cpp b/src/main.cpp
index d412e2b..3b215f3 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -18,7 +18,9 @@ SslTrust kristall::trust::gemini;
SslTrust kristall::trust::https;
FavouriteCollection kristall::favourites;
GenericSettings kristall::options;
-DocumentStyle kristall::document_style;
+DocumentStyle kristall::document_style(false);
+QString kristall::default_font_family;
+QString kristall::default_font_family_fixed;
QDir kristall::dirs::config_root;
QDir kristall::dirs::cache_root;
@@ -91,6 +93,13 @@ int main(int argc, char *argv[])
::app = &app;
+ {
+ // Initialise default fonts
+ kristall::default_font_family = QFontDatabase::systemFont(QFontDatabase::GeneralFont).family();
+ kristall::default_font_family_fixed = QFontInfo(QFont("monospace")).family();
+ kristall::document_style.initialiseDefaultFonts();
+ }
+
kristall::clipboard = app.clipboard();
addEmojiSubstitutions();