Giter Site home page Giter Site logo

regalartifex / qaterial Goto Github PK

View Code? Open in Web Editor NEW

This project forked from olivierldff/qaterial

0.0 0.0 0.0 7.32 MB

๐Ÿงฉ Collection of Material Components based on QtQuickControls2.

Home Page: https://olivierldff.github.io/Qaterial/

License: MIT License

Shell 0.01% C++ 20.23% QML 74.86% CMake 4.89%

qaterial's Introduction

Qaterial

๐Ÿ‘ท Continuous Deployment gitmoji

A collection Material Components to build faster UI using Qml.

Warning : If you intend to use Qaterial in your project, you should use a stable version (v1.3) or create your own fork. I'm using this library for my own projects, and I will introduce breaking change if needed. This library isn't meant for LTS. Use at your own risk.

Feel free to pull request.

๐Ÿš€ Overview

Roadmap

Some history. I started this library as a way to learn qml and how controls work. I made some api mistake so i'm fixing them here and there as time go. There will be breaking change.

Breaking Change

My goal is to move to more standard API relying more only on QtQuickControls default property. I think i made the mistake to introduce some property in type that doesn't need to be there. Here are some idea where i'm going:

  • Move to Material 2018 text type. (Deprecate Material 2014 text type)
  • Deprecate textType to only use font that is present in every controls. (Already in master) Now you can use Label.Headline6 for example where you used textType: Qaterial.Style.TextType.Title. Or font: Qaterial.Style.textTheme.headline6.
  • Deprecate onPrimary, colorReverse, etc... that are everywhere
  • Introduce a ColorTheme for base color of every controls.
  • Use palette introduced in Qt 5.13 as the way to change colors to every controls. This will deprecate foregroundColor, backgroundColor, etc ... in many controls.
  • Use attached properties for custom properties (ie elevation) as qt recommend in documentation.
  • TextField will become a simple control without decorator meant to be the base of more customizable controls. You should move to TextFieldFilled or TextFieldOutlined or TextField2014 to have decorator (icon, suffix, prefix, etc...) (TextField2014 is already available as it is TextField). Maybe introduce a TextFieldDecorated without any background. Also maybe use placeholderText instead of title. Since title is used as placeholder from my experience.
  • ColorPicker (i think it will be multiple variant and building block since everyone wants a different color picker).
  • Deprecate some components llike DoublePage that are too much specialized and are not controls.
  • Change name of FabButton to FloatingActionButton.
  • Clean the mess of RawMaterialButton.
  • Base TextArea on T.TextArea and not Item.
  • More example in general.
  • Deprecate TabBar specialization that are too much specialized that i end up never using them. They would better fit as example.
  • Deprecate RoundColorIcon that is too complicated to use (and maintain)
  • Refactor RoundImage to use ClipRRect.

Missing Components (ideas)

  • AppBar (today only called ToolBar)
  • Avatar
  • Badge
  • Backdrop
  • Breadcrumb
  • Chips
  • Navigation rail
  • Bottom sheets
  • SearchBar

๐Ÿ“Œ Dependencies

dependencies

qaterial's People

Contributors

ahmedalnuaimi avatar cedricleon avatar colombel-vincent avatar ggauthie avatar milerius avatar olivierldff avatar pcales avatar ssakone 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.