#ifndef DOCUMENTSTYLE_HPP #define DOCUMENTSTYLE_HPP #include #include #include #include #include struct DocumentStyle { enum Theme { Fixed = 0, AutoDarkTheme = 1, AutoLightTheme = 2 }; struct DefaultFonts { QString regular, fixed; DefaultFonts(); }; DocumentStyle(); void initialiseDefaultFonts(); //! Calculates a filtered/legal file name with all non-allowed chars escaped static QString createFileNameFromName(QString const & src, int index); Theme theme; QFont standard_font; QFont h1_font; QFont h2_font; QFont h3_font; QFont preformatted_font; QFont blockquote_font; QColor background_color; QColor standard_color; QColor preformatted_color; QColor h1_color; QColor h2_color; QColor h3_color; QColor blockquote_fgcolor; QColor blockquote_bgcolor; QColor internal_link_color; QColor external_link_color; QColor cross_scheme_link_color; QString internal_link_prefix; QString external_link_prefix; double margin_h, margin_v; double text_width; QStringList ansi_colors; bool justify_text, text_width_enabled, centre_h1; double line_height_p; double line_height_h; int indent_bq, indent_p, indent_h, indent_l; int indent_size; QTextListFormat::Style list_symbol; 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