Giter Site home page Giter Site logo

vistaus / qsvgstyle Goto Github PK

View Code? Open in Web Editor NEW

This project forked from dextermagnific/qsvgstyle

1.0 0.0 0.0 3.85 MB

QSvgStyle is a themeable SVG style for Qt5 applications

License: GNU General Public License v2.0

C++ 99.14% QMake 0.66% C 0.20%

qsvgstyle's Introduction

Linux Build Status Documentation Build Status Coverity Scan Build Status
Build Status Documentation Status Coverity Scan Build Status

QSvgStyle distribution

QSvgStyle is a themeable SVG style for Qt 5 desktop applications (C) Said LANKRI, under the GNU GPL License version 2+

It comes with the style engine (QSvgStyle), a theme builder (QSvgThemeBuilder), a theme manager (QSvgThemeManager) and a built-in svg cleaner courtesy of SVGCleaner team.

QSvgStyle

  • Themeable Qt5 style engine using standard SVG documents as themes
  • Fast rendering. QSvgStyle renders at the speed of a raster engine, which is at least twice faster than the Qt SVG renderer
  • Support for color schemes. The theme can be configured to apply the current color scheme on top of the rendered theme
  • Support for Widget palettes. QSvgStyle will honour any QPalette set on a widget
  • Complete support for Right-to-Left layouts
  • Support for capsule grouping in buttons
  • Support for variants for some widgets
  • Built-in default theme
  • Cleanest QStyle engine code with regular code patterns

QSvgThemeBuilder

  • Easy to use GUI tool to build configuration files for themes, with support for multiple preview variants, RTL layouts, enabled/disabled states and others
  • Live configuration previews. Any changes made to the settings are immediately effective in the preview area
  • Live SVG previews. Any changes externally made to the SVG theme are immediately effective in the preview area
  • Inheritance system. A widget can inherit the settings of another one, as such settings are limited to the differences and configuration files are kept to minimal size
  • Display of effective values. When a setting is inherited, the effective value is computed and shown in the GUI
  • Unique debugging tool to see the Qt rendering internals and detect missing SVG elements in the theme
  • Basic SVG generator. Use the built-in SVG generator to generate accurate frames, interiors and shadows to be exported to your favorite SVG editing tool for a faster theme making workflow
  • Built-in SVG cleaner. Use the cleaner to reduce the size of your SVG file by a half or more

QSvgThemeManager

  • Select the active QSvgStyle theme to apply
  • Download online themes
  • Live preview of themes

Binary builds

Binary builds are provided for few distributions. If you want to contribute, please send me an email.

Ubuntu Bionic/Eoan/Focal

Binary packages are provided on PPA for both i386 and x86_64 architectures for Ubuntu

  sudo add-apt-repository ppa:dextermagnific/ppa
  sudo apt update
  sudo apt install qt-style-qsvgstyle-qt5

Build the source

Compile

You need the Qt5 development files of the following modules to compile QSvgStyle:

  • Qt Core
  • Qt GUI
  • Qt SVG
  • Qt XML
$ qmake
$ make

Install

$ sudo make install

Use

You can locally make any Qt5 application use QSvgStyle by adding a -style option:

$ dolphin -style qsvgstyle

To globally set QSvgStyle as your default style engine, use your favorite desktop's configuration tool. For example, use the systemsettings5 in KDE.

QSvgThemeManager: chose theme and tweak the engine

QSvgStyle will use its built-in theme when no particular theme has been chosen. To choose a theme, use the QSvgThemeManager application.

$ qsvgthememanager
  • Choose the active theme and tweak the engine QSvgThemeManager

QSvgThemeBuilder: build theme configuration

QSvgStyle comes with a nice GUI that helps building themes. It can generate both an initial SVG file based on the default theme and its companion config file.

$ qsvgthemebuilder
  • QSvgThemeBuilder at startup QSvgThemeBuilder

  • Editing configuration for a flat theme QSvgThemeBuilder

  • Showing effective values of inherited settings QSvgThemeBuilder

  • Quick SVG generator to generate SVG items with frames, interiors and shadows with many generation options QSvgThemeBuilder

  • Export to SVG editing application of accurate, clean and minimal SVG data with given SVG ids QSvgThemeBuilder QSvgThemeBuilder

Documentation

The latest documentation is always available at Read The Docs

qsvgstyle's People

Contributors

dextermagnific avatar vistaus avatar

Stargazers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.