aboutsummaryrefslogtreecommitdiff
path: root/src/documentstyle.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/documentstyle.hpp')
-rw-r--r--src/documentstyle.hpp55
1 files changed, 55 insertions, 0 deletions
diff --git a/src/documentstyle.hpp b/src/documentstyle.hpp
new file mode 100644
index 0000000..db02a36
--- /dev/null
+++ b/src/documentstyle.hpp
@@ -0,0 +1,55 @@
+#ifndef DOCUMENTSTYLE_HPP
+#define DOCUMENTSTYLE_HPP
+
+#include <QUrl>
+#include <QFont>
+#include <QColor>
+#include <QSettings>
+
+struct DocumentStyle
+{
+ enum Theme {
+ Fixed = 0,
+ AutoDarkTheme = 1,
+ AutoLightTheme = 2
+ };
+
+ DocumentStyle();
+
+ Theme theme;
+
+ QFont standard_font;
+ QFont h1_font;
+ QFont h2_font;
+ QFont h3_font;
+ QFont preformatted_font;
+
+ QColor background_color;
+ QColor standard_color;
+ QColor preformatted_color;
+ QColor h1_color;
+ QColor h2_color;
+ QColor h3_color;
+
+ QColor internal_link_color;
+ QColor external_link_color;
+ QColor cross_scheme_link_color;
+
+ QString internal_link_prefix;
+ QString external_link_prefix;
+
+ double margin;
+
+ bool save(QSettings & settings) const;
+ bool load(QSettings & settings);
+
+ //! Create a new style with auto-generated colors for the given
+ //! url. The colors are based on the host name
+ DocumentStyle derive(QUrl const & url) const;
+
+ //! Converts this style into a CSS document for
+ //! non-gemini rendered files.
+ QString toStyleSheet() const;
+};
+
+#endif // DOCUMENTSTYLE_HPP