diff --git a/src/Influence.pro b/src/Influence.pro index ad05a91..cbf8426 100644 --- a/src/Influence.pro +++ b/src/Influence.pro @@ -39,3 +39,19 @@ HEADERS += \ FORMS += \ mainwindow.ui \ chatwindow.ui + +win32:CONFIG(release, debug|release): LIBS += -L$$PWD/material-widgets/release/ -lcomponents +else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/material-widgets/debug/ -lcomponents +else:unix: LIBS += -L$$PWD/material-widgets/ -lcomponents + +INCLUDEPATH += $$PWD/material-widgets +DEPENDPATH += $$PWD/material-widgets + +win32-g++:CONFIG(release, debug|release): PRE_TARGETDEPS += $$PWD/material-widgets/release/libcomponents.a +else:win32-g++:CONFIG(debug, debug|release): PRE_TARGETDEPS += $$PWD/material-widgets/debug/libcomponents.a +else:win32:!win32-g++:CONFIG(release, debug|release): PRE_TARGETDEPS += $$PWD/material-widgets/release/components.lib +else:win32:!win32-g++:CONFIG(debug, debug|release): PRE_TARGETDEPS += $$PWD/material-widgets/debug/components.lib +else:unix: PRE_TARGETDEPS += $$PWD/material-widgets/libcomponents.a + +RESOURCES += \ + material-widgets/resources.qrc diff --git a/src/material-widgets/Makefile b/src/material-widgets/Makefile new file mode 100644 index 0000000..a053c5d --- /dev/null +++ b/src/material-widgets/Makefile @@ -0,0 +1,2241 @@ +############################################################################# +# Makefile for building: libcomponents.a +# Generated by qmake (3.1) (Qt 5.9.5) +# Project: components.pro +# Template: lib +# Command: /usr/lib/qt5/bin/qmake -o Makefile components.pro +############################################################################# + +MAKEFILE = Makefile + +####### Compiler, tools and options + +CC = gcc +CXX = g++ +DEFINES = -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB +CFLAGS = -pipe -O2 -fPIC -Wall -W -D_REENTRANT $(DEFINES) +CXXFLAGS = -pipe -O2 -fPIC -Wall -W -D_REENTRANT $(DEFINES) +INCPATH = -I. -isystem /usr/include/x86_64-linux-gnu/qt5 -isystem /usr/include/x86_64-linux-gnu/qt5/QtGui -isystem /usr/include/x86_64-linux-gnu/qt5/QtCore -I. -isystem /usr/include/libdrm -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ +QMAKE = /usr/lib/qt5/bin/qmake +DEL_FILE = rm -f +CHK_DIR_EXISTS= test -d +MKDIR = mkdir -p +COPY = cp -f +COPY_FILE = cp -f +COPY_DIR = cp -f -R +INSTALL_FILE = install -m 644 -p +INSTALL_PROGRAM = install -m 755 -p +INSTALL_DIR = cp -f -R +QINSTALL = /usr/lib/qt5/bin/qmake -install qinstall +QINSTALL_PROGRAM = /usr/lib/qt5/bin/qmake -install qinstall -exe +DEL_FILE = rm -f +SYMLINK = ln -f -s +DEL_DIR = rmdir +MOVE = mv -f +TAR = tar -cf +COMPRESS = gzip -9f +DISTNAME = components1.0.0 +DISTDIR = /home/chronosx/Documents/Development/qt-material-widgets/components/.tmp/components1.0.0 +AR = ar cqs +RANLIB = +SED = sed +STRIP = strip + +####### Output directory + +OBJECTS_DIR = ./ + +####### Files + +SOURCES = qtmaterialavatar.cpp \ + lib/qtmaterialstyle.cpp \ + lib/qtmaterialtheme.cpp \ + qtmaterialbadge.cpp \ + lib/qtmaterialoverlaywidget.cpp \ + qtmaterialcheckbox.cpp \ + lib/qtmaterialcheckable_internal.cpp \ + lib/qtmaterialcheckable.cpp \ + lib/qtmaterialripple.cpp \ + lib/qtmaterialrippleoverlay.cpp \ + qtmaterialfab.cpp \ + qtmaterialraisedbutton.cpp \ + qtmaterialflatbutton_internal.cpp \ + qtmaterialflatbutton.cpp \ + lib/qtmaterialstatetransition.cpp \ + qtmaterialiconbutton.cpp \ + qtmaterialprogress_internal.cpp \ + qtmaterialprogress.cpp \ + qtmaterialcircularprogress_internal.cpp \ + qtmaterialcircularprogress.cpp \ + qtmaterialslider_internal.cpp \ + qtmaterialslider.cpp \ + qtmaterialsnackbar_internal.cpp \ + qtmaterialsnackbar.cpp \ + qtmaterialradiobutton.cpp \ + qtmaterialtoggle_internal.cpp \ + qtmaterialtoggle.cpp \ + qtmaterialtextfield_internal.cpp \ + qtmaterialtextfield.cpp \ + qtmaterialtabs_internal.cpp \ + qtmaterialtabs.cpp \ + qtmaterialscrollbar_internal.cpp \ + qtmaterialscrollbar.cpp \ + qtmaterialdialog_internal.cpp \ + qtmaterialdialog.cpp \ + qtmaterialdrawer_internal.cpp \ + qtmaterialdrawer.cpp \ + qtmaterialappbar.cpp \ + qtmaterialautocomplete.cpp \ + qtmaterialpaper.cpp \ + qtmaterialtable.cpp \ + layouts/qtmaterialsnackbarlayout.cpp \ + qtmaterialautocomplete_internal.cpp \ + qtmaterialmenu.cpp \ + qtmaterialmenu_internal.cpp \ + qtmateriallist.cpp \ + qtmateriallistitem.cpp qrc_resources.cpp \ + moc_qtmaterialavatar.cpp \ + moc_qtmaterialstyle.cpp \ + moc_qtmaterialtheme.cpp \ + moc_qtmaterialbadge.cpp \ + moc_qtmaterialoverlaywidget.cpp \ + moc_qtmaterialcheckbox.cpp \ + moc_qtmaterialcheckable_internal.cpp \ + moc_qtmaterialripple.cpp \ + moc_qtmaterialrippleoverlay.cpp \ + moc_qtmaterialcheckable.cpp \ + moc_qtmaterialfab.cpp \ + moc_qtmaterialraisedbutton.cpp \ + moc_qtmaterialflatbutton_internal.cpp \ + moc_qtmaterialflatbutton.cpp \ + moc_qtmaterialstatetransition.cpp \ + moc_qtmaterialiconbutton.cpp \ + moc_qtmaterialprogress_internal.cpp \ + moc_qtmaterialprogress.cpp \ + moc_qtmaterialcircularprogress_internal.cpp \ + moc_qtmaterialcircularprogress.cpp \ + moc_qtmaterialslider_internal.cpp \ + moc_qtmaterialslider.cpp \ + moc_qtmaterialsnackbar_internal.cpp \ + moc_qtmaterialsnackbar.cpp \ + moc_qtmaterialradiobutton.cpp \ + moc_qtmaterialtoggle_internal.cpp \ + moc_qtmaterialtoggle.cpp \ + moc_qtmaterialtextfield_internal.cpp \ + moc_qtmaterialtextfield.cpp \ + moc_qtmaterialtabs_internal.cpp \ + moc_qtmaterialtabs.cpp \ + moc_qtmaterialscrollbar_internal.cpp \ + moc_qtmaterialscrollbar.cpp \ + moc_qtmaterialdialog_internal.cpp \ + moc_qtmaterialdialog.cpp \ + moc_qtmaterialdrawer_internal.cpp \ + moc_qtmaterialdrawer.cpp \ + moc_qtmaterialappbar.cpp \ + moc_qtmaterialautocomplete.cpp \ + moc_qtmaterialautocomplete_internal.cpp \ + moc_qtmaterialmenu.cpp +OBJECTS = qtmaterialavatar.o \ + qtmaterialstyle.o \ + qtmaterialtheme.o \ + qtmaterialbadge.o \ + qtmaterialoverlaywidget.o \ + qtmaterialcheckbox.o \ + qtmaterialcheckable_internal.o \ + qtmaterialcheckable.o \ + qtmaterialripple.o \ + qtmaterialrippleoverlay.o \ + qtmaterialfab.o \ + qtmaterialraisedbutton.o \ + qtmaterialflatbutton_internal.o \ + qtmaterialflatbutton.o \ + qtmaterialstatetransition.o \ + qtmaterialiconbutton.o \ + qtmaterialprogress_internal.o \ + qtmaterialprogress.o \ + qtmaterialcircularprogress_internal.o \ + qtmaterialcircularprogress.o \ + qtmaterialslider_internal.o \ + qtmaterialslider.o \ + qtmaterialsnackbar_internal.o \ + qtmaterialsnackbar.o \ + qtmaterialradiobutton.o \ + qtmaterialtoggle_internal.o \ + qtmaterialtoggle.o \ + qtmaterialtextfield_internal.o \ + qtmaterialtextfield.o \ + qtmaterialtabs_internal.o \ + qtmaterialtabs.o \ + qtmaterialscrollbar_internal.o \ + qtmaterialscrollbar.o \ + qtmaterialdialog_internal.o \ + qtmaterialdialog.o \ + qtmaterialdrawer_internal.o \ + qtmaterialdrawer.o \ + qtmaterialappbar.o \ + qtmaterialautocomplete.o \ + qtmaterialpaper.o \ + qtmaterialtable.o \ + qtmaterialsnackbarlayout.o \ + qtmaterialautocomplete_internal.o \ + qtmaterialmenu.o \ + qtmaterialmenu_internal.o \ + qtmateriallist.o \ + qtmateriallistitem.o \ + qrc_resources.o \ + moc_qtmaterialavatar.o \ + moc_qtmaterialstyle.o \ + moc_qtmaterialtheme.o \ + moc_qtmaterialbadge.o \ + moc_qtmaterialoverlaywidget.o \ + moc_qtmaterialcheckbox.o \ + moc_qtmaterialcheckable_internal.o \ + moc_qtmaterialripple.o \ + moc_qtmaterialrippleoverlay.o \ + moc_qtmaterialcheckable.o \ + moc_qtmaterialfab.o \ + moc_qtmaterialraisedbutton.o \ + moc_qtmaterialflatbutton_internal.o \ + moc_qtmaterialflatbutton.o \ + moc_qtmaterialstatetransition.o \ + moc_qtmaterialiconbutton.o \ + moc_qtmaterialprogress_internal.o \ + moc_qtmaterialprogress.o \ + moc_qtmaterialcircularprogress_internal.o \ + moc_qtmaterialcircularprogress.o \ + moc_qtmaterialslider_internal.o \ + moc_qtmaterialslider.o \ + moc_qtmaterialsnackbar_internal.o \ + moc_qtmaterialsnackbar.o \ + moc_qtmaterialradiobutton.o \ + moc_qtmaterialtoggle_internal.o \ + moc_qtmaterialtoggle.o \ + moc_qtmaterialtextfield_internal.o \ + moc_qtmaterialtextfield.o \ + moc_qtmaterialtabs_internal.o \ + moc_qtmaterialtabs.o \ + moc_qtmaterialscrollbar_internal.o \ + moc_qtmaterialscrollbar.o \ + moc_qtmaterialdialog_internal.o \ + moc_qtmaterialdialog.o \ + moc_qtmaterialdrawer_internal.o \ + moc_qtmaterialdrawer.o \ + moc_qtmaterialappbar.o \ + moc_qtmaterialautocomplete.o \ + moc_qtmaterialautocomplete_internal.o \ + moc_qtmaterialmenu.o +DIST = ../.qmake.conf \ + ../.qmake.stash \ + components.pro qtmaterialavatar_p.h \ + qtmaterialavatar.h \ + lib/qtmaterialstyle_p.h \ + lib/qtmaterialstyle.h \ + lib/qtmaterialtheme_p.h \ + lib/qtmaterialtheme.h \ + qtmaterialbadge_p.h \ + qtmaterialbadge.h \ + lib/qtmaterialoverlaywidget.h \ + qtmaterialcheckbox_p.h \ + qtmaterialcheckbox.h \ + lib/qtmaterialcheckable_internal.h \ + lib/qtmaterialcheckable_p.h \ + lib/qtmaterialripple.h \ + lib/qtmaterialrippleoverlay.h \ + lib/qtmaterialcheckable.h \ + qtmaterialfab_p.h \ + qtmaterialfab.h \ + qtmaterialraisedbutton_p.h \ + qtmaterialraisedbutton.h \ + qtmaterialflatbutton_internal.h \ + qtmaterialflatbutton_p.h \ + qtmaterialflatbutton.h \ + lib/qtmaterialstatetransition.h \ + lib/qtmaterialstatetransitionevent.h \ + qtmaterialiconbutton_p.h \ + qtmaterialiconbutton.h \ + qtmaterialprogress_internal.h \ + qtmaterialprogress_p.h \ + qtmaterialprogress.h \ + qtmaterialcircularprogress_internal.h \ + qtmaterialcircularprogress_p.h \ + qtmaterialcircularprogress.h \ + qtmaterialslider_internal.h \ + qtmaterialslider_p.h \ + qtmaterialslider.h \ + qtmaterialsnackbar_internal.h \ + qtmaterialsnackbar_p.h \ + qtmaterialsnackbar.h \ + qtmaterialradiobutton_p.h \ + qtmaterialradiobutton.h \ + qtmaterialtoggle_internal.h \ + qtmaterialtoggle_p.h \ + qtmaterialtoggle.h \ + qtmaterialtextfield_internal.h \ + qtmaterialtextfield_p.h \ + qtmaterialtextfield.h \ + qtmaterialtabs_internal.h \ + qtmaterialtabs_p.h \ + qtmaterialtabs.h \ + qtmaterialscrollbar_internal.h \ + qtmaterialscrollbar_p.h \ + qtmaterialscrollbar.h \ + qtmaterialdialog_internal.h \ + qtmaterialdialog_p.h \ + qtmaterialdialog.h \ + qtmaterialdrawer_internal.h \ + qtmaterialdrawer_p.h \ + qtmaterialdrawer.h \ + qtmaterialappbar.h \ + qtmaterialappbar_p.h \ + qtmaterialautocomplete.h \ + qtmaterialautocomplete_p.h \ + qtmaterialpaper.h \ + qtmaterialpaper_p.h \ + qtmaterialtable.h \ + qtmaterialtable_p.h \ + layouts/qtmaterialsnackbarlayout.h \ + layouts/qtmaterialsnackbarlayout_p.h \ + qtmaterialautocomplete_internal.h \ + qtmaterialmenu.h \ + qtmaterialmenu_p.h \ + qtmaterialmenu_internal.h \ + qtmateriallist.h \ + qtmateriallist_p.h \ + qtmateriallistitem.h \ + qtmateriallistitem_p.h qtmaterialavatar.cpp \ + lib/qtmaterialstyle.cpp \ + lib/qtmaterialtheme.cpp \ + qtmaterialbadge.cpp \ + lib/qtmaterialoverlaywidget.cpp \ + qtmaterialcheckbox.cpp \ + lib/qtmaterialcheckable_internal.cpp \ + lib/qtmaterialcheckable.cpp \ + lib/qtmaterialripple.cpp \ + lib/qtmaterialrippleoverlay.cpp \ + qtmaterialfab.cpp \ + qtmaterialraisedbutton.cpp \ + qtmaterialflatbutton_internal.cpp \ + qtmaterialflatbutton.cpp \ + lib/qtmaterialstatetransition.cpp \ + qtmaterialiconbutton.cpp \ + qtmaterialprogress_internal.cpp \ + qtmaterialprogress.cpp \ + qtmaterialcircularprogress_internal.cpp \ + qtmaterialcircularprogress.cpp \ + qtmaterialslider_internal.cpp \ + qtmaterialslider.cpp \ + qtmaterialsnackbar_internal.cpp \ + qtmaterialsnackbar.cpp \ + qtmaterialradiobutton.cpp \ + qtmaterialtoggle_internal.cpp \ + qtmaterialtoggle.cpp \ + qtmaterialtextfield_internal.cpp \ + qtmaterialtextfield.cpp \ + qtmaterialtabs_internal.cpp \ + qtmaterialtabs.cpp \ + qtmaterialscrollbar_internal.cpp \ + qtmaterialscrollbar.cpp \ + qtmaterialdialog_internal.cpp \ + qtmaterialdialog.cpp \ + qtmaterialdrawer_internal.cpp \ + qtmaterialdrawer.cpp \ + qtmaterialappbar.cpp \ + qtmaterialautocomplete.cpp \ + qtmaterialpaper.cpp \ + qtmaterialtable.cpp \ + layouts/qtmaterialsnackbarlayout.cpp \ + qtmaterialautocomplete_internal.cpp \ + qtmaterialmenu.cpp \ + qtmaterialmenu_internal.cpp \ + qtmateriallist.cpp \ + qtmateriallistitem.cpp +QMAKE_TARGET = components +DESTDIR = +TARGET = libcomponents.a + + +first: all +####### Build rules + +staticlib: $(TARGET) + +$(TARGET): $(OBJECTS) $(OBJCOMP) + -$(DEL_FILE) $(TARGET) + $(AR) $(DESTDIR)$(TARGET) $(OBJECTS) + + +Makefile: components.pro ../.qmake.conf /usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++/qmake.conf /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/spec_pre.prf \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/unix.conf \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/linux.conf \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/sanitize.conf \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/gcc-base.conf \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/gcc-base-unix.conf \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/g++-base.conf \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/g++-unix.conf \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/qconfig.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_accessibility_support_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_bootstrap_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_concurrent.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_concurrent_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_core.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_core_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_dbus.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_dbus_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_designer.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_devicediscovery_support_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_egl_support_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_eglfs_kms_support_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_eglfsdeviceintegration_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_eventdispatcher_support_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_fb_support_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_fontdatabase_support_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_glx_support_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_gui.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_gui_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_help.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_input_support_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_kms_support_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_linuxaccessibility_support_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_multimedia.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_multimediawidgets.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_network.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_network_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_opengl.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_opengl_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_openglextensions.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_openglextensions_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_platformcompositor_support_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_printsupport.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_printsupport_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_service_support_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_sql.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_sql_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_svg.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_testlib.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_testlib_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_theme_support_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_uiplugin.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_uitools.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_widgets.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_widgets_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_xcb_qpa_lib_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_xml.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_xml_private.pri \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/qt_functions.prf \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/qt_config.prf \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++/qmake.conf \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/spec_post.prf \ + ../.qmake.conf \ + ../.qmake.stash \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/exclusive_builds.prf \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/toolchain.prf \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/default_pre.prf \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/resolve_config.prf \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/default_post.prf \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/warn_on.prf \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/qt.prf \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/resources.prf \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/moc.prf \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/unix/opengl.prf \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/unix/thread.prf \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/qmake_use.prf \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/file_copies.prf \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/testcase_targets.prf \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/exceptions.prf \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/yacc.prf \ + /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/lex.prf \ + components.pro \ + resources.qrc \ + /usr/lib/x86_64-linux-gnu/libQt5Gui.prl \ + /usr/lib/x86_64-linux-gnu/libQt5Core.prl + $(QMAKE) -o Makefile components.pro +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/spec_pre.prf: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/unix.conf: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/linux.conf: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/sanitize.conf: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/gcc-base.conf: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/gcc-base-unix.conf: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/g++-base.conf: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/g++-unix.conf: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/qconfig.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_accessibility_support_private.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_bootstrap_private.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_concurrent.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_concurrent_private.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_core.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_core_private.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_dbus.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_dbus_private.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_designer.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_devicediscovery_support_private.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_egl_support_private.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_eglfs_kms_support_private.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_eglfsdeviceintegration_private.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_eventdispatcher_support_private.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_fb_support_private.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_fontdatabase_support_private.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_glx_support_private.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_gui.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_gui_private.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_help.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_input_support_private.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_kms_support_private.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_linuxaccessibility_support_private.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_multimedia.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_multimediawidgets.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_network.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_network_private.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_opengl.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_opengl_private.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_openglextensions.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_openglextensions_private.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_platformcompositor_support_private.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_printsupport.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_printsupport_private.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_service_support_private.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_sql.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_sql_private.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_svg.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_testlib.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_testlib_private.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_theme_support_private.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_uiplugin.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_uitools.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_widgets.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_widgets_private.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_xcb_qpa_lib_private.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_xml.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_xml_private.pri: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/qt_functions.prf: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/qt_config.prf: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++/qmake.conf: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/spec_post.prf: +../.qmake.conf: +../.qmake.stash: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/exclusive_builds.prf: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/toolchain.prf: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/default_pre.prf: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/resolve_config.prf: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/default_post.prf: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/warn_on.prf: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/qt.prf: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/resources.prf: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/moc.prf: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/unix/opengl.prf: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/unix/thread.prf: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/qmake_use.prf: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/file_copies.prf: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/testcase_targets.prf: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/exceptions.prf: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/yacc.prf: +/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/lex.prf: +components.pro: +resources.qrc: +/usr/lib/x86_64-linux-gnu/libQt5Gui.prl: +/usr/lib/x86_64-linux-gnu/libQt5Core.prl: +qmake: FORCE + @$(QMAKE) -o Makefile components.pro + +qmake_all: FORCE + + +all: Makefile $(TARGET) + +dist: distdir FORCE + (cd `dirname $(DISTDIR)` && $(TAR) $(DISTNAME).tar $(DISTNAME) && $(COMPRESS) $(DISTNAME).tar) && $(MOVE) `dirname $(DISTDIR)`/$(DISTNAME).tar.gz . && $(DEL_FILE) -r $(DISTDIR) + +distdir: FORCE + @test -d $(DISTDIR) || mkdir -p $(DISTDIR) + $(COPY_FILE) --parents $(DIST) $(DISTDIR)/ + $(COPY_FILE) --parents resources.qrc $(DISTDIR)/ + $(COPY_FILE) --parents /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/data/dummy.cpp $(DISTDIR)/ + $(COPY_FILE) --parents qtmaterialavatar_p.h qtmaterialavatar.h lib/qtmaterialstyle_p.h lib/qtmaterialstyle.h lib/qtmaterialtheme_p.h lib/qtmaterialtheme.h qtmaterialbadge_p.h qtmaterialbadge.h lib/qtmaterialoverlaywidget.h qtmaterialcheckbox_p.h qtmaterialcheckbox.h lib/qtmaterialcheckable_internal.h lib/qtmaterialcheckable_p.h lib/qtmaterialripple.h lib/qtmaterialrippleoverlay.h lib/qtmaterialcheckable.h qtmaterialfab_p.h qtmaterialfab.h qtmaterialraisedbutton_p.h qtmaterialraisedbutton.h qtmaterialflatbutton_internal.h qtmaterialflatbutton_p.h qtmaterialflatbutton.h lib/qtmaterialstatetransition.h lib/qtmaterialstatetransitionevent.h qtmaterialiconbutton_p.h qtmaterialiconbutton.h qtmaterialprogress_internal.h qtmaterialprogress_p.h qtmaterialprogress.h qtmaterialcircularprogress_internal.h qtmaterialcircularprogress_p.h qtmaterialcircularprogress.h qtmaterialslider_internal.h qtmaterialslider_p.h qtmaterialslider.h qtmaterialsnackbar_internal.h qtmaterialsnackbar_p.h qtmaterialsnackbar.h qtmaterialradiobutton_p.h qtmaterialradiobutton.h qtmaterialtoggle_internal.h qtmaterialtoggle_p.h qtmaterialtoggle.h qtmaterialtextfield_internal.h qtmaterialtextfield_p.h qtmaterialtextfield.h qtmaterialtabs_internal.h qtmaterialtabs_p.h qtmaterialtabs.h qtmaterialscrollbar_internal.h qtmaterialscrollbar_p.h qtmaterialscrollbar.h qtmaterialdialog_internal.h qtmaterialdialog_p.h qtmaterialdialog.h qtmaterialdrawer_internal.h qtmaterialdrawer_p.h qtmaterialdrawer.h qtmaterialappbar.h qtmaterialappbar_p.h qtmaterialautocomplete.h qtmaterialautocomplete_p.h qtmaterialpaper.h qtmaterialpaper_p.h qtmaterialtable.h qtmaterialtable_p.h layouts/qtmaterialsnackbarlayout.h layouts/qtmaterialsnackbarlayout_p.h qtmaterialautocomplete_internal.h qtmaterialmenu.h qtmaterialmenu_p.h qtmaterialmenu_internal.h qtmateriallist.h qtmateriallist_p.h qtmateriallistitem.h qtmateriallistitem_p.h $(DISTDIR)/ + $(COPY_FILE) --parents qtmaterialavatar.cpp lib/qtmaterialstyle.cpp lib/qtmaterialtheme.cpp qtmaterialbadge.cpp lib/qtmaterialoverlaywidget.cpp qtmaterialcheckbox.cpp lib/qtmaterialcheckable_internal.cpp lib/qtmaterialcheckable.cpp lib/qtmaterialripple.cpp lib/qtmaterialrippleoverlay.cpp qtmaterialfab.cpp qtmaterialraisedbutton.cpp qtmaterialflatbutton_internal.cpp qtmaterialflatbutton.cpp lib/qtmaterialstatetransition.cpp qtmaterialiconbutton.cpp qtmaterialprogress_internal.cpp qtmaterialprogress.cpp qtmaterialcircularprogress_internal.cpp qtmaterialcircularprogress.cpp qtmaterialslider_internal.cpp qtmaterialslider.cpp qtmaterialsnackbar_internal.cpp qtmaterialsnackbar.cpp qtmaterialradiobutton.cpp qtmaterialtoggle_internal.cpp qtmaterialtoggle.cpp qtmaterialtextfield_internal.cpp qtmaterialtextfield.cpp qtmaterialtabs_internal.cpp qtmaterialtabs.cpp qtmaterialscrollbar_internal.cpp qtmaterialscrollbar.cpp qtmaterialdialog_internal.cpp qtmaterialdialog.cpp qtmaterialdrawer_internal.cpp qtmaterialdrawer.cpp qtmaterialappbar.cpp qtmaterialautocomplete.cpp qtmaterialpaper.cpp qtmaterialtable.cpp layouts/qtmaterialsnackbarlayout.cpp qtmaterialautocomplete_internal.cpp qtmaterialmenu.cpp qtmaterialmenu_internal.cpp qtmateriallist.cpp qtmateriallistitem.cpp $(DISTDIR)/ + + +clean: compiler_clean + -$(DEL_FILE) $(OBJECTS) + -$(DEL_FILE) *~ core *.core + + +distclean: clean + -$(DEL_FILE) $(TARGET) + -$(DEL_FILE) Makefile + + +####### Sub-libraries + +mocclean: compiler_moc_header_clean compiler_moc_source_clean + +mocables: compiler_moc_header_make_all compiler_moc_source_make_all + +check: first + +benchmark: first + +compiler_rcc_make_all: qrc_resources.cpp +compiler_rcc_clean: + -$(DEL_FILE) qrc_resources.cpp +qrc_resources.cpp: resources.qrc \ + /usr/lib/qt5/bin/rcc \ + ../fonts/Roboto/Roboto-Black.ttf \ + ../fonts/Roboto/Roboto-Light.ttf \ + ../fonts/Roboto/Roboto-Regular.ttf \ + ../fonts/Roboto/Roboto-Thin.ttf \ + ../fonts/Roboto/Roboto-Bold.ttf \ + ../fonts/Roboto/Roboto-Medium.ttf \ + icons/places/svg/production/ic_rv_hookup_24px.svg \ + icons/places/svg/production/ic_all_inclusive_24px.svg \ + icons/places/svg/production/ic_child_care_24px.svg \ + icons/places/svg/production/ic_casino_24px.svg \ + icons/places/svg/production/ic_free_breakfast_24px.svg \ + icons/places/svg/production/ic_ac_unit_24px.svg \ + icons/places/svg/production/ic_smoking_rooms_24px.svg \ + icons/places/svg/production/ic_hot_tub_24px.svg \ + icons/places/svg/production/ic_pool_24px.svg \ + icons/places/svg/production/ic_room_service_24px.svg \ + icons/places/svg/production/ic_smoke_free_24px.svg \ + icons/places/svg/production/ic_golf_course_24px.svg \ + icons/places/svg/production/ic_spa_24px.svg \ + icons/places/svg/production/ic_fitness_center_24px.svg \ + icons/places/svg/production/ic_kitchen_24px.svg \ + icons/places/svg/production/ic_child_friendly_24px.svg \ + icons/places/svg/production/ic_beach_access_24px.svg \ + icons/places/svg/production/ic_airport_shuttle_24px.svg \ + icons/places/svg/production/ic_business_center_24px.svg \ + icons/av/svg/production/ic_fiber_pin_24px.svg \ + icons/av/svg/production/ic_videocam_off_24px.svg \ + icons/av/svg/production/ic_replay_5_24px.svg \ + icons/av/svg/production/ic_surround_sound_24px.svg \ + icons/av/svg/production/ic_web_asset_24px.svg \ + icons/av/svg/production/ic_play_circle_filled_24px.svg \ + icons/av/svg/production/ic_sort_by_alpha_24px.svg \ + icons/av/svg/production/ic_forward_5_24px.svg \ + icons/av/svg/production/ic_video_label_24px.svg \ + icons/av/svg/production/ic_playlist_add_check_24px.svg \ + icons/av/svg/production/ic_music_video_24px.svg \ + icons/av/svg/production/ic_fast_rewind_24px.svg \ + icons/av/svg/production/ic_volume_up_24px.svg \ + icons/av/svg/production/ic_closed_caption_24px.svg \ + icons/av/svg/production/ic_library_books_24px.svg \ + icons/av/svg/production/ic_video_library_24px.svg \ + icons/av/svg/production/ic_playlist_play_24px.svg \ + icons/av/svg/production/ic_call_to_action_24px.svg \ + icons/av/svg/production/ic_subscriptions_24px.svg \ + icons/av/svg/production/ic_replay_24px.svg \ + icons/av/svg/production/ic_video_call_24px.svg \ + icons/av/svg/production/ic_playlist_add_24px.svg \ + icons/av/svg/production/ic_album_24px.svg \ + icons/av/svg/production/ic_equalizer_24px.svg \ + icons/av/svg/production/ic_fast_forward_24px.svg \ + icons/av/svg/production/ic_shuffle_24px.svg \ + icons/av/svg/production/ic_repeat_one_24px.svg \ + icons/av/svg/production/ic_library_music_24px.svg \ + icons/av/svg/production/ic_skip_next_24px.svg \ + icons/av/svg/production/ic_volume_off_24px.svg \ + icons/av/svg/production/ic_games_24px.svg \ + icons/av/svg/production/ic_mic_none_24px.svg \ + icons/av/svg/production/ic_queue_play_next_24px.svg \ + icons/av/svg/production/ic_fiber_manual_record_24px.svg \ + icons/av/svg/production/ic_note_24px.svg \ + icons/av/svg/production/ic_fiber_dvr_24px.svg \ + icons/av/svg/production/ic_branding_watermark_24px.svg \ + icons/av/svg/production/ic_pause_circle_filled_24px.svg \ + icons/av/svg/production/ic_art_track_24px.svg \ + icons/av/svg/production/ic_hearing_24px.svg \ + icons/av/svg/production/ic_high_quality_24px.svg \ + icons/av/svg/production/ic_hd_24px.svg \ + icons/av/svg/production/ic_snooze_24px.svg \ + icons/av/svg/production/ic_recent_actors_24px.svg \ + icons/av/svg/production/ic_remove_from_queue_24px.svg \ + icons/av/svg/production/ic_fiber_new_24px.svg \ + icons/av/svg/production/ic_featured_play_list_24px.svg \ + icons/av/svg/production/ic_new_releases_24px.svg \ + icons/av/svg/production/ic_web_24px.svg \ + icons/av/svg/production/ic_stop_24px.svg \ + icons/av/svg/production/ic_not_interested_24px.svg \ + icons/av/svg/production/ic_videocam_24px.svg \ + icons/av/svg/production/ic_pause_24px.svg \ + icons/av/svg/production/ic_loop_24px.svg \ + icons/av/svg/production/ic_mic_off_24px.svg \ + icons/av/svg/production/ic_play_circle_outline_24px.svg \ + icons/av/svg/production/ic_featured_video_24px.svg \ + icons/av/svg/production/ic_radio_24px.svg \ + icons/av/svg/production/ic_movie_24px.svg \ + icons/av/svg/production/ic_fiber_smart_record_24px.svg \ + icons/av/svg/production/ic_forward_30_24px.svg \ + icons/av/svg/production/ic_skip_previous_24px.svg \ + icons/av/svg/production/ic_forward_10_24px.svg \ + icons/av/svg/production/ic_subtitles_24px.svg \ + icons/av/svg/production/ic_play_arrow_24px.svg \ + icons/av/svg/production/ic_airplay_24px.svg \ + icons/av/svg/production/ic_queue_24px.svg \ + icons/av/svg/production/ic_library_add_24px.svg \ + icons/av/svg/production/ic_replay_10_24px.svg \ + icons/av/svg/production/ic_replay_30_24px.svg \ + icons/av/svg/production/ic_mic_24px.svg \ + icons/av/svg/production/ic_slow_motion_video_24px.svg \ + icons/av/svg/production/ic_volume_mute_24px.svg \ + icons/av/svg/production/ic_repeat_24px.svg \ + icons/av/svg/production/ic_pause_circle_outline_24px.svg \ + icons/av/svg/production/ic_add_to_queue_24px.svg \ + icons/av/svg/production/ic_queue_music_24px.svg \ + icons/av/svg/production/ic_av_timer_24px.svg \ + icons/av/svg/production/ic_volume_down_24px.svg \ + icons/av/svg/production/ic_explicit_24px.svg \ + icons/alert/svg/production/ic_error_outline_24px.svg \ + icons/alert/svg/production/ic_add_alert_24px.svg \ + icons/alert/svg/production/ic_warning_24px.svg \ + icons/alert/svg/production/ic_error_24px.svg \ + icons/social/svg/production/ic_mood_24px.svg \ + icons/social/svg/production/ic_share_24px.svg \ + icons/social/svg/production/ic_notifications_active_24px.svg \ + icons/social/svg/production/ic_notifications_24px.svg \ + icons/social/svg/production/ic_poll_24px.svg \ + icons/social/svg/production/ic_domain_24px.svg \ + icons/social/svg/production/ic_person_outline_24px.svg \ + icons/social/svg/production/ic_location_city_24px.svg \ + icons/social/svg/production/ic_mood_bad_24px.svg \ + icons/social/svg/production/ic_people_outline_24px.svg \ + icons/social/svg/production/ic_sentiment_very_satisfied_24px.svg \ + icons/social/svg/production/ic_notifications_paused_24px.svg \ + icons/social/svg/production/ic_person_24px.svg \ + icons/social/svg/production/ic_notifications_off_24px.svg \ + icons/social/svg/production/ic_plus_one_24px.svg \ + icons/social/svg/production/ic_sentiment_neutral_24px.svg \ + icons/social/svg/production/ic_pages_24px.svg \ + icons/social/svg/production/ic_sentiment_satisfied_24px.svg \ + icons/social/svg/production/ic_notifications_none_24px.svg \ + icons/social/svg/production/ic_group_add_24px.svg \ + icons/social/svg/production/ic_party_mode_24px.svg \ + icons/social/svg/production/ic_whatshot_24px.svg \ + icons/social/svg/production/ic_cake_24px.svg \ + icons/social/svg/production/ic_sentiment_dissatisfied_24px.svg \ + icons/social/svg/production/ic_sentiment_very_dissatisfied_24px.svg \ + icons/social/svg/production/ic_person_add_24px.svg \ + icons/social/svg/production/ic_public_24px.svg \ + icons/social/svg/production/ic_people_24px.svg \ + icons/social/svg/production/ic_group_24px.svg \ + icons/social/svg/production/ic_school_24px.svg \ + icons/navigation/svg/production/ic_apps_24px.svg \ + icons/navigation/svg/production/ic_refresh_24px.svg \ + icons/navigation/svg/production/ic_more_horiz_24px.svg \ + icons/navigation/svg/production/ic_arrow_drop_up_24px.svg \ + icons/navigation/svg/production/ic_expand_less_24px.svg \ + icons/navigation/svg/production/ic_chevron_right_24px.svg \ + icons/navigation/svg/production/ic_arrow_downward_24px.svg \ + icons/navigation/svg/production/ic_arrow_drop_down_24px.svg \ + icons/navigation/svg/production/ic_check_24px.svg \ + icons/navigation/svg/production/ic_subdirectory_arrow_right_24px.svg \ + icons/navigation/svg/production/ic_arrow_upward_24px.svg \ + icons/navigation/svg/production/ic_more_vert_24px.svg \ + icons/navigation/svg/production/ic_cancel_24px.svg \ + icons/navigation/svg/production/ic_last_page_24px.svg \ + icons/navigation/svg/production/ic_unfold_less_24px.svg \ + icons/navigation/svg/production/ic_first_page_24px.svg \ + icons/navigation/svg/production/ic_close_24px.svg \ + icons/navigation/svg/production/ic_subdirectory_arrow_left_24px.svg \ + icons/navigation/svg/production/ic_arrow_drop_down_circle_24px.svg \ + icons/navigation/svg/production/ic_expand_more_24px.svg \ + icons/navigation/svg/production/ic_arrow_forward_24px.svg \ + icons/navigation/svg/production/ic_chevron_left_24px.svg \ + icons/navigation/svg/production/ic_fullscreen_24px.svg \ + icons/navigation/svg/production/ic_menu_24px.svg \ + icons/navigation/svg/production/ic_unfold_more_24px.svg \ + icons/navigation/svg/production/ic_arrow_back_24px.svg \ + icons/navigation/svg/production/ic_fullscreen_exit_24px.svg \ + icons/toggle/svg/production/ic_star_24px.svg \ + icons/toggle/svg/production/ic_check_box_24px.svg \ + icons/toggle/svg/production/ic_star_half_24px.svg \ + icons/toggle/svg/production/ic_indeterminate_check_box_24px.svg \ + icons/toggle/svg/production/ic_radio_button_unchecked_24px.svg \ + icons/toggle/svg/production/ic_radio_button_checked_24px.svg \ + icons/toggle/svg/production/ic_check_box_outline_blank_24px.svg \ + icons/toggle/svg/production/ic_star_border_24px.svg \ + icons/editor/svg/production/ic_format_align_justify_24px.svg \ + icons/editor/svg/production/ic_attach_file_24px.svg \ + icons/editor/svg/production/ic_format_indent_increase_24px.svg \ + icons/editor/svg/production/ic_highlight_24px.svg \ + icons/editor/svg/production/ic_border_top_24px.svg \ + icons/editor/svg/production/ic_insert_comment_24px.svg \ + icons/editor/svg/production/ic_publish_24px.svg \ + icons/editor/svg/production/ic_drag_handle_24px.svg \ + icons/editor/svg/production/ic_vertical_align_top_24px.svg \ + icons/editor/svg/production/ic_format_indent_decrease_24px.svg \ + icons/editor/svg/production/ic_border_left_24px.svg \ + icons/editor/svg/production/ic_border_right_24px.svg \ + icons/editor/svg/production/ic_format_color_text_24px.svg \ + icons/editor/svg/production/ic_insert_link_24px.svg \ + icons/editor/svg/production/ic_format_line_spacing_24px.svg \ + icons/editor/svg/production/ic_format_paint_24px.svg \ + icons/editor/svg/production/ic_space_bar_24px.svg \ + icons/editor/svg/production/ic_vertical_align_center_24px.svg \ + icons/editor/svg/production/ic_format_textdirection_r_to_l_24px.svg \ + icons/editor/svg/production/ic_border_all_24px.svg \ + icons/editor/svg/production/ic_format_italic_24px.svg \ + icons/editor/svg/production/ic_border_clear_24px.svg \ + icons/editor/svg/production/ic_format_underlined_24px.svg \ + icons/editor/svg/production/ic_border_vertical_24px.svg \ + icons/editor/svg/production/ic_insert_emoticon_24px.svg \ + icons/editor/svg/production/ic_text_fields_24px.svg \ + icons/editor/svg/production/ic_insert_invitation_24px.svg \ + icons/editor/svg/production/ic_insert_chart_24px.svg \ + icons/editor/svg/production/ic_attach_money_24px.svg \ + icons/editor/svg/production/ic_mode_edit_24px.svg \ + icons/editor/svg/production/ic_format_clear_24px.svg \ + icons/editor/svg/production/ic_bubble_chart_24px.svg \ + icons/editor/svg/production/ic_border_color_24px.svg \ + icons/editor/svg/production/ic_format_align_right_24px.svg \ + icons/editor/svg/production/ic_vertical_align_bottom_24px.svg \ + icons/editor/svg/production/ic_multiline_chart_24px.svg \ + icons/editor/svg/production/ic_format_align_left_24px.svg \ + icons/editor/svg/production/ic_insert_drive_file_24px.svg \ + icons/editor/svg/production/ic_pie_chart_24px.svg \ + icons/editor/svg/production/ic_border_style_24px.svg \ + icons/editor/svg/production/ic_insert_photo_24px.svg \ + icons/editor/svg/production/ic_linear_scale_24px.svg \ + icons/editor/svg/production/ic_border_inner_24px.svg \ + icons/editor/svg/production/ic_format_color_fill_24px.svg \ + icons/editor/svg/production/ic_merge_type_24px.svg \ + icons/editor/svg/production/ic_money_off_24px.svg \ + icons/editor/svg/production/ic_strikethrough_s_24px.svg \ + icons/editor/svg/production/ic_title_24px.svg \ + icons/editor/svg/production/ic_format_align_center_24px.svg \ + icons/editor/svg/production/ic_format_color_reset_24px.svg \ + icons/editor/svg/production/ic_functions_24px.svg \ + icons/editor/svg/production/ic_format_size_24px.svg \ + icons/editor/svg/production/ic_border_horizontal_24px.svg \ + icons/editor/svg/production/ic_format_shapes_24px.svg \ + icons/editor/svg/production/ic_monetization_on_24px.svg \ + icons/editor/svg/production/ic_border_bottom_24px.svg \ + icons/editor/svg/production/ic_format_quote_24px.svg \ + icons/editor/svg/production/ic_wrap_text_24px.svg \ + icons/editor/svg/production/ic_pie_chart_outlined_24px.svg \ + icons/editor/svg/production/ic_show_chart_24px.svg \ + icons/editor/svg/production/ic_format_list_bulleted_24px.svg \ + icons/editor/svg/production/ic_format_textdirection_l_to_r_24px.svg \ + icons/editor/svg/production/ic_format_list_numbered_24px.svg \ + icons/editor/svg/production/ic_format_bold_24px.svg \ + icons/editor/svg/production/ic_mode_comment_24px.svg \ + icons/editor/svg/production/ic_border_outer_24px.svg \ + icons/editor/svg/production/ic_short_text_24px.svg \ + icons/editor/svg/production/ic_format_strikethrough_24px.svg \ + icons/communication/svg/production/ic_call_24px.svg \ + icons/communication/svg/production/ic_comment_24px.svg \ + icons/communication/svg/production/ic_dialer_sip_24px.svg \ + icons/communication/svg/production/ic_phonelink_ring_24px.svg \ + icons/communication/svg/production/ic_message_24px.svg \ + icons/communication/svg/production/ic_stay_current_landscape_24px.svg \ + icons/communication/svg/production/ic_contact_phone_24px.svg \ + icons/communication/svg/production/ic_import_contacts_24px.svg \ + icons/communication/svg/production/ic_phonelink_setup_24px.svg \ + icons/communication/svg/production/ic_speaker_phone_24px.svg \ + icons/communication/svg/production/ic_invert_colors_off_24px.svg \ + icons/communication/svg/production/ic_call_missed_outgoing_24px.svg \ + icons/communication/svg/production/ic_ring_volume_24px.svg \ + icons/communication/svg/production/ic_swap_calls_24px.svg \ + icons/communication/svg/production/ic_call_merge_24px.svg \ + icons/communication/svg/production/ic_call_end_24px.svg \ + icons/communication/svg/production/ic_phone_24px.svg \ + icons/communication/svg/production/ic_textsms_24px.svg \ + icons/communication/svg/production/ic_contacts_24px.svg \ + icons/communication/svg/production/ic_chat_bubble_24px.svg \ + icons/communication/svg/production/ic_forum_24px.svg \ + icons/communication/svg/production/ic_call_missed_24px.svg \ + icons/communication/svg/production/ic_contact_mail_24px.svg \ + icons/communication/svg/production/ic_screen_share_24px.svg \ + icons/communication/svg/production/ic_vpn_key_24px.svg \ + icons/communication/svg/production/ic_portable_wifi_off_24px.svg \ + icons/communication/svg/production/ic_import_export_24px.svg \ + icons/communication/svg/production/ic_call_received_24px.svg \ + icons/communication/svg/production/ic_stay_primary_landscape_24px.svg \ + icons/communication/svg/production/ic_location_on_24px.svg \ + icons/communication/svg/production/ic_stay_current_portrait_24px.svg \ + icons/communication/svg/production/ic_mail_outline_24px.svg \ + icons/communication/svg/production/ic_stay_primary_portrait_24px.svg \ + icons/communication/svg/production/ic_chat_24px.svg \ + icons/communication/svg/production/ic_dialpad_24px.svg \ + icons/communication/svg/production/ic_present_to_all_24px.svg \ + icons/communication/svg/production/ic_stop_screen_share_24px.svg \ + icons/communication/svg/production/ic_business_24px.svg \ + icons/communication/svg/production/ic_phonelink_lock_24px.svg \ + icons/communication/svg/production/ic_call_made_24px.svg \ + icons/communication/svg/production/ic_clear_all_24px.svg \ + icons/communication/svg/production/ic_no_sim_24px.svg \ + icons/communication/svg/production/ic_call_split_24px.svg \ + icons/communication/svg/production/ic_voicemail_24px.svg \ + icons/communication/svg/production/ic_location_off_24px.svg \ + icons/communication/svg/production/ic_email_24px.svg \ + icons/communication/svg/production/ic_phonelink_erase_24px.svg \ + icons/communication/svg/production/ic_chat_bubble_outline_24px.svg \ + icons/communication/svg/production/ic_live_help_24px.svg \ + icons/communication/svg/production/ic_rss_feed_24px.svg \ + icons/file/svg/production/ic_file_upload_24px.svg \ + icons/file/svg/production/ic_folder_24px.svg \ + icons/file/svg/production/ic_folder_shared_24px.svg \ + icons/file/svg/production/ic_folder_open_24px.svg \ + icons/file/svg/production/ic_cloud_circle_24px.svg \ + icons/file/svg/production/ic_create_new_folder_24px.svg \ + icons/file/svg/production/ic_cloud_done_24px.svg \ + icons/file/svg/production/ic_cloud_upload_24px.svg \ + icons/file/svg/production/ic_cloud_queue_24px.svg \ + icons/file/svg/production/ic_attachment_24px.svg \ + icons/file/svg/production/ic_cloud_download_24px.svg \ + icons/file/svg/production/ic_cloud_24px.svg \ + icons/file/svg/production/ic_file_download_24px.svg \ + icons/file/svg/production/ic_cloud_off_24px.svg \ + icons/device/svg/production/ic_nfc_24px.svg \ + icons/device/svg/production/ic_battery_alert_24px.svg \ + icons/device/svg/production/ic_signal_wifi_2_bar_lock_24px.svg \ + icons/device/svg/production/ic_signal_cellular_2_bar_24px.svg \ + icons/device/svg/production/ic_bluetooth_searching_24px.svg \ + icons/device/svg/production/ic_widgets_24px.svg \ + icons/device/svg/production/ic_signal_cellular_off_24px.svg \ + icons/device/svg/production/ic_signal_wifi_4_bar_24px.svg \ + icons/device/svg/production/ic_airplanemode_inactive_24px.svg \ + icons/device/svg/production/ic_brightness_medium_24px.svg \ + icons/device/svg/production/ic_location_disabled_24px.svg \ + icons/device/svg/production/ic_usb_24px.svg \ + icons/device/svg/production/ic_battery_full_24px.svg \ + icons/device/svg/production/ic_signal_cellular_1_bar_24px.svg \ + icons/device/svg/production/ic_signal_wifi_1_bar_lock_24px.svg \ + icons/device/svg/production/ic_wifi_tethering_24px.svg \ + icons/device/svg/production/ic_battery_30_24px.svg \ + icons/device/svg/production/ic_signal_cellular_connected_no_internet_4_bar_24px.svg \ + icons/device/svg/production/ic_signal_wifi_3_bar_24px.svg \ + icons/device/svg/production/ic_data_usage_24px.svg \ + icons/device/svg/production/ic_battery_80_24px.svg \ + icons/device/svg/production/ic_battery_60_24px.svg \ + icons/device/svg/production/ic_battery_20_24px.svg \ + icons/device/svg/production/ic_bluetooth_connected_24px.svg \ + icons/device/svg/production/ic_brightness_high_24px.svg \ + icons/device/svg/production/ic_brightness_auto_24px.svg \ + icons/device/svg/production/ic_bluetooth_disabled_24px.svg \ + icons/device/svg/production/ic_signal_cellular_0_bar_24px.svg \ + icons/device/svg/production/ic_battery_90_24px.svg \ + icons/device/svg/production/ic_battery_50_24px.svg \ + icons/device/svg/production/ic_wallpaper_24px.svg \ + icons/device/svg/production/ic_location_searching_24px.svg \ + icons/device/svg/production/ic_battery_unknown_24px.svg \ + icons/device/svg/production/ic_battery_charging_30_24px.svg \ + icons/device/svg/production/ic_signal_cellular_connected_no_internet_3_bar_24px.svg \ + icons/device/svg/production/ic_wifi_lock_24px.svg \ + icons/device/svg/production/ic_signal_wifi_2_bar_24px.svg \ + icons/device/svg/production/ic_sd_storage_24px.svg \ + icons/device/svg/production/ic_battery_charging_20_24px.svg \ + icons/device/svg/production/ic_battery_charging_80_24px.svg \ + icons/device/svg/production/ic_battery_charging_60_24px.svg \ + icons/device/svg/production/ic_settings_system_daydream_24px.svg \ + icons/device/svg/production/ic_access_alarm_24px.svg \ + icons/device/svg/production/ic_battery_charging_50_24px.svg \ + icons/device/svg/production/ic_screen_lock_rotation_24px.svg \ + icons/device/svg/production/ic_battery_charging_90_24px.svg \ + icons/device/svg/production/ic_signal_wifi_1_bar_24px.svg \ + icons/device/svg/production/ic_signal_cellular_null_24px.svg \ + icons/device/svg/production/ic_network_wifi_24px.svg \ + icons/device/svg/production/ic_gps_fixed_24px.svg \ + icons/device/svg/production/ic_signal_cellular_connected_no_internet_2_bar_24px.svg \ + icons/device/svg/production/ic_brightness_low_24px.svg \ + icons/device/svg/production/ic_battery_charging_full_24px.svg \ + icons/device/svg/production/ic_signal_wifi_0_bar_24px.svg \ + icons/device/svg/production/ic_network_cell_24px.svg \ + icons/device/svg/production/ic_signal_wifi_4_bar_lock_24px.svg \ + icons/device/svg/production/ic_signal_cellular_4_bar_24px.svg \ + icons/device/svg/production/ic_signal_cellular_no_sim_24px.svg \ + icons/device/svg/production/ic_signal_wifi_off_24px.svg \ + icons/device/svg/production/ic_signal_cellular_connected_no_internet_1_bar_24px.svg \ + icons/device/svg/production/ic_storage_24px.svg \ + icons/device/svg/production/ic_screen_lock_portrait_24px.svg \ + icons/device/svg/production/ic_gps_off_24px.svg \ + icons/device/svg/production/ic_devices_24px.svg \ + icons/device/svg/production/ic_airplanemode_active_24px.svg \ + icons/device/svg/production/ic_developer_mode_24px.svg \ + icons/device/svg/production/ic_screen_lock_landscape_24px.svg \ + icons/device/svg/production/ic_battery_std_24px.svg \ + icons/device/svg/production/ic_signal_wifi_3_bar_lock_24px.svg \ + icons/device/svg/production/ic_signal_cellular_3_bar_24px.svg \ + icons/device/svg/production/ic_add_alarm_24px.svg \ + icons/device/svg/production/ic_access_alarms_24px.svg \ + icons/device/svg/production/ic_graphic_eq_24px.svg \ + icons/device/svg/production/ic_signal_cellular_connected_no_internet_0_bar_24px.svg \ + icons/device/svg/production/ic_access_time_24px.svg \ + icons/device/svg/production/ic_bluetooth_24px.svg \ + icons/device/svg/production/ic_screen_rotation_24px.svg \ + icons/device/svg/production/ic_dvr_24px.svg \ + icons/device/svg/production/ic_gps_not_fixed_24px.svg \ + icons/action/svg/production/ic_event_seat_24px.svg \ + icons/action/svg/production/ic_markunread_mailbox_24px.svg \ + icons/action/svg/production/ic_bug_report_24px.svg \ + icons/action/svg/production/ic_view_carousel_24px.svg \ + icons/action/svg/production/ic_perm_scan_wifi_24px.svg \ + icons/action/svg/production/ic_receipt_24px.svg \ + icons/action/svg/production/ic_open_in_browser_24px.svg \ + icons/action/svg/production/ic_lock_open_24px.svg \ + icons/action/svg/production/ic_g_translate_24px.svg \ + icons/action/svg/production/ic_trending_up_24px.svg \ + icons/action/svg/production/ic_credit_card_24px.svg \ + icons/action/svg/production/ic_thumbs_up_down_24px.svg \ + icons/action/svg/production/ic_lock_24px.svg \ + icons/action/svg/production/ic_check_circle_24px.svg \ + icons/action/svg/production/ic_assignment_ind_24px.svg \ + icons/action/svg/production/ic_line_style_24px.svg \ + icons/action/svg/production/ic_camera_enhance_24px.svg \ + icons/action/svg/production/ic_euro_symbol_24px.svg \ + icons/action/svg/production/ic_http_24px.svg \ + icons/action/svg/production/ic_find_replace_24px.svg \ + icons/action/svg/production/ic_speaker_notes_off_24px.svg \ + icons/action/svg/production/ic_help_outline_24px.svg \ + icons/action/svg/production/ic_info_outline_24px.svg \ + icons/action/svg/production/ic_https_24px.svg \ + icons/action/svg/production/ic_polymer_24px.svg \ + icons/action/svg/production/ic_account_balance_24px.svg \ + icons/action/svg/production/ic_lightbulb_outline_24px.svg \ + icons/action/svg/production/ic_language_24px.svg \ + icons/action/svg/production/ic_toc_24px.svg \ + icons/action/svg/production/ic_label_24px.svg \ + icons/action/svg/production/ic_settings_ethernet_24px.svg \ + icons/action/svg/production/ic_settings_input_antenna_24px.svg \ + icons/action/svg/production/ic_query_builder_24px.svg \ + icons/action/svg/production/ic_shop_two_24px.svg \ + icons/action/svg/production/ic_spellcheck_24px.svg \ + icons/action/svg/production/ic_view_array_24px.svg \ + icons/action/svg/production/ic_view_agenda_24px.svg \ + icons/action/svg/production/ic_view_headline_24px.svg \ + icons/action/svg/production/ic_delete_forever_24px.svg \ + icons/action/svg/production/ic_remove_shopping_cart_24px.svg \ + icons/action/svg/production/ic_perm_device_information_24px.svg \ + icons/action/svg/production/ic_launch_24px.svg \ + icons/action/svg/production/ic_flip_to_front_24px.svg \ + icons/action/svg/production/ic_alarm_24px.svg \ + icons/action/svg/production/ic_flight_takeoff_24px.svg \ + icons/action/svg/production/ic_face_24px.svg \ + icons/action/svg/production/ic_translate_24px.svg \ + icons/action/svg/production/ic_view_week_24px.svg \ + icons/action/svg/production/ic_grade_24px.svg \ + icons/action/svg/production/ic_settings_overscan_24px.svg \ + icons/action/svg/production/ic_event_24px.svg \ + icons/action/svg/production/ic_favorite_24px.svg \ + icons/action/svg/production/ic_exit_to_app_24px.svg \ + icons/action/svg/production/ic_shop_24px.svg \ + icons/action/svg/production/ic_work_24px.svg \ + icons/action/svg/production/ic_youtube_searched_for_24px.svg \ + icons/action/svg/production/ic_backup_24px.svg \ + icons/action/svg/production/ic_bookmark_24px.svg \ + icons/action/svg/production/ic_favorite_border_24px.svg \ + icons/action/svg/production/ic_accessible_24px.svg \ + icons/action/svg/production/ic_perm_media_24px.svg \ + icons/action/svg/production/ic_trending_flat_24px.svg \ + icons/action/svg/production/ic_open_with_24px.svg \ + icons/action/svg/production/ic_settings_applications_24px.svg \ + icons/action/svg/production/ic_assignment_return_24px.svg \ + icons/action/svg/production/ic_dashboard_24px.svg \ + icons/action/svg/production/ic_search_24px.svg \ + icons/action/svg/production/ic_highlight_off_24px.svg \ + icons/action/svg/production/ic_class_24px.svg \ + icons/action/svg/production/ic_extension_24px.svg \ + icons/action/svg/production/ic_assignment_returned_24px.svg \ + icons/action/svg/production/ic_settings_remote_24px.svg \ + icons/action/svg/production/ic_settings_voice_24px.svg \ + icons/action/svg/production/ic_help_24px.svg \ + icons/action/svg/production/ic_trending_down_24px.svg \ + icons/action/svg/production/ic_view_stream_24px.svg \ + icons/action/svg/production/ic_question_answer_24px.svg \ + icons/action/svg/production/ic_important_devices_24px.svg \ + icons/action/svg/production/ic_build_24px.svg \ + icons/action/svg/production/ic_zoom_out_24px.svg \ + icons/action/svg/production/ic_power_settings_new_24px.svg \ + icons/action/svg/production/ic_line_weight_24px.svg \ + icons/action/svg/production/ic_settings_phone_24px.svg \ + icons/action/svg/production/ic_alarm_add_24px.svg \ + icons/action/svg/production/ic_view_list_24px.svg \ + icons/action/svg/production/ic_copyright_24px.svg \ + icons/action/svg/production/ic_invert_colors_24px.svg \ + icons/action/svg/production/ic_open_in_new_24px.svg \ + icons/action/svg/production/ic_cached_24px.svg \ + icons/action/svg/production/ic_subject_24px.svg \ + icons/action/svg/production/ic_card_giftcard_24px.svg \ + icons/action/svg/production/ic_track_changes_24px.svg \ + icons/action/svg/production/ic_chrome_reader_mode_24px.svg \ + icons/action/svg/production/ic_view_day_24px.svg \ + icons/action/svg/production/ic_flight_land_24px.svg \ + icons/action/svg/production/ic_announcement_24px.svg \ + icons/action/svg/production/ic_supervisor_account_24px.svg \ + icons/action/svg/production/ic_donut_small_24px.svg \ + icons/action/svg/production/ic_visibility_off_24px.svg \ + icons/action/svg/production/ic_payment_24px.svg \ + icons/action/svg/production/ic_settings_cell_24px.svg \ + icons/action/svg/production/ic_compare_arrows_24px.svg \ + icons/action/svg/production/ic_home_24px.svg \ + icons/action/svg/production/ic_settings_input_hdmi_24px.svg \ + icons/action/svg/production/ic_stars_24px.svg \ + icons/action/svg/production/ic_record_voice_over_24px.svg \ + icons/action/svg/production/ic_eject_24px.svg \ + icons/action/svg/production/ic_settings_input_composite_24px.svg \ + icons/action/svg/production/ic_assignment_24px.svg \ + icons/action/svg/production/ic_settings_bluetooth_24px.svg \ + icons/action/svg/production/ic_android_24px.svg \ + icons/action/svg/production/ic_explore_24px.svg \ + icons/action/svg/production/ic_settings_24px.svg \ + icons/action/svg/production/ic_view_module_24px.svg \ + icons/action/svg/production/ic_report_problem_24px.svg \ + icons/action/svg/production/ic_swap_vert_24px.svg \ + icons/action/svg/production/ic_opacity_24px.svg \ + icons/action/svg/production/ic_perm_data_setting_24px.svg \ + icons/action/svg/production/ic_print_24px.svg \ + icons/action/svg/production/ic_card_membership_24px.svg \ + icons/action/svg/production/ic_restore_page_24px.svg \ + icons/action/svg/production/ic_offline_pin_24px.svg \ + icons/action/svg/production/ic_theaters_24px.svg \ + icons/action/svg/production/ic_thumb_up_24px.svg \ + icons/action/svg/production/ic_card_travel_24px.svg \ + icons/action/svg/production/ic_alarm_off_24px.svg \ + icons/action/svg/production/ic_history_24px.svg \ + icons/action/svg/production/ic_done_24px.svg \ + icons/action/svg/production/ic_picture_in_picture_24px.svg \ + icons/action/svg/production/ic_reorder_24px.svg \ + icons/action/svg/production/ic_flip_to_back_24px.svg \ + icons/action/svg/production/ic_label_outline_24px.svg \ + icons/action/svg/production/ic_motorcycle_24px.svg \ + icons/action/svg/production/ic_turned_in_not_24px.svg \ + icons/action/svg/production/ic_hourglass_empty_24px.svg \ + icons/action/svg/production/ic_settings_input_component_24px.svg \ + icons/action/svg/production/ic_settings_input_svideo_24px.svg \ + icons/action/svg/production/ic_system_update_alt_24px.svg \ + icons/action/svg/production/ic_info_24px.svg \ + icons/action/svg/production/ic_pageview_24px.svg \ + icons/action/svg/production/ic_picture_in_picture_alt_24px.svg \ + icons/action/svg/production/ic_fingerprint_24px.svg \ + icons/action/svg/production/ic_donut_large_24px.svg \ + icons/action/svg/production/ic_swap_vertical_circle_24px.svg \ + icons/action/svg/production/ic_aspect_ratio_24px.svg \ + icons/action/svg/production/ic_3d_rotation_24px.svg \ + icons/action/svg/production/ic_account_circle_24px.svg \ + icons/action/svg/production/ic_change_history_24px.svg \ + icons/action/svg/production/ic_alarm_on_24px.svg \ + icons/action/svg/production/ic_update_24px.svg \ + icons/action/svg/production/ic_list_24px.svg \ + icons/action/svg/production/ic_settings_power_24px.svg \ + icons/action/svg/production/ic_timeline_24px.svg \ + icons/action/svg/production/ic_touch_app_24px.svg \ + icons/action/svg/production/ic_dns_24px.svg \ + icons/action/svg/production/ic_store_24px.svg \ + icons/action/svg/production/ic_swap_horiz_24px.svg \ + icons/action/svg/production/ic_settings_backup_restore_24px.svg \ + icons/action/svg/production/ic_perm_camera_mic_24px.svg \ + icons/action/svg/production/ic_date_range_24px.svg \ + icons/action/svg/production/ic_pets_24px.svg \ + icons/action/svg/production/ic_watch_later_24px.svg \ + icons/action/svg/production/ic_find_in_page_24px.svg \ + icons/action/svg/production/ic_assignment_turned_in_24px.svg \ + icons/action/svg/production/ic_hourglass_full_24px.svg \ + icons/action/svg/production/ic_loyalty_24px.svg \ + icons/action/svg/production/ic_shopping_cart_24px.svg \ + icons/action/svg/production/ic_zoom_in_24px.svg \ + icons/action/svg/production/ic_perm_identity_24px.svg \ + icons/action/svg/production/ic_bookmark_border_24px.svg \ + icons/action/svg/production/ic_lock_outline_24px.svg \ + icons/action/svg/production/ic_assignment_late_24px.svg \ + icons/action/svg/production/ic_get_app_24px.svg \ + icons/action/svg/production/ic_play_for_work_24px.svg \ + icons/action/svg/production/ic_description_24px.svg \ + icons/action/svg/production/ic_schedule_24px.svg \ + icons/action/svg/production/ic_turned_in_24px.svg \ + icons/action/svg/production/ic_note_add_24px.svg \ + icons/action/svg/production/ic_account_balance_wallet_24px.svg \ + icons/action/svg/production/ic_redeem_24px.svg \ + icons/action/svg/production/ic_code_24px.svg \ + icons/action/svg/production/ic_gavel_24px.svg \ + icons/action/svg/production/ic_all_out_24px.svg \ + icons/action/svg/production/ic_speaker_notes_24px.svg \ + icons/action/svg/production/ic_perm_phone_msg_24px.svg \ + icons/action/svg/production/ic_room_24px.svg \ + icons/action/svg/production/ic_toll_24px.svg \ + icons/action/svg/production/ic_thumb_down_24px.svg \ + icons/action/svg/production/ic_pregnant_woman_24px.svg \ + icons/action/svg/production/ic_input_24px.svg \ + icons/action/svg/production/ic_delete_24px.svg \ + icons/action/svg/production/ic_restore_24px.svg \ + icons/action/svg/production/ic_book_24px.svg \ + icons/action/svg/production/ic_verified_user_24px.svg \ + icons/action/svg/production/ic_gif_24px.svg \ + icons/action/svg/production/ic_feedback_24px.svg \ + icons/action/svg/production/ic_rowing_24px.svg \ + icons/action/svg/production/ic_view_quilt_24px.svg \ + icons/action/svg/production/ic_group_work_24px.svg \ + icons/action/svg/production/ic_pan_tool_24px.svg \ + icons/action/svg/production/ic_done_all_24px.svg \ + icons/action/svg/production/ic_shopping_basket_24px.svg \ + icons/action/svg/production/ic_assessment_24px.svg \ + icons/action/svg/production/ic_tab_unselected_24px.svg \ + icons/action/svg/production/ic_autorenew_24px.svg \ + icons/action/svg/production/ic_add_shopping_cart_24px.svg \ + icons/action/svg/production/ic_settings_brightness_24px.svg \ + icons/action/svg/production/ic_visibility_24px.svg \ + icons/action/svg/production/ic_today_24px.svg \ + icons/action/svg/production/ic_rounded_corner_24px.svg \ + icons/action/svg/production/ic_account_box_24px.svg \ + icons/action/svg/production/ic_tab_24px.svg \ + icons/action/svg/production/ic_accessibility_24px.svg \ + icons/action/svg/production/ic_view_column_24px.svg \ + icons/action/svg/production/ic_perm_contact_calendar_24px.svg \ + icons/image/svg/production/ic_flash_off_24px.svg \ + icons/image/svg/production/ic_nature_24px.svg \ + icons/image/svg/production/ic_color_lens_24px.svg \ + icons/image/svg/production/ic_panorama_wide_angle_24px.svg \ + icons/image/svg/production/ic_movie_filter_24px.svg \ + icons/image/svg/production/ic_wb_auto_24px.svg \ + icons/image/svg/production/ic_filter_center_focus_24px.svg \ + icons/image/svg/production/ic_photo_size_select_large_24px.svg \ + icons/image/svg/production/ic_vignette_24px.svg \ + icons/image/svg/production/ic_nature_people_24px.svg \ + icons/image/svg/production/ic_center_focus_weak_24px.svg \ + icons/image/svg/production/ic_blur_off_24px.svg \ + icons/image/svg/production/ic_grid_off_24px.svg \ + icons/image/svg/production/ic_crop_7_5_24px.svg \ + icons/image/svg/production/ic_tag_faces_24px.svg \ + icons/image/svg/production/ic_switch_video_24px.svg \ + icons/image/svg/production/ic_linked_camera_24px.svg \ + icons/image/svg/production/ic_rotate_90_degrees_ccw_24px.svg \ + icons/image/svg/production/ic_picture_as_pdf_24px.svg \ + icons/image/svg/production/ic_photo_filter_24px.svg \ + icons/image/svg/production/ic_assistant_24px.svg \ + icons/image/svg/production/ic_gradient_24px.svg \ + icons/image/svg/production/ic_timer_10_24px.svg \ + icons/image/svg/production/ic_blur_circular_24px.svg \ + icons/image/svg/production/ic_crop_16_9_24px.svg \ + icons/image/svg/production/ic_timelapse_24px.svg \ + icons/image/svg/production/ic_grain_24px.svg \ + icons/image/svg/production/ic_hdr_off_24px.svg \ + icons/image/svg/production/ic_crop_24px.svg \ + icons/image/svg/production/ic_panorama_horizontal_24px.svg \ + icons/image/svg/production/ic_flare_24px.svg \ + icons/image/svg/production/ic_hdr_strong_24px.svg \ + icons/image/svg/production/ic_palette_24px.svg \ + icons/image/svg/production/ic_landscape_24px.svg \ + icons/image/svg/production/ic_brightness_1_24px.svg \ + icons/image/svg/production/ic_brightness_2_24px.svg \ + icons/image/svg/production/ic_colorize_24px.svg \ + icons/image/svg/production/ic_brightness_3_24px.svg \ + icons/image/svg/production/ic_brightness_4_24px.svg \ + icons/image/svg/production/ic_view_compact_24px.svg \ + icons/image/svg/production/ic_wb_incandescent_24px.svg \ + icons/image/svg/production/ic_brightness_5_24px.svg \ + icons/image/svg/production/ic_filter_9_plus_24px.svg \ + icons/image/svg/production/ic_panorama_vertical_24px.svg \ + icons/image/svg/production/ic_brightness_6_24px.svg \ + icons/image/svg/production/ic_filter_drama_24px.svg \ + icons/image/svg/production/ic_leak_add_24px.svg \ + icons/image/svg/production/ic_brightness_7_24px.svg \ + icons/image/svg/production/ic_dehaze_24px.svg \ + icons/image/svg/production/ic_looks_24px.svg \ + icons/image/svg/production/ic_crop_5_4_24px.svg \ + icons/image/svg/production/ic_loupe_24px.svg \ + icons/image/svg/production/ic_lens_24px.svg \ + icons/image/svg/production/ic_switch_camera_24px.svg \ + icons/image/svg/production/ic_filter_24px.svg \ + icons/image/svg/production/ic_crop_free_24px.svg \ + icons/image/svg/production/ic_flash_auto_24px.svg \ + icons/image/svg/production/ic_monochrome_photos_24px.svg \ + icons/image/svg/production/ic_compare_24px.svg \ + icons/image/svg/production/ic_photo_camera_24px.svg \ + icons/image/svg/production/ic_assistant_photo_24px.svg \ + icons/image/svg/production/ic_looks_3_24px.svg \ + icons/image/svg/production/ic_looks_4_24px.svg \ + icons/image/svg/production/ic_looks_5_24px.svg \ + icons/image/svg/production/ic_looks_6_24px.svg \ + icons/image/svg/production/ic_leak_remove_24px.svg \ + icons/image/svg/production/ic_tonality_24px.svg \ + icons/image/svg/production/ic_grid_on_24px.svg \ + icons/image/svg/production/ic_slideshow_24px.svg \ + icons/image/svg/production/ic_blur_linear_24px.svg \ + icons/image/svg/production/ic_style_24px.svg \ + icons/image/svg/production/ic_crop_portrait_24px.svg \ + icons/image/svg/production/ic_photo_24px.svg \ + icons/image/svg/production/ic_brush_24px.svg \ + icons/image/svg/production/ic_broken_image_24px.svg \ + icons/image/svg/production/ic_timer_3_24px.svg \ + icons/image/svg/production/ic_iso_24px.svg \ + icons/image/svg/production/ic_crop_rotate_24px.svg \ + icons/image/svg/production/ic_add_a_photo_24px.svg \ + icons/image/svg/production/ic_navigate_next_24px.svg \ + icons/image/svg/production/ic_blur_on_24px.svg \ + icons/image/svg/production/ic_timer_24px.svg \ + icons/image/svg/production/ic_portrait_24px.svg \ + icons/image/svg/production/ic_details_24px.svg \ + icons/image/svg/production/ic_burst_mode_24px.svg \ + icons/image/svg/production/ic_crop_3_2_24px.svg \ + icons/image/svg/production/ic_view_comfy_24px.svg \ + icons/image/svg/production/ic_camera_24px.svg \ + icons/image/svg/production/ic_collections_24px.svg \ + icons/image/svg/production/ic_audiotrack_24px.svg \ + icons/image/svg/production/ic_panorama_24px.svg \ + icons/image/svg/production/ic_looks_one_24px.svg \ + icons/image/svg/production/ic_exposure_24px.svg \ + icons/image/svg/production/ic_control_point_duplicate_24px.svg \ + icons/image/svg/production/ic_filter_tilt_shift_24px.svg \ + icons/image/svg/production/ic_camera_alt_24px.svg \ + icons/image/svg/production/ic_navigate_before_24px.svg \ + icons/image/svg/production/ic_hdr_weak_24px.svg \ + icons/image/svg/production/ic_wb_sunny_24px.svg \ + icons/image/svg/production/ic_image_24px.svg \ + icons/image/svg/production/ic_transform_24px.svg \ + icons/image/svg/production/ic_add_to_photos_24px.svg \ + icons/image/svg/production/ic_flash_on_24px.svg \ + icons/image/svg/production/ic_movie_creation_24px.svg \ + icons/image/svg/production/ic_image_aspect_ratio_24px.svg \ + icons/image/svg/production/ic_edit_24px.svg \ + icons/image/svg/production/ic_texture_24px.svg \ + icons/image/svg/production/ic_exposure_zero_24px.svg \ + icons/image/svg/production/ic_music_note_24px.svg \ + icons/image/svg/production/ic_rotate_left_24px.svg \ + icons/image/svg/production/ic_photo_size_select_actual_24px.svg \ + icons/image/svg/production/ic_filter_hdr_24px.svg \ + icons/image/svg/production/ic_panorama_fish_eye_24px.svg \ + icons/image/svg/production/ic_camera_front_24px.svg \ + icons/image/svg/production/ic_hdr_on_24px.svg \ + icons/image/svg/production/ic_camera_roll_24px.svg \ + icons/image/svg/production/ic_crop_square_24px.svg \ + icons/image/svg/production/ic_photo_size_select_small_24px.svg \ + icons/image/svg/production/ic_crop_original_24px.svg \ + icons/image/svg/production/ic_timer_off_24px.svg \ + icons/image/svg/production/ic_collections_bookmark_24px.svg \ + icons/image/svg/production/ic_filter_vintage_24px.svg \ + icons/image/svg/production/ic_flip_24px.svg \ + icons/image/svg/production/ic_filter_1_24px.svg \ + icons/image/svg/production/ic_filter_2_24px.svg \ + icons/image/svg/production/ic_crop_landscape_24px.svg \ + icons/image/svg/production/ic_exposure_plus_1_24px.svg \ + icons/image/svg/production/ic_remove_red_eye_24px.svg \ + icons/image/svg/production/ic_filter_3_24px.svg \ + icons/image/svg/production/ic_exposure_plus_2_24px.svg \ + icons/image/svg/production/ic_tune_24px.svg \ + icons/image/svg/production/ic_filter_4_24px.svg \ + icons/image/svg/production/ic_photo_library_24px.svg \ + icons/image/svg/production/ic_straighten_24px.svg \ + icons/image/svg/production/ic_wb_iridescent_24px.svg \ + icons/image/svg/production/ic_filter_5_24px.svg \ + icons/image/svg/production/ic_filter_6_24px.svg \ + icons/image/svg/production/ic_filter_7_24px.svg \ + icons/image/svg/production/ic_filter_8_24px.svg \ + icons/image/svg/production/ic_filter_9_24px.svg \ + icons/image/svg/production/ic_camera_rear_24px.svg \ + icons/image/svg/production/ic_filter_none_24px.svg \ + icons/image/svg/production/ic_photo_album_24px.svg \ + icons/image/svg/production/ic_exposure_neg_1_24px.svg \ + icons/image/svg/production/ic_adjust_24px.svg \ + icons/image/svg/production/ic_filter_frames_24px.svg \ + icons/image/svg/production/ic_exposure_neg_2_24px.svg \ + icons/image/svg/production/ic_looks_two_24px.svg \ + icons/image/svg/production/ic_crop_din_24px.svg \ + icons/image/svg/production/ic_filter_b_and_w_24px.svg \ + icons/image/svg/production/ic_control_point_24px.svg \ + icons/image/svg/production/ic_rotate_right_24px.svg \ + icons/image/svg/production/ic_wb_cloudy_24px.svg \ + icons/image/svg/production/ic_healing_24px.svg \ + icons/image/svg/production/ic_center_focus_strong_24px.svg \ + icons/maps/svg/production/ic_local_movies_24px.svg \ + icons/maps/svg/production/ic_local_dining_24px.svg \ + icons/maps/svg/production/ic_directions_walk_24px.svg \ + icons/maps/svg/production/ic_train_24px.svg \ + icons/maps/svg/production/ic_directions_transit_24px.svg \ + icons/maps/svg/production/ic_near_me_24px.svg \ + icons/maps/svg/production/ic_hotel_24px.svg \ + icons/maps/svg/production/ic_local_bar_24px.svg \ + icons/maps/svg/production/ic_store_mall_directory_24px.svg \ + icons/maps/svg/production/ic_directions_subway_24px.svg \ + icons/maps/svg/production/ic_local_drink_24px.svg \ + icons/maps/svg/production/ic_local_hotel_24px.svg \ + icons/maps/svg/production/ic_place_24px.svg \ + icons/maps/svg/production/ic_restaurant_menu_24px.svg \ + icons/maps/svg/production/ic_navigation_24px.svg \ + icons/maps/svg/production/ic_traffic_24px.svg \ + icons/maps/svg/production/ic_terrain_24px.svg \ + icons/maps/svg/production/ic_local_printshop_24px.svg \ + icons/maps/svg/production/ic_local_offer_24px.svg \ + icons/maps/svg/production/ic_transfer_within_a_station_24px.svg \ + icons/maps/svg/production/ic_local_post_office_24px.svg \ + icons/maps/svg/production/ic_flight_24px.svg \ + icons/maps/svg/production/ic_restaurant_24px.svg \ + icons/maps/svg/production/ic_streetview_24px.svg \ + icons/maps/svg/production/ic_local_florist_24px.svg \ + icons/maps/svg/production/ic_add_location_24px.svg \ + icons/maps/svg/production/ic_local_car_wash_24px.svg \ + icons/maps/svg/production/ic_local_gas_station_24px.svg \ + icons/maps/svg/production/ic_local_atm_24px.svg \ + icons/maps/svg/production/ic_subway_24px.svg \ + icons/maps/svg/production/ic_layers_24px.svg \ + icons/maps/svg/production/ic_map_24px.svg \ + icons/maps/svg/production/ic_local_pizza_24px.svg \ + icons/maps/svg/production/ic_local_activity_24px.svg \ + icons/maps/svg/production/ic_local_parking_24px.svg \ + icons/maps/svg/production/ic_directions_run_24px.svg \ + icons/maps/svg/production/ic_local_shipping_24px.svg \ + icons/maps/svg/production/ic_directions_railway_24px.svg \ + icons/maps/svg/production/ic_local_library_24px.svg \ + icons/maps/svg/production/ic_local_hospital_24px.svg \ + icons/maps/svg/production/ic_satellite_24px.svg \ + icons/maps/svg/production/ic_local_play_24px.svg \ + icons/maps/svg/production/ic_tram_24px.svg \ + icons/maps/svg/production/ic_my_location_24px.svg \ + icons/maps/svg/production/ic_local_phone_24px.svg \ + icons/maps/svg/production/ic_local_cafe_24px.svg \ + icons/maps/svg/production/ic_directions_bike_24px.svg \ + icons/maps/svg/production/ic_ev_station_24px.svg \ + icons/maps/svg/production/ic_layers_clear_24px.svg \ + icons/maps/svg/production/ic_edit_location_24px.svg \ + icons/maps/svg/production/ic_local_grocery_store_24px.svg \ + icons/maps/svg/production/ic_beenhere_24px.svg \ + icons/maps/svg/production/ic_local_airport_24px.svg \ + icons/maps/svg/production/ic_directions_bus_24px.svg \ + icons/maps/svg/production/ic_directions_boat_24px.svg \ + icons/maps/svg/production/ic_person_pin_circle_24px.svg \ + icons/maps/svg/production/ic_person_pin_24px.svg \ + icons/maps/svg/production/ic_local_convenience_store_24px.svg \ + icons/maps/svg/production/ic_local_mall_24px.svg \ + icons/maps/svg/production/ic_pin_drop_24px.svg \ + icons/maps/svg/production/ic_zoom_out_map_24px.svg \ + icons/maps/svg/production/ic_local_laundry_service_24px.svg \ + icons/maps/svg/production/ic_directions_car_24px.svg \ + icons/maps/svg/production/ic_directions_24px.svg \ + icons/maps/svg/production/ic_local_taxi_24px.svg \ + icons/maps/svg/production/ic_rate_review_24px.svg \ + icons/maps/svg/production/ic_local_see_24px.svg \ + icons/maps/svg/production/ic_local_pharmacy_24px.svg \ + icons/content/svg/production/ic_add_box_24px.svg \ + icons/content/svg/production/ic_archive_24px.svg \ + icons/content/svg/production/ic_add_24px.svg \ + icons/content/svg/production/ic_unarchive_24px.svg \ + icons/content/svg/production/ic_low_priority_24px.svg \ + icons/content/svg/production/ic_save_24px.svg \ + icons/content/svg/production/ic_block_24px.svg \ + icons/content/svg/production/ic_filter_list_24px.svg \ + icons/content/svg/production/ic_add_circle_24px.svg \ + icons/content/svg/production/ic_reply_24px.svg \ + icons/content/svg/production/ic_add_circle_outline_24px.svg \ + icons/content/svg/production/ic_redo_24px.svg \ + icons/content/svg/production/ic_move_to_inbox_24px.svg \ + icons/content/svg/production/ic_report_24px.svg \ + icons/content/svg/production/ic_delete_sweep_24px.svg \ + icons/content/svg/production/ic_content_copy_24px.svg \ + icons/content/svg/production/ic_markunread_24px.svg \ + icons/content/svg/production/ic_weekend_24px.svg \ + icons/content/svg/production/ic_remove_circle_outline_24px.svg \ + icons/content/svg/production/ic_drafts_24px.svg \ + icons/content/svg/production/ic_create_24px.svg \ + icons/content/svg/production/ic_content_paste_24px.svg \ + icons/content/svg/production/ic_content_cut_24px.svg \ + icons/content/svg/production/ic_flag_24px.svg \ + icons/content/svg/production/ic_mail_24px.svg \ + icons/content/svg/production/ic_link_24px.svg \ + icons/content/svg/production/ic_next_week_24px.svg \ + icons/content/svg/production/ic_remove_24px.svg \ + icons/content/svg/production/ic_remove_circle_24px.svg \ + icons/content/svg/production/ic_select_all_24px.svg \ + icons/content/svg/production/ic_font_download_24px.svg \ + icons/content/svg/production/ic_forward_24px.svg \ + icons/content/svg/production/ic_backspace_24px.svg \ + icons/content/svg/production/ic_send_24px.svg \ + icons/content/svg/production/ic_reply_all_24px.svg \ + icons/content/svg/production/ic_text_format_24px.svg \ + icons/content/svg/production/ic_gesture_24px.svg \ + icons/content/svg/production/ic_sort_24px.svg \ + icons/content/svg/production/ic_inbox_24px.svg \ + icons/content/svg/production/ic_undo_24px.svg \ + icons/content/svg/production/ic_clear_24px.svg \ + icons/notification/svg/production/ic_wc_24px.svg \ + icons/notification/svg/production/ic_do_not_disturb_24px.svg \ + icons/notification/svg/production/ic_phone_missed_24px.svg \ + icons/notification/svg/production/ic_phone_paused_24px.svg \ + icons/notification/svg/production/ic_network_check_24px.svg \ + icons/notification/svg/production/ic_power_24px.svg \ + icons/notification/svg/production/ic_tap_and_play_24px.svg \ + icons/notification/svg/production/ic_priority_high_24px.svg \ + icons/notification/svg/production/ic_system_update_24px.svg \ + icons/notification/svg/production/ic_airline_seat_legroom_normal_24px.svg \ + icons/notification/svg/production/ic_phone_bluetooth_speaker_24px.svg \ + icons/notification/svg/production/ic_do_not_disturb_alt_24px.svg \ + icons/notification/svg/production/ic_wifi_24px.svg \ + icons/notification/svg/production/ic_vibration_24px.svg \ + icons/notification/svg/production/ic_airline_seat_legroom_extra_24px.svg \ + icons/notification/svg/production/ic_do_not_disturb_off_24px.svg \ + icons/notification/svg/production/ic_more_24px.svg \ + icons/notification/svg/production/ic_sms_failed_24px.svg \ + icons/notification/svg/production/ic_bluetooth_audio_24px.svg \ + icons/notification/svg/production/ic_event_note_24px.svg \ + icons/notification/svg/production/ic_sim_card_alert_24px.svg \ + icons/notification/svg/production/ic_airline_seat_flat_24px.svg \ + icons/notification/svg/production/ic_airline_seat_recline_normal_24px.svg \ + icons/notification/svg/production/ic_event_busy_24px.svg \ + icons/notification/svg/production/ic_phone_forwarded_24px.svg \ + icons/notification/svg/production/ic_ondemand_video_24px.svg \ + icons/notification/svg/production/ic_no_encryption_24px.svg \ + icons/notification/svg/production/ic_sync_problem_24px.svg \ + icons/notification/svg/production/ic_event_available_24px.svg \ + icons/notification/svg/production/ic_airline_seat_legroom_reduced_24px.svg \ + icons/notification/svg/production/ic_rv_hookup_24px.svg \ + icons/notification/svg/production/ic_sync_24px.svg \ + icons/notification/svg/production/ic_phone_in_talk_24px.svg \ + icons/notification/svg/production/ic_folder_special_24px.svg \ + icons/notification/svg/production/ic_disc_full_24px.svg \ + icons/notification/svg/production/ic_network_locked_24px.svg \ + icons/notification/svg/production/ic_sms_24px.svg \ + icons/notification/svg/production/ic_mms_24px.svg \ + icons/notification/svg/production/ic_adb_24px.svg \ + icons/notification/svg/production/ic_phone_locked_24px.svg \ + icons/notification/svg/production/ic_drive_eta_24px.svg \ + icons/notification/svg/production/ic_vpn_lock_24px.svg \ + icons/notification/svg/production/ic_personal_video_24px.svg \ + icons/notification/svg/production/ic_airline_seat_recline_extra_24px.svg \ + icons/notification/svg/production/ic_sync_disabled_24px.svg \ + icons/notification/svg/production/ic_do_not_disturb_on_24px.svg \ + icons/notification/svg/production/ic_live_tv_24px.svg \ + icons/notification/svg/production/ic_confirmation_number_24px.svg \ + icons/notification/svg/production/ic_airline_seat_flat_angled_24px.svg \ + icons/notification/svg/production/ic_airline_seat_individual_suite_24px.svg \ + icons/notification/svg/production/ic_enhanced_encryption_24px.svg \ + icons/notification/svg/production/ic_sd_card_24px.svg \ + icons/notification/svg/production/ic_voice_chat_24px.svg \ + icons/notification/svg/production/ic_time_to_leave_24px.svg \ + icons/hardware/svg/production/ic_sim_card_24px.svg \ + icons/hardware/svg/production/ic_keyboard_arrow_up_24px.svg \ + icons/hardware/svg/production/ic_watch_24px.svg \ + icons/hardware/svg/production/ic_laptop_24px.svg \ + icons/hardware/svg/production/ic_keyboard_arrow_down_24px.svg \ + icons/hardware/svg/production/ic_memory_24px.svg \ + icons/hardware/svg/production/ic_speaker_group_24px.svg \ + icons/hardware/svg/production/ic_gamepad_24px.svg \ + icons/hardware/svg/production/ic_tv_24px.svg \ + icons/hardware/svg/production/ic_phone_android_24px.svg \ + icons/hardware/svg/production/ic_laptop_mac_24px.svg \ + icons/hardware/svg/production/ic_tablet_mac_24px.svg \ + icons/hardware/svg/production/ic_power_input_24px.svg \ + icons/hardware/svg/production/ic_laptop_windows_24px.svg \ + icons/hardware/svg/production/ic_phonelink_off_24px.svg \ + icons/hardware/svg/production/ic_keyboard_return_24px.svg \ + icons/hardware/svg/production/ic_keyboard_tab_24px.svg \ + icons/hardware/svg/production/ic_smartphone_24px.svg \ + icons/hardware/svg/production/ic_devices_other_24px.svg \ + icons/hardware/svg/production/ic_keyboard_voice_24px.svg \ + icons/hardware/svg/production/ic_computer_24px.svg \ + icons/hardware/svg/production/ic_videogame_asset_24px.svg \ + icons/hardware/svg/production/ic_developer_board_24px.svg \ + icons/hardware/svg/production/ic_cast_24px.svg \ + icons/hardware/svg/production/ic_toys_24px.svg \ + icons/hardware/svg/production/ic_desktop_mac_24px.svg \ + icons/hardware/svg/production/ic_keyboard_arrow_left_24px.svg \ + icons/hardware/svg/production/ic_tablet_24px.svg \ + icons/hardware/svg/production/ic_keyboard_backspace_24px.svg \ + icons/hardware/svg/production/ic_tablet_android_24px.svg \ + icons/hardware/svg/production/ic_keyboard_arrow_right_24px.svg \ + icons/hardware/svg/production/ic_speaker_24px.svg \ + icons/hardware/svg/production/ic_scanner_24px.svg \ + icons/hardware/svg/production/ic_keyboard_hide_24px.svg \ + icons/hardware/svg/production/ic_phone_iphone_24px.svg \ + icons/hardware/svg/production/ic_headset_mic_24px.svg \ + icons/hardware/svg/production/ic_security_24px.svg \ + icons/hardware/svg/production/ic_headset_24px.svg \ + icons/hardware/svg/production/ic_cast_connected_24px.svg \ + icons/hardware/svg/production/ic_dock_24px.svg \ + icons/hardware/svg/production/ic_keyboard_24px.svg \ + icons/hardware/svg/production/ic_phonelink_24px.svg \ + icons/hardware/svg/production/ic_router_24px.svg \ + icons/hardware/svg/production/ic_laptop_chromebook_24px.svg \ + icons/hardware/svg/production/ic_device_hub_24px.svg \ + icons/hardware/svg/production/ic_mouse_24px.svg \ + icons/hardware/svg/production/ic_desktop_windows_24px.svg \ + icons/hardware/svg/production/ic_keyboard_capslock_24px.svg + /usr/lib/qt5/bin/rcc -name resources resources.qrc -o qrc_resources.cpp + +compiler_moc_predefs_make_all: moc_predefs.h +compiler_moc_predefs_clean: + -$(DEL_FILE) moc_predefs.h +moc_predefs.h: /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/data/dummy.cpp + g++ -pipe -O2 -fPIC -Wall -W -dM -E -o moc_predefs.h /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/data/dummy.cpp + +compiler_moc_header_make_all: moc_qtmaterialavatar.cpp moc_qtmaterialstyle.cpp moc_qtmaterialtheme.cpp moc_qtmaterialbadge.cpp moc_qtmaterialoverlaywidget.cpp moc_qtmaterialcheckbox.cpp moc_qtmaterialcheckable_internal.cpp moc_qtmaterialripple.cpp moc_qtmaterialrippleoverlay.cpp moc_qtmaterialcheckable.cpp moc_qtmaterialfab.cpp moc_qtmaterialraisedbutton.cpp moc_qtmaterialflatbutton_internal.cpp moc_qtmaterialflatbutton.cpp moc_qtmaterialstatetransition.cpp moc_qtmaterialiconbutton.cpp moc_qtmaterialprogress_internal.cpp moc_qtmaterialprogress.cpp moc_qtmaterialcircularprogress_internal.cpp moc_qtmaterialcircularprogress.cpp moc_qtmaterialslider_internal.cpp moc_qtmaterialslider.cpp moc_qtmaterialsnackbar_internal.cpp moc_qtmaterialsnackbar.cpp moc_qtmaterialradiobutton.cpp moc_qtmaterialtoggle_internal.cpp moc_qtmaterialtoggle.cpp moc_qtmaterialtextfield_internal.cpp moc_qtmaterialtextfield.cpp moc_qtmaterialtabs_internal.cpp moc_qtmaterialtabs.cpp moc_qtmaterialscrollbar_internal.cpp moc_qtmaterialscrollbar.cpp moc_qtmaterialdialog_internal.cpp moc_qtmaterialdialog.cpp moc_qtmaterialdrawer_internal.cpp moc_qtmaterialdrawer.cpp moc_qtmaterialappbar.cpp moc_qtmaterialautocomplete.cpp moc_qtmaterialautocomplete_internal.cpp moc_qtmaterialmenu.cpp +compiler_moc_header_clean: + -$(DEL_FILE) moc_qtmaterialavatar.cpp moc_qtmaterialstyle.cpp moc_qtmaterialtheme.cpp moc_qtmaterialbadge.cpp moc_qtmaterialoverlaywidget.cpp moc_qtmaterialcheckbox.cpp moc_qtmaterialcheckable_internal.cpp moc_qtmaterialripple.cpp moc_qtmaterialrippleoverlay.cpp moc_qtmaterialcheckable.cpp moc_qtmaterialfab.cpp moc_qtmaterialraisedbutton.cpp moc_qtmaterialflatbutton_internal.cpp moc_qtmaterialflatbutton.cpp moc_qtmaterialstatetransition.cpp moc_qtmaterialiconbutton.cpp moc_qtmaterialprogress_internal.cpp moc_qtmaterialprogress.cpp moc_qtmaterialcircularprogress_internal.cpp moc_qtmaterialcircularprogress.cpp moc_qtmaterialslider_internal.cpp moc_qtmaterialslider.cpp moc_qtmaterialsnackbar_internal.cpp moc_qtmaterialsnackbar.cpp moc_qtmaterialradiobutton.cpp moc_qtmaterialtoggle_internal.cpp moc_qtmaterialtoggle.cpp moc_qtmaterialtextfield_internal.cpp moc_qtmaterialtextfield.cpp moc_qtmaterialtabs_internal.cpp moc_qtmaterialtabs.cpp moc_qtmaterialscrollbar_internal.cpp moc_qtmaterialscrollbar.cpp moc_qtmaterialdialog_internal.cpp moc_qtmaterialdialog.cpp moc_qtmaterialdrawer_internal.cpp moc_qtmaterialdrawer.cpp moc_qtmaterialappbar.cpp moc_qtmaterialautocomplete.cpp moc_qtmaterialautocomplete_internal.cpp moc_qtmaterialmenu.cpp +moc_qtmaterialavatar.cpp: lib/qtmaterialtheme.h \ + qtmaterialavatar.h \ + moc_predefs.h \ + /usr/lib/qt5/bin/moc + /usr/lib/qt5/bin/moc $(DEFINES) --include ./moc_predefs.h -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -I/home/chronosx/Documents/Development/qt-material-widgets/components -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/c++/7 -I/usr/include/x86_64-linux-gnu/c++/7 -I/usr/include/c++/7/backward -I/usr/lib/gcc/x86_64-linux-gnu/7/include -I/usr/local/include -I/usr/lib/gcc/x86_64-linux-gnu/7/include-fixed -I/usr/include/x86_64-linux-gnu -I/usr/include qtmaterialavatar.h -o moc_qtmaterialavatar.cpp + +moc_qtmaterialstyle.cpp: lib/qtmaterialstyle_p.h \ + lib/qtmaterialstyle.h \ + moc_predefs.h \ + /usr/lib/qt5/bin/moc + /usr/lib/qt5/bin/moc $(DEFINES) --include ./moc_predefs.h -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -I/home/chronosx/Documents/Development/qt-material-widgets/components -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/c++/7 -I/usr/include/x86_64-linux-gnu/c++/7 -I/usr/include/c++/7/backward -I/usr/lib/gcc/x86_64-linux-gnu/7/include -I/usr/local/include -I/usr/lib/gcc/x86_64-linux-gnu/7/include-fixed -I/usr/include/x86_64-linux-gnu -I/usr/include lib/qtmaterialstyle.h -o moc_qtmaterialstyle.cpp + +moc_qtmaterialtheme.cpp: lib/qtmaterialtheme.h \ + moc_predefs.h \ + /usr/lib/qt5/bin/moc + /usr/lib/qt5/bin/moc $(DEFINES) --include ./moc_predefs.h -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -I/home/chronosx/Documents/Development/qt-material-widgets/components -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/c++/7 -I/usr/include/x86_64-linux-gnu/c++/7 -I/usr/include/c++/7/backward -I/usr/lib/gcc/x86_64-linux-gnu/7/include -I/usr/local/include -I/usr/lib/gcc/x86_64-linux-gnu/7/include-fixed -I/usr/include/x86_64-linux-gnu -I/usr/include lib/qtmaterialtheme.h -o moc_qtmaterialtheme.cpp + +moc_qtmaterialbadge.cpp: lib/qtmaterialoverlaywidget.h \ + qtmaterialbadge.h \ + moc_predefs.h \ + /usr/lib/qt5/bin/moc + /usr/lib/qt5/bin/moc $(DEFINES) --include ./moc_predefs.h -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -I/home/chronosx/Documents/Development/qt-material-widgets/components -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/c++/7 -I/usr/include/x86_64-linux-gnu/c++/7 -I/usr/include/c++/7/backward -I/usr/lib/gcc/x86_64-linux-gnu/7/include -I/usr/local/include -I/usr/lib/gcc/x86_64-linux-gnu/7/include-fixed -I/usr/include/x86_64-linux-gnu -I/usr/include qtmaterialbadge.h -o moc_qtmaterialbadge.cpp + +moc_qtmaterialoverlaywidget.cpp: lib/qtmaterialoverlaywidget.h \ + moc_predefs.h \ + /usr/lib/qt5/bin/moc + /usr/lib/qt5/bin/moc $(DEFINES) --include ./moc_predefs.h -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -I/home/chronosx/Documents/Development/qt-material-widgets/components -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/c++/7 -I/usr/include/x86_64-linux-gnu/c++/7 -I/usr/include/c++/7/backward -I/usr/lib/gcc/x86_64-linux-gnu/7/include -I/usr/local/include -I/usr/lib/gcc/x86_64-linux-gnu/7/include-fixed -I/usr/include/x86_64-linux-gnu -I/usr/include lib/qtmaterialoverlaywidget.h -o moc_qtmaterialoverlaywidget.cpp + +moc_qtmaterialcheckbox.cpp: lib/qtmaterialcheckable.h \ + qtmaterialcheckbox.h \ + moc_predefs.h \ + /usr/lib/qt5/bin/moc + /usr/lib/qt5/bin/moc $(DEFINES) --include ./moc_predefs.h -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -I/home/chronosx/Documents/Development/qt-material-widgets/components -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/c++/7 -I/usr/include/x86_64-linux-gnu/c++/7 -I/usr/include/c++/7/backward -I/usr/lib/gcc/x86_64-linux-gnu/7/include -I/usr/local/include -I/usr/lib/gcc/x86_64-linux-gnu/7/include-fixed -I/usr/include/x86_64-linux-gnu -I/usr/include qtmaterialcheckbox.h -o moc_qtmaterialcheckbox.cpp + +moc_qtmaterialcheckable_internal.cpp: lib/qtmaterialcheckable_internal.h \ + moc_predefs.h \ + /usr/lib/qt5/bin/moc + /usr/lib/qt5/bin/moc $(DEFINES) --include ./moc_predefs.h -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -I/home/chronosx/Documents/Development/qt-material-widgets/components -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/c++/7 -I/usr/include/x86_64-linux-gnu/c++/7 -I/usr/include/c++/7/backward -I/usr/lib/gcc/x86_64-linux-gnu/7/include -I/usr/local/include -I/usr/lib/gcc/x86_64-linux-gnu/7/include-fixed -I/usr/include/x86_64-linux-gnu -I/usr/include lib/qtmaterialcheckable_internal.h -o moc_qtmaterialcheckable_internal.cpp + +moc_qtmaterialripple.cpp: lib/qtmaterialripple.h \ + moc_predefs.h \ + /usr/lib/qt5/bin/moc + /usr/lib/qt5/bin/moc $(DEFINES) --include ./moc_predefs.h -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -I/home/chronosx/Documents/Development/qt-material-widgets/components -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/c++/7 -I/usr/include/x86_64-linux-gnu/c++/7 -I/usr/include/c++/7/backward -I/usr/lib/gcc/x86_64-linux-gnu/7/include -I/usr/local/include -I/usr/lib/gcc/x86_64-linux-gnu/7/include-fixed -I/usr/include/x86_64-linux-gnu -I/usr/include lib/qtmaterialripple.h -o moc_qtmaterialripple.cpp + +moc_qtmaterialrippleoverlay.cpp: lib/qtmaterialoverlaywidget.h \ + lib/qtmaterialrippleoverlay.h \ + moc_predefs.h \ + /usr/lib/qt5/bin/moc + /usr/lib/qt5/bin/moc $(DEFINES) --include ./moc_predefs.h -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -I/home/chronosx/Documents/Development/qt-material-widgets/components -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/c++/7 -I/usr/include/x86_64-linux-gnu/c++/7 -I/usr/include/c++/7/backward -I/usr/lib/gcc/x86_64-linux-gnu/7/include -I/usr/local/include -I/usr/lib/gcc/x86_64-linux-gnu/7/include-fixed -I/usr/include/x86_64-linux-gnu -I/usr/include lib/qtmaterialrippleoverlay.h -o moc_qtmaterialrippleoverlay.cpp + +moc_qtmaterialcheckable.cpp: lib/qtmaterialcheckable.h \ + moc_predefs.h \ + /usr/lib/qt5/bin/moc + /usr/lib/qt5/bin/moc $(DEFINES) --include ./moc_predefs.h -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -I/home/chronosx/Documents/Development/qt-material-widgets/components -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/c++/7 -I/usr/include/x86_64-linux-gnu/c++/7 -I/usr/include/c++/7/backward -I/usr/lib/gcc/x86_64-linux-gnu/7/include -I/usr/local/include -I/usr/lib/gcc/x86_64-linux-gnu/7/include-fixed -I/usr/include/x86_64-linux-gnu -I/usr/include lib/qtmaterialcheckable.h -o moc_qtmaterialcheckable.cpp + +moc_qtmaterialfab.cpp: qtmaterialraisedbutton.h \ + qtmaterialflatbutton.h \ + lib/qtmaterialtheme.h \ + qtmaterialfab.h \ + moc_predefs.h \ + /usr/lib/qt5/bin/moc + /usr/lib/qt5/bin/moc $(DEFINES) --include ./moc_predefs.h -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -I/home/chronosx/Documents/Development/qt-material-widgets/components -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/c++/7 -I/usr/include/x86_64-linux-gnu/c++/7 -I/usr/include/c++/7/backward -I/usr/lib/gcc/x86_64-linux-gnu/7/include -I/usr/local/include -I/usr/lib/gcc/x86_64-linux-gnu/7/include-fixed -I/usr/include/x86_64-linux-gnu -I/usr/include qtmaterialfab.h -o moc_qtmaterialfab.cpp + +moc_qtmaterialraisedbutton.cpp: qtmaterialflatbutton.h \ + lib/qtmaterialtheme.h \ + qtmaterialraisedbutton.h \ + moc_predefs.h \ + /usr/lib/qt5/bin/moc + /usr/lib/qt5/bin/moc $(DEFINES) --include ./moc_predefs.h -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -I/home/chronosx/Documents/Development/qt-material-widgets/components -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/c++/7 -I/usr/include/x86_64-linux-gnu/c++/7 -I/usr/include/c++/7/backward -I/usr/lib/gcc/x86_64-linux-gnu/7/include -I/usr/local/include -I/usr/lib/gcc/x86_64-linux-gnu/7/include-fixed -I/usr/include/x86_64-linux-gnu -I/usr/include qtmaterialraisedbutton.h -o moc_qtmaterialraisedbutton.cpp + +moc_qtmaterialflatbutton_internal.cpp: qtmaterialflatbutton_internal.h \ + moc_predefs.h \ + /usr/lib/qt5/bin/moc + /usr/lib/qt5/bin/moc $(DEFINES) --include ./moc_predefs.h -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -I/home/chronosx/Documents/Development/qt-material-widgets/components -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/c++/7 -I/usr/include/x86_64-linux-gnu/c++/7 -I/usr/include/c++/7/backward -I/usr/lib/gcc/x86_64-linux-gnu/7/include -I/usr/local/include -I/usr/lib/gcc/x86_64-linux-gnu/7/include-fixed -I/usr/include/x86_64-linux-gnu -I/usr/include qtmaterialflatbutton_internal.h -o moc_qtmaterialflatbutton_internal.cpp + +moc_qtmaterialflatbutton.cpp: lib/qtmaterialtheme.h \ + qtmaterialflatbutton.h \ + moc_predefs.h \ + /usr/lib/qt5/bin/moc + /usr/lib/qt5/bin/moc $(DEFINES) --include ./moc_predefs.h -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -I/home/chronosx/Documents/Development/qt-material-widgets/components -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/c++/7 -I/usr/include/x86_64-linux-gnu/c++/7 -I/usr/include/c++/7/backward -I/usr/lib/gcc/x86_64-linux-gnu/7/include -I/usr/local/include -I/usr/lib/gcc/x86_64-linux-gnu/7/include-fixed -I/usr/include/x86_64-linux-gnu -I/usr/include qtmaterialflatbutton.h -o moc_qtmaterialflatbutton.cpp + +moc_qtmaterialstatetransition.cpp: lib/qtmaterialstatetransitionevent.h \ + lib/qtmaterialstatetransition.h \ + moc_predefs.h \ + /usr/lib/qt5/bin/moc + /usr/lib/qt5/bin/moc $(DEFINES) --include ./moc_predefs.h -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -I/home/chronosx/Documents/Development/qt-material-widgets/components -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/c++/7 -I/usr/include/x86_64-linux-gnu/c++/7 -I/usr/include/c++/7/backward -I/usr/lib/gcc/x86_64-linux-gnu/7/include -I/usr/local/include -I/usr/lib/gcc/x86_64-linux-gnu/7/include-fixed -I/usr/include/x86_64-linux-gnu -I/usr/include lib/qtmaterialstatetransition.h -o moc_qtmaterialstatetransition.cpp + +moc_qtmaterialiconbutton.cpp: qtmaterialiconbutton.h \ + moc_predefs.h \ + /usr/lib/qt5/bin/moc + /usr/lib/qt5/bin/moc $(DEFINES) --include ./moc_predefs.h -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -I/home/chronosx/Documents/Development/qt-material-widgets/components -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/c++/7 -I/usr/include/x86_64-linux-gnu/c++/7 -I/usr/include/c++/7/backward -I/usr/lib/gcc/x86_64-linux-gnu/7/include -I/usr/local/include -I/usr/lib/gcc/x86_64-linux-gnu/7/include-fixed -I/usr/include/x86_64-linux-gnu -I/usr/include qtmaterialiconbutton.h -o moc_qtmaterialiconbutton.cpp + +moc_qtmaterialprogress_internal.cpp: qtmaterialprogress.h \ + lib/qtmaterialtheme.h \ + qtmaterialprogress_internal.h \ + moc_predefs.h \ + /usr/lib/qt5/bin/moc + /usr/lib/qt5/bin/moc $(DEFINES) --include ./moc_predefs.h -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -I/home/chronosx/Documents/Development/qt-material-widgets/components -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/c++/7 -I/usr/include/x86_64-linux-gnu/c++/7 -I/usr/include/c++/7/backward -I/usr/lib/gcc/x86_64-linux-gnu/7/include -I/usr/local/include -I/usr/lib/gcc/x86_64-linux-gnu/7/include-fixed -I/usr/include/x86_64-linux-gnu -I/usr/include qtmaterialprogress_internal.h -o moc_qtmaterialprogress_internal.cpp + +moc_qtmaterialprogress.cpp: lib/qtmaterialtheme.h \ + qtmaterialprogress.h \ + moc_predefs.h \ + /usr/lib/qt5/bin/moc + /usr/lib/qt5/bin/moc $(DEFINES) --include ./moc_predefs.h -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -I/home/chronosx/Documents/Development/qt-material-widgets/components -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/c++/7 -I/usr/include/x86_64-linux-gnu/c++/7 -I/usr/include/c++/7/backward -I/usr/lib/gcc/x86_64-linux-gnu/7/include -I/usr/local/include -I/usr/lib/gcc/x86_64-linux-gnu/7/include-fixed -I/usr/include/x86_64-linux-gnu -I/usr/include qtmaterialprogress.h -o moc_qtmaterialprogress.cpp + +moc_qtmaterialcircularprogress_internal.cpp: qtmaterialcircularprogress.h \ + lib/qtmaterialtheme.h \ + qtmaterialcircularprogress_internal.h \ + moc_predefs.h \ + /usr/lib/qt5/bin/moc + /usr/lib/qt5/bin/moc $(DEFINES) --include ./moc_predefs.h -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -I/home/chronosx/Documents/Development/qt-material-widgets/components -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/c++/7 -I/usr/include/x86_64-linux-gnu/c++/7 -I/usr/include/c++/7/backward -I/usr/lib/gcc/x86_64-linux-gnu/7/include -I/usr/local/include -I/usr/lib/gcc/x86_64-linux-gnu/7/include-fixed -I/usr/include/x86_64-linux-gnu -I/usr/include qtmaterialcircularprogress_internal.h -o moc_qtmaterialcircularprogress_internal.cpp + +moc_qtmaterialcircularprogress.cpp: lib/qtmaterialtheme.h \ + qtmaterialcircularprogress.h \ + moc_predefs.h \ + /usr/lib/qt5/bin/moc + /usr/lib/qt5/bin/moc $(DEFINES) --include ./moc_predefs.h -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -I/home/chronosx/Documents/Development/qt-material-widgets/components -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/c++/7 -I/usr/include/x86_64-linux-gnu/c++/7 -I/usr/include/c++/7/backward -I/usr/lib/gcc/x86_64-linux-gnu/7/include -I/usr/local/include -I/usr/lib/gcc/x86_64-linux-gnu/7/include-fixed -I/usr/include/x86_64-linux-gnu -I/usr/include qtmaterialcircularprogress.h -o moc_qtmaterialcircularprogress.cpp + +moc_qtmaterialslider_internal.cpp: lib/qtmaterialoverlaywidget.h \ + qtmaterialslider_internal.h \ + moc_predefs.h \ + /usr/lib/qt5/bin/moc + /usr/lib/qt5/bin/moc $(DEFINES) --include ./moc_predefs.h -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -I/home/chronosx/Documents/Development/qt-material-widgets/components -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/c++/7 -I/usr/include/x86_64-linux-gnu/c++/7 -I/usr/include/c++/7/backward -I/usr/lib/gcc/x86_64-linux-gnu/7/include -I/usr/local/include -I/usr/lib/gcc/x86_64-linux-gnu/7/include-fixed -I/usr/include/x86_64-linux-gnu -I/usr/include qtmaterialslider_internal.h -o moc_qtmaterialslider_internal.cpp + +moc_qtmaterialslider.cpp: qtmaterialslider.h \ + moc_predefs.h \ + /usr/lib/qt5/bin/moc + /usr/lib/qt5/bin/moc $(DEFINES) --include ./moc_predefs.h -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -I/home/chronosx/Documents/Development/qt-material-widgets/components -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/c++/7 -I/usr/include/x86_64-linux-gnu/c++/7 -I/usr/include/c++/7/backward -I/usr/lib/gcc/x86_64-linux-gnu/7/include -I/usr/local/include -I/usr/lib/gcc/x86_64-linux-gnu/7/include-fixed -I/usr/include/x86_64-linux-gnu -I/usr/include qtmaterialslider.h -o moc_qtmaterialslider.cpp + +moc_qtmaterialsnackbar_internal.cpp: qtmaterialsnackbar_internal.h \ + moc_predefs.h \ + /usr/lib/qt5/bin/moc + /usr/lib/qt5/bin/moc $(DEFINES) --include ./moc_predefs.h -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -I/home/chronosx/Documents/Development/qt-material-widgets/components -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/c++/7 -I/usr/include/x86_64-linux-gnu/c++/7 -I/usr/include/c++/7/backward -I/usr/lib/gcc/x86_64-linux-gnu/7/include -I/usr/local/include -I/usr/lib/gcc/x86_64-linux-gnu/7/include-fixed -I/usr/include/x86_64-linux-gnu -I/usr/include qtmaterialsnackbar_internal.h -o moc_qtmaterialsnackbar_internal.cpp + +moc_qtmaterialsnackbar.cpp: lib/qtmaterialoverlaywidget.h \ + qtmaterialsnackbar.h \ + moc_predefs.h \ + /usr/lib/qt5/bin/moc + /usr/lib/qt5/bin/moc $(DEFINES) --include ./moc_predefs.h -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -I/home/chronosx/Documents/Development/qt-material-widgets/components -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/c++/7 -I/usr/include/x86_64-linux-gnu/c++/7 -I/usr/include/c++/7/backward -I/usr/lib/gcc/x86_64-linux-gnu/7/include -I/usr/local/include -I/usr/lib/gcc/x86_64-linux-gnu/7/include-fixed -I/usr/include/x86_64-linux-gnu -I/usr/include qtmaterialsnackbar.h -o moc_qtmaterialsnackbar.cpp + +moc_qtmaterialradiobutton.cpp: lib/qtmaterialcheckable.h \ + qtmaterialradiobutton.h \ + moc_predefs.h \ + /usr/lib/qt5/bin/moc + /usr/lib/qt5/bin/moc $(DEFINES) --include ./moc_predefs.h -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -I/home/chronosx/Documents/Development/qt-material-widgets/components -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/c++/7 -I/usr/include/x86_64-linux-gnu/c++/7 -I/usr/include/c++/7/backward -I/usr/lib/gcc/x86_64-linux-gnu/7/include -I/usr/local/include -I/usr/lib/gcc/x86_64-linux-gnu/7/include-fixed -I/usr/include/x86_64-linux-gnu -I/usr/include qtmaterialradiobutton.h -o moc_qtmaterialradiobutton.cpp + +moc_qtmaterialtoggle_internal.cpp: lib/qtmaterialrippleoverlay.h \ + lib/qtmaterialoverlaywidget.h \ + qtmaterialtoggle_internal.h \ + moc_predefs.h \ + /usr/lib/qt5/bin/moc + /usr/lib/qt5/bin/moc $(DEFINES) --include ./moc_predefs.h -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -I/home/chronosx/Documents/Development/qt-material-widgets/components -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/c++/7 -I/usr/include/x86_64-linux-gnu/c++/7 -I/usr/include/c++/7/backward -I/usr/lib/gcc/x86_64-linux-gnu/7/include -I/usr/local/include -I/usr/lib/gcc/x86_64-linux-gnu/7/include-fixed -I/usr/include/x86_64-linux-gnu -I/usr/include qtmaterialtoggle_internal.h -o moc_qtmaterialtoggle_internal.cpp + +moc_qtmaterialtoggle.cpp: qtmaterialtoggle.h \ + moc_predefs.h \ + /usr/lib/qt5/bin/moc + /usr/lib/qt5/bin/moc $(DEFINES) --include ./moc_predefs.h -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -I/home/chronosx/Documents/Development/qt-material-widgets/components -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/c++/7 -I/usr/include/x86_64-linux-gnu/c++/7 -I/usr/include/c++/7/backward -I/usr/lib/gcc/x86_64-linux-gnu/7/include -I/usr/local/include -I/usr/lib/gcc/x86_64-linux-gnu/7/include-fixed -I/usr/include/x86_64-linux-gnu -I/usr/include qtmaterialtoggle.h -o moc_qtmaterialtoggle.cpp + +moc_qtmaterialtextfield_internal.cpp: qtmaterialtextfield.h \ + qtmaterialtextfield_internal.h \ + moc_predefs.h \ + /usr/lib/qt5/bin/moc + /usr/lib/qt5/bin/moc $(DEFINES) --include ./moc_predefs.h -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -I/home/chronosx/Documents/Development/qt-material-widgets/components -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/c++/7 -I/usr/include/x86_64-linux-gnu/c++/7 -I/usr/include/c++/7/backward -I/usr/lib/gcc/x86_64-linux-gnu/7/include -I/usr/local/include -I/usr/lib/gcc/x86_64-linux-gnu/7/include-fixed -I/usr/include/x86_64-linux-gnu -I/usr/include qtmaterialtextfield_internal.h -o moc_qtmaterialtextfield_internal.cpp + +moc_qtmaterialtextfield.cpp: qtmaterialtextfield.h \ + moc_predefs.h \ + /usr/lib/qt5/bin/moc + /usr/lib/qt5/bin/moc $(DEFINES) --include ./moc_predefs.h -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -I/home/chronosx/Documents/Development/qt-material-widgets/components -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/c++/7 -I/usr/include/x86_64-linux-gnu/c++/7 -I/usr/include/c++/7/backward -I/usr/lib/gcc/x86_64-linux-gnu/7/include -I/usr/local/include -I/usr/lib/gcc/x86_64-linux-gnu/7/include-fixed -I/usr/include/x86_64-linux-gnu -I/usr/include qtmaterialtextfield.h -o moc_qtmaterialtextfield.cpp + +moc_qtmaterialtabs_internal.cpp: lib/qtmaterialoverlaywidget.h \ + qtmaterialflatbutton.h \ + lib/qtmaterialtheme.h \ + qtmaterialtabs_internal.h \ + moc_predefs.h \ + /usr/lib/qt5/bin/moc + /usr/lib/qt5/bin/moc $(DEFINES) --include ./moc_predefs.h -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -I/home/chronosx/Documents/Development/qt-material-widgets/components -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/c++/7 -I/usr/include/x86_64-linux-gnu/c++/7 -I/usr/include/c++/7/backward -I/usr/lib/gcc/x86_64-linux-gnu/7/include -I/usr/local/include -I/usr/lib/gcc/x86_64-linux-gnu/7/include-fixed -I/usr/include/x86_64-linux-gnu -I/usr/include qtmaterialtabs_internal.h -o moc_qtmaterialtabs_internal.cpp + +moc_qtmaterialtabs.cpp: lib/qtmaterialtheme.h \ + qtmaterialtabs.h \ + moc_predefs.h \ + /usr/lib/qt5/bin/moc + /usr/lib/qt5/bin/moc $(DEFINES) --include ./moc_predefs.h -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -I/home/chronosx/Documents/Development/qt-material-widgets/components -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/c++/7 -I/usr/include/x86_64-linux-gnu/c++/7 -I/usr/include/c++/7/backward -I/usr/lib/gcc/x86_64-linux-gnu/7/include -I/usr/local/include -I/usr/lib/gcc/x86_64-linux-gnu/7/include-fixed -I/usr/include/x86_64-linux-gnu -I/usr/include qtmaterialtabs.h -o moc_qtmaterialtabs.cpp + +moc_qtmaterialscrollbar_internal.cpp: qtmaterialscrollbar.h \ + qtmaterialscrollbar_internal.h \ + moc_predefs.h \ + /usr/lib/qt5/bin/moc + /usr/lib/qt5/bin/moc $(DEFINES) --include ./moc_predefs.h -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -I/home/chronosx/Documents/Development/qt-material-widgets/components -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/c++/7 -I/usr/include/x86_64-linux-gnu/c++/7 -I/usr/include/c++/7/backward -I/usr/lib/gcc/x86_64-linux-gnu/7/include -I/usr/local/include -I/usr/lib/gcc/x86_64-linux-gnu/7/include-fixed -I/usr/include/x86_64-linux-gnu -I/usr/include qtmaterialscrollbar_internal.h -o moc_qtmaterialscrollbar_internal.cpp + +moc_qtmaterialscrollbar.cpp: qtmaterialscrollbar.h \ + moc_predefs.h \ + /usr/lib/qt5/bin/moc + /usr/lib/qt5/bin/moc $(DEFINES) --include ./moc_predefs.h -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -I/home/chronosx/Documents/Development/qt-material-widgets/components -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/c++/7 -I/usr/include/x86_64-linux-gnu/c++/7 -I/usr/include/c++/7/backward -I/usr/lib/gcc/x86_64-linux-gnu/7/include -I/usr/local/include -I/usr/lib/gcc/x86_64-linux-gnu/7/include-fixed -I/usr/include/x86_64-linux-gnu -I/usr/include qtmaterialscrollbar.h -o moc_qtmaterialscrollbar.cpp + +moc_qtmaterialdialog_internal.cpp: qtmaterialdialog_internal.h \ + moc_predefs.h \ + /usr/lib/qt5/bin/moc + /usr/lib/qt5/bin/moc $(DEFINES) --include ./moc_predefs.h -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -I/home/chronosx/Documents/Development/qt-material-widgets/components -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/c++/7 -I/usr/include/x86_64-linux-gnu/c++/7 -I/usr/include/c++/7/backward -I/usr/lib/gcc/x86_64-linux-gnu/7/include -I/usr/local/include -I/usr/lib/gcc/x86_64-linux-gnu/7/include-fixed -I/usr/include/x86_64-linux-gnu -I/usr/include qtmaterialdialog_internal.h -o moc_qtmaterialdialog_internal.cpp + +moc_qtmaterialdialog.cpp: lib/qtmaterialoverlaywidget.h \ + qtmaterialdialog.h \ + moc_predefs.h \ + /usr/lib/qt5/bin/moc + /usr/lib/qt5/bin/moc $(DEFINES) --include ./moc_predefs.h -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -I/home/chronosx/Documents/Development/qt-material-widgets/components -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/c++/7 -I/usr/include/x86_64-linux-gnu/c++/7 -I/usr/include/c++/7/backward -I/usr/lib/gcc/x86_64-linux-gnu/7/include -I/usr/local/include -I/usr/lib/gcc/x86_64-linux-gnu/7/include-fixed -I/usr/include/x86_64-linux-gnu -I/usr/include qtmaterialdialog.h -o moc_qtmaterialdialog.cpp + +moc_qtmaterialdrawer_internal.cpp: lib/qtmaterialoverlaywidget.h \ + qtmaterialdrawer_internal.h \ + moc_predefs.h \ + /usr/lib/qt5/bin/moc + /usr/lib/qt5/bin/moc $(DEFINES) --include ./moc_predefs.h -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -I/home/chronosx/Documents/Development/qt-material-widgets/components -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/c++/7 -I/usr/include/x86_64-linux-gnu/c++/7 -I/usr/include/c++/7/backward -I/usr/lib/gcc/x86_64-linux-gnu/7/include -I/usr/local/include -I/usr/lib/gcc/x86_64-linux-gnu/7/include-fixed -I/usr/include/x86_64-linux-gnu -I/usr/include qtmaterialdrawer_internal.h -o moc_qtmaterialdrawer_internal.cpp + +moc_qtmaterialdrawer.cpp: lib/qtmaterialoverlaywidget.h \ + qtmaterialdrawer.h \ + moc_predefs.h \ + /usr/lib/qt5/bin/moc + /usr/lib/qt5/bin/moc $(DEFINES) --include ./moc_predefs.h -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -I/home/chronosx/Documents/Development/qt-material-widgets/components -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/c++/7 -I/usr/include/x86_64-linux-gnu/c++/7 -I/usr/include/c++/7/backward -I/usr/lib/gcc/x86_64-linux-gnu/7/include -I/usr/local/include -I/usr/lib/gcc/x86_64-linux-gnu/7/include-fixed -I/usr/include/x86_64-linux-gnu -I/usr/include qtmaterialdrawer.h -o moc_qtmaterialdrawer.cpp + +moc_qtmaterialappbar.cpp: qtmaterialappbar.h \ + moc_predefs.h \ + /usr/lib/qt5/bin/moc + /usr/lib/qt5/bin/moc $(DEFINES) --include ./moc_predefs.h -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -I/home/chronosx/Documents/Development/qt-material-widgets/components -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/c++/7 -I/usr/include/x86_64-linux-gnu/c++/7 -I/usr/include/c++/7/backward -I/usr/lib/gcc/x86_64-linux-gnu/7/include -I/usr/local/include -I/usr/lib/gcc/x86_64-linux-gnu/7/include-fixed -I/usr/include/x86_64-linux-gnu -I/usr/include qtmaterialappbar.h -o moc_qtmaterialappbar.cpp + +moc_qtmaterialautocomplete.cpp: qtmaterialtextfield.h \ + qtmaterialautocomplete.h \ + moc_predefs.h \ + /usr/lib/qt5/bin/moc + /usr/lib/qt5/bin/moc $(DEFINES) --include ./moc_predefs.h -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -I/home/chronosx/Documents/Development/qt-material-widgets/components -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/c++/7 -I/usr/include/x86_64-linux-gnu/c++/7 -I/usr/include/c++/7/backward -I/usr/lib/gcc/x86_64-linux-gnu/7/include -I/usr/local/include -I/usr/lib/gcc/x86_64-linux-gnu/7/include-fixed -I/usr/include/x86_64-linux-gnu -I/usr/include qtmaterialautocomplete.h -o moc_qtmaterialautocomplete.cpp + +moc_qtmaterialautocomplete_internal.cpp: qtmaterialautocomplete.h \ + qtmaterialtextfield.h \ + qtmaterialautocomplete_internal.h \ + moc_predefs.h \ + /usr/lib/qt5/bin/moc + /usr/lib/qt5/bin/moc $(DEFINES) --include ./moc_predefs.h -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -I/home/chronosx/Documents/Development/qt-material-widgets/components -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/c++/7 -I/usr/include/x86_64-linux-gnu/c++/7 -I/usr/include/c++/7/backward -I/usr/lib/gcc/x86_64-linux-gnu/7/include -I/usr/local/include -I/usr/lib/gcc/x86_64-linux-gnu/7/include-fixed -I/usr/include/x86_64-linux-gnu -I/usr/include qtmaterialautocomplete_internal.h -o moc_qtmaterialautocomplete_internal.cpp + +moc_qtmaterialmenu.cpp: qtmaterialmenu.h \ + moc_predefs.h \ + /usr/lib/qt5/bin/moc + /usr/lib/qt5/bin/moc $(DEFINES) --include ./moc_predefs.h -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -I/home/chronosx/Documents/Development/qt-material-widgets/components -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/c++/7 -I/usr/include/x86_64-linux-gnu/c++/7 -I/usr/include/c++/7/backward -I/usr/lib/gcc/x86_64-linux-gnu/7/include -I/usr/local/include -I/usr/lib/gcc/x86_64-linux-gnu/7/include-fixed -I/usr/include/x86_64-linux-gnu -I/usr/include qtmaterialmenu.h -o moc_qtmaterialmenu.cpp + +compiler_moc_source_make_all: +compiler_moc_source_clean: +compiler_yacc_decl_make_all: +compiler_yacc_decl_clean: +compiler_yacc_impl_make_all: +compiler_yacc_impl_clean: +compiler_lex_make_all: +compiler_lex_clean: +compiler_clean: compiler_rcc_clean compiler_moc_predefs_clean compiler_moc_header_clean + +####### Compile + +qtmaterialavatar.o: qtmaterialavatar.cpp qtmaterialavatar.h \ + lib/qtmaterialtheme.h \ + qtmaterialavatar_p.h \ + lib/qtmaterialstyle.h \ + lib/qtmaterialstyle_p.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o qtmaterialavatar.o qtmaterialavatar.cpp + +qtmaterialstyle.o: lib/qtmaterialstyle.cpp lib/qtmaterialstyle.h \ + lib/qtmaterialstyle_p.h \ + lib/qtmaterialtheme.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o qtmaterialstyle.o lib/qtmaterialstyle.cpp + +qtmaterialtheme.o: lib/qtmaterialtheme.cpp lib/qtmaterialtheme.h \ + lib/qtmaterialtheme_p.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o qtmaterialtheme.o lib/qtmaterialtheme.cpp + +qtmaterialbadge.o: qtmaterialbadge.cpp qtmaterialbadge.h \ + lib/qtmaterialoverlaywidget.h \ + qtmaterialbadge_p.h \ + lib/qtmaterialstyle.h \ + lib/qtmaterialstyle_p.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o qtmaterialbadge.o qtmaterialbadge.cpp + +qtmaterialoverlaywidget.o: lib/qtmaterialoverlaywidget.cpp lib/qtmaterialoverlaywidget.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o qtmaterialoverlaywidget.o lib/qtmaterialoverlaywidget.cpp + +qtmaterialcheckbox.o: qtmaterialcheckbox.cpp qtmaterialcheckbox.h \ + lib/qtmaterialcheckable.h \ + qtmaterialcheckbox_p.h \ + lib/qtmaterialcheckable_p.h \ + lib/qtmaterialcheckable_internal.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o qtmaterialcheckbox.o qtmaterialcheckbox.cpp + +qtmaterialcheckable_internal.o: lib/qtmaterialcheckable_internal.cpp lib/qtmaterialcheckable_internal.h \ + lib/qtmaterialcheckable.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o qtmaterialcheckable_internal.o lib/qtmaterialcheckable_internal.cpp + +qtmaterialcheckable.o: lib/qtmaterialcheckable.cpp lib/qtmaterialcheckable.h \ + lib/qtmaterialcheckable_p.h \ + lib/qtmaterialrippleoverlay.h \ + lib/qtmaterialoverlaywidget.h \ + lib/qtmaterialripple.h \ + lib/qtmaterialstyle.h \ + lib/qtmaterialstyle_p.h \ + lib/qtmaterialcheckable_internal.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o qtmaterialcheckable.o lib/qtmaterialcheckable.cpp + +qtmaterialripple.o: lib/qtmaterialripple.cpp lib/qtmaterialripple.h \ + lib/qtmaterialrippleoverlay.h \ + lib/qtmaterialoverlaywidget.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o qtmaterialripple.o lib/qtmaterialripple.cpp + +qtmaterialrippleoverlay.o: lib/qtmaterialrippleoverlay.cpp lib/qtmaterialrippleoverlay.h \ + lib/qtmaterialoverlaywidget.h \ + lib/qtmaterialripple.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o qtmaterialrippleoverlay.o lib/qtmaterialrippleoverlay.cpp + +qtmaterialfab.o: qtmaterialfab.cpp qtmaterialfab.h \ + qtmaterialraisedbutton.h \ + qtmaterialflatbutton.h \ + lib/qtmaterialtheme.h \ + qtmaterialfab_p.h \ + qtmaterialraisedbutton_p.h \ + qtmaterialflatbutton_p.h \ + lib/qtmaterialrippleoverlay.h \ + lib/qtmaterialoverlaywidget.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o qtmaterialfab.o qtmaterialfab.cpp + +qtmaterialraisedbutton.o: qtmaterialraisedbutton.cpp qtmaterialraisedbutton.h \ + qtmaterialflatbutton.h \ + lib/qtmaterialtheme.h \ + qtmaterialraisedbutton_p.h \ + qtmaterialflatbutton_p.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o qtmaterialraisedbutton.o qtmaterialraisedbutton.cpp + +qtmaterialflatbutton_internal.o: qtmaterialflatbutton_internal.cpp qtmaterialflatbutton_internal.h \ + qtmaterialflatbutton.h \ + lib/qtmaterialtheme.h \ + lib/qtmaterialstatetransition.h \ + lib/qtmaterialstatetransitionevent.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o qtmaterialflatbutton_internal.o qtmaterialflatbutton_internal.cpp + +qtmaterialflatbutton.o: qtmaterialflatbutton.cpp qtmaterialflatbutton.h \ + lib/qtmaterialtheme.h \ + qtmaterialflatbutton_p.h \ + lib/qtmaterialrippleoverlay.h \ + lib/qtmaterialoverlaywidget.h \ + lib/qtmaterialripple.h \ + lib/qtmaterialstyle.h \ + lib/qtmaterialstyle_p.h \ + qtmaterialflatbutton_internal.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o qtmaterialflatbutton.o qtmaterialflatbutton.cpp + +qtmaterialstatetransition.o: lib/qtmaterialstatetransition.cpp lib/qtmaterialstatetransition.h \ + lib/qtmaterialstatetransitionevent.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o qtmaterialstatetransition.o lib/qtmaterialstatetransition.cpp + +qtmaterialiconbutton.o: qtmaterialiconbutton.cpp qtmaterialiconbutton.h \ + qtmaterialiconbutton_p.h \ + lib/qtmaterialstyle.h \ + lib/qtmaterialstyle_p.h \ + lib/qtmaterialrippleoverlay.h \ + lib/qtmaterialoverlaywidget.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o qtmaterialiconbutton.o qtmaterialiconbutton.cpp + +qtmaterialprogress_internal.o: qtmaterialprogress_internal.cpp qtmaterialprogress_internal.h \ + qtmaterialprogress.h \ + lib/qtmaterialtheme.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o qtmaterialprogress_internal.o qtmaterialprogress_internal.cpp + +qtmaterialprogress.o: qtmaterialprogress.cpp qtmaterialprogress.h \ + lib/qtmaterialtheme.h \ + qtmaterialprogress_p.h \ + qtmaterialprogress_internal.h \ + lib/qtmaterialstyle.h \ + lib/qtmaterialstyle_p.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o qtmaterialprogress.o qtmaterialprogress.cpp + +qtmaterialcircularprogress_internal.o: qtmaterialcircularprogress_internal.cpp qtmaterialcircularprogress_internal.h \ + qtmaterialcircularprogress.h \ + lib/qtmaterialtheme.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o qtmaterialcircularprogress_internal.o qtmaterialcircularprogress_internal.cpp + +qtmaterialcircularprogress.o: qtmaterialcircularprogress.cpp qtmaterialcircularprogress.h \ + lib/qtmaterialtheme.h \ + qtmaterialcircularprogress_p.h \ + qtmaterialcircularprogress_internal.h \ + lib/qtmaterialstyle.h \ + lib/qtmaterialstyle_p.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o qtmaterialcircularprogress.o qtmaterialcircularprogress.cpp + +qtmaterialslider_internal.o: qtmaterialslider_internal.cpp qtmaterialslider_internal.h \ + lib/qtmaterialoverlaywidget.h \ + qtmaterialslider.h \ + lib/qtmaterialstyle.h \ + lib/qtmaterialstyle_p.h \ + lib/qtmaterialstatetransition.h \ + lib/qtmaterialstatetransitionevent.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o qtmaterialslider_internal.o qtmaterialslider_internal.cpp + +qtmaterialslider.o: qtmaterialslider.cpp qtmaterialslider.h \ + qtmaterialslider_p.h \ + qtmaterialslider_internal.h \ + lib/qtmaterialoverlaywidget.h \ + lib/qtmaterialstyle.h \ + lib/qtmaterialstyle_p.h \ + lib/qtmaterialstatetransitionevent.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o qtmaterialslider.o qtmaterialslider.cpp + +qtmaterialsnackbar_internal.o: qtmaterialsnackbar_internal.cpp qtmaterialsnackbar_internal.h \ + qtmaterialsnackbar.h \ + lib/qtmaterialoverlaywidget.h \ + lib/qtmaterialstatetransition.h \ + lib/qtmaterialstatetransitionevent.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o qtmaterialsnackbar_internal.o qtmaterialsnackbar_internal.cpp + +qtmaterialsnackbar.o: qtmaterialsnackbar.cpp qtmaterialsnackbar.h \ + lib/qtmaterialoverlaywidget.h \ + qtmaterialsnackbar_p.h \ + qtmaterialsnackbar_internal.h \ + lib/qtmaterialstyle.h \ + lib/qtmaterialstyle_p.h \ + lib/qtmaterialstatetransition.h \ + lib/qtmaterialstatetransitionevent.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o qtmaterialsnackbar.o qtmaterialsnackbar.cpp + +qtmaterialradiobutton.o: qtmaterialradiobutton.cpp qtmaterialradiobutton.h \ + lib/qtmaterialcheckable.h \ + qtmaterialradiobutton_p.h \ + lib/qtmaterialcheckable_p.h \ + lib/qtmaterialcheckable_internal.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o qtmaterialradiobutton.o qtmaterialradiobutton.cpp + +qtmaterialtoggle_internal.o: qtmaterialtoggle_internal.cpp qtmaterialtoggle_internal.h \ + lib/qtmaterialrippleoverlay.h \ + lib/qtmaterialoverlaywidget.h \ + qtmaterialtoggle.h \ + lib/qtmaterialripple.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o qtmaterialtoggle_internal.o qtmaterialtoggle_internal.cpp + +qtmaterialtoggle.o: qtmaterialtoggle.cpp qtmaterialtoggle.h \ + qtmaterialtoggle_p.h \ + qtmaterialtoggle_internal.h \ + lib/qtmaterialrippleoverlay.h \ + lib/qtmaterialoverlaywidget.h \ + lib/qtmaterialstyle.h \ + lib/qtmaterialstyle_p.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o qtmaterialtoggle.o qtmaterialtoggle.cpp + +qtmaterialtextfield_internal.o: qtmaterialtextfield_internal.cpp qtmaterialtextfield_internal.h \ + qtmaterialtextfield.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o qtmaterialtextfield_internal.o qtmaterialtextfield_internal.cpp + +qtmaterialtextfield.o: qtmaterialtextfield.cpp qtmaterialtextfield.h \ + qtmaterialtextfield_p.h \ + qtmaterialtextfield_internal.h \ + lib/qtmaterialstyle.h \ + lib/qtmaterialstyle_p.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o qtmaterialtextfield.o qtmaterialtextfield.cpp + +qtmaterialtabs_internal.o: qtmaterialtabs_internal.cpp qtmaterialtabs_internal.h \ + lib/qtmaterialoverlaywidget.h \ + qtmaterialflatbutton.h \ + lib/qtmaterialtheme.h \ + qtmaterialtabs.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o qtmaterialtabs_internal.o qtmaterialtabs_internal.cpp + +qtmaterialtabs.o: qtmaterialtabs.cpp qtmaterialtabs.h \ + lib/qtmaterialtheme.h \ + qtmaterialtabs_p.h \ + qtmaterialtabs_internal.h \ + lib/qtmaterialoverlaywidget.h \ + qtmaterialflatbutton.h \ + lib/qtmaterialstyle.h \ + lib/qtmaterialstyle_p.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o qtmaterialtabs.o qtmaterialtabs.cpp + +qtmaterialscrollbar_internal.o: qtmaterialscrollbar_internal.cpp qtmaterialscrollbar_internal.h \ + qtmaterialscrollbar.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o qtmaterialscrollbar_internal.o qtmaterialscrollbar_internal.cpp + +qtmaterialscrollbar.o: qtmaterialscrollbar.cpp qtmaterialscrollbar.h \ + qtmaterialscrollbar_p.h \ + qtmaterialscrollbar_internal.h \ + lib/qtmaterialstyle.h \ + lib/qtmaterialstyle_p.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o qtmaterialscrollbar.o qtmaterialscrollbar.cpp + +qtmaterialdialog_internal.o: qtmaterialdialog_internal.cpp qtmaterialdialog_internal.h \ + qtmaterialdialog.h \ + lib/qtmaterialoverlaywidget.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o qtmaterialdialog_internal.o qtmaterialdialog_internal.cpp + +qtmaterialdialog.o: qtmaterialdialog.cpp qtmaterialdialog.h \ + lib/qtmaterialoverlaywidget.h \ + qtmaterialdialog_p.h \ + qtmaterialdialog_internal.h \ + lib/qtmaterialstatetransition.h \ + lib/qtmaterialstatetransitionevent.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o qtmaterialdialog.o qtmaterialdialog.cpp + +qtmaterialdrawer_internal.o: qtmaterialdrawer_internal.cpp qtmaterialdrawer_internal.h \ + lib/qtmaterialoverlaywidget.h \ + qtmaterialdrawer.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o qtmaterialdrawer_internal.o qtmaterialdrawer_internal.cpp + +qtmaterialdrawer.o: qtmaterialdrawer.cpp qtmaterialdrawer.h \ + lib/qtmaterialoverlaywidget.h \ + qtmaterialdrawer_p.h \ + qtmaterialdrawer_internal.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o qtmaterialdrawer.o qtmaterialdrawer.cpp + +qtmaterialappbar.o: qtmaterialappbar.cpp qtmaterialappbar.h \ + qtmaterialappbar_p.h \ + lib/qtmaterialstyle.h \ + lib/qtmaterialstyle_p.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o qtmaterialappbar.o qtmaterialappbar.cpp + +qtmaterialautocomplete.o: qtmaterialautocomplete.cpp qtmaterialautocomplete.h \ + qtmaterialtextfield.h \ + qtmaterialautocomplete_p.h \ + qtmaterialtextfield_p.h \ + qtmaterialautocomplete_internal.h \ + qtmaterialflatbutton.h \ + lib/qtmaterialtheme.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o qtmaterialautocomplete.o qtmaterialautocomplete.cpp + +qtmaterialpaper.o: qtmaterialpaper.cpp qtmaterialpaper.h \ + qtmaterialpaper_p.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o qtmaterialpaper.o qtmaterialpaper.cpp + +qtmaterialtable.o: qtmaterialtable.cpp qtmaterialtable.h \ + qtmaterialtable_p.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o qtmaterialtable.o qtmaterialtable.cpp + +qtmaterialsnackbarlayout.o: layouts/qtmaterialsnackbarlayout.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o qtmaterialsnackbarlayout.o layouts/qtmaterialsnackbarlayout.cpp + +qtmaterialautocomplete_internal.o: qtmaterialautocomplete_internal.cpp qtmaterialautocomplete_internal.h \ + qtmaterialautocomplete.h \ + qtmaterialtextfield.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o qtmaterialautocomplete_internal.o qtmaterialautocomplete_internal.cpp + +qtmaterialmenu.o: qtmaterialmenu.cpp qtmaterialmenu.h \ + qtmaterialmenu_p.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o qtmaterialmenu.o qtmaterialmenu.cpp + +qtmaterialmenu_internal.o: qtmaterialmenu_internal.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o qtmaterialmenu_internal.o qtmaterialmenu_internal.cpp + +qtmateriallist.o: qtmateriallist.cpp qtmateriallist.h \ + qtmateriallist_p.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o qtmateriallist.o qtmateriallist.cpp + +qtmateriallistitem.o: qtmateriallistitem.cpp qtmateriallistitem.h \ + qtmateriallistitem_p.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o qtmateriallistitem.o qtmateriallistitem.cpp + +qrc_resources.o: qrc_resources.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o qrc_resources.o qrc_resources.cpp + +moc_qtmaterialavatar.o: moc_qtmaterialavatar.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_qtmaterialavatar.o moc_qtmaterialavatar.cpp + +moc_qtmaterialstyle.o: moc_qtmaterialstyle.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_qtmaterialstyle.o moc_qtmaterialstyle.cpp + +moc_qtmaterialtheme.o: moc_qtmaterialtheme.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_qtmaterialtheme.o moc_qtmaterialtheme.cpp + +moc_qtmaterialbadge.o: moc_qtmaterialbadge.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_qtmaterialbadge.o moc_qtmaterialbadge.cpp + +moc_qtmaterialoverlaywidget.o: moc_qtmaterialoverlaywidget.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_qtmaterialoverlaywidget.o moc_qtmaterialoverlaywidget.cpp + +moc_qtmaterialcheckbox.o: moc_qtmaterialcheckbox.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_qtmaterialcheckbox.o moc_qtmaterialcheckbox.cpp + +moc_qtmaterialcheckable_internal.o: moc_qtmaterialcheckable_internal.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_qtmaterialcheckable_internal.o moc_qtmaterialcheckable_internal.cpp + +moc_qtmaterialripple.o: moc_qtmaterialripple.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_qtmaterialripple.o moc_qtmaterialripple.cpp + +moc_qtmaterialrippleoverlay.o: moc_qtmaterialrippleoverlay.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_qtmaterialrippleoverlay.o moc_qtmaterialrippleoverlay.cpp + +moc_qtmaterialcheckable.o: moc_qtmaterialcheckable.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_qtmaterialcheckable.o moc_qtmaterialcheckable.cpp + +moc_qtmaterialfab.o: moc_qtmaterialfab.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_qtmaterialfab.o moc_qtmaterialfab.cpp + +moc_qtmaterialraisedbutton.o: moc_qtmaterialraisedbutton.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_qtmaterialraisedbutton.o moc_qtmaterialraisedbutton.cpp + +moc_qtmaterialflatbutton_internal.o: moc_qtmaterialflatbutton_internal.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_qtmaterialflatbutton_internal.o moc_qtmaterialflatbutton_internal.cpp + +moc_qtmaterialflatbutton.o: moc_qtmaterialflatbutton.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_qtmaterialflatbutton.o moc_qtmaterialflatbutton.cpp + +moc_qtmaterialstatetransition.o: moc_qtmaterialstatetransition.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_qtmaterialstatetransition.o moc_qtmaterialstatetransition.cpp + +moc_qtmaterialiconbutton.o: moc_qtmaterialiconbutton.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_qtmaterialiconbutton.o moc_qtmaterialiconbutton.cpp + +moc_qtmaterialprogress_internal.o: moc_qtmaterialprogress_internal.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_qtmaterialprogress_internal.o moc_qtmaterialprogress_internal.cpp + +moc_qtmaterialprogress.o: moc_qtmaterialprogress.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_qtmaterialprogress.o moc_qtmaterialprogress.cpp + +moc_qtmaterialcircularprogress_internal.o: moc_qtmaterialcircularprogress_internal.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_qtmaterialcircularprogress_internal.o moc_qtmaterialcircularprogress_internal.cpp + +moc_qtmaterialcircularprogress.o: moc_qtmaterialcircularprogress.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_qtmaterialcircularprogress.o moc_qtmaterialcircularprogress.cpp + +moc_qtmaterialslider_internal.o: moc_qtmaterialslider_internal.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_qtmaterialslider_internal.o moc_qtmaterialslider_internal.cpp + +moc_qtmaterialslider.o: moc_qtmaterialslider.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_qtmaterialslider.o moc_qtmaterialslider.cpp + +moc_qtmaterialsnackbar_internal.o: moc_qtmaterialsnackbar_internal.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_qtmaterialsnackbar_internal.o moc_qtmaterialsnackbar_internal.cpp + +moc_qtmaterialsnackbar.o: moc_qtmaterialsnackbar.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_qtmaterialsnackbar.o moc_qtmaterialsnackbar.cpp + +moc_qtmaterialradiobutton.o: moc_qtmaterialradiobutton.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_qtmaterialradiobutton.o moc_qtmaterialradiobutton.cpp + +moc_qtmaterialtoggle_internal.o: moc_qtmaterialtoggle_internal.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_qtmaterialtoggle_internal.o moc_qtmaterialtoggle_internal.cpp + +moc_qtmaterialtoggle.o: moc_qtmaterialtoggle.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_qtmaterialtoggle.o moc_qtmaterialtoggle.cpp + +moc_qtmaterialtextfield_internal.o: moc_qtmaterialtextfield_internal.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_qtmaterialtextfield_internal.o moc_qtmaterialtextfield_internal.cpp + +moc_qtmaterialtextfield.o: moc_qtmaterialtextfield.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_qtmaterialtextfield.o moc_qtmaterialtextfield.cpp + +moc_qtmaterialtabs_internal.o: moc_qtmaterialtabs_internal.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_qtmaterialtabs_internal.o moc_qtmaterialtabs_internal.cpp + +moc_qtmaterialtabs.o: moc_qtmaterialtabs.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_qtmaterialtabs.o moc_qtmaterialtabs.cpp + +moc_qtmaterialscrollbar_internal.o: moc_qtmaterialscrollbar_internal.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_qtmaterialscrollbar_internal.o moc_qtmaterialscrollbar_internal.cpp + +moc_qtmaterialscrollbar.o: moc_qtmaterialscrollbar.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_qtmaterialscrollbar.o moc_qtmaterialscrollbar.cpp + +moc_qtmaterialdialog_internal.o: moc_qtmaterialdialog_internal.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_qtmaterialdialog_internal.o moc_qtmaterialdialog_internal.cpp + +moc_qtmaterialdialog.o: moc_qtmaterialdialog.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_qtmaterialdialog.o moc_qtmaterialdialog.cpp + +moc_qtmaterialdrawer_internal.o: moc_qtmaterialdrawer_internal.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_qtmaterialdrawer_internal.o moc_qtmaterialdrawer_internal.cpp + +moc_qtmaterialdrawer.o: moc_qtmaterialdrawer.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_qtmaterialdrawer.o moc_qtmaterialdrawer.cpp + +moc_qtmaterialappbar.o: moc_qtmaterialappbar.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_qtmaterialappbar.o moc_qtmaterialappbar.cpp + +moc_qtmaterialautocomplete.o: moc_qtmaterialautocomplete.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_qtmaterialautocomplete.o moc_qtmaterialautocomplete.cpp + +moc_qtmaterialautocomplete_internal.o: moc_qtmaterialautocomplete_internal.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_qtmaterialautocomplete_internal.o moc_qtmaterialautocomplete_internal.cpp + +moc_qtmaterialmenu.o: moc_qtmaterialmenu.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_qtmaterialmenu.o moc_qtmaterialmenu.cpp + +####### Install + +install: FORCE + +uninstall: FORCE + +FORCE: + diff --git a/src/material-widgets/components.pro b/src/material-widgets/components.pro new file mode 100644 index 0000000..d6080d5 --- /dev/null +++ b/src/material-widgets/components.pro @@ -0,0 +1,130 @@ +TEMPLATE = lib +CONFIG += staticlib +SOURCES = \ + qtmaterialavatar.cpp \ + lib/qtmaterialstyle.cpp \ + lib/qtmaterialtheme.cpp \ + qtmaterialbadge.cpp \ + lib/qtmaterialoverlaywidget.cpp \ + qtmaterialcheckbox.cpp \ + lib/qtmaterialcheckable_internal.cpp \ + lib/qtmaterialcheckable.cpp \ + lib/qtmaterialripple.cpp \ + lib/qtmaterialrippleoverlay.cpp \ + qtmaterialfab.cpp \ + qtmaterialraisedbutton.cpp \ + qtmaterialflatbutton_internal.cpp \ + qtmaterialflatbutton.cpp \ + lib/qtmaterialstatetransition.cpp \ + qtmaterialiconbutton.cpp \ + qtmaterialprogress_internal.cpp \ + qtmaterialprogress.cpp \ + qtmaterialcircularprogress_internal.cpp \ + qtmaterialcircularprogress.cpp \ + qtmaterialslider_internal.cpp \ + qtmaterialslider.cpp \ + qtmaterialsnackbar_internal.cpp \ + qtmaterialsnackbar.cpp \ + qtmaterialradiobutton.cpp \ + qtmaterialtoggle_internal.cpp \ + qtmaterialtoggle.cpp \ + qtmaterialtextfield_internal.cpp \ + qtmaterialtextfield.cpp \ + qtmaterialtabs_internal.cpp \ + qtmaterialtabs.cpp \ + qtmaterialscrollbar_internal.cpp \ + qtmaterialscrollbar.cpp \ + qtmaterialdialog_internal.cpp \ + qtmaterialdialog.cpp \ + qtmaterialdrawer_internal.cpp \ + qtmaterialdrawer.cpp \ + qtmaterialappbar.cpp \ + qtmaterialautocomplete.cpp \ + qtmaterialpaper.cpp \ + qtmaterialtable.cpp \ + layouts/qtmaterialsnackbarlayout.cpp \ + qtmaterialautocomplete_internal.cpp \ + qtmaterialmenu.cpp \ + qtmaterialmenu_internal.cpp \ + qtmateriallist.cpp \ + qtmateriallistitem.cpp +HEADERS = \ + qtmaterialavatar_p.h \ + qtmaterialavatar.h \ + lib/qtmaterialstyle_p.h \ + lib/qtmaterialstyle.h \ + lib/qtmaterialtheme_p.h \ + lib/qtmaterialtheme.h \ + qtmaterialbadge_p.h \ + qtmaterialbadge.h \ + lib/qtmaterialoverlaywidget.h \ + qtmaterialcheckbox_p.h \ + qtmaterialcheckbox.h \ + lib/qtmaterialcheckable_internal.h \ + lib/qtmaterialcheckable_p.h \ + lib/qtmaterialripple.h \ + lib/qtmaterialrippleoverlay.h \ + lib/qtmaterialcheckable.h \ + qtmaterialfab_p.h \ + qtmaterialfab.h \ + qtmaterialraisedbutton_p.h \ + qtmaterialraisedbutton.h \ + qtmaterialflatbutton_internal.h \ + qtmaterialflatbutton_p.h \ + qtmaterialflatbutton.h \ + lib/qtmaterialstatetransition.h \ + lib/qtmaterialstatetransitionevent.h \ + qtmaterialiconbutton_p.h \ + qtmaterialiconbutton.h \ + qtmaterialprogress_internal.h \ + qtmaterialprogress_p.h \ + qtmaterialprogress.h \ + qtmaterialcircularprogress_internal.h \ + qtmaterialcircularprogress_p.h \ + qtmaterialcircularprogress.h \ + qtmaterialslider_internal.h \ + qtmaterialslider_p.h \ + qtmaterialslider.h \ + qtmaterialsnackbar_internal.h \ + qtmaterialsnackbar_p.h \ + qtmaterialsnackbar.h \ + qtmaterialradiobutton_p.h \ + qtmaterialradiobutton.h \ + qtmaterialtoggle_internal.h \ + qtmaterialtoggle_p.h \ + qtmaterialtoggle.h \ + qtmaterialtextfield_internal.h \ + qtmaterialtextfield_p.h \ + qtmaterialtextfield.h \ + qtmaterialtabs_internal.h \ + qtmaterialtabs_p.h \ + qtmaterialtabs.h \ + qtmaterialscrollbar_internal.h \ + qtmaterialscrollbar_p.h \ + qtmaterialscrollbar.h \ + qtmaterialdialog_internal.h \ + qtmaterialdialog_p.h \ + qtmaterialdialog.h \ + qtmaterialdrawer_internal.h \ + qtmaterialdrawer_p.h \ + qtmaterialdrawer.h \ + qtmaterialappbar.h \ + qtmaterialappbar_p.h \ + qtmaterialautocomplete.h \ + qtmaterialautocomplete_p.h \ + qtmaterialpaper.h \ + qtmaterialpaper_p.h \ + qtmaterialtable.h \ + qtmaterialtable_p.h \ + layouts/qtmaterialsnackbarlayout.h \ + layouts/qtmaterialsnackbarlayout_p.h \ + qtmaterialautocomplete_internal.h \ + qtmaterialmenu.h \ + qtmaterialmenu_p.h \ + qtmaterialmenu_internal.h \ + qtmateriallist.h \ + qtmateriallist_p.h \ + qtmateriallistitem.h \ + qtmateriallistitem_p.h +RESOURCES += \ + resources.qrc diff --git a/src/material-widgets/fonts/Roboto/LICENSE.txt b/src/material-widgets/fonts/Roboto/LICENSE.txt new file mode 100644 index 0000000..75b5248 --- /dev/null +++ b/src/material-widgets/fonts/Roboto/LICENSE.txt @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/src/material-widgets/fonts/Roboto/Roboto-Black.ttf b/src/material-widgets/fonts/Roboto/Roboto-Black.ttf new file mode 100644 index 0000000..fbde625 Binary files /dev/null and b/src/material-widgets/fonts/Roboto/Roboto-Black.ttf differ diff --git a/src/material-widgets/fonts/Roboto/Roboto-BlackItalic.ttf b/src/material-widgets/fonts/Roboto/Roboto-BlackItalic.ttf new file mode 100644 index 0000000..60f7782 Binary files /dev/null and b/src/material-widgets/fonts/Roboto/Roboto-BlackItalic.ttf differ diff --git a/src/material-widgets/fonts/Roboto/Roboto-Bold.ttf b/src/material-widgets/fonts/Roboto/Roboto-Bold.ttf new file mode 100644 index 0000000..a355c27 Binary files /dev/null and b/src/material-widgets/fonts/Roboto/Roboto-Bold.ttf differ diff --git a/src/material-widgets/fonts/Roboto/Roboto-BoldItalic.ttf b/src/material-widgets/fonts/Roboto/Roboto-BoldItalic.ttf new file mode 100644 index 0000000..3c9a7a3 Binary files /dev/null and b/src/material-widgets/fonts/Roboto/Roboto-BoldItalic.ttf differ diff --git a/src/material-widgets/fonts/Roboto/Roboto-Italic.ttf b/src/material-widgets/fonts/Roboto/Roboto-Italic.ttf new file mode 100644 index 0000000..ff6046d Binary files /dev/null and b/src/material-widgets/fonts/Roboto/Roboto-Italic.ttf differ diff --git a/src/material-widgets/fonts/Roboto/Roboto-Light.ttf b/src/material-widgets/fonts/Roboto/Roboto-Light.ttf new file mode 100644 index 0000000..94c6bcc Binary files /dev/null and b/src/material-widgets/fonts/Roboto/Roboto-Light.ttf differ diff --git a/src/material-widgets/fonts/Roboto/Roboto-LightItalic.ttf b/src/material-widgets/fonts/Roboto/Roboto-LightItalic.ttf new file mode 100644 index 0000000..04cc002 Binary files /dev/null and b/src/material-widgets/fonts/Roboto/Roboto-LightItalic.ttf differ diff --git a/src/material-widgets/fonts/Roboto/Roboto-Medium.ttf b/src/material-widgets/fonts/Roboto/Roboto-Medium.ttf new file mode 100644 index 0000000..39c63d7 Binary files /dev/null and b/src/material-widgets/fonts/Roboto/Roboto-Medium.ttf differ diff --git a/src/material-widgets/fonts/Roboto/Roboto-MediumItalic.ttf b/src/material-widgets/fonts/Roboto/Roboto-MediumItalic.ttf new file mode 100644 index 0000000..dc743f0 Binary files /dev/null and b/src/material-widgets/fonts/Roboto/Roboto-MediumItalic.ttf differ diff --git a/src/material-widgets/fonts/Roboto/Roboto-Regular.ttf b/src/material-widgets/fonts/Roboto/Roboto-Regular.ttf new file mode 100644 index 0000000..8c082c8 Binary files /dev/null and b/src/material-widgets/fonts/Roboto/Roboto-Regular.ttf differ diff --git a/src/material-widgets/fonts/Roboto/Roboto-Thin.ttf b/src/material-widgets/fonts/Roboto/Roboto-Thin.ttf new file mode 100644 index 0000000..d695550 Binary files /dev/null and b/src/material-widgets/fonts/Roboto/Roboto-Thin.ttf differ diff --git a/src/material-widgets/fonts/Roboto/Roboto-ThinItalic.ttf b/src/material-widgets/fonts/Roboto/Roboto-ThinItalic.ttf new file mode 100644 index 0000000..07172ff Binary files /dev/null and b/src/material-widgets/fonts/Roboto/Roboto-ThinItalic.ttf differ diff --git a/src/material-widgets/icons/LICENSE b/src/material-widgets/icons/LICENSE new file mode 100644 index 0000000..7a4a3ea --- /dev/null +++ b/src/material-widgets/icons/LICENSE @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_3d_rotation_24px.svg b/src/material-widgets/icons/action/svg/production/ic_3d_rotation_24px.svg new file mode 100644 index 0000000..db31710 --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_3d_rotation_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_accessibility_24px.svg b/src/material-widgets/icons/action/svg/production/ic_accessibility_24px.svg new file mode 100644 index 0000000..fda62ae --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_accessibility_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_accessible_24px.svg b/src/material-widgets/icons/action/svg/production/ic_accessible_24px.svg new file mode 100644 index 0000000..7f14189 --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_accessible_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_account_balance_24px.svg b/src/material-widgets/icons/action/svg/production/ic_account_balance_24px.svg new file mode 100644 index 0000000..1faddad --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_account_balance_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_account_balance_wallet_24px.svg b/src/material-widgets/icons/action/svg/production/ic_account_balance_wallet_24px.svg new file mode 100644 index 0000000..e71a765 --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_account_balance_wallet_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_account_box_24px.svg b/src/material-widgets/icons/action/svg/production/ic_account_box_24px.svg new file mode 100644 index 0000000..d581147 --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_account_box_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_account_circle_24px.svg b/src/material-widgets/icons/action/svg/production/ic_account_circle_24px.svg new file mode 100644 index 0000000..01dc062 --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_account_circle_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_add_shopping_cart_24px.svg b/src/material-widgets/icons/action/svg/production/ic_add_shopping_cart_24px.svg new file mode 100644 index 0000000..3331ecc --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_add_shopping_cart_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_alarm_24px.svg b/src/material-widgets/icons/action/svg/production/ic_alarm_24px.svg new file mode 100644 index 0000000..edfa7a6 --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_alarm_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_alarm_add_24px.svg b/src/material-widgets/icons/action/svg/production/ic_alarm_add_24px.svg new file mode 100644 index 0000000..8bf2e6c --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_alarm_add_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_alarm_off_24px.svg b/src/material-widgets/icons/action/svg/production/ic_alarm_off_24px.svg new file mode 100644 index 0000000..58edb5d --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_alarm_off_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_alarm_on_24px.svg b/src/material-widgets/icons/action/svg/production/ic_alarm_on_24px.svg new file mode 100644 index 0000000..79de6cb --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_alarm_on_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_all_out_24px.svg b/src/material-widgets/icons/action/svg/production/ic_all_out_24px.svg new file mode 100644 index 0000000..6ad5c9c --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_all_out_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_android_24px.svg b/src/material-widgets/icons/action/svg/production/ic_android_24px.svg new file mode 100644 index 0000000..600a26a --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_android_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_announcement_24px.svg b/src/material-widgets/icons/action/svg/production/ic_announcement_24px.svg new file mode 100644 index 0000000..fd7463c --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_announcement_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_aspect_ratio_24px.svg b/src/material-widgets/icons/action/svg/production/ic_aspect_ratio_24px.svg new file mode 100644 index 0000000..d84112f --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_aspect_ratio_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_assessment_24px.svg b/src/material-widgets/icons/action/svg/production/ic_assessment_24px.svg new file mode 100644 index 0000000..cc7768b --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_assessment_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_assignment_24px.svg b/src/material-widgets/icons/action/svg/production/ic_assignment_24px.svg new file mode 100644 index 0000000..cb7fd32 --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_assignment_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_assignment_ind_24px.svg b/src/material-widgets/icons/action/svg/production/ic_assignment_ind_24px.svg new file mode 100644 index 0000000..3c0a273 --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_assignment_ind_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_assignment_late_24px.svg b/src/material-widgets/icons/action/svg/production/ic_assignment_late_24px.svg new file mode 100644 index 0000000..ad82055 --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_assignment_late_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_assignment_return_24px.svg b/src/material-widgets/icons/action/svg/production/ic_assignment_return_24px.svg new file mode 100644 index 0000000..4bfb1e5 --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_assignment_return_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_assignment_returned_24px.svg b/src/material-widgets/icons/action/svg/production/ic_assignment_returned_24px.svg new file mode 100644 index 0000000..4417ebc --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_assignment_returned_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_assignment_turned_in_24px.svg b/src/material-widgets/icons/action/svg/production/ic_assignment_turned_in_24px.svg new file mode 100644 index 0000000..841afa5 --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_assignment_turned_in_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_autorenew_24px.svg b/src/material-widgets/icons/action/svg/production/ic_autorenew_24px.svg new file mode 100644 index 0000000..a260be6 --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_autorenew_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_backup_24px.svg b/src/material-widgets/icons/action/svg/production/ic_backup_24px.svg new file mode 100644 index 0000000..69a9622 --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_backup_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_book_24px.svg b/src/material-widgets/icons/action/svg/production/ic_book_24px.svg new file mode 100644 index 0000000..f5dd104 --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_book_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_bookmark_24px.svg b/src/material-widgets/icons/action/svg/production/ic_bookmark_24px.svg new file mode 100644 index 0000000..1d507a6 --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_bookmark_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_bookmark_border_24px.svg b/src/material-widgets/icons/action/svg/production/ic_bookmark_border_24px.svg new file mode 100644 index 0000000..f178b05 --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_bookmark_border_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_bug_report_24px.svg b/src/material-widgets/icons/action/svg/production/ic_bug_report_24px.svg new file mode 100644 index 0000000..0ac92ab --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_bug_report_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_build_24px.svg b/src/material-widgets/icons/action/svg/production/ic_build_24px.svg new file mode 100755 index 0000000..447e292 --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_build_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_cached_24px.svg b/src/material-widgets/icons/action/svg/production/ic_cached_24px.svg new file mode 100644 index 0000000..9bd4422 --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_cached_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_camera_enhance_24px.svg b/src/material-widgets/icons/action/svg/production/ic_camera_enhance_24px.svg new file mode 100755 index 0000000..a2471c1 --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_camera_enhance_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_card_giftcard_24px.svg b/src/material-widgets/icons/action/svg/production/ic_card_giftcard_24px.svg new file mode 100644 index 0000000..30e51d6 --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_card_giftcard_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_card_membership_24px.svg b/src/material-widgets/icons/action/svg/production/ic_card_membership_24px.svg new file mode 100644 index 0000000..daadcd4 --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_card_membership_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_card_travel_24px.svg b/src/material-widgets/icons/action/svg/production/ic_card_travel_24px.svg new file mode 100644 index 0000000..e4149b3 --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_card_travel_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_change_history_24px.svg b/src/material-widgets/icons/action/svg/production/ic_change_history_24px.svg new file mode 100755 index 0000000..301bfa9 --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_change_history_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_check_circle_24px.svg b/src/material-widgets/icons/action/svg/production/ic_check_circle_24px.svg new file mode 100644 index 0000000..1741e30 --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_check_circle_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_chrome_reader_mode_24px.svg b/src/material-widgets/icons/action/svg/production/ic_chrome_reader_mode_24px.svg new file mode 100644 index 0000000..ba864e1 --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_chrome_reader_mode_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_class_24px.svg b/src/material-widgets/icons/action/svg/production/ic_class_24px.svg new file mode 100644 index 0000000..f5dd104 --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_class_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_code_24px.svg b/src/material-widgets/icons/action/svg/production/ic_code_24px.svg new file mode 100755 index 0000000..612ca55 --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_code_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_compare_arrows_24px.svg b/src/material-widgets/icons/action/svg/production/ic_compare_arrows_24px.svg new file mode 100644 index 0000000..21a0239 --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_compare_arrows_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_copyright_24px.svg b/src/material-widgets/icons/action/svg/production/ic_copyright_24px.svg new file mode 100644 index 0000000..33d8465 --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_copyright_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_credit_card_24px.svg b/src/material-widgets/icons/action/svg/production/ic_credit_card_24px.svg new file mode 100644 index 0000000..99afa68 --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_credit_card_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_dashboard_24px.svg b/src/material-widgets/icons/action/svg/production/ic_dashboard_24px.svg new file mode 100644 index 0000000..1682295 --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_dashboard_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_date_range_24px.svg b/src/material-widgets/icons/action/svg/production/ic_date_range_24px.svg new file mode 100644 index 0000000..6d8cee4 --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_date_range_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_delete_24px.svg b/src/material-widgets/icons/action/svg/production/ic_delete_24px.svg new file mode 100644 index 0000000..0969a4d --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_delete_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_delete_forever_24px.svg b/src/material-widgets/icons/action/svg/production/ic_delete_forever_24px.svg new file mode 100644 index 0000000..8b0bbe4 --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_delete_forever_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_description_24px.svg b/src/material-widgets/icons/action/svg/production/ic_description_24px.svg new file mode 100644 index 0000000..1585a6c --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_description_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_dns_24px.svg b/src/material-widgets/icons/action/svg/production/ic_dns_24px.svg new file mode 100644 index 0000000..4079ced --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_dns_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_done_24px.svg b/src/material-widgets/icons/action/svg/production/ic_done_24px.svg new file mode 100755 index 0000000..20a7f2d --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_done_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_done_all_24px.svg b/src/material-widgets/icons/action/svg/production/ic_done_all_24px.svg new file mode 100644 index 0000000..24e36cf --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_done_all_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_donut_large_24px.svg b/src/material-widgets/icons/action/svg/production/ic_donut_large_24px.svg new file mode 100644 index 0000000..bbc39e6 --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_donut_large_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_donut_small_24px.svg b/src/material-widgets/icons/action/svg/production/ic_donut_small_24px.svg new file mode 100644 index 0000000..36987e6 --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_donut_small_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_eject_24px.svg b/src/material-widgets/icons/action/svg/production/ic_eject_24px.svg new file mode 100644 index 0000000..a8fc5a1 --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_eject_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_euro_symbol_24px.svg b/src/material-widgets/icons/action/svg/production/ic_euro_symbol_24px.svg new file mode 100644 index 0000000..713f078 --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_euro_symbol_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_event_24px.svg b/src/material-widgets/icons/action/svg/production/ic_event_24px.svg new file mode 100644 index 0000000..1b084e8 --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_event_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_event_seat_24px.svg b/src/material-widgets/icons/action/svg/production/ic_event_seat_24px.svg new file mode 100644 index 0000000..6ec648c --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_event_seat_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_exit_to_app_24px.svg b/src/material-widgets/icons/action/svg/production/ic_exit_to_app_24px.svg new file mode 100644 index 0000000..b5763e9 --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_exit_to_app_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_explore_24px.svg b/src/material-widgets/icons/action/svg/production/ic_explore_24px.svg new file mode 100644 index 0000000..4243343 --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_explore_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_extension_24px.svg b/src/material-widgets/icons/action/svg/production/ic_extension_24px.svg new file mode 100644 index 0000000..39f275c --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_extension_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_face_24px.svg b/src/material-widgets/icons/action/svg/production/ic_face_24px.svg new file mode 100755 index 0000000..993149b --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_face_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_favorite_24px.svg b/src/material-widgets/icons/action/svg/production/ic_favorite_24px.svg new file mode 100644 index 0000000..8a7ea03 --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_favorite_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_favorite_border_24px.svg b/src/material-widgets/icons/action/svg/production/ic_favorite_border_24px.svg new file mode 100644 index 0000000..999e319 --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_favorite_border_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_feedback_24px.svg b/src/material-widgets/icons/action/svg/production/ic_feedback_24px.svg new file mode 100644 index 0000000..72b0945 --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_feedback_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_find_in_page_24px.svg b/src/material-widgets/icons/action/svg/production/ic_find_in_page_24px.svg new file mode 100644 index 0000000..eacc8e8 --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_find_in_page_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_find_replace_24px.svg b/src/material-widgets/icons/action/svg/production/ic_find_replace_24px.svg new file mode 100644 index 0000000..cede6cd --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_find_replace_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_fingerprint_24px.svg b/src/material-widgets/icons/action/svg/production/ic_fingerprint_24px.svg new file mode 100644 index 0000000..c6802fe --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_fingerprint_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_flight_land_24px.svg b/src/material-widgets/icons/action/svg/production/ic_flight_land_24px.svg new file mode 100644 index 0000000..0b6c294 --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_flight_land_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_flight_takeoff_24px.svg b/src/material-widgets/icons/action/svg/production/ic_flight_takeoff_24px.svg new file mode 100644 index 0000000..fe40880 --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_flight_takeoff_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_flip_to_back_24px.svg b/src/material-widgets/icons/action/svg/production/ic_flip_to_back_24px.svg new file mode 100644 index 0000000..7e641b6 --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_flip_to_back_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_flip_to_front_24px.svg b/src/material-widgets/icons/action/svg/production/ic_flip_to_front_24px.svg new file mode 100644 index 0000000..d2d1664 --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_flip_to_front_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_g_translate_24px.svg b/src/material-widgets/icons/action/svg/production/ic_g_translate_24px.svg new file mode 100644 index 0000000..47ade36 --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_g_translate_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_gavel_24px.svg b/src/material-widgets/icons/action/svg/production/ic_gavel_24px.svg new file mode 100644 index 0000000..2092083 --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_gavel_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_get_app_24px.svg b/src/material-widgets/icons/action/svg/production/ic_get_app_24px.svg new file mode 100644 index 0000000..ef421c3 --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_get_app_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_gif_24px.svg b/src/material-widgets/icons/action/svg/production/ic_gif_24px.svg new file mode 100644 index 0000000..d16cb7c --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_gif_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_grade_24px.svg b/src/material-widgets/icons/action/svg/production/ic_grade_24px.svg new file mode 100644 index 0000000..46d104b --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_grade_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_group_work_24px.svg b/src/material-widgets/icons/action/svg/production/ic_group_work_24px.svg new file mode 100644 index 0000000..0f3fd5a --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_group_work_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_help_24px.svg b/src/material-widgets/icons/action/svg/production/ic_help_24px.svg new file mode 100644 index 0000000..dd1cd77 --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_help_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_help_outline_24px.svg b/src/material-widgets/icons/action/svg/production/ic_help_outline_24px.svg new file mode 100644 index 0000000..3e980a4 --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_help_outline_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_highlight_off_24px.svg b/src/material-widgets/icons/action/svg/production/ic_highlight_off_24px.svg new file mode 100644 index 0000000..848183c --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_highlight_off_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_history_24px.svg b/src/material-widgets/icons/action/svg/production/ic_history_24px.svg new file mode 100644 index 0000000..c00b86b --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_history_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_home_24px.svg b/src/material-widgets/icons/action/svg/production/ic_home_24px.svg new file mode 100644 index 0000000..6bd84cf --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_home_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_hourglass_empty_24px.svg b/src/material-widgets/icons/action/svg/production/ic_hourglass_empty_24px.svg new file mode 100644 index 0000000..48298a7 --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_hourglass_empty_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_hourglass_full_24px.svg b/src/material-widgets/icons/action/svg/production/ic_hourglass_full_24px.svg new file mode 100644 index 0000000..e33ac31 --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_hourglass_full_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_http_24px.svg b/src/material-widgets/icons/action/svg/production/ic_http_24px.svg new file mode 100644 index 0000000..4a8c23a --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_http_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_https_24px.svg b/src/material-widgets/icons/action/svg/production/ic_https_24px.svg new file mode 100644 index 0000000..2154a2c --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_https_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_important_devices_24px.svg b/src/material-widgets/icons/action/svg/production/ic_important_devices_24px.svg new file mode 100644 index 0000000..9d0162b --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_important_devices_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_info_24px.svg b/src/material-widgets/icons/action/svg/production/ic_info_24px.svg new file mode 100644 index 0000000..22ef137 --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_info_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_info_outline_24px.svg b/src/material-widgets/icons/action/svg/production/ic_info_outline_24px.svg new file mode 100644 index 0000000..bb86e65 --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_info_outline_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_input_24px.svg b/src/material-widgets/icons/action/svg/production/ic_input_24px.svg new file mode 100644 index 0000000..64d1d0b --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_input_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_invert_colors_24px.svg b/src/material-widgets/icons/action/svg/production/ic_invert_colors_24px.svg new file mode 100644 index 0000000..d7165a2 --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_invert_colors_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_label_24px.svg b/src/material-widgets/icons/action/svg/production/ic_label_24px.svg new file mode 100644 index 0000000..e0f42a3 --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_label_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_label_outline_24px.svg b/src/material-widgets/icons/action/svg/production/ic_label_outline_24px.svg new file mode 100644 index 0000000..aca61dc --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_label_outline_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_language_24px.svg b/src/material-widgets/icons/action/svg/production/ic_language_24px.svg new file mode 100644 index 0000000..0349db4 --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_language_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_launch_24px.svg b/src/material-widgets/icons/action/svg/production/ic_launch_24px.svg new file mode 100644 index 0000000..40f6564 --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_launch_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_lightbulb_outline_24px.svg b/src/material-widgets/icons/action/svg/production/ic_lightbulb_outline_24px.svg new file mode 100644 index 0000000..4351f81 --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_lightbulb_outline_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_line_style_24px.svg b/src/material-widgets/icons/action/svg/production/ic_line_style_24px.svg new file mode 100644 index 0000000..7fc27b1 --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_line_style_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_line_weight_24px.svg b/src/material-widgets/icons/action/svg/production/ic_line_weight_24px.svg new file mode 100644 index 0000000..e1321a7 --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_line_weight_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_list_24px.svg b/src/material-widgets/icons/action/svg/production/ic_list_24px.svg new file mode 100644 index 0000000..f280e6a --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_list_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_lock_24px.svg b/src/material-widgets/icons/action/svg/production/ic_lock_24px.svg new file mode 100644 index 0000000..2154a2c --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_lock_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_lock_open_24px.svg b/src/material-widgets/icons/action/svg/production/ic_lock_open_24px.svg new file mode 100644 index 0000000..4481b0e --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_lock_open_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_lock_outline_24px.svg b/src/material-widgets/icons/action/svg/production/ic_lock_outline_24px.svg new file mode 100644 index 0000000..b8b5c01 --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_lock_outline_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_loyalty_24px.svg b/src/material-widgets/icons/action/svg/production/ic_loyalty_24px.svg new file mode 100644 index 0000000..c151715 --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_loyalty_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_markunread_mailbox_24px.svg b/src/material-widgets/icons/action/svg/production/ic_markunread_mailbox_24px.svg new file mode 100644 index 0000000..7237f6b --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_markunread_mailbox_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_motorcycle_24px.svg b/src/material-widgets/icons/action/svg/production/ic_motorcycle_24px.svg new file mode 100644 index 0000000..bc98009 --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_motorcycle_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_note_add_24px.svg b/src/material-widgets/icons/action/svg/production/ic_note_add_24px.svg new file mode 100644 index 0000000..36c9d08 --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_note_add_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_offline_pin_24px.svg b/src/material-widgets/icons/action/svg/production/ic_offline_pin_24px.svg new file mode 100644 index 0000000..c1abee0 --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_offline_pin_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_opacity_24px.svg b/src/material-widgets/icons/action/svg/production/ic_opacity_24px.svg new file mode 100644 index 0000000..af841ac --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_opacity_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_open_in_browser_24px.svg b/src/material-widgets/icons/action/svg/production/ic_open_in_browser_24px.svg new file mode 100644 index 0000000..39bc1c0 --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_open_in_browser_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_open_in_new_24px.svg b/src/material-widgets/icons/action/svg/production/ic_open_in_new_24px.svg new file mode 100644 index 0000000..40f6564 --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_open_in_new_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_open_with_24px.svg b/src/material-widgets/icons/action/svg/production/ic_open_with_24px.svg new file mode 100644 index 0000000..e7fc349 --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_open_with_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_pageview_24px.svg b/src/material-widgets/icons/action/svg/production/ic_pageview_24px.svg new file mode 100755 index 0000000..224cf28 --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_pageview_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_pan_tool_24px.svg b/src/material-widgets/icons/action/svg/production/ic_pan_tool_24px.svg new file mode 100644 index 0000000..a89a41c --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_pan_tool_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_payment_24px.svg b/src/material-widgets/icons/action/svg/production/ic_payment_24px.svg new file mode 100644 index 0000000..99afa68 --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_payment_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_perm_camera_mic_24px.svg b/src/material-widgets/icons/action/svg/production/ic_perm_camera_mic_24px.svg new file mode 100644 index 0000000..e5ef14b --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_perm_camera_mic_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_perm_contact_calendar_24px.svg b/src/material-widgets/icons/action/svg/production/ic_perm_contact_calendar_24px.svg new file mode 100644 index 0000000..903123a --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_perm_contact_calendar_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_perm_data_setting_24px.svg b/src/material-widgets/icons/action/svg/production/ic_perm_data_setting_24px.svg new file mode 100644 index 0000000..3720f3a --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_perm_data_setting_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_perm_device_information_24px.svg b/src/material-widgets/icons/action/svg/production/ic_perm_device_information_24px.svg new file mode 100644 index 0000000..89a3a8a --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_perm_device_information_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_perm_identity_24px.svg b/src/material-widgets/icons/action/svg/production/ic_perm_identity_24px.svg new file mode 100644 index 0000000..a1ac943 --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_perm_identity_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_perm_media_24px.svg b/src/material-widgets/icons/action/svg/production/ic_perm_media_24px.svg new file mode 100644 index 0000000..7420f7b --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_perm_media_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_perm_phone_msg_24px.svg b/src/material-widgets/icons/action/svg/production/ic_perm_phone_msg_24px.svg new file mode 100644 index 0000000..aa35fb8 --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_perm_phone_msg_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_perm_scan_wifi_24px.svg b/src/material-widgets/icons/action/svg/production/ic_perm_scan_wifi_24px.svg new file mode 100644 index 0000000..97dff31 --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_perm_scan_wifi_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_pets_24px.svg b/src/material-widgets/icons/action/svg/production/ic_pets_24px.svg new file mode 100644 index 0000000..e4d7d48 --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_pets_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_picture_in_picture_24px.svg b/src/material-widgets/icons/action/svg/production/ic_picture_in_picture_24px.svg new file mode 100644 index 0000000..b74607d --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_picture_in_picture_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_picture_in_picture_alt_24px.svg b/src/material-widgets/icons/action/svg/production/ic_picture_in_picture_alt_24px.svg new file mode 100644 index 0000000..7f7e861 --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_picture_in_picture_alt_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_play_for_work_24px.svg b/src/material-widgets/icons/action/svg/production/ic_play_for_work_24px.svg new file mode 100644 index 0000000..3568dd9 --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_play_for_work_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_polymer_24px.svg b/src/material-widgets/icons/action/svg/production/ic_polymer_24px.svg new file mode 100644 index 0000000..11dfede --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_polymer_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_power_settings_new_24px.svg b/src/material-widgets/icons/action/svg/production/ic_power_settings_new_24px.svg new file mode 100755 index 0000000..27e5293 --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_power_settings_new_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_pregnant_woman_24px.svg b/src/material-widgets/icons/action/svg/production/ic_pregnant_woman_24px.svg new file mode 100644 index 0000000..7e1be40 --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_pregnant_woman_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_print_24px.svg b/src/material-widgets/icons/action/svg/production/ic_print_24px.svg new file mode 100644 index 0000000..6128bd8 --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_print_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_query_builder_24px.svg b/src/material-widgets/icons/action/svg/production/ic_query_builder_24px.svg new file mode 100644 index 0000000..fac5f2e --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_query_builder_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_question_answer_24px.svg b/src/material-widgets/icons/action/svg/production/ic_question_answer_24px.svg new file mode 100644 index 0000000..8c958d9 --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_question_answer_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_receipt_24px.svg b/src/material-widgets/icons/action/svg/production/ic_receipt_24px.svg new file mode 100644 index 0000000..1357bbd --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_receipt_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_record_voice_over_24px.svg b/src/material-widgets/icons/action/svg/production/ic_record_voice_over_24px.svg new file mode 100644 index 0000000..2ce9798 --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_record_voice_over_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_redeem_24px.svg b/src/material-widgets/icons/action/svg/production/ic_redeem_24px.svg new file mode 100644 index 0000000..30e51d6 --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_redeem_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_remove_shopping_cart_24px.svg b/src/material-widgets/icons/action/svg/production/ic_remove_shopping_cart_24px.svg new file mode 100644 index 0000000..85566b8 --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_remove_shopping_cart_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_reorder_24px.svg b/src/material-widgets/icons/action/svg/production/ic_reorder_24px.svg new file mode 100644 index 0000000..7f277b8 --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_reorder_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_report_problem_24px.svg b/src/material-widgets/icons/action/svg/production/ic_report_problem_24px.svg new file mode 100644 index 0000000..dfcf997 --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_report_problem_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_restore_24px.svg b/src/material-widgets/icons/action/svg/production/ic_restore_24px.svg new file mode 100644 index 0000000..c00b86b --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_restore_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_restore_page_24px.svg b/src/material-widgets/icons/action/svg/production/ic_restore_page_24px.svg new file mode 100644 index 0000000..8ceee58 --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_restore_page_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_room_24px.svg b/src/material-widgets/icons/action/svg/production/ic_room_24px.svg new file mode 100644 index 0000000..490afe9 --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_room_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_rounded_corner_24px.svg b/src/material-widgets/icons/action/svg/production/ic_rounded_corner_24px.svg new file mode 100644 index 0000000..8dc2bf4 --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_rounded_corner_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_rowing_24px.svg b/src/material-widgets/icons/action/svg/production/ic_rowing_24px.svg new file mode 100644 index 0000000..5c9f926 --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_rowing_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_schedule_24px.svg b/src/material-widgets/icons/action/svg/production/ic_schedule_24px.svg new file mode 100644 index 0000000..fac5f2e --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_schedule_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_search_24px.svg b/src/material-widgets/icons/action/svg/production/ic_search_24px.svg new file mode 100644 index 0000000..1244005 --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_search_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_settings_24px.svg b/src/material-widgets/icons/action/svg/production/ic_settings_24px.svg new file mode 100644 index 0000000..a09d544 --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_settings_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_settings_applications_24px.svg b/src/material-widgets/icons/action/svg/production/ic_settings_applications_24px.svg new file mode 100644 index 0000000..38d4313 --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_settings_applications_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_settings_backup_restore_24px.svg b/src/material-widgets/icons/action/svg/production/ic_settings_backup_restore_24px.svg new file mode 100644 index 0000000..c5bb02b --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_settings_backup_restore_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_settings_bluetooth_24px.svg b/src/material-widgets/icons/action/svg/production/ic_settings_bluetooth_24px.svg new file mode 100644 index 0000000..e4b2766 --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_settings_bluetooth_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_settings_brightness_24px.svg b/src/material-widgets/icons/action/svg/production/ic_settings_brightness_24px.svg new file mode 100644 index 0000000..d372055 --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_settings_brightness_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_settings_cell_24px.svg b/src/material-widgets/icons/action/svg/production/ic_settings_cell_24px.svg new file mode 100644 index 0000000..3f833df --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_settings_cell_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_settings_ethernet_24px.svg b/src/material-widgets/icons/action/svg/production/ic_settings_ethernet_24px.svg new file mode 100644 index 0000000..8f9c077 --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_settings_ethernet_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_settings_input_antenna_24px.svg b/src/material-widgets/icons/action/svg/production/ic_settings_input_antenna_24px.svg new file mode 100644 index 0000000..12500f6 --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_settings_input_antenna_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_settings_input_component_24px.svg b/src/material-widgets/icons/action/svg/production/ic_settings_input_component_24px.svg new file mode 100644 index 0000000..df14aab --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_settings_input_component_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_settings_input_composite_24px.svg b/src/material-widgets/icons/action/svg/production/ic_settings_input_composite_24px.svg new file mode 100644 index 0000000..df14aab --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_settings_input_composite_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_settings_input_hdmi_24px.svg b/src/material-widgets/icons/action/svg/production/ic_settings_input_hdmi_24px.svg new file mode 100644 index 0000000..38b19d2 --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_settings_input_hdmi_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_settings_input_svideo_24px.svg b/src/material-widgets/icons/action/svg/production/ic_settings_input_svideo_24px.svg new file mode 100644 index 0000000..94d1cc3 --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_settings_input_svideo_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_settings_overscan_24px.svg b/src/material-widgets/icons/action/svg/production/ic_settings_overscan_24px.svg new file mode 100644 index 0000000..6befe39 --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_settings_overscan_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_settings_phone_24px.svg b/src/material-widgets/icons/action/svg/production/ic_settings_phone_24px.svg new file mode 100644 index 0000000..dd68714 --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_settings_phone_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_settings_power_24px.svg b/src/material-widgets/icons/action/svg/production/ic_settings_power_24px.svg new file mode 100644 index 0000000..e27fec1 --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_settings_power_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_settings_remote_24px.svg b/src/material-widgets/icons/action/svg/production/ic_settings_remote_24px.svg new file mode 100644 index 0000000..37fd295 --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_settings_remote_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_settings_voice_24px.svg b/src/material-widgets/icons/action/svg/production/ic_settings_voice_24px.svg new file mode 100644 index 0000000..c55b677 --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_settings_voice_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_shop_24px.svg b/src/material-widgets/icons/action/svg/production/ic_shop_24px.svg new file mode 100644 index 0000000..0b4e499 --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_shop_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_shop_two_24px.svg b/src/material-widgets/icons/action/svg/production/ic_shop_two_24px.svg new file mode 100644 index 0000000..534daf6 --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_shop_two_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_shopping_basket_24px.svg b/src/material-widgets/icons/action/svg/production/ic_shopping_basket_24px.svg new file mode 100644 index 0000000..3706021 --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_shopping_basket_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_shopping_cart_24px.svg b/src/material-widgets/icons/action/svg/production/ic_shopping_cart_24px.svg new file mode 100644 index 0000000..ee758e6 --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_shopping_cart_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_speaker_notes_24px.svg b/src/material-widgets/icons/action/svg/production/ic_speaker_notes_24px.svg new file mode 100644 index 0000000..d21630c --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_speaker_notes_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_speaker_notes_off_24px.svg b/src/material-widgets/icons/action/svg/production/ic_speaker_notes_off_24px.svg new file mode 100644 index 0000000..185872f --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_speaker_notes_off_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_spellcheck_24px.svg b/src/material-widgets/icons/action/svg/production/ic_spellcheck_24px.svg new file mode 100644 index 0000000..3c1dd06 --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_spellcheck_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_stars_24px.svg b/src/material-widgets/icons/action/svg/production/ic_stars_24px.svg new file mode 100644 index 0000000..ff48df4 --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_stars_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_store_24px.svg b/src/material-widgets/icons/action/svg/production/ic_store_24px.svg new file mode 100644 index 0000000..2b06cc5 --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_store_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_subject_24px.svg b/src/material-widgets/icons/action/svg/production/ic_subject_24px.svg new file mode 100644 index 0000000..3772a0b --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_subject_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_supervisor_account_24px.svg b/src/material-widgets/icons/action/svg/production/ic_supervisor_account_24px.svg new file mode 100644 index 0000000..004b4af --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_supervisor_account_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_swap_horiz_24px.svg b/src/material-widgets/icons/action/svg/production/ic_swap_horiz_24px.svg new file mode 100644 index 0000000..86e9cad --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_swap_horiz_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_swap_vert_24px.svg b/src/material-widgets/icons/action/svg/production/ic_swap_vert_24px.svg new file mode 100644 index 0000000..bcdee8d --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_swap_vert_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_swap_vertical_circle_24px.svg b/src/material-widgets/icons/action/svg/production/ic_swap_vertical_circle_24px.svg new file mode 100644 index 0000000..40e62a2 --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_swap_vertical_circle_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_system_update_alt_24px.svg b/src/material-widgets/icons/action/svg/production/ic_system_update_alt_24px.svg new file mode 100644 index 0000000..4f3e4a2 --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_system_update_alt_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_tab_24px.svg b/src/material-widgets/icons/action/svg/production/ic_tab_24px.svg new file mode 100644 index 0000000..f7e96a8 --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_tab_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_tab_unselected_24px.svg b/src/material-widgets/icons/action/svg/production/ic_tab_unselected_24px.svg new file mode 100644 index 0000000..f5d8a3d --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_tab_unselected_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_theaters_24px.svg b/src/material-widgets/icons/action/svg/production/ic_theaters_24px.svg new file mode 100644 index 0000000..74652a6 --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_theaters_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_thumb_down_24px.svg b/src/material-widgets/icons/action/svg/production/ic_thumb_down_24px.svg new file mode 100644 index 0000000..a27f6dc --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_thumb_down_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_thumb_up_24px.svg b/src/material-widgets/icons/action/svg/production/ic_thumb_up_24px.svg new file mode 100644 index 0000000..f64ad7b --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_thumb_up_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_thumbs_up_down_24px.svg b/src/material-widgets/icons/action/svg/production/ic_thumbs_up_down_24px.svg new file mode 100644 index 0000000..39e9a0e --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_thumbs_up_down_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_timeline_24px.svg b/src/material-widgets/icons/action/svg/production/ic_timeline_24px.svg new file mode 100644 index 0000000..9dc0ca3 --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_timeline_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_toc_24px.svg b/src/material-widgets/icons/action/svg/production/ic_toc_24px.svg new file mode 100644 index 0000000..238110f --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_toc_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_today_24px.svg b/src/material-widgets/icons/action/svg/production/ic_today_24px.svg new file mode 100644 index 0000000..f99cddc --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_today_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_toll_24px.svg b/src/material-widgets/icons/action/svg/production/ic_toll_24px.svg new file mode 100755 index 0000000..a1b0cf1 --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_toll_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_touch_app_24px.svg b/src/material-widgets/icons/action/svg/production/ic_touch_app_24px.svg new file mode 100644 index 0000000..18b65e1 --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_touch_app_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_track_changes_24px.svg b/src/material-widgets/icons/action/svg/production/ic_track_changes_24px.svg new file mode 100644 index 0000000..ed9f2aa --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_track_changes_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_translate_24px.svg b/src/material-widgets/icons/action/svg/production/ic_translate_24px.svg new file mode 100644 index 0000000..0821ae1 --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_translate_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_trending_down_24px.svg b/src/material-widgets/icons/action/svg/production/ic_trending_down_24px.svg new file mode 100644 index 0000000..7a49746 --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_trending_down_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_trending_flat_24px.svg b/src/material-widgets/icons/action/svg/production/ic_trending_flat_24px.svg new file mode 100644 index 0000000..bc56f81 --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_trending_flat_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_trending_up_24px.svg b/src/material-widgets/icons/action/svg/production/ic_trending_up_24px.svg new file mode 100644 index 0000000..4728d22 --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_trending_up_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_turned_in_24px.svg b/src/material-widgets/icons/action/svg/production/ic_turned_in_24px.svg new file mode 100644 index 0000000..1d507a6 --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_turned_in_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_turned_in_not_24px.svg b/src/material-widgets/icons/action/svg/production/ic_turned_in_not_24px.svg new file mode 100644 index 0000000..f178b05 --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_turned_in_not_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_update_24px.svg b/src/material-widgets/icons/action/svg/production/ic_update_24px.svg new file mode 100644 index 0000000..d9576fd --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_update_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_verified_user_24px.svg b/src/material-widgets/icons/action/svg/production/ic_verified_user_24px.svg new file mode 100644 index 0000000..56460ee --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_verified_user_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_view_agenda_24px.svg b/src/material-widgets/icons/action/svg/production/ic_view_agenda_24px.svg new file mode 100644 index 0000000..b5258fe --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_view_agenda_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_view_array_24px.svg b/src/material-widgets/icons/action/svg/production/ic_view_array_24px.svg new file mode 100644 index 0000000..b969592 --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_view_array_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_view_carousel_24px.svg b/src/material-widgets/icons/action/svg/production/ic_view_carousel_24px.svg new file mode 100644 index 0000000..27483c8 --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_view_carousel_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_view_column_24px.svg b/src/material-widgets/icons/action/svg/production/ic_view_column_24px.svg new file mode 100644 index 0000000..3ef9eab --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_view_column_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_view_day_24px.svg b/src/material-widgets/icons/action/svg/production/ic_view_day_24px.svg new file mode 100644 index 0000000..34972e0 --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_view_day_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_view_headline_24px.svg b/src/material-widgets/icons/action/svg/production/ic_view_headline_24px.svg new file mode 100755 index 0000000..1ee5f9a --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_view_headline_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_view_list_24px.svg b/src/material-widgets/icons/action/svg/production/ic_view_list_24px.svg new file mode 100644 index 0000000..3e82bad --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_view_list_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_view_module_24px.svg b/src/material-widgets/icons/action/svg/production/ic_view_module_24px.svg new file mode 100644 index 0000000..c5383b1 --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_view_module_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_view_quilt_24px.svg b/src/material-widgets/icons/action/svg/production/ic_view_quilt_24px.svg new file mode 100644 index 0000000..545037a --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_view_quilt_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_view_stream_24px.svg b/src/material-widgets/icons/action/svg/production/ic_view_stream_24px.svg new file mode 100644 index 0000000..6c81f14 --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_view_stream_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_view_week_24px.svg b/src/material-widgets/icons/action/svg/production/ic_view_week_24px.svg new file mode 100644 index 0000000..cc535ed --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_view_week_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_visibility_24px.svg b/src/material-widgets/icons/action/svg/production/ic_visibility_24px.svg new file mode 100644 index 0000000..5c700e3 --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_visibility_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_visibility_off_24px.svg b/src/material-widgets/icons/action/svg/production/ic_visibility_off_24px.svg new file mode 100644 index 0000000..a09d176 --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_visibility_off_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_watch_later_24px.svg b/src/material-widgets/icons/action/svg/production/ic_watch_later_24px.svg new file mode 100644 index 0000000..aad70b2 --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_watch_later_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_work_24px.svg b/src/material-widgets/icons/action/svg/production/ic_work_24px.svg new file mode 100644 index 0000000..ac4f81c --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_work_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_youtube_searched_for_24px.svg b/src/material-widgets/icons/action/svg/production/ic_youtube_searched_for_24px.svg new file mode 100644 index 0000000..36e47e6 --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_youtube_searched_for_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_zoom_in_24px.svg b/src/material-widgets/icons/action/svg/production/ic_zoom_in_24px.svg new file mode 100644 index 0000000..fd48a80 --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_zoom_in_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/action/svg/production/ic_zoom_out_24px.svg b/src/material-widgets/icons/action/svg/production/ic_zoom_out_24px.svg new file mode 100644 index 0000000..e70df37 --- /dev/null +++ b/src/material-widgets/icons/action/svg/production/ic_zoom_out_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/alert/svg/production/ic_add_alert_24px.svg b/src/material-widgets/icons/alert/svg/production/ic_add_alert_24px.svg new file mode 100644 index 0000000..53ee4ab --- /dev/null +++ b/src/material-widgets/icons/alert/svg/production/ic_add_alert_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/alert/svg/production/ic_error_24px.svg b/src/material-widgets/icons/alert/svg/production/ic_error_24px.svg new file mode 100644 index 0000000..d30cc3a --- /dev/null +++ b/src/material-widgets/icons/alert/svg/production/ic_error_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/alert/svg/production/ic_error_outline_24px.svg b/src/material-widgets/icons/alert/svg/production/ic_error_outline_24px.svg new file mode 100755 index 0000000..ad877f3 --- /dev/null +++ b/src/material-widgets/icons/alert/svg/production/ic_error_outline_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/alert/svg/production/ic_warning_24px.svg b/src/material-widgets/icons/alert/svg/production/ic_warning_24px.svg new file mode 100644 index 0000000..dfcf997 --- /dev/null +++ b/src/material-widgets/icons/alert/svg/production/ic_warning_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/av/svg/production/ic_add_to_queue_24px.svg b/src/material-widgets/icons/av/svg/production/ic_add_to_queue_24px.svg new file mode 100644 index 0000000..1970312 --- /dev/null +++ b/src/material-widgets/icons/av/svg/production/ic_add_to_queue_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/av/svg/production/ic_airplay_24px.svg b/src/material-widgets/icons/av/svg/production/ic_airplay_24px.svg new file mode 100644 index 0000000..15939cb --- /dev/null +++ b/src/material-widgets/icons/av/svg/production/ic_airplay_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/av/svg/production/ic_album_24px.svg b/src/material-widgets/icons/av/svg/production/ic_album_24px.svg new file mode 100644 index 0000000..e153be6 --- /dev/null +++ b/src/material-widgets/icons/av/svg/production/ic_album_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/av/svg/production/ic_art_track_24px.svg b/src/material-widgets/icons/av/svg/production/ic_art_track_24px.svg new file mode 100644 index 0000000..88a17a6 --- /dev/null +++ b/src/material-widgets/icons/av/svg/production/ic_art_track_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/av/svg/production/ic_av_timer_24px.svg b/src/material-widgets/icons/av/svg/production/ic_av_timer_24px.svg new file mode 100644 index 0000000..cc59272 --- /dev/null +++ b/src/material-widgets/icons/av/svg/production/ic_av_timer_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/av/svg/production/ic_branding_watermark_24px.svg b/src/material-widgets/icons/av/svg/production/ic_branding_watermark_24px.svg new file mode 100644 index 0000000..1ea828b --- /dev/null +++ b/src/material-widgets/icons/av/svg/production/ic_branding_watermark_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/av/svg/production/ic_call_to_action_24px.svg b/src/material-widgets/icons/av/svg/production/ic_call_to_action_24px.svg new file mode 100644 index 0000000..dcf91db --- /dev/null +++ b/src/material-widgets/icons/av/svg/production/ic_call_to_action_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/av/svg/production/ic_closed_caption_24px.svg b/src/material-widgets/icons/av/svg/production/ic_closed_caption_24px.svg new file mode 100644 index 0000000..4df1e8f --- /dev/null +++ b/src/material-widgets/icons/av/svg/production/ic_closed_caption_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/av/svg/production/ic_equalizer_24px.svg b/src/material-widgets/icons/av/svg/production/ic_equalizer_24px.svg new file mode 100644 index 0000000..d6031c3 --- /dev/null +++ b/src/material-widgets/icons/av/svg/production/ic_equalizer_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/av/svg/production/ic_explicit_24px.svg b/src/material-widgets/icons/av/svg/production/ic_explicit_24px.svg new file mode 100644 index 0000000..0eb1bb1 --- /dev/null +++ b/src/material-widgets/icons/av/svg/production/ic_explicit_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/av/svg/production/ic_fast_forward_24px.svg b/src/material-widgets/icons/av/svg/production/ic_fast_forward_24px.svg new file mode 100644 index 0000000..e81f756 --- /dev/null +++ b/src/material-widgets/icons/av/svg/production/ic_fast_forward_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/av/svg/production/ic_fast_rewind_24px.svg b/src/material-widgets/icons/av/svg/production/ic_fast_rewind_24px.svg new file mode 100644 index 0000000..cb82d8a --- /dev/null +++ b/src/material-widgets/icons/av/svg/production/ic_fast_rewind_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/av/svg/production/ic_featured_play_list_24px.svg b/src/material-widgets/icons/av/svg/production/ic_featured_play_list_24px.svg new file mode 100644 index 0000000..1aa2c53 --- /dev/null +++ b/src/material-widgets/icons/av/svg/production/ic_featured_play_list_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/av/svg/production/ic_featured_video_24px.svg b/src/material-widgets/icons/av/svg/production/ic_featured_video_24px.svg new file mode 100644 index 0000000..b118b55 --- /dev/null +++ b/src/material-widgets/icons/av/svg/production/ic_featured_video_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/av/svg/production/ic_fiber_dvr_24px.svg b/src/material-widgets/icons/av/svg/production/ic_fiber_dvr_24px.svg new file mode 100644 index 0000000..26b046f --- /dev/null +++ b/src/material-widgets/icons/av/svg/production/ic_fiber_dvr_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/av/svg/production/ic_fiber_manual_record_24px.svg b/src/material-widgets/icons/av/svg/production/ic_fiber_manual_record_24px.svg new file mode 100644 index 0000000..54da42f --- /dev/null +++ b/src/material-widgets/icons/av/svg/production/ic_fiber_manual_record_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/av/svg/production/ic_fiber_new_24px.svg b/src/material-widgets/icons/av/svg/production/ic_fiber_new_24px.svg new file mode 100644 index 0000000..943be16 --- /dev/null +++ b/src/material-widgets/icons/av/svg/production/ic_fiber_new_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/av/svg/production/ic_fiber_pin_24px.svg b/src/material-widgets/icons/av/svg/production/ic_fiber_pin_24px.svg new file mode 100644 index 0000000..e4a5e0c --- /dev/null +++ b/src/material-widgets/icons/av/svg/production/ic_fiber_pin_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/av/svg/production/ic_fiber_smart_record_24px.svg b/src/material-widgets/icons/av/svg/production/ic_fiber_smart_record_24px.svg new file mode 100644 index 0000000..02602c4 --- /dev/null +++ b/src/material-widgets/icons/av/svg/production/ic_fiber_smart_record_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/av/svg/production/ic_forward_10_24px.svg b/src/material-widgets/icons/av/svg/production/ic_forward_10_24px.svg new file mode 100644 index 0000000..9907f51 --- /dev/null +++ b/src/material-widgets/icons/av/svg/production/ic_forward_10_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/av/svg/production/ic_forward_30_24px.svg b/src/material-widgets/icons/av/svg/production/ic_forward_30_24px.svg new file mode 100644 index 0000000..1903072 --- /dev/null +++ b/src/material-widgets/icons/av/svg/production/ic_forward_30_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/av/svg/production/ic_forward_5_24px.svg b/src/material-widgets/icons/av/svg/production/ic_forward_5_24px.svg new file mode 100644 index 0000000..c604ca3 --- /dev/null +++ b/src/material-widgets/icons/av/svg/production/ic_forward_5_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/av/svg/production/ic_games_24px.svg b/src/material-widgets/icons/av/svg/production/ic_games_24px.svg new file mode 100644 index 0000000..62a4c9b --- /dev/null +++ b/src/material-widgets/icons/av/svg/production/ic_games_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/av/svg/production/ic_hd_24px.svg b/src/material-widgets/icons/av/svg/production/ic_hd_24px.svg new file mode 100644 index 0000000..1fd7a76 --- /dev/null +++ b/src/material-widgets/icons/av/svg/production/ic_hd_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/av/svg/production/ic_hearing_24px.svg b/src/material-widgets/icons/av/svg/production/ic_hearing_24px.svg new file mode 100644 index 0000000..1efd85f --- /dev/null +++ b/src/material-widgets/icons/av/svg/production/ic_hearing_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/av/svg/production/ic_high_quality_24px.svg b/src/material-widgets/icons/av/svg/production/ic_high_quality_24px.svg new file mode 100644 index 0000000..8d8a29d --- /dev/null +++ b/src/material-widgets/icons/av/svg/production/ic_high_quality_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/av/svg/production/ic_library_add_24px.svg b/src/material-widgets/icons/av/svg/production/ic_library_add_24px.svg new file mode 100644 index 0000000..baea3e9 --- /dev/null +++ b/src/material-widgets/icons/av/svg/production/ic_library_add_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/av/svg/production/ic_library_books_24px.svg b/src/material-widgets/icons/av/svg/production/ic_library_books_24px.svg new file mode 100644 index 0000000..614c7bf --- /dev/null +++ b/src/material-widgets/icons/av/svg/production/ic_library_books_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/av/svg/production/ic_library_music_24px.svg b/src/material-widgets/icons/av/svg/production/ic_library_music_24px.svg new file mode 100644 index 0000000..357e6d4 --- /dev/null +++ b/src/material-widgets/icons/av/svg/production/ic_library_music_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/av/svg/production/ic_loop_24px.svg b/src/material-widgets/icons/av/svg/production/ic_loop_24px.svg new file mode 100644 index 0000000..327ff63 --- /dev/null +++ b/src/material-widgets/icons/av/svg/production/ic_loop_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/av/svg/production/ic_mic_24px.svg b/src/material-widgets/icons/av/svg/production/ic_mic_24px.svg new file mode 100644 index 0000000..e5691ca --- /dev/null +++ b/src/material-widgets/icons/av/svg/production/ic_mic_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/av/svg/production/ic_mic_none_24px.svg b/src/material-widgets/icons/av/svg/production/ic_mic_none_24px.svg new file mode 100644 index 0000000..d82849a --- /dev/null +++ b/src/material-widgets/icons/av/svg/production/ic_mic_none_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/av/svg/production/ic_mic_off_24px.svg b/src/material-widgets/icons/av/svg/production/ic_mic_off_24px.svg new file mode 100644 index 0000000..4c27fb5 --- /dev/null +++ b/src/material-widgets/icons/av/svg/production/ic_mic_off_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/av/svg/production/ic_movie_24px.svg b/src/material-widgets/icons/av/svg/production/ic_movie_24px.svg new file mode 100644 index 0000000..8bbbb53 --- /dev/null +++ b/src/material-widgets/icons/av/svg/production/ic_movie_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/av/svg/production/ic_music_video_24px.svg b/src/material-widgets/icons/av/svg/production/ic_music_video_24px.svg new file mode 100644 index 0000000..2fe246c --- /dev/null +++ b/src/material-widgets/icons/av/svg/production/ic_music_video_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/av/svg/production/ic_new_releases_24px.svg b/src/material-widgets/icons/av/svg/production/ic_new_releases_24px.svg new file mode 100644 index 0000000..37ed86f --- /dev/null +++ b/src/material-widgets/icons/av/svg/production/ic_new_releases_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/av/svg/production/ic_not_interested_24px.svg b/src/material-widgets/icons/av/svg/production/ic_not_interested_24px.svg new file mode 100644 index 0000000..065210c --- /dev/null +++ b/src/material-widgets/icons/av/svg/production/ic_not_interested_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/av/svg/production/ic_note_24px.svg b/src/material-widgets/icons/av/svg/production/ic_note_24px.svg new file mode 100644 index 0000000..76919c2 --- /dev/null +++ b/src/material-widgets/icons/av/svg/production/ic_note_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/av/svg/production/ic_pause_24px.svg b/src/material-widgets/icons/av/svg/production/ic_pause_24px.svg new file mode 100644 index 0000000..c20e156 --- /dev/null +++ b/src/material-widgets/icons/av/svg/production/ic_pause_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/av/svg/production/ic_pause_circle_filled_24px.svg b/src/material-widgets/icons/av/svg/production/ic_pause_circle_filled_24px.svg new file mode 100644 index 0000000..e4763b2 --- /dev/null +++ b/src/material-widgets/icons/av/svg/production/ic_pause_circle_filled_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/av/svg/production/ic_pause_circle_outline_24px.svg b/src/material-widgets/icons/av/svg/production/ic_pause_circle_outline_24px.svg new file mode 100644 index 0000000..b1ea4fe --- /dev/null +++ b/src/material-widgets/icons/av/svg/production/ic_pause_circle_outline_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/av/svg/production/ic_play_arrow_24px.svg b/src/material-widgets/icons/av/svg/production/ic_play_arrow_24px.svg new file mode 100644 index 0000000..c5e1a4c --- /dev/null +++ b/src/material-widgets/icons/av/svg/production/ic_play_arrow_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/av/svg/production/ic_play_circle_filled_24px.svg b/src/material-widgets/icons/av/svg/production/ic_play_circle_filled_24px.svg new file mode 100644 index 0000000..dd022c5 --- /dev/null +++ b/src/material-widgets/icons/av/svg/production/ic_play_circle_filled_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/av/svg/production/ic_play_circle_outline_24px.svg b/src/material-widgets/icons/av/svg/production/ic_play_circle_outline_24px.svg new file mode 100644 index 0000000..90b5a4e --- /dev/null +++ b/src/material-widgets/icons/av/svg/production/ic_play_circle_outline_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/av/svg/production/ic_playlist_add_24px.svg b/src/material-widgets/icons/av/svg/production/ic_playlist_add_24px.svg new file mode 100644 index 0000000..a0ee454 --- /dev/null +++ b/src/material-widgets/icons/av/svg/production/ic_playlist_add_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/av/svg/production/ic_playlist_add_check_24px.svg b/src/material-widgets/icons/av/svg/production/ic_playlist_add_check_24px.svg new file mode 100644 index 0000000..c455dab --- /dev/null +++ b/src/material-widgets/icons/av/svg/production/ic_playlist_add_check_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/av/svg/production/ic_playlist_play_24px.svg b/src/material-widgets/icons/av/svg/production/ic_playlist_play_24px.svg new file mode 100644 index 0000000..4b049f7 --- /dev/null +++ b/src/material-widgets/icons/av/svg/production/ic_playlist_play_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/av/svg/production/ic_queue_24px.svg b/src/material-widgets/icons/av/svg/production/ic_queue_24px.svg new file mode 100644 index 0000000..baea3e9 --- /dev/null +++ b/src/material-widgets/icons/av/svg/production/ic_queue_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/av/svg/production/ic_queue_music_24px.svg b/src/material-widgets/icons/av/svg/production/ic_queue_music_24px.svg new file mode 100644 index 0000000..5fed92b --- /dev/null +++ b/src/material-widgets/icons/av/svg/production/ic_queue_music_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/av/svg/production/ic_queue_play_next_24px.svg b/src/material-widgets/icons/av/svg/production/ic_queue_play_next_24px.svg new file mode 100644 index 0000000..db90329 --- /dev/null +++ b/src/material-widgets/icons/av/svg/production/ic_queue_play_next_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/av/svg/production/ic_radio_24px.svg b/src/material-widgets/icons/av/svg/production/ic_radio_24px.svg new file mode 100644 index 0000000..6729cf5 --- /dev/null +++ b/src/material-widgets/icons/av/svg/production/ic_radio_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/av/svg/production/ic_recent_actors_24px.svg b/src/material-widgets/icons/av/svg/production/ic_recent_actors_24px.svg new file mode 100644 index 0000000..f1d8deb --- /dev/null +++ b/src/material-widgets/icons/av/svg/production/ic_recent_actors_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/av/svg/production/ic_remove_from_queue_24px.svg b/src/material-widgets/icons/av/svg/production/ic_remove_from_queue_24px.svg new file mode 100644 index 0000000..bbd2791 --- /dev/null +++ b/src/material-widgets/icons/av/svg/production/ic_remove_from_queue_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/av/svg/production/ic_repeat_24px.svg b/src/material-widgets/icons/av/svg/production/ic_repeat_24px.svg new file mode 100644 index 0000000..6c58d4e --- /dev/null +++ b/src/material-widgets/icons/av/svg/production/ic_repeat_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/av/svg/production/ic_repeat_one_24px.svg b/src/material-widgets/icons/av/svg/production/ic_repeat_one_24px.svg new file mode 100644 index 0000000..fcc3d14 --- /dev/null +++ b/src/material-widgets/icons/av/svg/production/ic_repeat_one_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/av/svg/production/ic_replay_10_24px.svg b/src/material-widgets/icons/av/svg/production/ic_replay_10_24px.svg new file mode 100644 index 0000000..6ddad5d --- /dev/null +++ b/src/material-widgets/icons/av/svg/production/ic_replay_10_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/av/svg/production/ic_replay_24px.svg b/src/material-widgets/icons/av/svg/production/ic_replay_24px.svg new file mode 100644 index 0000000..c3c75e7 --- /dev/null +++ b/src/material-widgets/icons/av/svg/production/ic_replay_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/av/svg/production/ic_replay_30_24px.svg b/src/material-widgets/icons/av/svg/production/ic_replay_30_24px.svg new file mode 100644 index 0000000..7c98374 --- /dev/null +++ b/src/material-widgets/icons/av/svg/production/ic_replay_30_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/av/svg/production/ic_replay_5_24px.svg b/src/material-widgets/icons/av/svg/production/ic_replay_5_24px.svg new file mode 100644 index 0000000..93d1b21 --- /dev/null +++ b/src/material-widgets/icons/av/svg/production/ic_replay_5_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/av/svg/production/ic_shuffle_24px.svg b/src/material-widgets/icons/av/svg/production/ic_shuffle_24px.svg new file mode 100644 index 0000000..f5bcf6f --- /dev/null +++ b/src/material-widgets/icons/av/svg/production/ic_shuffle_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/av/svg/production/ic_skip_next_24px.svg b/src/material-widgets/icons/av/svg/production/ic_skip_next_24px.svg new file mode 100644 index 0000000..178eca3 --- /dev/null +++ b/src/material-widgets/icons/av/svg/production/ic_skip_next_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/av/svg/production/ic_skip_previous_24px.svg b/src/material-widgets/icons/av/svg/production/ic_skip_previous_24px.svg new file mode 100644 index 0000000..e719ff5 --- /dev/null +++ b/src/material-widgets/icons/av/svg/production/ic_skip_previous_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/av/svg/production/ic_slow_motion_video_24px.svg b/src/material-widgets/icons/av/svg/production/ic_slow_motion_video_24px.svg new file mode 100644 index 0000000..b28f886 --- /dev/null +++ b/src/material-widgets/icons/av/svg/production/ic_slow_motion_video_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/av/svg/production/ic_snooze_24px.svg b/src/material-widgets/icons/av/svg/production/ic_snooze_24px.svg new file mode 100644 index 0000000..738bda8 --- /dev/null +++ b/src/material-widgets/icons/av/svg/production/ic_snooze_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/av/svg/production/ic_sort_by_alpha_24px.svg b/src/material-widgets/icons/av/svg/production/ic_sort_by_alpha_24px.svg new file mode 100644 index 0000000..b9975f9 --- /dev/null +++ b/src/material-widgets/icons/av/svg/production/ic_sort_by_alpha_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/av/svg/production/ic_stop_24px.svg b/src/material-widgets/icons/av/svg/production/ic_stop_24px.svg new file mode 100644 index 0000000..48d3f2d --- /dev/null +++ b/src/material-widgets/icons/av/svg/production/ic_stop_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/av/svg/production/ic_subscriptions_24px.svg b/src/material-widgets/icons/av/svg/production/ic_subscriptions_24px.svg new file mode 100644 index 0000000..b5b5250 --- /dev/null +++ b/src/material-widgets/icons/av/svg/production/ic_subscriptions_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/av/svg/production/ic_subtitles_24px.svg b/src/material-widgets/icons/av/svg/production/ic_subtitles_24px.svg new file mode 100644 index 0000000..ea10bfd --- /dev/null +++ b/src/material-widgets/icons/av/svg/production/ic_subtitles_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/av/svg/production/ic_surround_sound_24px.svg b/src/material-widgets/icons/av/svg/production/ic_surround_sound_24px.svg new file mode 100644 index 0000000..675fd39 --- /dev/null +++ b/src/material-widgets/icons/av/svg/production/ic_surround_sound_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/av/svg/production/ic_video_call_24px.svg b/src/material-widgets/icons/av/svg/production/ic_video_call_24px.svg new file mode 100644 index 0000000..e1a21e1 --- /dev/null +++ b/src/material-widgets/icons/av/svg/production/ic_video_call_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/av/svg/production/ic_video_label_24px.svg b/src/material-widgets/icons/av/svg/production/ic_video_label_24px.svg new file mode 100644 index 0000000..cb90129 --- /dev/null +++ b/src/material-widgets/icons/av/svg/production/ic_video_label_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/av/svg/production/ic_video_library_24px.svg b/src/material-widgets/icons/av/svg/production/ic_video_library_24px.svg new file mode 100644 index 0000000..f69f3cb --- /dev/null +++ b/src/material-widgets/icons/av/svg/production/ic_video_library_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/av/svg/production/ic_videocam_24px.svg b/src/material-widgets/icons/av/svg/production/ic_videocam_24px.svg new file mode 100644 index 0000000..a2606b1 --- /dev/null +++ b/src/material-widgets/icons/av/svg/production/ic_videocam_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/av/svg/production/ic_videocam_off_24px.svg b/src/material-widgets/icons/av/svg/production/ic_videocam_off_24px.svg new file mode 100644 index 0000000..134c583 --- /dev/null +++ b/src/material-widgets/icons/av/svg/production/ic_videocam_off_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/av/svg/production/ic_volume_down_24px.svg b/src/material-widgets/icons/av/svg/production/ic_volume_down_24px.svg new file mode 100644 index 0000000..b993e7c --- /dev/null +++ b/src/material-widgets/icons/av/svg/production/ic_volume_down_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/av/svg/production/ic_volume_mute_24px.svg b/src/material-widgets/icons/av/svg/production/ic_volume_mute_24px.svg new file mode 100644 index 0000000..66b7daf --- /dev/null +++ b/src/material-widgets/icons/av/svg/production/ic_volume_mute_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/av/svg/production/ic_volume_off_24px.svg b/src/material-widgets/icons/av/svg/production/ic_volume_off_24px.svg new file mode 100644 index 0000000..b10f2bf --- /dev/null +++ b/src/material-widgets/icons/av/svg/production/ic_volume_off_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/av/svg/production/ic_volume_up_24px.svg b/src/material-widgets/icons/av/svg/production/ic_volume_up_24px.svg new file mode 100644 index 0000000..fe7100e --- /dev/null +++ b/src/material-widgets/icons/av/svg/production/ic_volume_up_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/av/svg/production/ic_web_24px.svg b/src/material-widgets/icons/av/svg/production/ic_web_24px.svg new file mode 100644 index 0000000..2f2150c --- /dev/null +++ b/src/material-widgets/icons/av/svg/production/ic_web_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/av/svg/production/ic_web_asset_24px.svg b/src/material-widgets/icons/av/svg/production/ic_web_asset_24px.svg new file mode 100644 index 0000000..74e61d3 --- /dev/null +++ b/src/material-widgets/icons/av/svg/production/ic_web_asset_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/communication/svg/production/ic_business_24px.svg b/src/material-widgets/icons/communication/svg/production/ic_business_24px.svg new file mode 100644 index 0000000..bfaefa1 --- /dev/null +++ b/src/material-widgets/icons/communication/svg/production/ic_business_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/communication/svg/production/ic_call_24px.svg b/src/material-widgets/icons/communication/svg/production/ic_call_24px.svg new file mode 100644 index 0000000..5908b6a --- /dev/null +++ b/src/material-widgets/icons/communication/svg/production/ic_call_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/communication/svg/production/ic_call_end_24px.svg b/src/material-widgets/icons/communication/svg/production/ic_call_end_24px.svg new file mode 100644 index 0000000..c3fe17b --- /dev/null +++ b/src/material-widgets/icons/communication/svg/production/ic_call_end_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/communication/svg/production/ic_call_made_24px.svg b/src/material-widgets/icons/communication/svg/production/ic_call_made_24px.svg new file mode 100644 index 0000000..6a58bdf --- /dev/null +++ b/src/material-widgets/icons/communication/svg/production/ic_call_made_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/communication/svg/production/ic_call_merge_24px.svg b/src/material-widgets/icons/communication/svg/production/ic_call_merge_24px.svg new file mode 100644 index 0000000..b10772d --- /dev/null +++ b/src/material-widgets/icons/communication/svg/production/ic_call_merge_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/communication/svg/production/ic_call_missed_24px.svg b/src/material-widgets/icons/communication/svg/production/ic_call_missed_24px.svg new file mode 100644 index 0000000..db0f8cc --- /dev/null +++ b/src/material-widgets/icons/communication/svg/production/ic_call_missed_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/communication/svg/production/ic_call_missed_outgoing_24px.svg b/src/material-widgets/icons/communication/svg/production/ic_call_missed_outgoing_24px.svg new file mode 100644 index 0000000..3385d42 --- /dev/null +++ b/src/material-widgets/icons/communication/svg/production/ic_call_missed_outgoing_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/communication/svg/production/ic_call_received_24px.svg b/src/material-widgets/icons/communication/svg/production/ic_call_received_24px.svg new file mode 100644 index 0000000..0516080 --- /dev/null +++ b/src/material-widgets/icons/communication/svg/production/ic_call_received_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/communication/svg/production/ic_call_split_24px.svg b/src/material-widgets/icons/communication/svg/production/ic_call_split_24px.svg new file mode 100644 index 0000000..9dd562c --- /dev/null +++ b/src/material-widgets/icons/communication/svg/production/ic_call_split_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/communication/svg/production/ic_chat_24px.svg b/src/material-widgets/icons/communication/svg/production/ic_chat_24px.svg new file mode 100644 index 0000000..1c68f72 --- /dev/null +++ b/src/material-widgets/icons/communication/svg/production/ic_chat_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/communication/svg/production/ic_chat_bubble_24px.svg b/src/material-widgets/icons/communication/svg/production/ic_chat_bubble_24px.svg new file mode 100644 index 0000000..d447be3 --- /dev/null +++ b/src/material-widgets/icons/communication/svg/production/ic_chat_bubble_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/communication/svg/production/ic_chat_bubble_outline_24px.svg b/src/material-widgets/icons/communication/svg/production/ic_chat_bubble_outline_24px.svg new file mode 100755 index 0000000..e1a36ee --- /dev/null +++ b/src/material-widgets/icons/communication/svg/production/ic_chat_bubble_outline_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/communication/svg/production/ic_clear_all_24px.svg b/src/material-widgets/icons/communication/svg/production/ic_clear_all_24px.svg new file mode 100644 index 0000000..82a7e3c --- /dev/null +++ b/src/material-widgets/icons/communication/svg/production/ic_clear_all_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/communication/svg/production/ic_comment_24px.svg b/src/material-widgets/icons/communication/svg/production/ic_comment_24px.svg new file mode 100644 index 0000000..db645e8 --- /dev/null +++ b/src/material-widgets/icons/communication/svg/production/ic_comment_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/communication/svg/production/ic_contact_mail_24px.svg b/src/material-widgets/icons/communication/svg/production/ic_contact_mail_24px.svg new file mode 100644 index 0000000..ad23103 --- /dev/null +++ b/src/material-widgets/icons/communication/svg/production/ic_contact_mail_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/communication/svg/production/ic_contact_phone_24px.svg b/src/material-widgets/icons/communication/svg/production/ic_contact_phone_24px.svg new file mode 100644 index 0000000..6945887 --- /dev/null +++ b/src/material-widgets/icons/communication/svg/production/ic_contact_phone_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/communication/svg/production/ic_contacts_24px.svg b/src/material-widgets/icons/communication/svg/production/ic_contacts_24px.svg new file mode 100644 index 0000000..e9a0749 --- /dev/null +++ b/src/material-widgets/icons/communication/svg/production/ic_contacts_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/communication/svg/production/ic_dialer_sip_24px.svg b/src/material-widgets/icons/communication/svg/production/ic_dialer_sip_24px.svg new file mode 100644 index 0000000..247068a --- /dev/null +++ b/src/material-widgets/icons/communication/svg/production/ic_dialer_sip_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/communication/svg/production/ic_dialpad_24px.svg b/src/material-widgets/icons/communication/svg/production/ic_dialpad_24px.svg new file mode 100644 index 0000000..1d82c79 --- /dev/null +++ b/src/material-widgets/icons/communication/svg/production/ic_dialpad_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/communication/svg/production/ic_email_24px.svg b/src/material-widgets/icons/communication/svg/production/ic_email_24px.svg new file mode 100644 index 0000000..f2c5b4f --- /dev/null +++ b/src/material-widgets/icons/communication/svg/production/ic_email_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/communication/svg/production/ic_forum_24px.svg b/src/material-widgets/icons/communication/svg/production/ic_forum_24px.svg new file mode 100644 index 0000000..8c958d9 --- /dev/null +++ b/src/material-widgets/icons/communication/svg/production/ic_forum_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/communication/svg/production/ic_import_contacts_24px.svg b/src/material-widgets/icons/communication/svg/production/ic_import_contacts_24px.svg new file mode 100644 index 0000000..154d45b --- /dev/null +++ b/src/material-widgets/icons/communication/svg/production/ic_import_contacts_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/communication/svg/production/ic_import_export_24px.svg b/src/material-widgets/icons/communication/svg/production/ic_import_export_24px.svg new file mode 100644 index 0000000..1af2dbf --- /dev/null +++ b/src/material-widgets/icons/communication/svg/production/ic_import_export_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/communication/svg/production/ic_invert_colors_off_24px.svg b/src/material-widgets/icons/communication/svg/production/ic_invert_colors_off_24px.svg new file mode 100644 index 0000000..c880d9b --- /dev/null +++ b/src/material-widgets/icons/communication/svg/production/ic_invert_colors_off_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/communication/svg/production/ic_live_help_24px.svg b/src/material-widgets/icons/communication/svg/production/ic_live_help_24px.svg new file mode 100644 index 0000000..abe3129 --- /dev/null +++ b/src/material-widgets/icons/communication/svg/production/ic_live_help_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/communication/svg/production/ic_location_off_24px.svg b/src/material-widgets/icons/communication/svg/production/ic_location_off_24px.svg new file mode 100644 index 0000000..270259b --- /dev/null +++ b/src/material-widgets/icons/communication/svg/production/ic_location_off_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/communication/svg/production/ic_location_on_24px.svg b/src/material-widgets/icons/communication/svg/production/ic_location_on_24px.svg new file mode 100644 index 0000000..490afe9 --- /dev/null +++ b/src/material-widgets/icons/communication/svg/production/ic_location_on_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/communication/svg/production/ic_mail_outline_24px.svg b/src/material-widgets/icons/communication/svg/production/ic_mail_outline_24px.svg new file mode 100644 index 0000000..c8798e6 --- /dev/null +++ b/src/material-widgets/icons/communication/svg/production/ic_mail_outline_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/communication/svg/production/ic_message_24px.svg b/src/material-widgets/icons/communication/svg/production/ic_message_24px.svg new file mode 100644 index 0000000..0dfd671 --- /dev/null +++ b/src/material-widgets/icons/communication/svg/production/ic_message_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/communication/svg/production/ic_no_sim_24px.svg b/src/material-widgets/icons/communication/svg/production/ic_no_sim_24px.svg new file mode 100644 index 0000000..d6b8e22 --- /dev/null +++ b/src/material-widgets/icons/communication/svg/production/ic_no_sim_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/communication/svg/production/ic_phone_24px.svg b/src/material-widgets/icons/communication/svg/production/ic_phone_24px.svg new file mode 100644 index 0000000..5908b6a --- /dev/null +++ b/src/material-widgets/icons/communication/svg/production/ic_phone_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/communication/svg/production/ic_phonelink_erase_24px.svg b/src/material-widgets/icons/communication/svg/production/ic_phonelink_erase_24px.svg new file mode 100644 index 0000000..6d99266 --- /dev/null +++ b/src/material-widgets/icons/communication/svg/production/ic_phonelink_erase_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/communication/svg/production/ic_phonelink_lock_24px.svg b/src/material-widgets/icons/communication/svg/production/ic_phonelink_lock_24px.svg new file mode 100644 index 0000000..cbf3606 --- /dev/null +++ b/src/material-widgets/icons/communication/svg/production/ic_phonelink_lock_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/communication/svg/production/ic_phonelink_ring_24px.svg b/src/material-widgets/icons/communication/svg/production/ic_phonelink_ring_24px.svg new file mode 100644 index 0000000..34cb3a8 --- /dev/null +++ b/src/material-widgets/icons/communication/svg/production/ic_phonelink_ring_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/communication/svg/production/ic_phonelink_setup_24px.svg b/src/material-widgets/icons/communication/svg/production/ic_phonelink_setup_24px.svg new file mode 100644 index 0000000..0aef7a0 --- /dev/null +++ b/src/material-widgets/icons/communication/svg/production/ic_phonelink_setup_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/communication/svg/production/ic_portable_wifi_off_24px.svg b/src/material-widgets/icons/communication/svg/production/ic_portable_wifi_off_24px.svg new file mode 100644 index 0000000..c7fc011 --- /dev/null +++ b/src/material-widgets/icons/communication/svg/production/ic_portable_wifi_off_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/communication/svg/production/ic_present_to_all_24px.svg b/src/material-widgets/icons/communication/svg/production/ic_present_to_all_24px.svg new file mode 100644 index 0000000..d63f7b9 --- /dev/null +++ b/src/material-widgets/icons/communication/svg/production/ic_present_to_all_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/communication/svg/production/ic_ring_volume_24px.svg b/src/material-widgets/icons/communication/svg/production/ic_ring_volume_24px.svg new file mode 100644 index 0000000..25f1b5d --- /dev/null +++ b/src/material-widgets/icons/communication/svg/production/ic_ring_volume_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/communication/svg/production/ic_rss_feed_24px.svg b/src/material-widgets/icons/communication/svg/production/ic_rss_feed_24px.svg new file mode 100644 index 0000000..721872d --- /dev/null +++ b/src/material-widgets/icons/communication/svg/production/ic_rss_feed_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/communication/svg/production/ic_screen_share_24px.svg b/src/material-widgets/icons/communication/svg/production/ic_screen_share_24px.svg new file mode 100644 index 0000000..4cb0976 --- /dev/null +++ b/src/material-widgets/icons/communication/svg/production/ic_screen_share_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/communication/svg/production/ic_speaker_phone_24px.svg b/src/material-widgets/icons/communication/svg/production/ic_speaker_phone_24px.svg new file mode 100644 index 0000000..e812da7 --- /dev/null +++ b/src/material-widgets/icons/communication/svg/production/ic_speaker_phone_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/communication/svg/production/ic_stay_current_landscape_24px.svg b/src/material-widgets/icons/communication/svg/production/ic_stay_current_landscape_24px.svg new file mode 100644 index 0000000..b6c98c2 --- /dev/null +++ b/src/material-widgets/icons/communication/svg/production/ic_stay_current_landscape_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/communication/svg/production/ic_stay_current_portrait_24px.svg b/src/material-widgets/icons/communication/svg/production/ic_stay_current_portrait_24px.svg new file mode 100644 index 0000000..fed6cce --- /dev/null +++ b/src/material-widgets/icons/communication/svg/production/ic_stay_current_portrait_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/communication/svg/production/ic_stay_primary_landscape_24px.svg b/src/material-widgets/icons/communication/svg/production/ic_stay_primary_landscape_24px.svg new file mode 100644 index 0000000..b6c98c2 --- /dev/null +++ b/src/material-widgets/icons/communication/svg/production/ic_stay_primary_landscape_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/communication/svg/production/ic_stay_primary_portrait_24px.svg b/src/material-widgets/icons/communication/svg/production/ic_stay_primary_portrait_24px.svg new file mode 100644 index 0000000..fed6cce --- /dev/null +++ b/src/material-widgets/icons/communication/svg/production/ic_stay_primary_portrait_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/communication/svg/production/ic_stop_screen_share_24px.svg b/src/material-widgets/icons/communication/svg/production/ic_stop_screen_share_24px.svg new file mode 100644 index 0000000..ec70b9b --- /dev/null +++ b/src/material-widgets/icons/communication/svg/production/ic_stop_screen_share_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/communication/svg/production/ic_swap_calls_24px.svg b/src/material-widgets/icons/communication/svg/production/ic_swap_calls_24px.svg new file mode 100644 index 0000000..53ab208 --- /dev/null +++ b/src/material-widgets/icons/communication/svg/production/ic_swap_calls_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/communication/svg/production/ic_textsms_24px.svg b/src/material-widgets/icons/communication/svg/production/ic_textsms_24px.svg new file mode 100644 index 0000000..b427d45 --- /dev/null +++ b/src/material-widgets/icons/communication/svg/production/ic_textsms_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/communication/svg/production/ic_voicemail_24px.svg b/src/material-widgets/icons/communication/svg/production/ic_voicemail_24px.svg new file mode 100644 index 0000000..2b24059 --- /dev/null +++ b/src/material-widgets/icons/communication/svg/production/ic_voicemail_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/communication/svg/production/ic_vpn_key_24px.svg b/src/material-widgets/icons/communication/svg/production/ic_vpn_key_24px.svg new file mode 100644 index 0000000..555d034 --- /dev/null +++ b/src/material-widgets/icons/communication/svg/production/ic_vpn_key_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/content/svg/production/ic_add_24px.svg b/src/material-widgets/icons/content/svg/production/ic_add_24px.svg new file mode 100644 index 0000000..58f73e9 --- /dev/null +++ b/src/material-widgets/icons/content/svg/production/ic_add_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/content/svg/production/ic_add_box_24px.svg b/src/material-widgets/icons/content/svg/production/ic_add_box_24px.svg new file mode 100644 index 0000000..c091cfc --- /dev/null +++ b/src/material-widgets/icons/content/svg/production/ic_add_box_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/content/svg/production/ic_add_circle_24px.svg b/src/material-widgets/icons/content/svg/production/ic_add_circle_24px.svg new file mode 100644 index 0000000..60aaa95 --- /dev/null +++ b/src/material-widgets/icons/content/svg/production/ic_add_circle_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/content/svg/production/ic_add_circle_outline_24px.svg b/src/material-widgets/icons/content/svg/production/ic_add_circle_outline_24px.svg new file mode 100644 index 0000000..55c6b1b --- /dev/null +++ b/src/material-widgets/icons/content/svg/production/ic_add_circle_outline_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/content/svg/production/ic_archive_24px.svg b/src/material-widgets/icons/content/svg/production/ic_archive_24px.svg new file mode 100644 index 0000000..bab7497 --- /dev/null +++ b/src/material-widgets/icons/content/svg/production/ic_archive_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/content/svg/production/ic_backspace_24px.svg b/src/material-widgets/icons/content/svg/production/ic_backspace_24px.svg new file mode 100644 index 0000000..6ebbe51 --- /dev/null +++ b/src/material-widgets/icons/content/svg/production/ic_backspace_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/content/svg/production/ic_block_24px.svg b/src/material-widgets/icons/content/svg/production/ic_block_24px.svg new file mode 100644 index 0000000..661cdf1 --- /dev/null +++ b/src/material-widgets/icons/content/svg/production/ic_block_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/content/svg/production/ic_clear_24px.svg b/src/material-widgets/icons/content/svg/production/ic_clear_24px.svg new file mode 100644 index 0000000..865788b --- /dev/null +++ b/src/material-widgets/icons/content/svg/production/ic_clear_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/content/svg/production/ic_content_copy_24px.svg b/src/material-widgets/icons/content/svg/production/ic_content_copy_24px.svg new file mode 100644 index 0000000..7c6b60a --- /dev/null +++ b/src/material-widgets/icons/content/svg/production/ic_content_copy_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/content/svg/production/ic_content_cut_24px.svg b/src/material-widgets/icons/content/svg/production/ic_content_cut_24px.svg new file mode 100644 index 0000000..b89a0d0 --- /dev/null +++ b/src/material-widgets/icons/content/svg/production/ic_content_cut_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/content/svg/production/ic_content_paste_24px.svg b/src/material-widgets/icons/content/svg/production/ic_content_paste_24px.svg new file mode 100644 index 0000000..af63a64 --- /dev/null +++ b/src/material-widgets/icons/content/svg/production/ic_content_paste_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/content/svg/production/ic_create_24px.svg b/src/material-widgets/icons/content/svg/production/ic_create_24px.svg new file mode 100644 index 0000000..f5ddfe1 --- /dev/null +++ b/src/material-widgets/icons/content/svg/production/ic_create_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/content/svg/production/ic_delete_sweep_24px.svg b/src/material-widgets/icons/content/svg/production/ic_delete_sweep_24px.svg new file mode 100644 index 0000000..8aab88a --- /dev/null +++ b/src/material-widgets/icons/content/svg/production/ic_delete_sweep_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/content/svg/production/ic_drafts_24px.svg b/src/material-widgets/icons/content/svg/production/ic_drafts_24px.svg new file mode 100644 index 0000000..2d5456b --- /dev/null +++ b/src/material-widgets/icons/content/svg/production/ic_drafts_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/content/svg/production/ic_filter_list_24px.svg b/src/material-widgets/icons/content/svg/production/ic_filter_list_24px.svg new file mode 100644 index 0000000..972d401 --- /dev/null +++ b/src/material-widgets/icons/content/svg/production/ic_filter_list_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/content/svg/production/ic_flag_24px.svg b/src/material-widgets/icons/content/svg/production/ic_flag_24px.svg new file mode 100644 index 0000000..eaf3ff4 --- /dev/null +++ b/src/material-widgets/icons/content/svg/production/ic_flag_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/content/svg/production/ic_font_download_24px.svg b/src/material-widgets/icons/content/svg/production/ic_font_download_24px.svg new file mode 100644 index 0000000..60ea38d --- /dev/null +++ b/src/material-widgets/icons/content/svg/production/ic_font_download_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/content/svg/production/ic_forward_24px.svg b/src/material-widgets/icons/content/svg/production/ic_forward_24px.svg new file mode 100644 index 0000000..c9353ea --- /dev/null +++ b/src/material-widgets/icons/content/svg/production/ic_forward_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/content/svg/production/ic_gesture_24px.svg b/src/material-widgets/icons/content/svg/production/ic_gesture_24px.svg new file mode 100644 index 0000000..dac332c --- /dev/null +++ b/src/material-widgets/icons/content/svg/production/ic_gesture_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/content/svg/production/ic_inbox_24px.svg b/src/material-widgets/icons/content/svg/production/ic_inbox_24px.svg new file mode 100644 index 0000000..8297501 --- /dev/null +++ b/src/material-widgets/icons/content/svg/production/ic_inbox_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/content/svg/production/ic_link_24px.svg b/src/material-widgets/icons/content/svg/production/ic_link_24px.svg new file mode 100644 index 0000000..f39e2a7 --- /dev/null +++ b/src/material-widgets/icons/content/svg/production/ic_link_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/content/svg/production/ic_low_priority_24px.svg b/src/material-widgets/icons/content/svg/production/ic_low_priority_24px.svg new file mode 100644 index 0000000..b1ab04c --- /dev/null +++ b/src/material-widgets/icons/content/svg/production/ic_low_priority_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/content/svg/production/ic_mail_24px.svg b/src/material-widgets/icons/content/svg/production/ic_mail_24px.svg new file mode 100644 index 0000000..f2c5b4f --- /dev/null +++ b/src/material-widgets/icons/content/svg/production/ic_mail_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/content/svg/production/ic_markunread_24px.svg b/src/material-widgets/icons/content/svg/production/ic_markunread_24px.svg new file mode 100644 index 0000000..f2c5b4f --- /dev/null +++ b/src/material-widgets/icons/content/svg/production/ic_markunread_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/content/svg/production/ic_move_to_inbox_24px.svg b/src/material-widgets/icons/content/svg/production/ic_move_to_inbox_24px.svg new file mode 100644 index 0000000..cbc97ad --- /dev/null +++ b/src/material-widgets/icons/content/svg/production/ic_move_to_inbox_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/content/svg/production/ic_next_week_24px.svg b/src/material-widgets/icons/content/svg/production/ic_next_week_24px.svg new file mode 100644 index 0000000..6e52679 --- /dev/null +++ b/src/material-widgets/icons/content/svg/production/ic_next_week_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/content/svg/production/ic_redo_24px.svg b/src/material-widgets/icons/content/svg/production/ic_redo_24px.svg new file mode 100644 index 0000000..764ab77 --- /dev/null +++ b/src/material-widgets/icons/content/svg/production/ic_redo_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/content/svg/production/ic_remove_24px.svg b/src/material-widgets/icons/content/svg/production/ic_remove_24px.svg new file mode 100644 index 0000000..9128833 --- /dev/null +++ b/src/material-widgets/icons/content/svg/production/ic_remove_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/content/svg/production/ic_remove_circle_24px.svg b/src/material-widgets/icons/content/svg/production/ic_remove_circle_24px.svg new file mode 100644 index 0000000..0f978ec --- /dev/null +++ b/src/material-widgets/icons/content/svg/production/ic_remove_circle_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/content/svg/production/ic_remove_circle_outline_24px.svg b/src/material-widgets/icons/content/svg/production/ic_remove_circle_outline_24px.svg new file mode 100644 index 0000000..d35e183 --- /dev/null +++ b/src/material-widgets/icons/content/svg/production/ic_remove_circle_outline_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/content/svg/production/ic_reply_24px.svg b/src/material-widgets/icons/content/svg/production/ic_reply_24px.svg new file mode 100644 index 0000000..65c02ca --- /dev/null +++ b/src/material-widgets/icons/content/svg/production/ic_reply_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/content/svg/production/ic_reply_all_24px.svg b/src/material-widgets/icons/content/svg/production/ic_reply_all_24px.svg new file mode 100644 index 0000000..5c90b4b --- /dev/null +++ b/src/material-widgets/icons/content/svg/production/ic_reply_all_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/content/svg/production/ic_report_24px.svg b/src/material-widgets/icons/content/svg/production/ic_report_24px.svg new file mode 100644 index 0000000..d09adbb --- /dev/null +++ b/src/material-widgets/icons/content/svg/production/ic_report_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/content/svg/production/ic_save_24px.svg b/src/material-widgets/icons/content/svg/production/ic_save_24px.svg new file mode 100644 index 0000000..1d3c300 --- /dev/null +++ b/src/material-widgets/icons/content/svg/production/ic_save_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/content/svg/production/ic_select_all_24px.svg b/src/material-widgets/icons/content/svg/production/ic_select_all_24px.svg new file mode 100644 index 0000000..4614449 --- /dev/null +++ b/src/material-widgets/icons/content/svg/production/ic_select_all_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/content/svg/production/ic_send_24px.svg b/src/material-widgets/icons/content/svg/production/ic_send_24px.svg new file mode 100644 index 0000000..b679858 --- /dev/null +++ b/src/material-widgets/icons/content/svg/production/ic_send_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/content/svg/production/ic_sort_24px.svg b/src/material-widgets/icons/content/svg/production/ic_sort_24px.svg new file mode 100644 index 0000000..84efa53 --- /dev/null +++ b/src/material-widgets/icons/content/svg/production/ic_sort_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/content/svg/production/ic_text_format_24px.svg b/src/material-widgets/icons/content/svg/production/ic_text_format_24px.svg new file mode 100644 index 0000000..92ec329 --- /dev/null +++ b/src/material-widgets/icons/content/svg/production/ic_text_format_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/content/svg/production/ic_unarchive_24px.svg b/src/material-widgets/icons/content/svg/production/ic_unarchive_24px.svg new file mode 100644 index 0000000..6192fa7 --- /dev/null +++ b/src/material-widgets/icons/content/svg/production/ic_unarchive_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/content/svg/production/ic_undo_24px.svg b/src/material-widgets/icons/content/svg/production/ic_undo_24px.svg new file mode 100644 index 0000000..c37cf40 --- /dev/null +++ b/src/material-widgets/icons/content/svg/production/ic_undo_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/content/svg/production/ic_weekend_24px.svg b/src/material-widgets/icons/content/svg/production/ic_weekend_24px.svg new file mode 100644 index 0000000..f4e56cc --- /dev/null +++ b/src/material-widgets/icons/content/svg/production/ic_weekend_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/device/svg/production/ic_access_alarm_24px.svg b/src/material-widgets/icons/device/svg/production/ic_access_alarm_24px.svg new file mode 100644 index 0000000..edfa7a6 --- /dev/null +++ b/src/material-widgets/icons/device/svg/production/ic_access_alarm_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/device/svg/production/ic_access_alarms_24px.svg b/src/material-widgets/icons/device/svg/production/ic_access_alarms_24px.svg new file mode 100755 index 0000000..a799163 --- /dev/null +++ b/src/material-widgets/icons/device/svg/production/ic_access_alarms_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/device/svg/production/ic_access_time_24px.svg b/src/material-widgets/icons/device/svg/production/ic_access_time_24px.svg new file mode 100644 index 0000000..fac5f2e --- /dev/null +++ b/src/material-widgets/icons/device/svg/production/ic_access_time_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/device/svg/production/ic_add_alarm_24px.svg b/src/material-widgets/icons/device/svg/production/ic_add_alarm_24px.svg new file mode 100644 index 0000000..8bf2e6c --- /dev/null +++ b/src/material-widgets/icons/device/svg/production/ic_add_alarm_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/device/svg/production/ic_airplanemode_active_24px.svg b/src/material-widgets/icons/device/svg/production/ic_airplanemode_active_24px.svg new file mode 100644 index 0000000..240d1b6 --- /dev/null +++ b/src/material-widgets/icons/device/svg/production/ic_airplanemode_active_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/device/svg/production/ic_airplanemode_inactive_24px.svg b/src/material-widgets/icons/device/svg/production/ic_airplanemode_inactive_24px.svg new file mode 100644 index 0000000..c2828d8 --- /dev/null +++ b/src/material-widgets/icons/device/svg/production/ic_airplanemode_inactive_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/device/svg/production/ic_battery_20_24px.svg b/src/material-widgets/icons/device/svg/production/ic_battery_20_24px.svg new file mode 100644 index 0000000..db91e43 --- /dev/null +++ b/src/material-widgets/icons/device/svg/production/ic_battery_20_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/device/svg/production/ic_battery_30_24px.svg b/src/material-widgets/icons/device/svg/production/ic_battery_30_24px.svg new file mode 100644 index 0000000..305e322 --- /dev/null +++ b/src/material-widgets/icons/device/svg/production/ic_battery_30_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/device/svg/production/ic_battery_50_24px.svg b/src/material-widgets/icons/device/svg/production/ic_battery_50_24px.svg new file mode 100644 index 0000000..c8205f8 --- /dev/null +++ b/src/material-widgets/icons/device/svg/production/ic_battery_50_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/device/svg/production/ic_battery_60_24px.svg b/src/material-widgets/icons/device/svg/production/ic_battery_60_24px.svg new file mode 100644 index 0000000..42d8bba --- /dev/null +++ b/src/material-widgets/icons/device/svg/production/ic_battery_60_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/device/svg/production/ic_battery_80_24px.svg b/src/material-widgets/icons/device/svg/production/ic_battery_80_24px.svg new file mode 100644 index 0000000..1633055 --- /dev/null +++ b/src/material-widgets/icons/device/svg/production/ic_battery_80_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/device/svg/production/ic_battery_90_24px.svg b/src/material-widgets/icons/device/svg/production/ic_battery_90_24px.svg new file mode 100644 index 0000000..4a242c5 --- /dev/null +++ b/src/material-widgets/icons/device/svg/production/ic_battery_90_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/device/svg/production/ic_battery_alert_24px.svg b/src/material-widgets/icons/device/svg/production/ic_battery_alert_24px.svg new file mode 100644 index 0000000..08d3008 --- /dev/null +++ b/src/material-widgets/icons/device/svg/production/ic_battery_alert_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/device/svg/production/ic_battery_charging_20_24px.svg b/src/material-widgets/icons/device/svg/production/ic_battery_charging_20_24px.svg new file mode 100644 index 0000000..9b90d8c --- /dev/null +++ b/src/material-widgets/icons/device/svg/production/ic_battery_charging_20_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/device/svg/production/ic_battery_charging_30_24px.svg b/src/material-widgets/icons/device/svg/production/ic_battery_charging_30_24px.svg new file mode 100644 index 0000000..b21330f --- /dev/null +++ b/src/material-widgets/icons/device/svg/production/ic_battery_charging_30_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/device/svg/production/ic_battery_charging_50_24px.svg b/src/material-widgets/icons/device/svg/production/ic_battery_charging_50_24px.svg new file mode 100644 index 0000000..9958350 --- /dev/null +++ b/src/material-widgets/icons/device/svg/production/ic_battery_charging_50_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/device/svg/production/ic_battery_charging_60_24px.svg b/src/material-widgets/icons/device/svg/production/ic_battery_charging_60_24px.svg new file mode 100644 index 0000000..a9e5d40 --- /dev/null +++ b/src/material-widgets/icons/device/svg/production/ic_battery_charging_60_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/device/svg/production/ic_battery_charging_80_24px.svg b/src/material-widgets/icons/device/svg/production/ic_battery_charging_80_24px.svg new file mode 100644 index 0000000..1695004 --- /dev/null +++ b/src/material-widgets/icons/device/svg/production/ic_battery_charging_80_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/device/svg/production/ic_battery_charging_90_24px.svg b/src/material-widgets/icons/device/svg/production/ic_battery_charging_90_24px.svg new file mode 100644 index 0000000..2fc050e --- /dev/null +++ b/src/material-widgets/icons/device/svg/production/ic_battery_charging_90_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/device/svg/production/ic_battery_charging_full_24px.svg b/src/material-widgets/icons/device/svg/production/ic_battery_charging_full_24px.svg new file mode 100644 index 0000000..1efa7d3 --- /dev/null +++ b/src/material-widgets/icons/device/svg/production/ic_battery_charging_full_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/device/svg/production/ic_battery_full_24px.svg b/src/material-widgets/icons/device/svg/production/ic_battery_full_24px.svg new file mode 100644 index 0000000..122ea41 --- /dev/null +++ b/src/material-widgets/icons/device/svg/production/ic_battery_full_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/device/svg/production/ic_battery_std_24px.svg b/src/material-widgets/icons/device/svg/production/ic_battery_std_24px.svg new file mode 100644 index 0000000..122ea41 --- /dev/null +++ b/src/material-widgets/icons/device/svg/production/ic_battery_std_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/device/svg/production/ic_battery_unknown_24px.svg b/src/material-widgets/icons/device/svg/production/ic_battery_unknown_24px.svg new file mode 100644 index 0000000..7ef9a9a --- /dev/null +++ b/src/material-widgets/icons/device/svg/production/ic_battery_unknown_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/device/svg/production/ic_bluetooth_24px.svg b/src/material-widgets/icons/device/svg/production/ic_bluetooth_24px.svg new file mode 100644 index 0000000..ad1e4f2 --- /dev/null +++ b/src/material-widgets/icons/device/svg/production/ic_bluetooth_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/device/svg/production/ic_bluetooth_connected_24px.svg b/src/material-widgets/icons/device/svg/production/ic_bluetooth_connected_24px.svg new file mode 100644 index 0000000..90b3a58 --- /dev/null +++ b/src/material-widgets/icons/device/svg/production/ic_bluetooth_connected_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/device/svg/production/ic_bluetooth_disabled_24px.svg b/src/material-widgets/icons/device/svg/production/ic_bluetooth_disabled_24px.svg new file mode 100644 index 0000000..2974d2b --- /dev/null +++ b/src/material-widgets/icons/device/svg/production/ic_bluetooth_disabled_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/device/svg/production/ic_bluetooth_searching_24px.svg b/src/material-widgets/icons/device/svg/production/ic_bluetooth_searching_24px.svg new file mode 100644 index 0000000..8bb176e --- /dev/null +++ b/src/material-widgets/icons/device/svg/production/ic_bluetooth_searching_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/device/svg/production/ic_brightness_auto_24px.svg b/src/material-widgets/icons/device/svg/production/ic_brightness_auto_24px.svg new file mode 100644 index 0000000..074d7b1 --- /dev/null +++ b/src/material-widgets/icons/device/svg/production/ic_brightness_auto_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/device/svg/production/ic_brightness_high_24px.svg b/src/material-widgets/icons/device/svg/production/ic_brightness_high_24px.svg new file mode 100644 index 0000000..f4a2b29 --- /dev/null +++ b/src/material-widgets/icons/device/svg/production/ic_brightness_high_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/device/svg/production/ic_brightness_low_24px.svg b/src/material-widgets/icons/device/svg/production/ic_brightness_low_24px.svg new file mode 100644 index 0000000..2b6d29d --- /dev/null +++ b/src/material-widgets/icons/device/svg/production/ic_brightness_low_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/device/svg/production/ic_brightness_medium_24px.svg b/src/material-widgets/icons/device/svg/production/ic_brightness_medium_24px.svg new file mode 100644 index 0000000..dc29999 --- /dev/null +++ b/src/material-widgets/icons/device/svg/production/ic_brightness_medium_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/device/svg/production/ic_data_usage_24px.svg b/src/material-widgets/icons/device/svg/production/ic_data_usage_24px.svg new file mode 100644 index 0000000..7f0786a --- /dev/null +++ b/src/material-widgets/icons/device/svg/production/ic_data_usage_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/device/svg/production/ic_developer_mode_24px.svg b/src/material-widgets/icons/device/svg/production/ic_developer_mode_24px.svg new file mode 100644 index 0000000..b64293b --- /dev/null +++ b/src/material-widgets/icons/device/svg/production/ic_developer_mode_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/device/svg/production/ic_devices_24px.svg b/src/material-widgets/icons/device/svg/production/ic_devices_24px.svg new file mode 100644 index 0000000..266e993 --- /dev/null +++ b/src/material-widgets/icons/device/svg/production/ic_devices_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/device/svg/production/ic_dvr_24px.svg b/src/material-widgets/icons/device/svg/production/ic_dvr_24px.svg new file mode 100644 index 0000000..fd28af7 --- /dev/null +++ b/src/material-widgets/icons/device/svg/production/ic_dvr_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/device/svg/production/ic_gps_fixed_24px.svg b/src/material-widgets/icons/device/svg/production/ic_gps_fixed_24px.svg new file mode 100644 index 0000000..394dc36 --- /dev/null +++ b/src/material-widgets/icons/device/svg/production/ic_gps_fixed_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/device/svg/production/ic_gps_not_fixed_24px.svg b/src/material-widgets/icons/device/svg/production/ic_gps_not_fixed_24px.svg new file mode 100644 index 0000000..f05e9b0 --- /dev/null +++ b/src/material-widgets/icons/device/svg/production/ic_gps_not_fixed_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/device/svg/production/ic_gps_off_24px.svg b/src/material-widgets/icons/device/svg/production/ic_gps_off_24px.svg new file mode 100644 index 0000000..c1435e3 --- /dev/null +++ b/src/material-widgets/icons/device/svg/production/ic_gps_off_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/device/svg/production/ic_graphic_eq_24px.svg b/src/material-widgets/icons/device/svg/production/ic_graphic_eq_24px.svg new file mode 100644 index 0000000..e980427 --- /dev/null +++ b/src/material-widgets/icons/device/svg/production/ic_graphic_eq_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/device/svg/production/ic_location_disabled_24px.svg b/src/material-widgets/icons/device/svg/production/ic_location_disabled_24px.svg new file mode 100644 index 0000000..c1435e3 --- /dev/null +++ b/src/material-widgets/icons/device/svg/production/ic_location_disabled_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/device/svg/production/ic_location_searching_24px.svg b/src/material-widgets/icons/device/svg/production/ic_location_searching_24px.svg new file mode 100644 index 0000000..f05e9b0 --- /dev/null +++ b/src/material-widgets/icons/device/svg/production/ic_location_searching_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/device/svg/production/ic_network_cell_24px.svg b/src/material-widgets/icons/device/svg/production/ic_network_cell_24px.svg new file mode 100644 index 0000000..0024136 --- /dev/null +++ b/src/material-widgets/icons/device/svg/production/ic_network_cell_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/device/svg/production/ic_network_wifi_24px.svg b/src/material-widgets/icons/device/svg/production/ic_network_wifi_24px.svg new file mode 100644 index 0000000..6e03e50 --- /dev/null +++ b/src/material-widgets/icons/device/svg/production/ic_network_wifi_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/device/svg/production/ic_nfc_24px.svg b/src/material-widgets/icons/device/svg/production/ic_nfc_24px.svg new file mode 100644 index 0000000..49cffc9 --- /dev/null +++ b/src/material-widgets/icons/device/svg/production/ic_nfc_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/device/svg/production/ic_screen_lock_landscape_24px.svg b/src/material-widgets/icons/device/svg/production/ic_screen_lock_landscape_24px.svg new file mode 100644 index 0000000..1b0925d --- /dev/null +++ b/src/material-widgets/icons/device/svg/production/ic_screen_lock_landscape_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/device/svg/production/ic_screen_lock_portrait_24px.svg b/src/material-widgets/icons/device/svg/production/ic_screen_lock_portrait_24px.svg new file mode 100644 index 0000000..cd382ac --- /dev/null +++ b/src/material-widgets/icons/device/svg/production/ic_screen_lock_portrait_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/device/svg/production/ic_screen_lock_rotation_24px.svg b/src/material-widgets/icons/device/svg/production/ic_screen_lock_rotation_24px.svg new file mode 100644 index 0000000..30e015f --- /dev/null +++ b/src/material-widgets/icons/device/svg/production/ic_screen_lock_rotation_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/device/svg/production/ic_screen_rotation_24px.svg b/src/material-widgets/icons/device/svg/production/ic_screen_rotation_24px.svg new file mode 100644 index 0000000..3750ddc --- /dev/null +++ b/src/material-widgets/icons/device/svg/production/ic_screen_rotation_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/device/svg/production/ic_sd_storage_24px.svg b/src/material-widgets/icons/device/svg/production/ic_sd_storage_24px.svg new file mode 100644 index 0000000..15ab481 --- /dev/null +++ b/src/material-widgets/icons/device/svg/production/ic_sd_storage_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/device/svg/production/ic_settings_system_daydream_24px.svg b/src/material-widgets/icons/device/svg/production/ic_settings_system_daydream_24px.svg new file mode 100644 index 0000000..6d35778 --- /dev/null +++ b/src/material-widgets/icons/device/svg/production/ic_settings_system_daydream_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/device/svg/production/ic_signal_cellular_0_bar_24px.svg b/src/material-widgets/icons/device/svg/production/ic_signal_cellular_0_bar_24px.svg new file mode 100644 index 0000000..0f29463 --- /dev/null +++ b/src/material-widgets/icons/device/svg/production/ic_signal_cellular_0_bar_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/device/svg/production/ic_signal_cellular_1_bar_24px.svg b/src/material-widgets/icons/device/svg/production/ic_signal_cellular_1_bar_24px.svg new file mode 100644 index 0000000..8c785b4 --- /dev/null +++ b/src/material-widgets/icons/device/svg/production/ic_signal_cellular_1_bar_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/device/svg/production/ic_signal_cellular_2_bar_24px.svg b/src/material-widgets/icons/device/svg/production/ic_signal_cellular_2_bar_24px.svg new file mode 100644 index 0000000..22352ef --- /dev/null +++ b/src/material-widgets/icons/device/svg/production/ic_signal_cellular_2_bar_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/device/svg/production/ic_signal_cellular_3_bar_24px.svg b/src/material-widgets/icons/device/svg/production/ic_signal_cellular_3_bar_24px.svg new file mode 100644 index 0000000..0024136 --- /dev/null +++ b/src/material-widgets/icons/device/svg/production/ic_signal_cellular_3_bar_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/device/svg/production/ic_signal_cellular_4_bar_24px.svg b/src/material-widgets/icons/device/svg/production/ic_signal_cellular_4_bar_24px.svg new file mode 100644 index 0000000..dc28eb7 --- /dev/null +++ b/src/material-widgets/icons/device/svg/production/ic_signal_cellular_4_bar_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/device/svg/production/ic_signal_cellular_connected_no_internet_0_bar_24px.svg b/src/material-widgets/icons/device/svg/production/ic_signal_cellular_connected_no_internet_0_bar_24px.svg new file mode 100644 index 0000000..fe6765f --- /dev/null +++ b/src/material-widgets/icons/device/svg/production/ic_signal_cellular_connected_no_internet_0_bar_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/device/svg/production/ic_signal_cellular_connected_no_internet_1_bar_24px.svg b/src/material-widgets/icons/device/svg/production/ic_signal_cellular_connected_no_internet_1_bar_24px.svg new file mode 100644 index 0000000..de2550c --- /dev/null +++ b/src/material-widgets/icons/device/svg/production/ic_signal_cellular_connected_no_internet_1_bar_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/device/svg/production/ic_signal_cellular_connected_no_internet_2_bar_24px.svg b/src/material-widgets/icons/device/svg/production/ic_signal_cellular_connected_no_internet_2_bar_24px.svg new file mode 100644 index 0000000..8bfeb23 --- /dev/null +++ b/src/material-widgets/icons/device/svg/production/ic_signal_cellular_connected_no_internet_2_bar_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/device/svg/production/ic_signal_cellular_connected_no_internet_3_bar_24px.svg b/src/material-widgets/icons/device/svg/production/ic_signal_cellular_connected_no_internet_3_bar_24px.svg new file mode 100644 index 0000000..fd79f00 --- /dev/null +++ b/src/material-widgets/icons/device/svg/production/ic_signal_cellular_connected_no_internet_3_bar_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/device/svg/production/ic_signal_cellular_connected_no_internet_4_bar_24px.svg b/src/material-widgets/icons/device/svg/production/ic_signal_cellular_connected_no_internet_4_bar_24px.svg new file mode 100644 index 0000000..0faee96 --- /dev/null +++ b/src/material-widgets/icons/device/svg/production/ic_signal_cellular_connected_no_internet_4_bar_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/device/svg/production/ic_signal_cellular_no_sim_24px.svg b/src/material-widgets/icons/device/svg/production/ic_signal_cellular_no_sim_24px.svg new file mode 100644 index 0000000..d6b8e22 --- /dev/null +++ b/src/material-widgets/icons/device/svg/production/ic_signal_cellular_no_sim_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/device/svg/production/ic_signal_cellular_null_24px.svg b/src/material-widgets/icons/device/svg/production/ic_signal_cellular_null_24px.svg new file mode 100644 index 0000000..f3293a5 --- /dev/null +++ b/src/material-widgets/icons/device/svg/production/ic_signal_cellular_null_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/device/svg/production/ic_signal_cellular_off_24px.svg b/src/material-widgets/icons/device/svg/production/ic_signal_cellular_off_24px.svg new file mode 100644 index 0000000..a8de8db --- /dev/null +++ b/src/material-widgets/icons/device/svg/production/ic_signal_cellular_off_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/device/svg/production/ic_signal_wifi_0_bar_24px.svg b/src/material-widgets/icons/device/svg/production/ic_signal_wifi_0_bar_24px.svg new file mode 100644 index 0000000..46a2cc6 --- /dev/null +++ b/src/material-widgets/icons/device/svg/production/ic_signal_wifi_0_bar_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/device/svg/production/ic_signal_wifi_1_bar_24px.svg b/src/material-widgets/icons/device/svg/production/ic_signal_wifi_1_bar_24px.svg new file mode 100644 index 0000000..19227d6 --- /dev/null +++ b/src/material-widgets/icons/device/svg/production/ic_signal_wifi_1_bar_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/device/svg/production/ic_signal_wifi_1_bar_lock_24px.svg b/src/material-widgets/icons/device/svg/production/ic_signal_wifi_1_bar_lock_24px.svg new file mode 100755 index 0000000..86e1b5d --- /dev/null +++ b/src/material-widgets/icons/device/svg/production/ic_signal_wifi_1_bar_lock_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/device/svg/production/ic_signal_wifi_2_bar_24px.svg b/src/material-widgets/icons/device/svg/production/ic_signal_wifi_2_bar_24px.svg new file mode 100644 index 0000000..7f0f951 --- /dev/null +++ b/src/material-widgets/icons/device/svg/production/ic_signal_wifi_2_bar_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/device/svg/production/ic_signal_wifi_2_bar_lock_24px.svg b/src/material-widgets/icons/device/svg/production/ic_signal_wifi_2_bar_lock_24px.svg new file mode 100755 index 0000000..c96053c --- /dev/null +++ b/src/material-widgets/icons/device/svg/production/ic_signal_wifi_2_bar_lock_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/device/svg/production/ic_signal_wifi_3_bar_24px.svg b/src/material-widgets/icons/device/svg/production/ic_signal_wifi_3_bar_24px.svg new file mode 100644 index 0000000..6e03e50 --- /dev/null +++ b/src/material-widgets/icons/device/svg/production/ic_signal_wifi_3_bar_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/device/svg/production/ic_signal_wifi_3_bar_lock_24px.svg b/src/material-widgets/icons/device/svg/production/ic_signal_wifi_3_bar_lock_24px.svg new file mode 100755 index 0000000..10ff8c0 --- /dev/null +++ b/src/material-widgets/icons/device/svg/production/ic_signal_wifi_3_bar_lock_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/device/svg/production/ic_signal_wifi_4_bar_24px.svg b/src/material-widgets/icons/device/svg/production/ic_signal_wifi_4_bar_24px.svg new file mode 100644 index 0000000..d013bfd --- /dev/null +++ b/src/material-widgets/icons/device/svg/production/ic_signal_wifi_4_bar_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/device/svg/production/ic_signal_wifi_4_bar_lock_24px.svg b/src/material-widgets/icons/device/svg/production/ic_signal_wifi_4_bar_lock_24px.svg new file mode 100755 index 0000000..45a8294 --- /dev/null +++ b/src/material-widgets/icons/device/svg/production/ic_signal_wifi_4_bar_lock_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/device/svg/production/ic_signal_wifi_off_24px.svg b/src/material-widgets/icons/device/svg/production/ic_signal_wifi_off_24px.svg new file mode 100644 index 0000000..fcf92d0 --- /dev/null +++ b/src/material-widgets/icons/device/svg/production/ic_signal_wifi_off_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/device/svg/production/ic_storage_24px.svg b/src/material-widgets/icons/device/svg/production/ic_storage_24px.svg new file mode 100644 index 0000000..8cae0c1 --- /dev/null +++ b/src/material-widgets/icons/device/svg/production/ic_storage_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/device/svg/production/ic_usb_24px.svg b/src/material-widgets/icons/device/svg/production/ic_usb_24px.svg new file mode 100644 index 0000000..b08014a --- /dev/null +++ b/src/material-widgets/icons/device/svg/production/ic_usb_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/device/svg/production/ic_wallpaper_24px.svg b/src/material-widgets/icons/device/svg/production/ic_wallpaper_24px.svg new file mode 100644 index 0000000..74c082b --- /dev/null +++ b/src/material-widgets/icons/device/svg/production/ic_wallpaper_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/device/svg/production/ic_widgets_24px.svg b/src/material-widgets/icons/device/svg/production/ic_widgets_24px.svg new file mode 100644 index 0000000..fcc2293 --- /dev/null +++ b/src/material-widgets/icons/device/svg/production/ic_widgets_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/device/svg/production/ic_wifi_lock_24px.svg b/src/material-widgets/icons/device/svg/production/ic_wifi_lock_24px.svg new file mode 100644 index 0000000..710d716 --- /dev/null +++ b/src/material-widgets/icons/device/svg/production/ic_wifi_lock_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/device/svg/production/ic_wifi_tethering_24px.svg b/src/material-widgets/icons/device/svg/production/ic_wifi_tethering_24px.svg new file mode 100644 index 0000000..f16f282 --- /dev/null +++ b/src/material-widgets/icons/device/svg/production/ic_wifi_tethering_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/editor/svg/production/ic_attach_file_24px.svg b/src/material-widgets/icons/editor/svg/production/ic_attach_file_24px.svg new file mode 100644 index 0000000..471fb99 --- /dev/null +++ b/src/material-widgets/icons/editor/svg/production/ic_attach_file_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/editor/svg/production/ic_attach_money_24px.svg b/src/material-widgets/icons/editor/svg/production/ic_attach_money_24px.svg new file mode 100644 index 0000000..76e3e17 --- /dev/null +++ b/src/material-widgets/icons/editor/svg/production/ic_attach_money_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/editor/svg/production/ic_border_all_24px.svg b/src/material-widgets/icons/editor/svg/production/ic_border_all_24px.svg new file mode 100644 index 0000000..4537456 --- /dev/null +++ b/src/material-widgets/icons/editor/svg/production/ic_border_all_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/editor/svg/production/ic_border_bottom_24px.svg b/src/material-widgets/icons/editor/svg/production/ic_border_bottom_24px.svg new file mode 100644 index 0000000..61be129 --- /dev/null +++ b/src/material-widgets/icons/editor/svg/production/ic_border_bottom_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/editor/svg/production/ic_border_clear_24px.svg b/src/material-widgets/icons/editor/svg/production/ic_border_clear_24px.svg new file mode 100644 index 0000000..a585f80 --- /dev/null +++ b/src/material-widgets/icons/editor/svg/production/ic_border_clear_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/editor/svg/production/ic_border_color_24px.svg b/src/material-widgets/icons/editor/svg/production/ic_border_color_24px.svg new file mode 100644 index 0000000..4f6e788 --- /dev/null +++ b/src/material-widgets/icons/editor/svg/production/ic_border_color_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/editor/svg/production/ic_border_horizontal_24px.svg b/src/material-widgets/icons/editor/svg/production/ic_border_horizontal_24px.svg new file mode 100644 index 0000000..f84b852 --- /dev/null +++ b/src/material-widgets/icons/editor/svg/production/ic_border_horizontal_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/editor/svg/production/ic_border_inner_24px.svg b/src/material-widgets/icons/editor/svg/production/ic_border_inner_24px.svg new file mode 100644 index 0000000..a5a4677 --- /dev/null +++ b/src/material-widgets/icons/editor/svg/production/ic_border_inner_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/editor/svg/production/ic_border_left_24px.svg b/src/material-widgets/icons/editor/svg/production/ic_border_left_24px.svg new file mode 100644 index 0000000..894c809 --- /dev/null +++ b/src/material-widgets/icons/editor/svg/production/ic_border_left_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/editor/svg/production/ic_border_outer_24px.svg b/src/material-widgets/icons/editor/svg/production/ic_border_outer_24px.svg new file mode 100644 index 0000000..23fbba8 --- /dev/null +++ b/src/material-widgets/icons/editor/svg/production/ic_border_outer_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/editor/svg/production/ic_border_right_24px.svg b/src/material-widgets/icons/editor/svg/production/ic_border_right_24px.svg new file mode 100644 index 0000000..f8965e1 --- /dev/null +++ b/src/material-widgets/icons/editor/svg/production/ic_border_right_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/editor/svg/production/ic_border_style_24px.svg b/src/material-widgets/icons/editor/svg/production/ic_border_style_24px.svg new file mode 100644 index 0000000..179e8d6 --- /dev/null +++ b/src/material-widgets/icons/editor/svg/production/ic_border_style_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/editor/svg/production/ic_border_top_24px.svg b/src/material-widgets/icons/editor/svg/production/ic_border_top_24px.svg new file mode 100644 index 0000000..7f6795f --- /dev/null +++ b/src/material-widgets/icons/editor/svg/production/ic_border_top_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/editor/svg/production/ic_border_vertical_24px.svg b/src/material-widgets/icons/editor/svg/production/ic_border_vertical_24px.svg new file mode 100644 index 0000000..719ddf6 --- /dev/null +++ b/src/material-widgets/icons/editor/svg/production/ic_border_vertical_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/editor/svg/production/ic_bubble_chart_24px.svg b/src/material-widgets/icons/editor/svg/production/ic_bubble_chart_24px.svg new file mode 100644 index 0000000..35d0fbb --- /dev/null +++ b/src/material-widgets/icons/editor/svg/production/ic_bubble_chart_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/editor/svg/production/ic_drag_handle_24px.svg b/src/material-widgets/icons/editor/svg/production/ic_drag_handle_24px.svg new file mode 100644 index 0000000..a292338 --- /dev/null +++ b/src/material-widgets/icons/editor/svg/production/ic_drag_handle_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/editor/svg/production/ic_format_align_center_24px.svg b/src/material-widgets/icons/editor/svg/production/ic_format_align_center_24px.svg new file mode 100644 index 0000000..82214e6 --- /dev/null +++ b/src/material-widgets/icons/editor/svg/production/ic_format_align_center_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/editor/svg/production/ic_format_align_justify_24px.svg b/src/material-widgets/icons/editor/svg/production/ic_format_align_justify_24px.svg new file mode 100644 index 0000000..3dd6fed --- /dev/null +++ b/src/material-widgets/icons/editor/svg/production/ic_format_align_justify_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/editor/svg/production/ic_format_align_left_24px.svg b/src/material-widgets/icons/editor/svg/production/ic_format_align_left_24px.svg new file mode 100644 index 0000000..77d7810 --- /dev/null +++ b/src/material-widgets/icons/editor/svg/production/ic_format_align_left_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/editor/svg/production/ic_format_align_right_24px.svg b/src/material-widgets/icons/editor/svg/production/ic_format_align_right_24px.svg new file mode 100644 index 0000000..a786d99 --- /dev/null +++ b/src/material-widgets/icons/editor/svg/production/ic_format_align_right_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/editor/svg/production/ic_format_bold_24px.svg b/src/material-widgets/icons/editor/svg/production/ic_format_bold_24px.svg new file mode 100644 index 0000000..2b7d0f1 --- /dev/null +++ b/src/material-widgets/icons/editor/svg/production/ic_format_bold_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/editor/svg/production/ic_format_clear_24px.svg b/src/material-widgets/icons/editor/svg/production/ic_format_clear_24px.svg new file mode 100644 index 0000000..bb78cd7 --- /dev/null +++ b/src/material-widgets/icons/editor/svg/production/ic_format_clear_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/editor/svg/production/ic_format_color_fill_24px.svg b/src/material-widgets/icons/editor/svg/production/ic_format_color_fill_24px.svg new file mode 100644 index 0000000..1cc9972 --- /dev/null +++ b/src/material-widgets/icons/editor/svg/production/ic_format_color_fill_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/editor/svg/production/ic_format_color_reset_24px.svg b/src/material-widgets/icons/editor/svg/production/ic_format_color_reset_24px.svg new file mode 100644 index 0000000..4027103 --- /dev/null +++ b/src/material-widgets/icons/editor/svg/production/ic_format_color_reset_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/editor/svg/production/ic_format_color_text_24px.svg b/src/material-widgets/icons/editor/svg/production/ic_format_color_text_24px.svg new file mode 100644 index 0000000..49858ad --- /dev/null +++ b/src/material-widgets/icons/editor/svg/production/ic_format_color_text_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/editor/svg/production/ic_format_indent_decrease_24px.svg b/src/material-widgets/icons/editor/svg/production/ic_format_indent_decrease_24px.svg new file mode 100644 index 0000000..61dc59f --- /dev/null +++ b/src/material-widgets/icons/editor/svg/production/ic_format_indent_decrease_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/editor/svg/production/ic_format_indent_increase_24px.svg b/src/material-widgets/icons/editor/svg/production/ic_format_indent_increase_24px.svg new file mode 100644 index 0000000..d46f676 --- /dev/null +++ b/src/material-widgets/icons/editor/svg/production/ic_format_indent_increase_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/editor/svg/production/ic_format_italic_24px.svg b/src/material-widgets/icons/editor/svg/production/ic_format_italic_24px.svg new file mode 100644 index 0000000..c8acbb8 --- /dev/null +++ b/src/material-widgets/icons/editor/svg/production/ic_format_italic_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/editor/svg/production/ic_format_line_spacing_24px.svg b/src/material-widgets/icons/editor/svg/production/ic_format_line_spacing_24px.svg new file mode 100644 index 0000000..ff11d3a --- /dev/null +++ b/src/material-widgets/icons/editor/svg/production/ic_format_line_spacing_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/editor/svg/production/ic_format_list_bulleted_24px.svg b/src/material-widgets/icons/editor/svg/production/ic_format_list_bulleted_24px.svg new file mode 100644 index 0000000..4beb2cd --- /dev/null +++ b/src/material-widgets/icons/editor/svg/production/ic_format_list_bulleted_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/editor/svg/production/ic_format_list_numbered_24px.svg b/src/material-widgets/icons/editor/svg/production/ic_format_list_numbered_24px.svg new file mode 100644 index 0000000..82f85bb --- /dev/null +++ b/src/material-widgets/icons/editor/svg/production/ic_format_list_numbered_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/editor/svg/production/ic_format_paint_24px.svg b/src/material-widgets/icons/editor/svg/production/ic_format_paint_24px.svg new file mode 100644 index 0000000..6d988b3 --- /dev/null +++ b/src/material-widgets/icons/editor/svg/production/ic_format_paint_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/editor/svg/production/ic_format_quote_24px.svg b/src/material-widgets/icons/editor/svg/production/ic_format_quote_24px.svg new file mode 100644 index 0000000..9d8fa8b --- /dev/null +++ b/src/material-widgets/icons/editor/svg/production/ic_format_quote_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/editor/svg/production/ic_format_shapes_24px.svg b/src/material-widgets/icons/editor/svg/production/ic_format_shapes_24px.svg new file mode 100644 index 0000000..a14bb86 --- /dev/null +++ b/src/material-widgets/icons/editor/svg/production/ic_format_shapes_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/editor/svg/production/ic_format_size_24px.svg b/src/material-widgets/icons/editor/svg/production/ic_format_size_24px.svg new file mode 100644 index 0000000..51d9371 --- /dev/null +++ b/src/material-widgets/icons/editor/svg/production/ic_format_size_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/editor/svg/production/ic_format_strikethrough_24px.svg b/src/material-widgets/icons/editor/svg/production/ic_format_strikethrough_24px.svg new file mode 100644 index 0000000..1ce6765 --- /dev/null +++ b/src/material-widgets/icons/editor/svg/production/ic_format_strikethrough_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/editor/svg/production/ic_format_textdirection_l_to_r_24px.svg b/src/material-widgets/icons/editor/svg/production/ic_format_textdirection_l_to_r_24px.svg new file mode 100644 index 0000000..f9e7290 --- /dev/null +++ b/src/material-widgets/icons/editor/svg/production/ic_format_textdirection_l_to_r_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/editor/svg/production/ic_format_textdirection_r_to_l_24px.svg b/src/material-widgets/icons/editor/svg/production/ic_format_textdirection_r_to_l_24px.svg new file mode 100644 index 0000000..7259c4e --- /dev/null +++ b/src/material-widgets/icons/editor/svg/production/ic_format_textdirection_r_to_l_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/editor/svg/production/ic_format_underlined_24px.svg b/src/material-widgets/icons/editor/svg/production/ic_format_underlined_24px.svg new file mode 100644 index 0000000..24f0729 --- /dev/null +++ b/src/material-widgets/icons/editor/svg/production/ic_format_underlined_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/editor/svg/production/ic_functions_24px.svg b/src/material-widgets/icons/editor/svg/production/ic_functions_24px.svg new file mode 100644 index 0000000..003ef30 --- /dev/null +++ b/src/material-widgets/icons/editor/svg/production/ic_functions_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/editor/svg/production/ic_highlight_24px.svg b/src/material-widgets/icons/editor/svg/production/ic_highlight_24px.svg new file mode 100644 index 0000000..ac55df1 --- /dev/null +++ b/src/material-widgets/icons/editor/svg/production/ic_highlight_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/editor/svg/production/ic_insert_chart_24px.svg b/src/material-widgets/icons/editor/svg/production/ic_insert_chart_24px.svg new file mode 100644 index 0000000..cc7768b --- /dev/null +++ b/src/material-widgets/icons/editor/svg/production/ic_insert_chart_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/editor/svg/production/ic_insert_comment_24px.svg b/src/material-widgets/icons/editor/svg/production/ic_insert_comment_24px.svg new file mode 100644 index 0000000..c82fbff --- /dev/null +++ b/src/material-widgets/icons/editor/svg/production/ic_insert_comment_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/editor/svg/production/ic_insert_drive_file_24px.svg b/src/material-widgets/icons/editor/svg/production/ic_insert_drive_file_24px.svg new file mode 100644 index 0000000..6aa287e --- /dev/null +++ b/src/material-widgets/icons/editor/svg/production/ic_insert_drive_file_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/editor/svg/production/ic_insert_emoticon_24px.svg b/src/material-widgets/icons/editor/svg/production/ic_insert_emoticon_24px.svg new file mode 100644 index 0000000..57bea0f --- /dev/null +++ b/src/material-widgets/icons/editor/svg/production/ic_insert_emoticon_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/editor/svg/production/ic_insert_invitation_24px.svg b/src/material-widgets/icons/editor/svg/production/ic_insert_invitation_24px.svg new file mode 100644 index 0000000..1b084e8 --- /dev/null +++ b/src/material-widgets/icons/editor/svg/production/ic_insert_invitation_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/editor/svg/production/ic_insert_link_24px.svg b/src/material-widgets/icons/editor/svg/production/ic_insert_link_24px.svg new file mode 100644 index 0000000..f39e2a7 --- /dev/null +++ b/src/material-widgets/icons/editor/svg/production/ic_insert_link_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/editor/svg/production/ic_insert_photo_24px.svg b/src/material-widgets/icons/editor/svg/production/ic_insert_photo_24px.svg new file mode 100644 index 0000000..6ccc16a --- /dev/null +++ b/src/material-widgets/icons/editor/svg/production/ic_insert_photo_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/editor/svg/production/ic_linear_scale_24px.svg b/src/material-widgets/icons/editor/svg/production/ic_linear_scale_24px.svg new file mode 100644 index 0000000..9b57080 --- /dev/null +++ b/src/material-widgets/icons/editor/svg/production/ic_linear_scale_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/editor/svg/production/ic_merge_type_24px.svg b/src/material-widgets/icons/editor/svg/production/ic_merge_type_24px.svg new file mode 100644 index 0000000..b10772d --- /dev/null +++ b/src/material-widgets/icons/editor/svg/production/ic_merge_type_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/editor/svg/production/ic_mode_comment_24px.svg b/src/material-widgets/icons/editor/svg/production/ic_mode_comment_24px.svg new file mode 100644 index 0000000..912954d --- /dev/null +++ b/src/material-widgets/icons/editor/svg/production/ic_mode_comment_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/editor/svg/production/ic_mode_edit_24px.svg b/src/material-widgets/icons/editor/svg/production/ic_mode_edit_24px.svg new file mode 100644 index 0000000..f5ddfe1 --- /dev/null +++ b/src/material-widgets/icons/editor/svg/production/ic_mode_edit_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/editor/svg/production/ic_monetization_on_24px.svg b/src/material-widgets/icons/editor/svg/production/ic_monetization_on_24px.svg new file mode 100644 index 0000000..fbd8735 --- /dev/null +++ b/src/material-widgets/icons/editor/svg/production/ic_monetization_on_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/editor/svg/production/ic_money_off_24px.svg b/src/material-widgets/icons/editor/svg/production/ic_money_off_24px.svg new file mode 100755 index 0000000..c48bc8c --- /dev/null +++ b/src/material-widgets/icons/editor/svg/production/ic_money_off_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/editor/svg/production/ic_multiline_chart_24px.svg b/src/material-widgets/icons/editor/svg/production/ic_multiline_chart_24px.svg new file mode 100644 index 0000000..c2a1e0b --- /dev/null +++ b/src/material-widgets/icons/editor/svg/production/ic_multiline_chart_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/editor/svg/production/ic_pie_chart_24px.svg b/src/material-widgets/icons/editor/svg/production/ic_pie_chart_24px.svg new file mode 100644 index 0000000..d6d96a4 --- /dev/null +++ b/src/material-widgets/icons/editor/svg/production/ic_pie_chart_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/editor/svg/production/ic_pie_chart_outlined_24px.svg b/src/material-widgets/icons/editor/svg/production/ic_pie_chart_outlined_24px.svg new file mode 100644 index 0000000..c8c8aa8 --- /dev/null +++ b/src/material-widgets/icons/editor/svg/production/ic_pie_chart_outlined_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/editor/svg/production/ic_publish_24px.svg b/src/material-widgets/icons/editor/svg/production/ic_publish_24px.svg new file mode 100644 index 0000000..88faf16 --- /dev/null +++ b/src/material-widgets/icons/editor/svg/production/ic_publish_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/editor/svg/production/ic_short_text_24px.svg b/src/material-widgets/icons/editor/svg/production/ic_short_text_24px.svg new file mode 100644 index 0000000..f73c4f8 --- /dev/null +++ b/src/material-widgets/icons/editor/svg/production/ic_short_text_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/editor/svg/production/ic_show_chart_24px.svg b/src/material-widgets/icons/editor/svg/production/ic_show_chart_24px.svg new file mode 100644 index 0000000..bc01b79 --- /dev/null +++ b/src/material-widgets/icons/editor/svg/production/ic_show_chart_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/editor/svg/production/ic_space_bar_24px.svg b/src/material-widgets/icons/editor/svg/production/ic_space_bar_24px.svg new file mode 100755 index 0000000..0f1e7c5 --- /dev/null +++ b/src/material-widgets/icons/editor/svg/production/ic_space_bar_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/editor/svg/production/ic_strikethrough_s_24px.svg b/src/material-widgets/icons/editor/svg/production/ic_strikethrough_s_24px.svg new file mode 100644 index 0000000..7f218d0 --- /dev/null +++ b/src/material-widgets/icons/editor/svg/production/ic_strikethrough_s_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/editor/svg/production/ic_text_fields_24px.svg b/src/material-widgets/icons/editor/svg/production/ic_text_fields_24px.svg new file mode 100644 index 0000000..705cd75 --- /dev/null +++ b/src/material-widgets/icons/editor/svg/production/ic_text_fields_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/editor/svg/production/ic_title_24px.svg b/src/material-widgets/icons/editor/svg/production/ic_title_24px.svg new file mode 100644 index 0000000..c09ac43 --- /dev/null +++ b/src/material-widgets/icons/editor/svg/production/ic_title_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/editor/svg/production/ic_vertical_align_bottom_24px.svg b/src/material-widgets/icons/editor/svg/production/ic_vertical_align_bottom_24px.svg new file mode 100644 index 0000000..070f193 --- /dev/null +++ b/src/material-widgets/icons/editor/svg/production/ic_vertical_align_bottom_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/editor/svg/production/ic_vertical_align_center_24px.svg b/src/material-widgets/icons/editor/svg/production/ic_vertical_align_center_24px.svg new file mode 100644 index 0000000..b0272c7 --- /dev/null +++ b/src/material-widgets/icons/editor/svg/production/ic_vertical_align_center_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/editor/svg/production/ic_vertical_align_top_24px.svg b/src/material-widgets/icons/editor/svg/production/ic_vertical_align_top_24px.svg new file mode 100644 index 0000000..7a1cadd --- /dev/null +++ b/src/material-widgets/icons/editor/svg/production/ic_vertical_align_top_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/editor/svg/production/ic_wrap_text_24px.svg b/src/material-widgets/icons/editor/svg/production/ic_wrap_text_24px.svg new file mode 100644 index 0000000..3e11084 --- /dev/null +++ b/src/material-widgets/icons/editor/svg/production/ic_wrap_text_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/file/svg/production/ic_attachment_24px.svg b/src/material-widgets/icons/file/svg/production/ic_attachment_24px.svg new file mode 100644 index 0000000..d244845 --- /dev/null +++ b/src/material-widgets/icons/file/svg/production/ic_attachment_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/file/svg/production/ic_cloud_24px.svg b/src/material-widgets/icons/file/svg/production/ic_cloud_24px.svg new file mode 100644 index 0000000..63f946c --- /dev/null +++ b/src/material-widgets/icons/file/svg/production/ic_cloud_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/file/svg/production/ic_cloud_circle_24px.svg b/src/material-widgets/icons/file/svg/production/ic_cloud_circle_24px.svg new file mode 100644 index 0000000..859be00 --- /dev/null +++ b/src/material-widgets/icons/file/svg/production/ic_cloud_circle_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/file/svg/production/ic_cloud_done_24px.svg b/src/material-widgets/icons/file/svg/production/ic_cloud_done_24px.svg new file mode 100644 index 0000000..96e49c4 --- /dev/null +++ b/src/material-widgets/icons/file/svg/production/ic_cloud_done_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/file/svg/production/ic_cloud_download_24px.svg b/src/material-widgets/icons/file/svg/production/ic_cloud_download_24px.svg new file mode 100644 index 0000000..25d4096 --- /dev/null +++ b/src/material-widgets/icons/file/svg/production/ic_cloud_download_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/file/svg/production/ic_cloud_off_24px.svg b/src/material-widgets/icons/file/svg/production/ic_cloud_off_24px.svg new file mode 100644 index 0000000..16e58c5 --- /dev/null +++ b/src/material-widgets/icons/file/svg/production/ic_cloud_off_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/file/svg/production/ic_cloud_queue_24px.svg b/src/material-widgets/icons/file/svg/production/ic_cloud_queue_24px.svg new file mode 100644 index 0000000..22ddd7d --- /dev/null +++ b/src/material-widgets/icons/file/svg/production/ic_cloud_queue_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/file/svg/production/ic_cloud_upload_24px.svg b/src/material-widgets/icons/file/svg/production/ic_cloud_upload_24px.svg new file mode 100644 index 0000000..69a9622 --- /dev/null +++ b/src/material-widgets/icons/file/svg/production/ic_cloud_upload_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/file/svg/production/ic_create_new_folder_24px.svg b/src/material-widgets/icons/file/svg/production/ic_create_new_folder_24px.svg new file mode 100644 index 0000000..3c9da3d --- /dev/null +++ b/src/material-widgets/icons/file/svg/production/ic_create_new_folder_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/file/svg/production/ic_file_download_24px.svg b/src/material-widgets/icons/file/svg/production/ic_file_download_24px.svg new file mode 100644 index 0000000..ef421c3 --- /dev/null +++ b/src/material-widgets/icons/file/svg/production/ic_file_download_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/file/svg/production/ic_file_upload_24px.svg b/src/material-widgets/icons/file/svg/production/ic_file_upload_24px.svg new file mode 100644 index 0000000..0fe9aad --- /dev/null +++ b/src/material-widgets/icons/file/svg/production/ic_file_upload_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/file/svg/production/ic_folder_24px.svg b/src/material-widgets/icons/file/svg/production/ic_folder_24px.svg new file mode 100644 index 0000000..e70b01c --- /dev/null +++ b/src/material-widgets/icons/file/svg/production/ic_folder_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/file/svg/production/ic_folder_open_24px.svg b/src/material-widgets/icons/file/svg/production/ic_folder_open_24px.svg new file mode 100644 index 0000000..0f59689 --- /dev/null +++ b/src/material-widgets/icons/file/svg/production/ic_folder_open_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/file/svg/production/ic_folder_shared_24px.svg b/src/material-widgets/icons/file/svg/production/ic_folder_shared_24px.svg new file mode 100644 index 0000000..348100e --- /dev/null +++ b/src/material-widgets/icons/file/svg/production/ic_folder_shared_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/hardware/svg/production/ic_cast_24px.svg b/src/material-widgets/icons/hardware/svg/production/ic_cast_24px.svg new file mode 100644 index 0000000..5686cc4 --- /dev/null +++ b/src/material-widgets/icons/hardware/svg/production/ic_cast_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/hardware/svg/production/ic_cast_connected_24px.svg b/src/material-widgets/icons/hardware/svg/production/ic_cast_connected_24px.svg new file mode 100644 index 0000000..38ca2c7 --- /dev/null +++ b/src/material-widgets/icons/hardware/svg/production/ic_cast_connected_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/hardware/svg/production/ic_computer_24px.svg b/src/material-widgets/icons/hardware/svg/production/ic_computer_24px.svg new file mode 100644 index 0000000..6a0af7e --- /dev/null +++ b/src/material-widgets/icons/hardware/svg/production/ic_computer_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/hardware/svg/production/ic_desktop_mac_24px.svg b/src/material-widgets/icons/hardware/svg/production/ic_desktop_mac_24px.svg new file mode 100644 index 0000000..8e408af --- /dev/null +++ b/src/material-widgets/icons/hardware/svg/production/ic_desktop_mac_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/hardware/svg/production/ic_desktop_windows_24px.svg b/src/material-widgets/icons/hardware/svg/production/ic_desktop_windows_24px.svg new file mode 100644 index 0000000..56d3324 --- /dev/null +++ b/src/material-widgets/icons/hardware/svg/production/ic_desktop_windows_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/hardware/svg/production/ic_developer_board_24px.svg b/src/material-widgets/icons/hardware/svg/production/ic_developer_board_24px.svg new file mode 100755 index 0000000..4efcd93 --- /dev/null +++ b/src/material-widgets/icons/hardware/svg/production/ic_developer_board_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/hardware/svg/production/ic_device_hub_24px.svg b/src/material-widgets/icons/hardware/svg/production/ic_device_hub_24px.svg new file mode 100644 index 0000000..f1c8e73 --- /dev/null +++ b/src/material-widgets/icons/hardware/svg/production/ic_device_hub_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/hardware/svg/production/ic_devices_other_24px.svg b/src/material-widgets/icons/hardware/svg/production/ic_devices_other_24px.svg new file mode 100644 index 0000000..43768e8 --- /dev/null +++ b/src/material-widgets/icons/hardware/svg/production/ic_devices_other_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/hardware/svg/production/ic_dock_24px.svg b/src/material-widgets/icons/hardware/svg/production/ic_dock_24px.svg new file mode 100644 index 0000000..ee94230 --- /dev/null +++ b/src/material-widgets/icons/hardware/svg/production/ic_dock_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/hardware/svg/production/ic_gamepad_24px.svg b/src/material-widgets/icons/hardware/svg/production/ic_gamepad_24px.svg new file mode 100644 index 0000000..62a4c9b --- /dev/null +++ b/src/material-widgets/icons/hardware/svg/production/ic_gamepad_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/hardware/svg/production/ic_headset_24px.svg b/src/material-widgets/icons/hardware/svg/production/ic_headset_24px.svg new file mode 100644 index 0000000..bdeb1eb --- /dev/null +++ b/src/material-widgets/icons/hardware/svg/production/ic_headset_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/hardware/svg/production/ic_headset_mic_24px.svg b/src/material-widgets/icons/hardware/svg/production/ic_headset_mic_24px.svg new file mode 100644 index 0000000..dba0e66 --- /dev/null +++ b/src/material-widgets/icons/hardware/svg/production/ic_headset_mic_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/hardware/svg/production/ic_keyboard_24px.svg b/src/material-widgets/icons/hardware/svg/production/ic_keyboard_24px.svg new file mode 100644 index 0000000..acbf11c --- /dev/null +++ b/src/material-widgets/icons/hardware/svg/production/ic_keyboard_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/hardware/svg/production/ic_keyboard_arrow_down_24px.svg b/src/material-widgets/icons/hardware/svg/production/ic_keyboard_arrow_down_24px.svg new file mode 100644 index 0000000..ed92639 --- /dev/null +++ b/src/material-widgets/icons/hardware/svg/production/ic_keyboard_arrow_down_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/hardware/svg/production/ic_keyboard_arrow_left_24px.svg b/src/material-widgets/icons/hardware/svg/production/ic_keyboard_arrow_left_24px.svg new file mode 100644 index 0000000..7002d84 --- /dev/null +++ b/src/material-widgets/icons/hardware/svg/production/ic_keyboard_arrow_left_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/hardware/svg/production/ic_keyboard_arrow_right_24px.svg b/src/material-widgets/icons/hardware/svg/production/ic_keyboard_arrow_right_24px.svg new file mode 100644 index 0000000..e74898b --- /dev/null +++ b/src/material-widgets/icons/hardware/svg/production/ic_keyboard_arrow_right_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/hardware/svg/production/ic_keyboard_arrow_up_24px.svg b/src/material-widgets/icons/hardware/svg/production/ic_keyboard_arrow_up_24px.svg new file mode 100644 index 0000000..607eb15 --- /dev/null +++ b/src/material-widgets/icons/hardware/svg/production/ic_keyboard_arrow_up_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/hardware/svg/production/ic_keyboard_backspace_24px.svg b/src/material-widgets/icons/hardware/svg/production/ic_keyboard_backspace_24px.svg new file mode 100644 index 0000000..26fc18e --- /dev/null +++ b/src/material-widgets/icons/hardware/svg/production/ic_keyboard_backspace_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/hardware/svg/production/ic_keyboard_capslock_24px.svg b/src/material-widgets/icons/hardware/svg/production/ic_keyboard_capslock_24px.svg new file mode 100644 index 0000000..2420341 --- /dev/null +++ b/src/material-widgets/icons/hardware/svg/production/ic_keyboard_capslock_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/hardware/svg/production/ic_keyboard_hide_24px.svg b/src/material-widgets/icons/hardware/svg/production/ic_keyboard_hide_24px.svg new file mode 100644 index 0000000..7f279fa --- /dev/null +++ b/src/material-widgets/icons/hardware/svg/production/ic_keyboard_hide_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/hardware/svg/production/ic_keyboard_return_24px.svg b/src/material-widgets/icons/hardware/svg/production/ic_keyboard_return_24px.svg new file mode 100644 index 0000000..48b52b6 --- /dev/null +++ b/src/material-widgets/icons/hardware/svg/production/ic_keyboard_return_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/hardware/svg/production/ic_keyboard_tab_24px.svg b/src/material-widgets/icons/hardware/svg/production/ic_keyboard_tab_24px.svg new file mode 100644 index 0000000..7348895 --- /dev/null +++ b/src/material-widgets/icons/hardware/svg/production/ic_keyboard_tab_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/hardware/svg/production/ic_keyboard_voice_24px.svg b/src/material-widgets/icons/hardware/svg/production/ic_keyboard_voice_24px.svg new file mode 100644 index 0000000..513e0fd --- /dev/null +++ b/src/material-widgets/icons/hardware/svg/production/ic_keyboard_voice_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/hardware/svg/production/ic_laptop_24px.svg b/src/material-widgets/icons/hardware/svg/production/ic_laptop_24px.svg new file mode 100755 index 0000000..405ef0a --- /dev/null +++ b/src/material-widgets/icons/hardware/svg/production/ic_laptop_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/hardware/svg/production/ic_laptop_chromebook_24px.svg b/src/material-widgets/icons/hardware/svg/production/ic_laptop_chromebook_24px.svg new file mode 100644 index 0000000..0918cf8 --- /dev/null +++ b/src/material-widgets/icons/hardware/svg/production/ic_laptop_chromebook_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/hardware/svg/production/ic_laptop_mac_24px.svg b/src/material-widgets/icons/hardware/svg/production/ic_laptop_mac_24px.svg new file mode 100644 index 0000000..e630d7e --- /dev/null +++ b/src/material-widgets/icons/hardware/svg/production/ic_laptop_mac_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/hardware/svg/production/ic_laptop_windows_24px.svg b/src/material-widgets/icons/hardware/svg/production/ic_laptop_windows_24px.svg new file mode 100644 index 0000000..0522324 --- /dev/null +++ b/src/material-widgets/icons/hardware/svg/production/ic_laptop_windows_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/hardware/svg/production/ic_memory_24px.svg b/src/material-widgets/icons/hardware/svg/production/ic_memory_24px.svg new file mode 100644 index 0000000..b7fe44f --- /dev/null +++ b/src/material-widgets/icons/hardware/svg/production/ic_memory_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/hardware/svg/production/ic_mouse_24px.svg b/src/material-widgets/icons/hardware/svg/production/ic_mouse_24px.svg new file mode 100644 index 0000000..ff5184c --- /dev/null +++ b/src/material-widgets/icons/hardware/svg/production/ic_mouse_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/hardware/svg/production/ic_phone_android_24px.svg b/src/material-widgets/icons/hardware/svg/production/ic_phone_android_24px.svg new file mode 100644 index 0000000..b7a256b --- /dev/null +++ b/src/material-widgets/icons/hardware/svg/production/ic_phone_android_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/hardware/svg/production/ic_phone_iphone_24px.svg b/src/material-widgets/icons/hardware/svg/production/ic_phone_iphone_24px.svg new file mode 100644 index 0000000..91ad0e0 --- /dev/null +++ b/src/material-widgets/icons/hardware/svg/production/ic_phone_iphone_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/hardware/svg/production/ic_phonelink_24px.svg b/src/material-widgets/icons/hardware/svg/production/ic_phonelink_24px.svg new file mode 100644 index 0000000..266e993 --- /dev/null +++ b/src/material-widgets/icons/hardware/svg/production/ic_phonelink_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/hardware/svg/production/ic_phonelink_off_24px.svg b/src/material-widgets/icons/hardware/svg/production/ic_phonelink_off_24px.svg new file mode 100644 index 0000000..33b4771 --- /dev/null +++ b/src/material-widgets/icons/hardware/svg/production/ic_phonelink_off_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/hardware/svg/production/ic_power_input_24px.svg b/src/material-widgets/icons/hardware/svg/production/ic_power_input_24px.svg new file mode 100755 index 0000000..353d4ce --- /dev/null +++ b/src/material-widgets/icons/hardware/svg/production/ic_power_input_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/hardware/svg/production/ic_router_24px.svg b/src/material-widgets/icons/hardware/svg/production/ic_router_24px.svg new file mode 100755 index 0000000..0c38782 --- /dev/null +++ b/src/material-widgets/icons/hardware/svg/production/ic_router_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/hardware/svg/production/ic_scanner_24px.svg b/src/material-widgets/icons/hardware/svg/production/ic_scanner_24px.svg new file mode 100755 index 0000000..827c151 --- /dev/null +++ b/src/material-widgets/icons/hardware/svg/production/ic_scanner_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/hardware/svg/production/ic_security_24px.svg b/src/material-widgets/icons/hardware/svg/production/ic_security_24px.svg new file mode 100644 index 0000000..f855309 --- /dev/null +++ b/src/material-widgets/icons/hardware/svg/production/ic_security_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/hardware/svg/production/ic_sim_card_24px.svg b/src/material-widgets/icons/hardware/svg/production/ic_sim_card_24px.svg new file mode 100644 index 0000000..b717193 --- /dev/null +++ b/src/material-widgets/icons/hardware/svg/production/ic_sim_card_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/hardware/svg/production/ic_smartphone_24px.svg b/src/material-widgets/icons/hardware/svg/production/ic_smartphone_24px.svg new file mode 100644 index 0000000..db4537f --- /dev/null +++ b/src/material-widgets/icons/hardware/svg/production/ic_smartphone_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/hardware/svg/production/ic_speaker_24px.svg b/src/material-widgets/icons/hardware/svg/production/ic_speaker_24px.svg new file mode 100644 index 0000000..fe95bef --- /dev/null +++ b/src/material-widgets/icons/hardware/svg/production/ic_speaker_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/hardware/svg/production/ic_speaker_group_24px.svg b/src/material-widgets/icons/hardware/svg/production/ic_speaker_group_24px.svg new file mode 100755 index 0000000..5ea98a7 --- /dev/null +++ b/src/material-widgets/icons/hardware/svg/production/ic_speaker_group_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/hardware/svg/production/ic_tablet_24px.svg b/src/material-widgets/icons/hardware/svg/production/ic_tablet_24px.svg new file mode 100644 index 0000000..f5390cc --- /dev/null +++ b/src/material-widgets/icons/hardware/svg/production/ic_tablet_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/hardware/svg/production/ic_tablet_android_24px.svg b/src/material-widgets/icons/hardware/svg/production/ic_tablet_android_24px.svg new file mode 100755 index 0000000..9e4301b --- /dev/null +++ b/src/material-widgets/icons/hardware/svg/production/ic_tablet_android_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/hardware/svg/production/ic_tablet_mac_24px.svg b/src/material-widgets/icons/hardware/svg/production/ic_tablet_mac_24px.svg new file mode 100644 index 0000000..cb4ae22 --- /dev/null +++ b/src/material-widgets/icons/hardware/svg/production/ic_tablet_mac_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/hardware/svg/production/ic_toys_24px.svg b/src/material-widgets/icons/hardware/svg/production/ic_toys_24px.svg new file mode 100755 index 0000000..faef6a0 --- /dev/null +++ b/src/material-widgets/icons/hardware/svg/production/ic_toys_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/hardware/svg/production/ic_tv_24px.svg b/src/material-widgets/icons/hardware/svg/production/ic_tv_24px.svg new file mode 100644 index 0000000..6954135 --- /dev/null +++ b/src/material-widgets/icons/hardware/svg/production/ic_tv_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/hardware/svg/production/ic_videogame_asset_24px.svg b/src/material-widgets/icons/hardware/svg/production/ic_videogame_asset_24px.svg new file mode 100644 index 0000000..af4c4b0 --- /dev/null +++ b/src/material-widgets/icons/hardware/svg/production/ic_videogame_asset_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/hardware/svg/production/ic_watch_24px.svg b/src/material-widgets/icons/hardware/svg/production/ic_watch_24px.svg new file mode 100644 index 0000000..a759e1b --- /dev/null +++ b/src/material-widgets/icons/hardware/svg/production/ic_watch_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_add_a_photo_24px.svg b/src/material-widgets/icons/image/svg/production/ic_add_a_photo_24px.svg new file mode 100644 index 0000000..98c6d86 --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_add_a_photo_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_add_to_photos_24px.svg b/src/material-widgets/icons/image/svg/production/ic_add_to_photos_24px.svg new file mode 100644 index 0000000..baea3e9 --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_add_to_photos_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_adjust_24px.svg b/src/material-widgets/icons/image/svg/production/ic_adjust_24px.svg new file mode 100644 index 0000000..a096236 --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_adjust_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_assistant_24px.svg b/src/material-widgets/icons/image/svg/production/ic_assistant_24px.svg new file mode 100755 index 0000000..a183f73 --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_assistant_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_assistant_photo_24px.svg b/src/material-widgets/icons/image/svg/production/ic_assistant_photo_24px.svg new file mode 100644 index 0000000..eaf3ff4 --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_assistant_photo_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_audiotrack_24px.svg b/src/material-widgets/icons/image/svg/production/ic_audiotrack_24px.svg new file mode 100644 index 0000000..0cda5dd --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_audiotrack_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_blur_circular_24px.svg b/src/material-widgets/icons/image/svg/production/ic_blur_circular_24px.svg new file mode 100644 index 0000000..3a91b1d --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_blur_circular_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_blur_linear_24px.svg b/src/material-widgets/icons/image/svg/production/ic_blur_linear_24px.svg new file mode 100644 index 0000000..1f2590f --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_blur_linear_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_blur_off_24px.svg b/src/material-widgets/icons/image/svg/production/ic_blur_off_24px.svg new file mode 100644 index 0000000..532ef8f --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_blur_off_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_blur_on_24px.svg b/src/material-widgets/icons/image/svg/production/ic_blur_on_24px.svg new file mode 100644 index 0000000..0983b48 --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_blur_on_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_brightness_1_24px.svg b/src/material-widgets/icons/image/svg/production/ic_brightness_1_24px.svg new file mode 100644 index 0000000..575b111 --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_brightness_1_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_brightness_2_24px.svg b/src/material-widgets/icons/image/svg/production/ic_brightness_2_24px.svg new file mode 100644 index 0000000..c963e0b --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_brightness_2_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_brightness_3_24px.svg b/src/material-widgets/icons/image/svg/production/ic_brightness_3_24px.svg new file mode 100644 index 0000000..3048e31 --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_brightness_3_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_brightness_4_24px.svg b/src/material-widgets/icons/image/svg/production/ic_brightness_4_24px.svg new file mode 100644 index 0000000..2566874 --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_brightness_4_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_brightness_5_24px.svg b/src/material-widgets/icons/image/svg/production/ic_brightness_5_24px.svg new file mode 100644 index 0000000..2b6d29d --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_brightness_5_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_brightness_6_24px.svg b/src/material-widgets/icons/image/svg/production/ic_brightness_6_24px.svg new file mode 100644 index 0000000..dc29999 --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_brightness_6_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_brightness_7_24px.svg b/src/material-widgets/icons/image/svg/production/ic_brightness_7_24px.svg new file mode 100644 index 0000000..f4a2b29 --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_brightness_7_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_broken_image_24px.svg b/src/material-widgets/icons/image/svg/production/ic_broken_image_24px.svg new file mode 100644 index 0000000..fe22b4b --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_broken_image_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_brush_24px.svg b/src/material-widgets/icons/image/svg/production/ic_brush_24px.svg new file mode 100644 index 0000000..5f79966 --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_brush_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_burst_mode_24px.svg b/src/material-widgets/icons/image/svg/production/ic_burst_mode_24px.svg new file mode 100644 index 0000000..6923324 --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_burst_mode_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_camera_24px.svg b/src/material-widgets/icons/image/svg/production/ic_camera_24px.svg new file mode 100644 index 0000000..e78e6b3 --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_camera_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_camera_alt_24px.svg b/src/material-widgets/icons/image/svg/production/ic_camera_alt_24px.svg new file mode 100644 index 0000000..94960bf --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_camera_alt_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_camera_front_24px.svg b/src/material-widgets/icons/image/svg/production/ic_camera_front_24px.svg new file mode 100644 index 0000000..43ea4d2 --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_camera_front_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_camera_rear_24px.svg b/src/material-widgets/icons/image/svg/production/ic_camera_rear_24px.svg new file mode 100644 index 0000000..3c6fbb1 --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_camera_rear_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_camera_roll_24px.svg b/src/material-widgets/icons/image/svg/production/ic_camera_roll_24px.svg new file mode 100644 index 0000000..06c7023 --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_camera_roll_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_center_focus_strong_24px.svg b/src/material-widgets/icons/image/svg/production/ic_center_focus_strong_24px.svg new file mode 100644 index 0000000..85b0d4b --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_center_focus_strong_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_center_focus_weak_24px.svg b/src/material-widgets/icons/image/svg/production/ic_center_focus_weak_24px.svg new file mode 100644 index 0000000..330a82f --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_center_focus_weak_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_collections_24px.svg b/src/material-widgets/icons/image/svg/production/ic_collections_24px.svg new file mode 100644 index 0000000..3af788b --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_collections_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_collections_bookmark_24px.svg b/src/material-widgets/icons/image/svg/production/ic_collections_bookmark_24px.svg new file mode 100644 index 0000000..7f7c541 --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_collections_bookmark_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_color_lens_24px.svg b/src/material-widgets/icons/image/svg/production/ic_color_lens_24px.svg new file mode 100644 index 0000000..c5fc873 --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_color_lens_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_colorize_24px.svg b/src/material-widgets/icons/image/svg/production/ic_colorize_24px.svg new file mode 100644 index 0000000..ccdd273 --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_colorize_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_compare_24px.svg b/src/material-widgets/icons/image/svg/production/ic_compare_24px.svg new file mode 100644 index 0000000..131506b --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_compare_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_control_point_24px.svg b/src/material-widgets/icons/image/svg/production/ic_control_point_24px.svg new file mode 100644 index 0000000..9275b0e --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_control_point_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_control_point_duplicate_24px.svg b/src/material-widgets/icons/image/svg/production/ic_control_point_duplicate_24px.svg new file mode 100644 index 0000000..fe09988 --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_control_point_duplicate_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_crop_16_9_24px.svg b/src/material-widgets/icons/image/svg/production/ic_crop_16_9_24px.svg new file mode 100644 index 0000000..7be7919 --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_crop_16_9_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_crop_24px.svg b/src/material-widgets/icons/image/svg/production/ic_crop_24px.svg new file mode 100644 index 0000000..f508de3 --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_crop_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_crop_3_2_24px.svg b/src/material-widgets/icons/image/svg/production/ic_crop_3_2_24px.svg new file mode 100644 index 0000000..3dee425 --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_crop_3_2_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_crop_5_4_24px.svg b/src/material-widgets/icons/image/svg/production/ic_crop_5_4_24px.svg new file mode 100644 index 0000000..13c5050 --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_crop_5_4_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_crop_7_5_24px.svg b/src/material-widgets/icons/image/svg/production/ic_crop_7_5_24px.svg new file mode 100644 index 0000000..8a48573 --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_crop_7_5_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_crop_din_24px.svg b/src/material-widgets/icons/image/svg/production/ic_crop_din_24px.svg new file mode 100644 index 0000000..7a2362a --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_crop_din_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_crop_free_24px.svg b/src/material-widgets/icons/image/svg/production/ic_crop_free_24px.svg new file mode 100644 index 0000000..99f7183 --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_crop_free_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_crop_landscape_24px.svg b/src/material-widgets/icons/image/svg/production/ic_crop_landscape_24px.svg new file mode 100644 index 0000000..13c5050 --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_crop_landscape_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_crop_original_24px.svg b/src/material-widgets/icons/image/svg/production/ic_crop_original_24px.svg new file mode 100644 index 0000000..4084151 --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_crop_original_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_crop_portrait_24px.svg b/src/material-widgets/icons/image/svg/production/ic_crop_portrait_24px.svg new file mode 100644 index 0000000..78a7fe1 --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_crop_portrait_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_crop_rotate_24px.svg b/src/material-widgets/icons/image/svg/production/ic_crop_rotate_24px.svg new file mode 100644 index 0000000..3661fff --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_crop_rotate_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_crop_square_24px.svg b/src/material-widgets/icons/image/svg/production/ic_crop_square_24px.svg new file mode 100644 index 0000000..ac46175 --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_crop_square_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_dehaze_24px.svg b/src/material-widgets/icons/image/svg/production/ic_dehaze_24px.svg new file mode 100644 index 0000000..bae2109 --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_dehaze_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_details_24px.svg b/src/material-widgets/icons/image/svg/production/ic_details_24px.svg new file mode 100644 index 0000000..3eca3fb --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_details_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_edit_24px.svg b/src/material-widgets/icons/image/svg/production/ic_edit_24px.svg new file mode 100644 index 0000000..f5ddfe1 --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_edit_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_exposure_24px.svg b/src/material-widgets/icons/image/svg/production/ic_exposure_24px.svg new file mode 100644 index 0000000..c5a3382 --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_exposure_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_exposure_neg_1_24px.svg b/src/material-widgets/icons/image/svg/production/ic_exposure_neg_1_24px.svg new file mode 100644 index 0000000..71be874 --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_exposure_neg_1_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_exposure_neg_2_24px.svg b/src/material-widgets/icons/image/svg/production/ic_exposure_neg_2_24px.svg new file mode 100644 index 0000000..b1f453d --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_exposure_neg_2_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_exposure_plus_1_24px.svg b/src/material-widgets/icons/image/svg/production/ic_exposure_plus_1_24px.svg new file mode 100644 index 0000000..f5921c2 --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_exposure_plus_1_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_exposure_plus_2_24px.svg b/src/material-widgets/icons/image/svg/production/ic_exposure_plus_2_24px.svg new file mode 100644 index 0000000..14c3e09 --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_exposure_plus_2_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_exposure_zero_24px.svg b/src/material-widgets/icons/image/svg/production/ic_exposure_zero_24px.svg new file mode 100644 index 0000000..cf710bb --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_exposure_zero_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_filter_1_24px.svg b/src/material-widgets/icons/image/svg/production/ic_filter_1_24px.svg new file mode 100644 index 0000000..0e81a46 --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_filter_1_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_filter_24px.svg b/src/material-widgets/icons/image/svg/production/ic_filter_24px.svg new file mode 100644 index 0000000..40ccd8c --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_filter_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_filter_2_24px.svg b/src/material-widgets/icons/image/svg/production/ic_filter_2_24px.svg new file mode 100644 index 0000000..101c3b3 --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_filter_2_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_filter_3_24px.svg b/src/material-widgets/icons/image/svg/production/ic_filter_3_24px.svg new file mode 100644 index 0000000..57d2cd7 --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_filter_3_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_filter_4_24px.svg b/src/material-widgets/icons/image/svg/production/ic_filter_4_24px.svg new file mode 100644 index 0000000..2bb6ee7 --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_filter_4_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_filter_5_24px.svg b/src/material-widgets/icons/image/svg/production/ic_filter_5_24px.svg new file mode 100644 index 0000000..6e4a763 --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_filter_5_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_filter_6_24px.svg b/src/material-widgets/icons/image/svg/production/ic_filter_6_24px.svg new file mode 100644 index 0000000..e3f31f3 --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_filter_6_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_filter_7_24px.svg b/src/material-widgets/icons/image/svg/production/ic_filter_7_24px.svg new file mode 100644 index 0000000..76e3aaf --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_filter_7_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_filter_8_24px.svg b/src/material-widgets/icons/image/svg/production/ic_filter_8_24px.svg new file mode 100644 index 0000000..fc7305d --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_filter_8_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_filter_9_24px.svg b/src/material-widgets/icons/image/svg/production/ic_filter_9_24px.svg new file mode 100644 index 0000000..636b205 --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_filter_9_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_filter_9_plus_24px.svg b/src/material-widgets/icons/image/svg/production/ic_filter_9_plus_24px.svg new file mode 100644 index 0000000..5f30216 --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_filter_9_plus_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_filter_b_and_w_24px.svg b/src/material-widgets/icons/image/svg/production/ic_filter_b_and_w_24px.svg new file mode 100644 index 0000000..1c97939 --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_filter_b_and_w_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_filter_center_focus_24px.svg b/src/material-widgets/icons/image/svg/production/ic_filter_center_focus_24px.svg new file mode 100644 index 0000000..c501264 --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_filter_center_focus_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_filter_drama_24px.svg b/src/material-widgets/icons/image/svg/production/ic_filter_drama_24px.svg new file mode 100644 index 0000000..6e12efc --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_filter_drama_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_filter_frames_24px.svg b/src/material-widgets/icons/image/svg/production/ic_filter_frames_24px.svg new file mode 100644 index 0000000..1332006 --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_filter_frames_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_filter_hdr_24px.svg b/src/material-widgets/icons/image/svg/production/ic_filter_hdr_24px.svg new file mode 100644 index 0000000..b239af7 --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_filter_hdr_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_filter_none_24px.svg b/src/material-widgets/icons/image/svg/production/ic_filter_none_24px.svg new file mode 100644 index 0000000..36f86a3 --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_filter_none_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_filter_tilt_shift_24px.svg b/src/material-widgets/icons/image/svg/production/ic_filter_tilt_shift_24px.svg new file mode 100644 index 0000000..a2ce281 --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_filter_tilt_shift_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_filter_vintage_24px.svg b/src/material-widgets/icons/image/svg/production/ic_filter_vintage_24px.svg new file mode 100644 index 0000000..a78b53b --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_filter_vintage_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_flare_24px.svg b/src/material-widgets/icons/image/svg/production/ic_flare_24px.svg new file mode 100644 index 0000000..198a483 --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_flare_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_flash_auto_24px.svg b/src/material-widgets/icons/image/svg/production/ic_flash_auto_24px.svg new file mode 100644 index 0000000..beeccfd --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_flash_auto_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_flash_off_24px.svg b/src/material-widgets/icons/image/svg/production/ic_flash_off_24px.svg new file mode 100644 index 0000000..b0ec0ee --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_flash_off_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_flash_on_24px.svg b/src/material-widgets/icons/image/svg/production/ic_flash_on_24px.svg new file mode 100644 index 0000000..e948043 --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_flash_on_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_flip_24px.svg b/src/material-widgets/icons/image/svg/production/ic_flip_24px.svg new file mode 100644 index 0000000..4131540 --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_flip_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_gradient_24px.svg b/src/material-widgets/icons/image/svg/production/ic_gradient_24px.svg new file mode 100644 index 0000000..8320b4a --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_gradient_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_grain_24px.svg b/src/material-widgets/icons/image/svg/production/ic_grain_24px.svg new file mode 100644 index 0000000..66c0588 --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_grain_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_grid_off_24px.svg b/src/material-widgets/icons/image/svg/production/ic_grid_off_24px.svg new file mode 100644 index 0000000..58702c8 --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_grid_off_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_grid_on_24px.svg b/src/material-widgets/icons/image/svg/production/ic_grid_on_24px.svg new file mode 100644 index 0000000..3caf213 --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_grid_on_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_hdr_off_24px.svg b/src/material-widgets/icons/image/svg/production/ic_hdr_off_24px.svg new file mode 100644 index 0000000..1232bbf --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_hdr_off_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_hdr_on_24px.svg b/src/material-widgets/icons/image/svg/production/ic_hdr_on_24px.svg new file mode 100755 index 0000000..9acaafa --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_hdr_on_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_hdr_strong_24px.svg b/src/material-widgets/icons/image/svg/production/ic_hdr_strong_24px.svg new file mode 100644 index 0000000..cf68b9e --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_hdr_strong_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_hdr_weak_24px.svg b/src/material-widgets/icons/image/svg/production/ic_hdr_weak_24px.svg new file mode 100644 index 0000000..1554922 --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_hdr_weak_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_healing_24px.svg b/src/material-widgets/icons/image/svg/production/ic_healing_24px.svg new file mode 100644 index 0000000..cf4ec96 --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_healing_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_image_24px.svg b/src/material-widgets/icons/image/svg/production/ic_image_24px.svg new file mode 100644 index 0000000..6ccc16a --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_image_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_image_aspect_ratio_24px.svg b/src/material-widgets/icons/image/svg/production/ic_image_aspect_ratio_24px.svg new file mode 100644 index 0000000..4a8b293 --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_image_aspect_ratio_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_iso_24px.svg b/src/material-widgets/icons/image/svg/production/ic_iso_24px.svg new file mode 100644 index 0000000..873aaa2 --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_iso_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_landscape_24px.svg b/src/material-widgets/icons/image/svg/production/ic_landscape_24px.svg new file mode 100644 index 0000000..b239af7 --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_landscape_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_leak_add_24px.svg b/src/material-widgets/icons/image/svg/production/ic_leak_add_24px.svg new file mode 100644 index 0000000..9b861bc --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_leak_add_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_leak_remove_24px.svg b/src/material-widgets/icons/image/svg/production/ic_leak_remove_24px.svg new file mode 100644 index 0000000..546c3d8 --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_leak_remove_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_lens_24px.svg b/src/material-widgets/icons/image/svg/production/ic_lens_24px.svg new file mode 100644 index 0000000..ced343a --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_lens_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_linked_camera_24px.svg b/src/material-widgets/icons/image/svg/production/ic_linked_camera_24px.svg new file mode 100644 index 0000000..ec78871 --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_linked_camera_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_looks_24px.svg b/src/material-widgets/icons/image/svg/production/ic_looks_24px.svg new file mode 100644 index 0000000..b4ca971 --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_looks_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_looks_3_24px.svg b/src/material-widgets/icons/image/svg/production/ic_looks_3_24px.svg new file mode 100644 index 0000000..114d59a --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_looks_3_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_looks_4_24px.svg b/src/material-widgets/icons/image/svg/production/ic_looks_4_24px.svg new file mode 100644 index 0000000..393b327 --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_looks_4_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_looks_5_24px.svg b/src/material-widgets/icons/image/svg/production/ic_looks_5_24px.svg new file mode 100644 index 0000000..6a1d1ed --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_looks_5_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_looks_6_24px.svg b/src/material-widgets/icons/image/svg/production/ic_looks_6_24px.svg new file mode 100644 index 0000000..c323da8 --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_looks_6_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_looks_one_24px.svg b/src/material-widgets/icons/image/svg/production/ic_looks_one_24px.svg new file mode 100644 index 0000000..b399d47 --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_looks_one_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_looks_two_24px.svg b/src/material-widgets/icons/image/svg/production/ic_looks_two_24px.svg new file mode 100644 index 0000000..845b590 --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_looks_two_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_loupe_24px.svg b/src/material-widgets/icons/image/svg/production/ic_loupe_24px.svg new file mode 100644 index 0000000..dcd1a4b --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_loupe_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_monochrome_photos_24px.svg b/src/material-widgets/icons/image/svg/production/ic_monochrome_photos_24px.svg new file mode 100755 index 0000000..2b72560 --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_monochrome_photos_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_movie_creation_24px.svg b/src/material-widgets/icons/image/svg/production/ic_movie_creation_24px.svg new file mode 100644 index 0000000..8bbbb53 --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_movie_creation_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_movie_filter_24px.svg b/src/material-widgets/icons/image/svg/production/ic_movie_filter_24px.svg new file mode 100644 index 0000000..8c6473d --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_movie_filter_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_music_note_24px.svg b/src/material-widgets/icons/image/svg/production/ic_music_note_24px.svg new file mode 100755 index 0000000..cdc42fc --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_music_note_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_nature_24px.svg b/src/material-widgets/icons/image/svg/production/ic_nature_24px.svg new file mode 100644 index 0000000..1d1e1c7 --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_nature_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_nature_people_24px.svg b/src/material-widgets/icons/image/svg/production/ic_nature_people_24px.svg new file mode 100644 index 0000000..28a2e89 --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_nature_people_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_navigate_before_24px.svg b/src/material-widgets/icons/image/svg/production/ic_navigate_before_24px.svg new file mode 100644 index 0000000..36e6e99 --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_navigate_before_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_navigate_next_24px.svg b/src/material-widgets/icons/image/svg/production/ic_navigate_next_24px.svg new file mode 100644 index 0000000..47ed5fe --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_navigate_next_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_palette_24px.svg b/src/material-widgets/icons/image/svg/production/ic_palette_24px.svg new file mode 100644 index 0000000..c5fc873 --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_palette_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_panorama_24px.svg b/src/material-widgets/icons/image/svg/production/ic_panorama_24px.svg new file mode 100644 index 0000000..312bb52 --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_panorama_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_panorama_fish_eye_24px.svg b/src/material-widgets/icons/image/svg/production/ic_panorama_fish_eye_24px.svg new file mode 100644 index 0000000..81123c6 --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_panorama_fish_eye_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_panorama_horizontal_24px.svg b/src/material-widgets/icons/image/svg/production/ic_panorama_horizontal_24px.svg new file mode 100644 index 0000000..56791f0 --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_panorama_horizontal_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_panorama_vertical_24px.svg b/src/material-widgets/icons/image/svg/production/ic_panorama_vertical_24px.svg new file mode 100644 index 0000000..5f428f5 --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_panorama_vertical_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_panorama_wide_angle_24px.svg b/src/material-widgets/icons/image/svg/production/ic_panorama_wide_angle_24px.svg new file mode 100644 index 0000000..45996f8 --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_panorama_wide_angle_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_photo_24px.svg b/src/material-widgets/icons/image/svg/production/ic_photo_24px.svg new file mode 100644 index 0000000..6ccc16a --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_photo_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_photo_album_24px.svg b/src/material-widgets/icons/image/svg/production/ic_photo_album_24px.svg new file mode 100644 index 0000000..5da0d40 --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_photo_album_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_photo_camera_24px.svg b/src/material-widgets/icons/image/svg/production/ic_photo_camera_24px.svg new file mode 100644 index 0000000..94960bf --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_photo_camera_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_photo_filter_24px.svg b/src/material-widgets/icons/image/svg/production/ic_photo_filter_24px.svg new file mode 100644 index 0000000..e627995 --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_photo_filter_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_photo_library_24px.svg b/src/material-widgets/icons/image/svg/production/ic_photo_library_24px.svg new file mode 100644 index 0000000..3af788b --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_photo_library_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_photo_size_select_actual_24px.svg b/src/material-widgets/icons/image/svg/production/ic_photo_size_select_actual_24px.svg new file mode 100644 index 0000000..1102b34 --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_photo_size_select_actual_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_photo_size_select_large_24px.svg b/src/material-widgets/icons/image/svg/production/ic_photo_size_select_large_24px.svg new file mode 100644 index 0000000..074d75a --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_photo_size_select_large_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_photo_size_select_small_24px.svg b/src/material-widgets/icons/image/svg/production/ic_photo_size_select_small_24px.svg new file mode 100644 index 0000000..7dbd961 --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_photo_size_select_small_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_picture_as_pdf_24px.svg b/src/material-widgets/icons/image/svg/production/ic_picture_as_pdf_24px.svg new file mode 100755 index 0000000..e50f55f --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_picture_as_pdf_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_portrait_24px.svg b/src/material-widgets/icons/image/svg/production/ic_portrait_24px.svg new file mode 100644 index 0000000..685a339 --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_portrait_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_remove_red_eye_24px.svg b/src/material-widgets/icons/image/svg/production/ic_remove_red_eye_24px.svg new file mode 100644 index 0000000..5c700e3 --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_remove_red_eye_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_rotate_90_degrees_ccw_24px.svg b/src/material-widgets/icons/image/svg/production/ic_rotate_90_degrees_ccw_24px.svg new file mode 100755 index 0000000..4268bb7 --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_rotate_90_degrees_ccw_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_rotate_left_24px.svg b/src/material-widgets/icons/image/svg/production/ic_rotate_left_24px.svg new file mode 100644 index 0000000..6766814 --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_rotate_left_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_rotate_right_24px.svg b/src/material-widgets/icons/image/svg/production/ic_rotate_right_24px.svg new file mode 100644 index 0000000..0269224 --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_rotate_right_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_slideshow_24px.svg b/src/material-widgets/icons/image/svg/production/ic_slideshow_24px.svg new file mode 100644 index 0000000..079a6be --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_slideshow_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_straighten_24px.svg b/src/material-widgets/icons/image/svg/production/ic_straighten_24px.svg new file mode 100644 index 0000000..d161c5e --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_straighten_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_style_24px.svg b/src/material-widgets/icons/image/svg/production/ic_style_24px.svg new file mode 100644 index 0000000..cce7564 --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_style_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_switch_camera_24px.svg b/src/material-widgets/icons/image/svg/production/ic_switch_camera_24px.svg new file mode 100644 index 0000000..979b015 --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_switch_camera_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_switch_video_24px.svg b/src/material-widgets/icons/image/svg/production/ic_switch_video_24px.svg new file mode 100644 index 0000000..821e50d --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_switch_video_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_tag_faces_24px.svg b/src/material-widgets/icons/image/svg/production/ic_tag_faces_24px.svg new file mode 100644 index 0000000..57bea0f --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_tag_faces_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_texture_24px.svg b/src/material-widgets/icons/image/svg/production/ic_texture_24px.svg new file mode 100644 index 0000000..b86bf95 --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_texture_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_timelapse_24px.svg b/src/material-widgets/icons/image/svg/production/ic_timelapse_24px.svg new file mode 100644 index 0000000..6a3e4fe --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_timelapse_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_timer_10_24px.svg b/src/material-widgets/icons/image/svg/production/ic_timer_10_24px.svg new file mode 100644 index 0000000..95c3304 --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_timer_10_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_timer_24px.svg b/src/material-widgets/icons/image/svg/production/ic_timer_24px.svg new file mode 100644 index 0000000..e113e76 --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_timer_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_timer_3_24px.svg b/src/material-widgets/icons/image/svg/production/ic_timer_3_24px.svg new file mode 100644 index 0000000..88b7b90 --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_timer_3_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_timer_off_24px.svg b/src/material-widgets/icons/image/svg/production/ic_timer_off_24px.svg new file mode 100644 index 0000000..aea789e --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_timer_off_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_tonality_24px.svg b/src/material-widgets/icons/image/svg/production/ic_tonality_24px.svg new file mode 100644 index 0000000..5a34a05 --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_tonality_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_transform_24px.svg b/src/material-widgets/icons/image/svg/production/ic_transform_24px.svg new file mode 100644 index 0000000..b11ce4a --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_transform_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_tune_24px.svg b/src/material-widgets/icons/image/svg/production/ic_tune_24px.svg new file mode 100644 index 0000000..24dbcd6 --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_tune_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_view_comfy_24px.svg b/src/material-widgets/icons/image/svg/production/ic_view_comfy_24px.svg new file mode 100755 index 0000000..07cefea --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_view_comfy_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_view_compact_24px.svg b/src/material-widgets/icons/image/svg/production/ic_view_compact_24px.svg new file mode 100755 index 0000000..77c2483 --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_view_compact_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_vignette_24px.svg b/src/material-widgets/icons/image/svg/production/ic_vignette_24px.svg new file mode 100644 index 0000000..c54a045 --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_vignette_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_wb_auto_24px.svg b/src/material-widgets/icons/image/svg/production/ic_wb_auto_24px.svg new file mode 100644 index 0000000..1b76925 --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_wb_auto_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_wb_cloudy_24px.svg b/src/material-widgets/icons/image/svg/production/ic_wb_cloudy_24px.svg new file mode 100644 index 0000000..47f8947 --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_wb_cloudy_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_wb_incandescent_24px.svg b/src/material-widgets/icons/image/svg/production/ic_wb_incandescent_24px.svg new file mode 100644 index 0000000..4cac930 --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_wb_incandescent_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_wb_iridescent_24px.svg b/src/material-widgets/icons/image/svg/production/ic_wb_iridescent_24px.svg new file mode 100644 index 0000000..1a54d92 --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_wb_iridescent_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/image/svg/production/ic_wb_sunny_24px.svg b/src/material-widgets/icons/image/svg/production/ic_wb_sunny_24px.svg new file mode 100644 index 0000000..d83b6ca --- /dev/null +++ b/src/material-widgets/icons/image/svg/production/ic_wb_sunny_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/maps/svg/production/ic_add_location_24px.svg b/src/material-widgets/icons/maps/svg/production/ic_add_location_24px.svg new file mode 100644 index 0000000..6d2721b --- /dev/null +++ b/src/material-widgets/icons/maps/svg/production/ic_add_location_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/maps/svg/production/ic_beenhere_24px.svg b/src/material-widgets/icons/maps/svg/production/ic_beenhere_24px.svg new file mode 100644 index 0000000..36264e3 --- /dev/null +++ b/src/material-widgets/icons/maps/svg/production/ic_beenhere_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/maps/svg/production/ic_directions_24px.svg b/src/material-widgets/icons/maps/svg/production/ic_directions_24px.svg new file mode 100644 index 0000000..dd924bf --- /dev/null +++ b/src/material-widgets/icons/maps/svg/production/ic_directions_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/maps/svg/production/ic_directions_bike_24px.svg b/src/material-widgets/icons/maps/svg/production/ic_directions_bike_24px.svg new file mode 100755 index 0000000..025c7e2 --- /dev/null +++ b/src/material-widgets/icons/maps/svg/production/ic_directions_bike_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/maps/svg/production/ic_directions_boat_24px.svg b/src/material-widgets/icons/maps/svg/production/ic_directions_boat_24px.svg new file mode 100644 index 0000000..5226b67 --- /dev/null +++ b/src/material-widgets/icons/maps/svg/production/ic_directions_boat_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/maps/svg/production/ic_directions_bus_24px.svg b/src/material-widgets/icons/maps/svg/production/ic_directions_bus_24px.svg new file mode 100644 index 0000000..ade3c4d --- /dev/null +++ b/src/material-widgets/icons/maps/svg/production/ic_directions_bus_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/maps/svg/production/ic_directions_car_24px.svg b/src/material-widgets/icons/maps/svg/production/ic_directions_car_24px.svg new file mode 100644 index 0000000..7cd866c --- /dev/null +++ b/src/material-widgets/icons/maps/svg/production/ic_directions_car_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/maps/svg/production/ic_directions_railway_24px.svg b/src/material-widgets/icons/maps/svg/production/ic_directions_railway_24px.svg new file mode 100644 index 0000000..b7bdcba --- /dev/null +++ b/src/material-widgets/icons/maps/svg/production/ic_directions_railway_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/maps/svg/production/ic_directions_run_24px.svg b/src/material-widgets/icons/maps/svg/production/ic_directions_run_24px.svg new file mode 100755 index 0000000..7296105 --- /dev/null +++ b/src/material-widgets/icons/maps/svg/production/ic_directions_run_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/maps/svg/production/ic_directions_subway_24px.svg b/src/material-widgets/icons/maps/svg/production/ic_directions_subway_24px.svg new file mode 100644 index 0000000..22a47ce --- /dev/null +++ b/src/material-widgets/icons/maps/svg/production/ic_directions_subway_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/maps/svg/production/ic_directions_transit_24px.svg b/src/material-widgets/icons/maps/svg/production/ic_directions_transit_24px.svg new file mode 100644 index 0000000..22a47ce --- /dev/null +++ b/src/material-widgets/icons/maps/svg/production/ic_directions_transit_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/maps/svg/production/ic_directions_walk_24px.svg b/src/material-widgets/icons/maps/svg/production/ic_directions_walk_24px.svg new file mode 100755 index 0000000..3572cb3 --- /dev/null +++ b/src/material-widgets/icons/maps/svg/production/ic_directions_walk_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/maps/svg/production/ic_edit_location_24px.svg b/src/material-widgets/icons/maps/svg/production/ic_edit_location_24px.svg new file mode 100644 index 0000000..b14fc61 --- /dev/null +++ b/src/material-widgets/icons/maps/svg/production/ic_edit_location_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/maps/svg/production/ic_ev_station_24px.svg b/src/material-widgets/icons/maps/svg/production/ic_ev_station_24px.svg new file mode 100644 index 0000000..fb06f9e --- /dev/null +++ b/src/material-widgets/icons/maps/svg/production/ic_ev_station_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/maps/svg/production/ic_flight_24px.svg b/src/material-widgets/icons/maps/svg/production/ic_flight_24px.svg new file mode 100644 index 0000000..240d1b6 --- /dev/null +++ b/src/material-widgets/icons/maps/svg/production/ic_flight_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/maps/svg/production/ic_hotel_24px.svg b/src/material-widgets/icons/maps/svg/production/ic_hotel_24px.svg new file mode 100644 index 0000000..f1cca2c --- /dev/null +++ b/src/material-widgets/icons/maps/svg/production/ic_hotel_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/maps/svg/production/ic_layers_24px.svg b/src/material-widgets/icons/maps/svg/production/ic_layers_24px.svg new file mode 100644 index 0000000..02160fa --- /dev/null +++ b/src/material-widgets/icons/maps/svg/production/ic_layers_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/maps/svg/production/ic_layers_clear_24px.svg b/src/material-widgets/icons/maps/svg/production/ic_layers_clear_24px.svg new file mode 100644 index 0000000..b0a40d4 --- /dev/null +++ b/src/material-widgets/icons/maps/svg/production/ic_layers_clear_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/maps/svg/production/ic_local_activity_24px.svg b/src/material-widgets/icons/maps/svg/production/ic_local_activity_24px.svg new file mode 100644 index 0000000..cb28463 --- /dev/null +++ b/src/material-widgets/icons/maps/svg/production/ic_local_activity_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/maps/svg/production/ic_local_airport_24px.svg b/src/material-widgets/icons/maps/svg/production/ic_local_airport_24px.svg new file mode 100644 index 0000000..2fe1dea --- /dev/null +++ b/src/material-widgets/icons/maps/svg/production/ic_local_airport_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/maps/svg/production/ic_local_atm_24px.svg b/src/material-widgets/icons/maps/svg/production/ic_local_atm_24px.svg new file mode 100644 index 0000000..a893448 --- /dev/null +++ b/src/material-widgets/icons/maps/svg/production/ic_local_atm_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/maps/svg/production/ic_local_bar_24px.svg b/src/material-widgets/icons/maps/svg/production/ic_local_bar_24px.svg new file mode 100644 index 0000000..9232c7d --- /dev/null +++ b/src/material-widgets/icons/maps/svg/production/ic_local_bar_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/maps/svg/production/ic_local_cafe_24px.svg b/src/material-widgets/icons/maps/svg/production/ic_local_cafe_24px.svg new file mode 100644 index 0000000..dfdee9c --- /dev/null +++ b/src/material-widgets/icons/maps/svg/production/ic_local_cafe_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/maps/svg/production/ic_local_car_wash_24px.svg b/src/material-widgets/icons/maps/svg/production/ic_local_car_wash_24px.svg new file mode 100644 index 0000000..611f73d --- /dev/null +++ b/src/material-widgets/icons/maps/svg/production/ic_local_car_wash_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/maps/svg/production/ic_local_convenience_store_24px.svg b/src/material-widgets/icons/maps/svg/production/ic_local_convenience_store_24px.svg new file mode 100644 index 0000000..8070a89 --- /dev/null +++ b/src/material-widgets/icons/maps/svg/production/ic_local_convenience_store_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/maps/svg/production/ic_local_dining_24px.svg b/src/material-widgets/icons/maps/svg/production/ic_local_dining_24px.svg new file mode 100644 index 0000000..3be0060 --- /dev/null +++ b/src/material-widgets/icons/maps/svg/production/ic_local_dining_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/maps/svg/production/ic_local_drink_24px.svg b/src/material-widgets/icons/maps/svg/production/ic_local_drink_24px.svg new file mode 100644 index 0000000..4ba9152 --- /dev/null +++ b/src/material-widgets/icons/maps/svg/production/ic_local_drink_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/maps/svg/production/ic_local_florist_24px.svg b/src/material-widgets/icons/maps/svg/production/ic_local_florist_24px.svg new file mode 100644 index 0000000..bf9d45f --- /dev/null +++ b/src/material-widgets/icons/maps/svg/production/ic_local_florist_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/maps/svg/production/ic_local_gas_station_24px.svg b/src/material-widgets/icons/maps/svg/production/ic_local_gas_station_24px.svg new file mode 100644 index 0000000..08cb670 --- /dev/null +++ b/src/material-widgets/icons/maps/svg/production/ic_local_gas_station_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/maps/svg/production/ic_local_grocery_store_24px.svg b/src/material-widgets/icons/maps/svg/production/ic_local_grocery_store_24px.svg new file mode 100644 index 0000000..ee758e6 --- /dev/null +++ b/src/material-widgets/icons/maps/svg/production/ic_local_grocery_store_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/maps/svg/production/ic_local_hospital_24px.svg b/src/material-widgets/icons/maps/svg/production/ic_local_hospital_24px.svg new file mode 100644 index 0000000..85da4ff --- /dev/null +++ b/src/material-widgets/icons/maps/svg/production/ic_local_hospital_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/maps/svg/production/ic_local_hotel_24px.svg b/src/material-widgets/icons/maps/svg/production/ic_local_hotel_24px.svg new file mode 100644 index 0000000..f1cca2c --- /dev/null +++ b/src/material-widgets/icons/maps/svg/production/ic_local_hotel_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/maps/svg/production/ic_local_laundry_service_24px.svg b/src/material-widgets/icons/maps/svg/production/ic_local_laundry_service_24px.svg new file mode 100644 index 0000000..a519c04 --- /dev/null +++ b/src/material-widgets/icons/maps/svg/production/ic_local_laundry_service_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/maps/svg/production/ic_local_library_24px.svg b/src/material-widgets/icons/maps/svg/production/ic_local_library_24px.svg new file mode 100644 index 0000000..5fa5109 --- /dev/null +++ b/src/material-widgets/icons/maps/svg/production/ic_local_library_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/maps/svg/production/ic_local_mall_24px.svg b/src/material-widgets/icons/maps/svg/production/ic_local_mall_24px.svg new file mode 100644 index 0000000..35683c7 --- /dev/null +++ b/src/material-widgets/icons/maps/svg/production/ic_local_mall_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/maps/svg/production/ic_local_movies_24px.svg b/src/material-widgets/icons/maps/svg/production/ic_local_movies_24px.svg new file mode 100644 index 0000000..74652a6 --- /dev/null +++ b/src/material-widgets/icons/maps/svg/production/ic_local_movies_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/maps/svg/production/ic_local_offer_24px.svg b/src/material-widgets/icons/maps/svg/production/ic_local_offer_24px.svg new file mode 100644 index 0000000..20ad1fe --- /dev/null +++ b/src/material-widgets/icons/maps/svg/production/ic_local_offer_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/maps/svg/production/ic_local_parking_24px.svg b/src/material-widgets/icons/maps/svg/production/ic_local_parking_24px.svg new file mode 100644 index 0000000..0cc3198 --- /dev/null +++ b/src/material-widgets/icons/maps/svg/production/ic_local_parking_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/maps/svg/production/ic_local_pharmacy_24px.svg b/src/material-widgets/icons/maps/svg/production/ic_local_pharmacy_24px.svg new file mode 100644 index 0000000..7272010 --- /dev/null +++ b/src/material-widgets/icons/maps/svg/production/ic_local_pharmacy_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/maps/svg/production/ic_local_phone_24px.svg b/src/material-widgets/icons/maps/svg/production/ic_local_phone_24px.svg new file mode 100644 index 0000000..5908b6a --- /dev/null +++ b/src/material-widgets/icons/maps/svg/production/ic_local_phone_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/maps/svg/production/ic_local_pizza_24px.svg b/src/material-widgets/icons/maps/svg/production/ic_local_pizza_24px.svg new file mode 100644 index 0000000..d67936e --- /dev/null +++ b/src/material-widgets/icons/maps/svg/production/ic_local_pizza_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/maps/svg/production/ic_local_play_24px.svg b/src/material-widgets/icons/maps/svg/production/ic_local_play_24px.svg new file mode 100644 index 0000000..cb28463 --- /dev/null +++ b/src/material-widgets/icons/maps/svg/production/ic_local_play_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/maps/svg/production/ic_local_post_office_24px.svg b/src/material-widgets/icons/maps/svg/production/ic_local_post_office_24px.svg new file mode 100644 index 0000000..f2c5b4f --- /dev/null +++ b/src/material-widgets/icons/maps/svg/production/ic_local_post_office_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/maps/svg/production/ic_local_printshop_24px.svg b/src/material-widgets/icons/maps/svg/production/ic_local_printshop_24px.svg new file mode 100644 index 0000000..6128bd8 --- /dev/null +++ b/src/material-widgets/icons/maps/svg/production/ic_local_printshop_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/maps/svg/production/ic_local_see_24px.svg b/src/material-widgets/icons/maps/svg/production/ic_local_see_24px.svg new file mode 100644 index 0000000..94960bf --- /dev/null +++ b/src/material-widgets/icons/maps/svg/production/ic_local_see_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/maps/svg/production/ic_local_shipping_24px.svg b/src/material-widgets/icons/maps/svg/production/ic_local_shipping_24px.svg new file mode 100644 index 0000000..c928262 --- /dev/null +++ b/src/material-widgets/icons/maps/svg/production/ic_local_shipping_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/maps/svg/production/ic_local_taxi_24px.svg b/src/material-widgets/icons/maps/svg/production/ic_local_taxi_24px.svg new file mode 100644 index 0000000..e3559e9 --- /dev/null +++ b/src/material-widgets/icons/maps/svg/production/ic_local_taxi_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/maps/svg/production/ic_map_24px.svg b/src/material-widgets/icons/maps/svg/production/ic_map_24px.svg new file mode 100644 index 0000000..5fd9669 --- /dev/null +++ b/src/material-widgets/icons/maps/svg/production/ic_map_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/maps/svg/production/ic_my_location_24px.svg b/src/material-widgets/icons/maps/svg/production/ic_my_location_24px.svg new file mode 100644 index 0000000..394dc36 --- /dev/null +++ b/src/material-widgets/icons/maps/svg/production/ic_my_location_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/maps/svg/production/ic_navigation_24px.svg b/src/material-widgets/icons/maps/svg/production/ic_navigation_24px.svg new file mode 100644 index 0000000..2891c58 --- /dev/null +++ b/src/material-widgets/icons/maps/svg/production/ic_navigation_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/maps/svg/production/ic_near_me_24px.svg b/src/material-widgets/icons/maps/svg/production/ic_near_me_24px.svg new file mode 100644 index 0000000..33afbe0 --- /dev/null +++ b/src/material-widgets/icons/maps/svg/production/ic_near_me_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/maps/svg/production/ic_person_pin_24px.svg b/src/material-widgets/icons/maps/svg/production/ic_person_pin_24px.svg new file mode 100644 index 0000000..1955081 --- /dev/null +++ b/src/material-widgets/icons/maps/svg/production/ic_person_pin_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/maps/svg/production/ic_person_pin_circle_24px.svg b/src/material-widgets/icons/maps/svg/production/ic_person_pin_circle_24px.svg new file mode 100644 index 0000000..f21fb22 --- /dev/null +++ b/src/material-widgets/icons/maps/svg/production/ic_person_pin_circle_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/maps/svg/production/ic_pin_drop_24px.svg b/src/material-widgets/icons/maps/svg/production/ic_pin_drop_24px.svg new file mode 100644 index 0000000..498d663 --- /dev/null +++ b/src/material-widgets/icons/maps/svg/production/ic_pin_drop_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/maps/svg/production/ic_place_24px.svg b/src/material-widgets/icons/maps/svg/production/ic_place_24px.svg new file mode 100644 index 0000000..490afe9 --- /dev/null +++ b/src/material-widgets/icons/maps/svg/production/ic_place_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/maps/svg/production/ic_rate_review_24px.svg b/src/material-widgets/icons/maps/svg/production/ic_rate_review_24px.svg new file mode 100644 index 0000000..ce447b6 --- /dev/null +++ b/src/material-widgets/icons/maps/svg/production/ic_rate_review_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/maps/svg/production/ic_restaurant_24px.svg b/src/material-widgets/icons/maps/svg/production/ic_restaurant_24px.svg new file mode 100644 index 0000000..70830b0 --- /dev/null +++ b/src/material-widgets/icons/maps/svg/production/ic_restaurant_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/maps/svg/production/ic_restaurant_menu_24px.svg b/src/material-widgets/icons/maps/svg/production/ic_restaurant_menu_24px.svg new file mode 100644 index 0000000..3be0060 --- /dev/null +++ b/src/material-widgets/icons/maps/svg/production/ic_restaurant_menu_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/maps/svg/production/ic_satellite_24px.svg b/src/material-widgets/icons/maps/svg/production/ic_satellite_24px.svg new file mode 100644 index 0000000..ef3e5ff --- /dev/null +++ b/src/material-widgets/icons/maps/svg/production/ic_satellite_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/maps/svg/production/ic_store_mall_directory_24px.svg b/src/material-widgets/icons/maps/svg/production/ic_store_mall_directory_24px.svg new file mode 100644 index 0000000..2b06cc5 --- /dev/null +++ b/src/material-widgets/icons/maps/svg/production/ic_store_mall_directory_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/maps/svg/production/ic_streetview_24px.svg b/src/material-widgets/icons/maps/svg/production/ic_streetview_24px.svg new file mode 100644 index 0000000..abd2294 --- /dev/null +++ b/src/material-widgets/icons/maps/svg/production/ic_streetview_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/maps/svg/production/ic_subway_24px.svg b/src/material-widgets/icons/maps/svg/production/ic_subway_24px.svg new file mode 100644 index 0000000..0d0f350 --- /dev/null +++ b/src/material-widgets/icons/maps/svg/production/ic_subway_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/maps/svg/production/ic_terrain_24px.svg b/src/material-widgets/icons/maps/svg/production/ic_terrain_24px.svg new file mode 100644 index 0000000..b239af7 --- /dev/null +++ b/src/material-widgets/icons/maps/svg/production/ic_terrain_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/maps/svg/production/ic_traffic_24px.svg b/src/material-widgets/icons/maps/svg/production/ic_traffic_24px.svg new file mode 100644 index 0000000..9560743 --- /dev/null +++ b/src/material-widgets/icons/maps/svg/production/ic_traffic_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/maps/svg/production/ic_train_24px.svg b/src/material-widgets/icons/maps/svg/production/ic_train_24px.svg new file mode 100644 index 0000000..e18c9ae --- /dev/null +++ b/src/material-widgets/icons/maps/svg/production/ic_train_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/maps/svg/production/ic_tram_24px.svg b/src/material-widgets/icons/maps/svg/production/ic_tram_24px.svg new file mode 100644 index 0000000..69fe39c --- /dev/null +++ b/src/material-widgets/icons/maps/svg/production/ic_tram_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/maps/svg/production/ic_transfer_within_a_station_24px.svg b/src/material-widgets/icons/maps/svg/production/ic_transfer_within_a_station_24px.svg new file mode 100644 index 0000000..3779847 --- /dev/null +++ b/src/material-widgets/icons/maps/svg/production/ic_transfer_within_a_station_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/maps/svg/production/ic_zoom_out_map_24px.svg b/src/material-widgets/icons/maps/svg/production/ic_zoom_out_map_24px.svg new file mode 100644 index 0000000..587ef03 --- /dev/null +++ b/src/material-widgets/icons/maps/svg/production/ic_zoom_out_map_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/navigation/svg/production/ic_apps_24px.svg b/src/material-widgets/icons/navigation/svg/production/ic_apps_24px.svg new file mode 100644 index 0000000..b0ccb6c --- /dev/null +++ b/src/material-widgets/icons/navigation/svg/production/ic_apps_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/navigation/svg/production/ic_arrow_back_24px.svg b/src/material-widgets/icons/navigation/svg/production/ic_arrow_back_24px.svg new file mode 100644 index 0000000..00d44bf --- /dev/null +++ b/src/material-widgets/icons/navigation/svg/production/ic_arrow_back_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/navigation/svg/production/ic_arrow_downward_24px.svg b/src/material-widgets/icons/navigation/svg/production/ic_arrow_downward_24px.svg new file mode 100644 index 0000000..27ddfa1 --- /dev/null +++ b/src/material-widgets/icons/navigation/svg/production/ic_arrow_downward_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/navigation/svg/production/ic_arrow_drop_down_24px.svg b/src/material-widgets/icons/navigation/svg/production/ic_arrow_drop_down_24px.svg new file mode 100644 index 0000000..6e4510d --- /dev/null +++ b/src/material-widgets/icons/navigation/svg/production/ic_arrow_drop_down_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/navigation/svg/production/ic_arrow_drop_down_circle_24px.svg b/src/material-widgets/icons/navigation/svg/production/ic_arrow_drop_down_circle_24px.svg new file mode 100644 index 0000000..689107c --- /dev/null +++ b/src/material-widgets/icons/navigation/svg/production/ic_arrow_drop_down_circle_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/navigation/svg/production/ic_arrow_drop_up_24px.svg b/src/material-widgets/icons/navigation/svg/production/ic_arrow_drop_up_24px.svg new file mode 100644 index 0000000..b9aa2cc --- /dev/null +++ b/src/material-widgets/icons/navigation/svg/production/ic_arrow_drop_up_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/navigation/svg/production/ic_arrow_forward_24px.svg b/src/material-widgets/icons/navigation/svg/production/ic_arrow_forward_24px.svg new file mode 100644 index 0000000..c4a2c18 --- /dev/null +++ b/src/material-widgets/icons/navigation/svg/production/ic_arrow_forward_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/navigation/svg/production/ic_arrow_upward_24px.svg b/src/material-widgets/icons/navigation/svg/production/ic_arrow_upward_24px.svg new file mode 100644 index 0000000..e4d9a7e --- /dev/null +++ b/src/material-widgets/icons/navigation/svg/production/ic_arrow_upward_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/navigation/svg/production/ic_cancel_24px.svg b/src/material-widgets/icons/navigation/svg/production/ic_cancel_24px.svg new file mode 100644 index 0000000..d6e55da --- /dev/null +++ b/src/material-widgets/icons/navigation/svg/production/ic_cancel_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/navigation/svg/production/ic_check_24px.svg b/src/material-widgets/icons/navigation/svg/production/ic_check_24px.svg new file mode 100644 index 0000000..a608f7d --- /dev/null +++ b/src/material-widgets/icons/navigation/svg/production/ic_check_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/navigation/svg/production/ic_chevron_left_24px.svg b/src/material-widgets/icons/navigation/svg/production/ic_chevron_left_24px.svg new file mode 100644 index 0000000..36e6e99 --- /dev/null +++ b/src/material-widgets/icons/navigation/svg/production/ic_chevron_left_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/navigation/svg/production/ic_chevron_right_24px.svg b/src/material-widgets/icons/navigation/svg/production/ic_chevron_right_24px.svg new file mode 100644 index 0000000..47ed5fe --- /dev/null +++ b/src/material-widgets/icons/navigation/svg/production/ic_chevron_right_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/navigation/svg/production/ic_close_24px.svg b/src/material-widgets/icons/navigation/svg/production/ic_close_24px.svg new file mode 100644 index 0000000..865788b --- /dev/null +++ b/src/material-widgets/icons/navigation/svg/production/ic_close_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/navigation/svg/production/ic_expand_less_24px.svg b/src/material-widgets/icons/navigation/svg/production/ic_expand_less_24px.svg new file mode 100644 index 0000000..1b5a326 --- /dev/null +++ b/src/material-widgets/icons/navigation/svg/production/ic_expand_less_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/navigation/svg/production/ic_expand_more_24px.svg b/src/material-widgets/icons/navigation/svg/production/ic_expand_more_24px.svg new file mode 100644 index 0000000..e3e13c5 --- /dev/null +++ b/src/material-widgets/icons/navigation/svg/production/ic_expand_more_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/navigation/svg/production/ic_first_page_24px.svg b/src/material-widgets/icons/navigation/svg/production/ic_first_page_24px.svg new file mode 100644 index 0000000..9da64ba --- /dev/null +++ b/src/material-widgets/icons/navigation/svg/production/ic_first_page_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/navigation/svg/production/ic_fullscreen_24px.svg b/src/material-widgets/icons/navigation/svg/production/ic_fullscreen_24px.svg new file mode 100644 index 0000000..e5eb6a2 --- /dev/null +++ b/src/material-widgets/icons/navigation/svg/production/ic_fullscreen_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/navigation/svg/production/ic_fullscreen_exit_24px.svg b/src/material-widgets/icons/navigation/svg/production/ic_fullscreen_exit_24px.svg new file mode 100644 index 0000000..9d3ff86 --- /dev/null +++ b/src/material-widgets/icons/navigation/svg/production/ic_fullscreen_exit_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/navigation/svg/production/ic_last_page_24px.svg b/src/material-widgets/icons/navigation/svg/production/ic_last_page_24px.svg new file mode 100644 index 0000000..93cfd96 --- /dev/null +++ b/src/material-widgets/icons/navigation/svg/production/ic_last_page_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/navigation/svg/production/ic_menu_24px.svg b/src/material-widgets/icons/navigation/svg/production/ic_menu_24px.svg new file mode 100644 index 0000000..ae7c36c --- /dev/null +++ b/src/material-widgets/icons/navigation/svg/production/ic_menu_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/navigation/svg/production/ic_more_horiz_24px.svg b/src/material-widgets/icons/navigation/svg/production/ic_more_horiz_24px.svg new file mode 100644 index 0000000..afb392c --- /dev/null +++ b/src/material-widgets/icons/navigation/svg/production/ic_more_horiz_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/navigation/svg/production/ic_more_vert_24px.svg b/src/material-widgets/icons/navigation/svg/production/ic_more_vert_24px.svg new file mode 100644 index 0000000..f2427f8 --- /dev/null +++ b/src/material-widgets/icons/navigation/svg/production/ic_more_vert_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/navigation/svg/production/ic_refresh_24px.svg b/src/material-widgets/icons/navigation/svg/production/ic_refresh_24px.svg new file mode 100644 index 0000000..f5d626c --- /dev/null +++ b/src/material-widgets/icons/navigation/svg/production/ic_refresh_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/navigation/svg/production/ic_subdirectory_arrow_left_24px.svg b/src/material-widgets/icons/navigation/svg/production/ic_subdirectory_arrow_left_24px.svg new file mode 100644 index 0000000..a64ef9f --- /dev/null +++ b/src/material-widgets/icons/navigation/svg/production/ic_subdirectory_arrow_left_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/navigation/svg/production/ic_subdirectory_arrow_right_24px.svg b/src/material-widgets/icons/navigation/svg/production/ic_subdirectory_arrow_right_24px.svg new file mode 100644 index 0000000..dd10ac6 --- /dev/null +++ b/src/material-widgets/icons/navigation/svg/production/ic_subdirectory_arrow_right_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/navigation/svg/production/ic_unfold_less_24px.svg b/src/material-widgets/icons/navigation/svg/production/ic_unfold_less_24px.svg new file mode 100644 index 0000000..d84a82d --- /dev/null +++ b/src/material-widgets/icons/navigation/svg/production/ic_unfold_less_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/navigation/svg/production/ic_unfold_more_24px.svg b/src/material-widgets/icons/navigation/svg/production/ic_unfold_more_24px.svg new file mode 100644 index 0000000..5cb8b46 --- /dev/null +++ b/src/material-widgets/icons/navigation/svg/production/ic_unfold_more_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/notification/svg/production/ic_adb_24px.svg b/src/material-widgets/icons/notification/svg/production/ic_adb_24px.svg new file mode 100644 index 0000000..ca94af5 --- /dev/null +++ b/src/material-widgets/icons/notification/svg/production/ic_adb_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/notification/svg/production/ic_airline_seat_flat_24px.svg b/src/material-widgets/icons/notification/svg/production/ic_airline_seat_flat_24px.svg new file mode 100644 index 0000000..a1bd66d --- /dev/null +++ b/src/material-widgets/icons/notification/svg/production/ic_airline_seat_flat_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/notification/svg/production/ic_airline_seat_flat_angled_24px.svg b/src/material-widgets/icons/notification/svg/production/ic_airline_seat_flat_angled_24px.svg new file mode 100644 index 0000000..fa89cc0 --- /dev/null +++ b/src/material-widgets/icons/notification/svg/production/ic_airline_seat_flat_angled_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/notification/svg/production/ic_airline_seat_individual_suite_24px.svg b/src/material-widgets/icons/notification/svg/production/ic_airline_seat_individual_suite_24px.svg new file mode 100644 index 0000000..5539558 --- /dev/null +++ b/src/material-widgets/icons/notification/svg/production/ic_airline_seat_individual_suite_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/notification/svg/production/ic_airline_seat_legroom_extra_24px.svg b/src/material-widgets/icons/notification/svg/production/ic_airline_seat_legroom_extra_24px.svg new file mode 100644 index 0000000..dff07be --- /dev/null +++ b/src/material-widgets/icons/notification/svg/production/ic_airline_seat_legroom_extra_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/notification/svg/production/ic_airline_seat_legroom_normal_24px.svg b/src/material-widgets/icons/notification/svg/production/ic_airline_seat_legroom_normal_24px.svg new file mode 100644 index 0000000..6ecb22b --- /dev/null +++ b/src/material-widgets/icons/notification/svg/production/ic_airline_seat_legroom_normal_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/notification/svg/production/ic_airline_seat_legroom_reduced_24px.svg b/src/material-widgets/icons/notification/svg/production/ic_airline_seat_legroom_reduced_24px.svg new file mode 100644 index 0000000..a640230 --- /dev/null +++ b/src/material-widgets/icons/notification/svg/production/ic_airline_seat_legroom_reduced_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/notification/svg/production/ic_airline_seat_recline_extra_24px.svg b/src/material-widgets/icons/notification/svg/production/ic_airline_seat_recline_extra_24px.svg new file mode 100644 index 0000000..eaf3b35 --- /dev/null +++ b/src/material-widgets/icons/notification/svg/production/ic_airline_seat_recline_extra_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/notification/svg/production/ic_airline_seat_recline_normal_24px.svg b/src/material-widgets/icons/notification/svg/production/ic_airline_seat_recline_normal_24px.svg new file mode 100644 index 0000000..46d6d9b --- /dev/null +++ b/src/material-widgets/icons/notification/svg/production/ic_airline_seat_recline_normal_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/notification/svg/production/ic_bluetooth_audio_24px.svg b/src/material-widgets/icons/notification/svg/production/ic_bluetooth_audio_24px.svg new file mode 100644 index 0000000..8bb176e --- /dev/null +++ b/src/material-widgets/icons/notification/svg/production/ic_bluetooth_audio_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/notification/svg/production/ic_confirmation_number_24px.svg b/src/material-widgets/icons/notification/svg/production/ic_confirmation_number_24px.svg new file mode 100644 index 0000000..1206bad --- /dev/null +++ b/src/material-widgets/icons/notification/svg/production/ic_confirmation_number_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/notification/svg/production/ic_disc_full_24px.svg b/src/material-widgets/icons/notification/svg/production/ic_disc_full_24px.svg new file mode 100644 index 0000000..fd462d8 --- /dev/null +++ b/src/material-widgets/icons/notification/svg/production/ic_disc_full_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/notification/svg/production/ic_do_not_disturb_24px.svg b/src/material-widgets/icons/notification/svg/production/ic_do_not_disturb_24px.svg new file mode 100644 index 0000000..065210c --- /dev/null +++ b/src/material-widgets/icons/notification/svg/production/ic_do_not_disturb_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/notification/svg/production/ic_do_not_disturb_alt_24px.svg b/src/material-widgets/icons/notification/svg/production/ic_do_not_disturb_alt_24px.svg new file mode 100644 index 0000000..9f91150 --- /dev/null +++ b/src/material-widgets/icons/notification/svg/production/ic_do_not_disturb_alt_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/notification/svg/production/ic_do_not_disturb_off_24px.svg b/src/material-widgets/icons/notification/svg/production/ic_do_not_disturb_off_24px.svg new file mode 100644 index 0000000..e54f566 --- /dev/null +++ b/src/material-widgets/icons/notification/svg/production/ic_do_not_disturb_off_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/notification/svg/production/ic_do_not_disturb_on_24px.svg b/src/material-widgets/icons/notification/svg/production/ic_do_not_disturb_on_24px.svg new file mode 100644 index 0000000..0f978ec --- /dev/null +++ b/src/material-widgets/icons/notification/svg/production/ic_do_not_disturb_on_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/notification/svg/production/ic_drive_eta_24px.svg b/src/material-widgets/icons/notification/svg/production/ic_drive_eta_24px.svg new file mode 100644 index 0000000..85b07ca --- /dev/null +++ b/src/material-widgets/icons/notification/svg/production/ic_drive_eta_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/notification/svg/production/ic_enhanced_encryption_24px.svg b/src/material-widgets/icons/notification/svg/production/ic_enhanced_encryption_24px.svg new file mode 100644 index 0000000..2d0ddf8 --- /dev/null +++ b/src/material-widgets/icons/notification/svg/production/ic_enhanced_encryption_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/notification/svg/production/ic_event_available_24px.svg b/src/material-widgets/icons/notification/svg/production/ic_event_available_24px.svg new file mode 100644 index 0000000..035b5c8 --- /dev/null +++ b/src/material-widgets/icons/notification/svg/production/ic_event_available_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/notification/svg/production/ic_event_busy_24px.svg b/src/material-widgets/icons/notification/svg/production/ic_event_busy_24px.svg new file mode 100644 index 0000000..d3e6d7f --- /dev/null +++ b/src/material-widgets/icons/notification/svg/production/ic_event_busy_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/notification/svg/production/ic_event_note_24px.svg b/src/material-widgets/icons/notification/svg/production/ic_event_note_24px.svg new file mode 100644 index 0000000..5beeb71 --- /dev/null +++ b/src/material-widgets/icons/notification/svg/production/ic_event_note_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/notification/svg/production/ic_folder_special_24px.svg b/src/material-widgets/icons/notification/svg/production/ic_folder_special_24px.svg new file mode 100644 index 0000000..adccedd --- /dev/null +++ b/src/material-widgets/icons/notification/svg/production/ic_folder_special_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/notification/svg/production/ic_live_tv_24px.svg b/src/material-widgets/icons/notification/svg/production/ic_live_tv_24px.svg new file mode 100644 index 0000000..67e98e7 --- /dev/null +++ b/src/material-widgets/icons/notification/svg/production/ic_live_tv_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/notification/svg/production/ic_mms_24px.svg b/src/material-widgets/icons/notification/svg/production/ic_mms_24px.svg new file mode 100644 index 0000000..f15436c --- /dev/null +++ b/src/material-widgets/icons/notification/svg/production/ic_mms_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/notification/svg/production/ic_more_24px.svg b/src/material-widgets/icons/notification/svg/production/ic_more_24px.svg new file mode 100644 index 0000000..ad5567a --- /dev/null +++ b/src/material-widgets/icons/notification/svg/production/ic_more_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/notification/svg/production/ic_network_check_24px.svg b/src/material-widgets/icons/notification/svg/production/ic_network_check_24px.svg new file mode 100644 index 0000000..6b31ab9 --- /dev/null +++ b/src/material-widgets/icons/notification/svg/production/ic_network_check_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/notification/svg/production/ic_network_locked_24px.svg b/src/material-widgets/icons/notification/svg/production/ic_network_locked_24px.svg new file mode 100644 index 0000000..3a5c0d6 --- /dev/null +++ b/src/material-widgets/icons/notification/svg/production/ic_network_locked_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/notification/svg/production/ic_no_encryption_24px.svg b/src/material-widgets/icons/notification/svg/production/ic_no_encryption_24px.svg new file mode 100644 index 0000000..0528c12 --- /dev/null +++ b/src/material-widgets/icons/notification/svg/production/ic_no_encryption_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/notification/svg/production/ic_ondemand_video_24px.svg b/src/material-widgets/icons/notification/svg/production/ic_ondemand_video_24px.svg new file mode 100644 index 0000000..239690b --- /dev/null +++ b/src/material-widgets/icons/notification/svg/production/ic_ondemand_video_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/notification/svg/production/ic_personal_video_24px.svg b/src/material-widgets/icons/notification/svg/production/ic_personal_video_24px.svg new file mode 100644 index 0000000..a4169e9 --- /dev/null +++ b/src/material-widgets/icons/notification/svg/production/ic_personal_video_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/notification/svg/production/ic_phone_bluetooth_speaker_24px.svg b/src/material-widgets/icons/notification/svg/production/ic_phone_bluetooth_speaker_24px.svg new file mode 100644 index 0000000..69f9398 --- /dev/null +++ b/src/material-widgets/icons/notification/svg/production/ic_phone_bluetooth_speaker_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/notification/svg/production/ic_phone_forwarded_24px.svg b/src/material-widgets/icons/notification/svg/production/ic_phone_forwarded_24px.svg new file mode 100644 index 0000000..c21cfc1 --- /dev/null +++ b/src/material-widgets/icons/notification/svg/production/ic_phone_forwarded_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/notification/svg/production/ic_phone_in_talk_24px.svg b/src/material-widgets/icons/notification/svg/production/ic_phone_in_talk_24px.svg new file mode 100644 index 0000000..c73964c --- /dev/null +++ b/src/material-widgets/icons/notification/svg/production/ic_phone_in_talk_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/notification/svg/production/ic_phone_locked_24px.svg b/src/material-widgets/icons/notification/svg/production/ic_phone_locked_24px.svg new file mode 100644 index 0000000..aca754f --- /dev/null +++ b/src/material-widgets/icons/notification/svg/production/ic_phone_locked_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/notification/svg/production/ic_phone_missed_24px.svg b/src/material-widgets/icons/notification/svg/production/ic_phone_missed_24px.svg new file mode 100644 index 0000000..bb68b75 --- /dev/null +++ b/src/material-widgets/icons/notification/svg/production/ic_phone_missed_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/notification/svg/production/ic_phone_paused_24px.svg b/src/material-widgets/icons/notification/svg/production/ic_phone_paused_24px.svg new file mode 100644 index 0000000..2aa7400 --- /dev/null +++ b/src/material-widgets/icons/notification/svg/production/ic_phone_paused_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/notification/svg/production/ic_power_24px.svg b/src/material-widgets/icons/notification/svg/production/ic_power_24px.svg new file mode 100644 index 0000000..3cb2846 --- /dev/null +++ b/src/material-widgets/icons/notification/svg/production/ic_power_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/notification/svg/production/ic_priority_high_24px.svg b/src/material-widgets/icons/notification/svg/production/ic_priority_high_24px.svg new file mode 100644 index 0000000..326d004 --- /dev/null +++ b/src/material-widgets/icons/notification/svg/production/ic_priority_high_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/notification/svg/production/ic_rv_hookup_24px.svg b/src/material-widgets/icons/notification/svg/production/ic_rv_hookup_24px.svg new file mode 100644 index 0000000..c261516 --- /dev/null +++ b/src/material-widgets/icons/notification/svg/production/ic_rv_hookup_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/notification/svg/production/ic_sd_card_24px.svg b/src/material-widgets/icons/notification/svg/production/ic_sd_card_24px.svg new file mode 100644 index 0000000..15ab481 --- /dev/null +++ b/src/material-widgets/icons/notification/svg/production/ic_sd_card_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/notification/svg/production/ic_sim_card_alert_24px.svg b/src/material-widgets/icons/notification/svg/production/ic_sim_card_alert_24px.svg new file mode 100644 index 0000000..f471892 --- /dev/null +++ b/src/material-widgets/icons/notification/svg/production/ic_sim_card_alert_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/notification/svg/production/ic_sms_24px.svg b/src/material-widgets/icons/notification/svg/production/ic_sms_24px.svg new file mode 100644 index 0000000..b427d45 --- /dev/null +++ b/src/material-widgets/icons/notification/svg/production/ic_sms_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/notification/svg/production/ic_sms_failed_24px.svg b/src/material-widgets/icons/notification/svg/production/ic_sms_failed_24px.svg new file mode 100644 index 0000000..72b0945 --- /dev/null +++ b/src/material-widgets/icons/notification/svg/production/ic_sms_failed_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/notification/svg/production/ic_sync_24px.svg b/src/material-widgets/icons/notification/svg/production/ic_sync_24px.svg new file mode 100644 index 0000000..327ff63 --- /dev/null +++ b/src/material-widgets/icons/notification/svg/production/ic_sync_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/notification/svg/production/ic_sync_disabled_24px.svg b/src/material-widgets/icons/notification/svg/production/ic_sync_disabled_24px.svg new file mode 100644 index 0000000..cb82f21 --- /dev/null +++ b/src/material-widgets/icons/notification/svg/production/ic_sync_disabled_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/notification/svg/production/ic_sync_problem_24px.svg b/src/material-widgets/icons/notification/svg/production/ic_sync_problem_24px.svg new file mode 100644 index 0000000..797674e --- /dev/null +++ b/src/material-widgets/icons/notification/svg/production/ic_sync_problem_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/notification/svg/production/ic_system_update_24px.svg b/src/material-widgets/icons/notification/svg/production/ic_system_update_24px.svg new file mode 100644 index 0000000..1013886 --- /dev/null +++ b/src/material-widgets/icons/notification/svg/production/ic_system_update_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/notification/svg/production/ic_tap_and_play_24px.svg b/src/material-widgets/icons/notification/svg/production/ic_tap_and_play_24px.svg new file mode 100644 index 0000000..6951de4 --- /dev/null +++ b/src/material-widgets/icons/notification/svg/production/ic_tap_and_play_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/notification/svg/production/ic_time_to_leave_24px.svg b/src/material-widgets/icons/notification/svg/production/ic_time_to_leave_24px.svg new file mode 100644 index 0000000..85b07ca --- /dev/null +++ b/src/material-widgets/icons/notification/svg/production/ic_time_to_leave_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/notification/svg/production/ic_vibration_24px.svg b/src/material-widgets/icons/notification/svg/production/ic_vibration_24px.svg new file mode 100644 index 0000000..789d044 --- /dev/null +++ b/src/material-widgets/icons/notification/svg/production/ic_vibration_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/notification/svg/production/ic_voice_chat_24px.svg b/src/material-widgets/icons/notification/svg/production/ic_voice_chat_24px.svg new file mode 100644 index 0000000..9e72309 --- /dev/null +++ b/src/material-widgets/icons/notification/svg/production/ic_voice_chat_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/notification/svg/production/ic_vpn_lock_24px.svg b/src/material-widgets/icons/notification/svg/production/ic_vpn_lock_24px.svg new file mode 100644 index 0000000..6c4c795 --- /dev/null +++ b/src/material-widgets/icons/notification/svg/production/ic_vpn_lock_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/notification/svg/production/ic_wc_24px.svg b/src/material-widgets/icons/notification/svg/production/ic_wc_24px.svg new file mode 100644 index 0000000..022dcde --- /dev/null +++ b/src/material-widgets/icons/notification/svg/production/ic_wc_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/notification/svg/production/ic_wifi_24px.svg b/src/material-widgets/icons/notification/svg/production/ic_wifi_24px.svg new file mode 100644 index 0000000..cafae9c --- /dev/null +++ b/src/material-widgets/icons/notification/svg/production/ic_wifi_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/places/svg/production/ic_ac_unit_24px.svg b/src/material-widgets/icons/places/svg/production/ic_ac_unit_24px.svg new file mode 100644 index 0000000..c4cc71f --- /dev/null +++ b/src/material-widgets/icons/places/svg/production/ic_ac_unit_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/places/svg/production/ic_airport_shuttle_24px.svg b/src/material-widgets/icons/places/svg/production/ic_airport_shuttle_24px.svg new file mode 100644 index 0000000..392d651 --- /dev/null +++ b/src/material-widgets/icons/places/svg/production/ic_airport_shuttle_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/places/svg/production/ic_all_inclusive_24px.svg b/src/material-widgets/icons/places/svg/production/ic_all_inclusive_24px.svg new file mode 100644 index 0000000..090d242 --- /dev/null +++ b/src/material-widgets/icons/places/svg/production/ic_all_inclusive_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/places/svg/production/ic_beach_access_24px.svg b/src/material-widgets/icons/places/svg/production/ic_beach_access_24px.svg new file mode 100644 index 0000000..3c32044 --- /dev/null +++ b/src/material-widgets/icons/places/svg/production/ic_beach_access_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/places/svg/production/ic_business_center_24px.svg b/src/material-widgets/icons/places/svg/production/ic_business_center_24px.svg new file mode 100644 index 0000000..a979c93 --- /dev/null +++ b/src/material-widgets/icons/places/svg/production/ic_business_center_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/places/svg/production/ic_casino_24px.svg b/src/material-widgets/icons/places/svg/production/ic_casino_24px.svg new file mode 100644 index 0000000..ea9b900 --- /dev/null +++ b/src/material-widgets/icons/places/svg/production/ic_casino_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/places/svg/production/ic_child_care_24px.svg b/src/material-widgets/icons/places/svg/production/ic_child_care_24px.svg new file mode 100644 index 0000000..f73f9df --- /dev/null +++ b/src/material-widgets/icons/places/svg/production/ic_child_care_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/places/svg/production/ic_child_friendly_24px.svg b/src/material-widgets/icons/places/svg/production/ic_child_friendly_24px.svg new file mode 100644 index 0000000..ba51048 --- /dev/null +++ b/src/material-widgets/icons/places/svg/production/ic_child_friendly_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/places/svg/production/ic_fitness_center_24px.svg b/src/material-widgets/icons/places/svg/production/ic_fitness_center_24px.svg new file mode 100644 index 0000000..828dba8 --- /dev/null +++ b/src/material-widgets/icons/places/svg/production/ic_fitness_center_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/places/svg/production/ic_free_breakfast_24px.svg b/src/material-widgets/icons/places/svg/production/ic_free_breakfast_24px.svg new file mode 100644 index 0000000..c56a433 --- /dev/null +++ b/src/material-widgets/icons/places/svg/production/ic_free_breakfast_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/places/svg/production/ic_golf_course_24px.svg b/src/material-widgets/icons/places/svg/production/ic_golf_course_24px.svg new file mode 100644 index 0000000..500a00f --- /dev/null +++ b/src/material-widgets/icons/places/svg/production/ic_golf_course_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/places/svg/production/ic_hot_tub_24px.svg b/src/material-widgets/icons/places/svg/production/ic_hot_tub_24px.svg new file mode 100644 index 0000000..865ea75 --- /dev/null +++ b/src/material-widgets/icons/places/svg/production/ic_hot_tub_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/places/svg/production/ic_kitchen_24px.svg b/src/material-widgets/icons/places/svg/production/ic_kitchen_24px.svg new file mode 100644 index 0000000..aa0616a --- /dev/null +++ b/src/material-widgets/icons/places/svg/production/ic_kitchen_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/places/svg/production/ic_pool_24px.svg b/src/material-widgets/icons/places/svg/production/ic_pool_24px.svg new file mode 100644 index 0000000..b08944e --- /dev/null +++ b/src/material-widgets/icons/places/svg/production/ic_pool_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/places/svg/production/ic_room_service_24px.svg b/src/material-widgets/icons/places/svg/production/ic_room_service_24px.svg new file mode 100644 index 0000000..560f160 --- /dev/null +++ b/src/material-widgets/icons/places/svg/production/ic_room_service_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/places/svg/production/ic_rv_hookup_24px.svg b/src/material-widgets/icons/places/svg/production/ic_rv_hookup_24px.svg new file mode 100644 index 0000000..c261516 --- /dev/null +++ b/src/material-widgets/icons/places/svg/production/ic_rv_hookup_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/places/svg/production/ic_smoke_free_24px.svg b/src/material-widgets/icons/places/svg/production/ic_smoke_free_24px.svg new file mode 100644 index 0000000..0bed46f --- /dev/null +++ b/src/material-widgets/icons/places/svg/production/ic_smoke_free_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/places/svg/production/ic_smoking_rooms_24px.svg b/src/material-widgets/icons/places/svg/production/ic_smoking_rooms_24px.svg new file mode 100644 index 0000000..e8aec2d --- /dev/null +++ b/src/material-widgets/icons/places/svg/production/ic_smoking_rooms_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/places/svg/production/ic_spa_24px.svg b/src/material-widgets/icons/places/svg/production/ic_spa_24px.svg new file mode 100644 index 0000000..7300651 --- /dev/null +++ b/src/material-widgets/icons/places/svg/production/ic_spa_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/social/svg/production/ic_cake_24px.svg b/src/material-widgets/icons/social/svg/production/ic_cake_24px.svg new file mode 100644 index 0000000..23dc09f --- /dev/null +++ b/src/material-widgets/icons/social/svg/production/ic_cake_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/social/svg/production/ic_domain_24px.svg b/src/material-widgets/icons/social/svg/production/ic_domain_24px.svg new file mode 100644 index 0000000..bfaefa1 --- /dev/null +++ b/src/material-widgets/icons/social/svg/production/ic_domain_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/social/svg/production/ic_group_24px.svg b/src/material-widgets/icons/social/svg/production/ic_group_24px.svg new file mode 100644 index 0000000..bd9a133 --- /dev/null +++ b/src/material-widgets/icons/social/svg/production/ic_group_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/social/svg/production/ic_group_add_24px.svg b/src/material-widgets/icons/social/svg/production/ic_group_add_24px.svg new file mode 100644 index 0000000..f863fa5 --- /dev/null +++ b/src/material-widgets/icons/social/svg/production/ic_group_add_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/social/svg/production/ic_location_city_24px.svg b/src/material-widgets/icons/social/svg/production/ic_location_city_24px.svg new file mode 100644 index 0000000..357849b --- /dev/null +++ b/src/material-widgets/icons/social/svg/production/ic_location_city_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/social/svg/production/ic_mood_24px.svg b/src/material-widgets/icons/social/svg/production/ic_mood_24px.svg new file mode 100644 index 0000000..57bea0f --- /dev/null +++ b/src/material-widgets/icons/social/svg/production/ic_mood_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/social/svg/production/ic_mood_bad_24px.svg b/src/material-widgets/icons/social/svg/production/ic_mood_bad_24px.svg new file mode 100644 index 0000000..400f4da --- /dev/null +++ b/src/material-widgets/icons/social/svg/production/ic_mood_bad_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/social/svg/production/ic_notifications_24px.svg b/src/material-widgets/icons/social/svg/production/ic_notifications_24px.svg new file mode 100644 index 0000000..cdb3331 --- /dev/null +++ b/src/material-widgets/icons/social/svg/production/ic_notifications_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/social/svg/production/ic_notifications_active_24px.svg b/src/material-widgets/icons/social/svg/production/ic_notifications_active_24px.svg new file mode 100644 index 0000000..6d72315 --- /dev/null +++ b/src/material-widgets/icons/social/svg/production/ic_notifications_active_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/social/svg/production/ic_notifications_none_24px.svg b/src/material-widgets/icons/social/svg/production/ic_notifications_none_24px.svg new file mode 100644 index 0000000..7509df6 --- /dev/null +++ b/src/material-widgets/icons/social/svg/production/ic_notifications_none_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/social/svg/production/ic_notifications_off_24px.svg b/src/material-widgets/icons/social/svg/production/ic_notifications_off_24px.svg new file mode 100644 index 0000000..0827f2a --- /dev/null +++ b/src/material-widgets/icons/social/svg/production/ic_notifications_off_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/social/svg/production/ic_notifications_paused_24px.svg b/src/material-widgets/icons/social/svg/production/ic_notifications_paused_24px.svg new file mode 100644 index 0000000..06ed575 --- /dev/null +++ b/src/material-widgets/icons/social/svg/production/ic_notifications_paused_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/social/svg/production/ic_pages_24px.svg b/src/material-widgets/icons/social/svg/production/ic_pages_24px.svg new file mode 100644 index 0000000..c8a0421 --- /dev/null +++ b/src/material-widgets/icons/social/svg/production/ic_pages_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/social/svg/production/ic_party_mode_24px.svg b/src/material-widgets/icons/social/svg/production/ic_party_mode_24px.svg new file mode 100644 index 0000000..12a8ee3 --- /dev/null +++ b/src/material-widgets/icons/social/svg/production/ic_party_mode_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/social/svg/production/ic_people_24px.svg b/src/material-widgets/icons/social/svg/production/ic_people_24px.svg new file mode 100644 index 0000000..bd9a133 --- /dev/null +++ b/src/material-widgets/icons/social/svg/production/ic_people_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/social/svg/production/ic_people_outline_24px.svg b/src/material-widgets/icons/social/svg/production/ic_people_outline_24px.svg new file mode 100644 index 0000000..901e72c --- /dev/null +++ b/src/material-widgets/icons/social/svg/production/ic_people_outline_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/social/svg/production/ic_person_24px.svg b/src/material-widgets/icons/social/svg/production/ic_person_24px.svg new file mode 100644 index 0000000..e22d151 --- /dev/null +++ b/src/material-widgets/icons/social/svg/production/ic_person_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/social/svg/production/ic_person_add_24px.svg b/src/material-widgets/icons/social/svg/production/ic_person_add_24px.svg new file mode 100644 index 0000000..97e4d3a --- /dev/null +++ b/src/material-widgets/icons/social/svg/production/ic_person_add_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/social/svg/production/ic_person_outline_24px.svg b/src/material-widgets/icons/social/svg/production/ic_person_outline_24px.svg new file mode 100644 index 0000000..a1ac943 --- /dev/null +++ b/src/material-widgets/icons/social/svg/production/ic_person_outline_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/social/svg/production/ic_plus_one_24px.svg b/src/material-widgets/icons/social/svg/production/ic_plus_one_24px.svg new file mode 100644 index 0000000..09b83d6 --- /dev/null +++ b/src/material-widgets/icons/social/svg/production/ic_plus_one_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/social/svg/production/ic_poll_24px.svg b/src/material-widgets/icons/social/svg/production/ic_poll_24px.svg new file mode 100644 index 0000000..cc7768b --- /dev/null +++ b/src/material-widgets/icons/social/svg/production/ic_poll_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/social/svg/production/ic_public_24px.svg b/src/material-widgets/icons/social/svg/production/ic_public_24px.svg new file mode 100644 index 0000000..6356e73 --- /dev/null +++ b/src/material-widgets/icons/social/svg/production/ic_public_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/social/svg/production/ic_school_24px.svg b/src/material-widgets/icons/social/svg/production/ic_school_24px.svg new file mode 100644 index 0000000..3a6524b --- /dev/null +++ b/src/material-widgets/icons/social/svg/production/ic_school_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/social/svg/production/ic_sentiment_dissatisfied_24px.svg b/src/material-widgets/icons/social/svg/production/ic_sentiment_dissatisfied_24px.svg new file mode 100644 index 0000000..7d4f065 --- /dev/null +++ b/src/material-widgets/icons/social/svg/production/ic_sentiment_dissatisfied_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/social/svg/production/ic_sentiment_neutral_24px.svg b/src/material-widgets/icons/social/svg/production/ic_sentiment_neutral_24px.svg new file mode 100644 index 0000000..f4e174b --- /dev/null +++ b/src/material-widgets/icons/social/svg/production/ic_sentiment_neutral_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/social/svg/production/ic_sentiment_satisfied_24px.svg b/src/material-widgets/icons/social/svg/production/ic_sentiment_satisfied_24px.svg new file mode 100644 index 0000000..ce09a92 --- /dev/null +++ b/src/material-widgets/icons/social/svg/production/ic_sentiment_satisfied_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/social/svg/production/ic_sentiment_very_dissatisfied_24px.svg b/src/material-widgets/icons/social/svg/production/ic_sentiment_very_dissatisfied_24px.svg new file mode 100644 index 0000000..59a5ee3 --- /dev/null +++ b/src/material-widgets/icons/social/svg/production/ic_sentiment_very_dissatisfied_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/social/svg/production/ic_sentiment_very_satisfied_24px.svg b/src/material-widgets/icons/social/svg/production/ic_sentiment_very_satisfied_24px.svg new file mode 100644 index 0000000..2d1f227 --- /dev/null +++ b/src/material-widgets/icons/social/svg/production/ic_sentiment_very_satisfied_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/social/svg/production/ic_share_24px.svg b/src/material-widgets/icons/social/svg/production/ic_share_24px.svg new file mode 100644 index 0000000..ed3e530 --- /dev/null +++ b/src/material-widgets/icons/social/svg/production/ic_share_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/social/svg/production/ic_whatshot_24px.svg b/src/material-widgets/icons/social/svg/production/ic_whatshot_24px.svg new file mode 100644 index 0000000..d064899 --- /dev/null +++ b/src/material-widgets/icons/social/svg/production/ic_whatshot_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/toggle/svg/production/ic_check_box_24px.svg b/src/material-widgets/icons/toggle/svg/production/ic_check_box_24px.svg new file mode 100644 index 0000000..36658a4 --- /dev/null +++ b/src/material-widgets/icons/toggle/svg/production/ic_check_box_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/toggle/svg/production/ic_check_box_outline_blank_24px.svg b/src/material-widgets/icons/toggle/svg/production/ic_check_box_outline_blank_24px.svg new file mode 100644 index 0000000..03aea59 --- /dev/null +++ b/src/material-widgets/icons/toggle/svg/production/ic_check_box_outline_blank_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/toggle/svg/production/ic_indeterminate_check_box_24px.svg b/src/material-widgets/icons/toggle/svg/production/ic_indeterminate_check_box_24px.svg new file mode 100644 index 0000000..4a7533d --- /dev/null +++ b/src/material-widgets/icons/toggle/svg/production/ic_indeterminate_check_box_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/toggle/svg/production/ic_radio_button_checked_24px.svg b/src/material-widgets/icons/toggle/svg/production/ic_radio_button_checked_24px.svg new file mode 100644 index 0000000..2cb138b --- /dev/null +++ b/src/material-widgets/icons/toggle/svg/production/ic_radio_button_checked_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/toggle/svg/production/ic_radio_button_unchecked_24px.svg b/src/material-widgets/icons/toggle/svg/production/ic_radio_button_unchecked_24px.svg new file mode 100644 index 0000000..acce6d1 --- /dev/null +++ b/src/material-widgets/icons/toggle/svg/production/ic_radio_button_unchecked_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/toggle/svg/production/ic_star_24px.svg b/src/material-widgets/icons/toggle/svg/production/ic_star_24px.svg new file mode 100644 index 0000000..46d104b --- /dev/null +++ b/src/material-widgets/icons/toggle/svg/production/ic_star_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/toggle/svg/production/ic_star_border_24px.svg b/src/material-widgets/icons/toggle/svg/production/ic_star_border_24px.svg new file mode 100644 index 0000000..98e7040 --- /dev/null +++ b/src/material-widgets/icons/toggle/svg/production/ic_star_border_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/icons/toggle/svg/production/ic_star_half_24px.svg b/src/material-widgets/icons/toggle/svg/production/ic_star_half_24px.svg new file mode 100644 index 0000000..a07f7d0 --- /dev/null +++ b/src/material-widgets/icons/toggle/svg/production/ic_star_half_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/material-widgets/layouts/qtmaterialsnackbarlayout.cpp b/src/material-widgets/layouts/qtmaterialsnackbarlayout.cpp new file mode 100644 index 0000000..e69de29 diff --git a/src/material-widgets/layouts/qtmaterialsnackbarlayout.h b/src/material-widgets/layouts/qtmaterialsnackbarlayout.h new file mode 100644 index 0000000..c194fec --- /dev/null +++ b/src/material-widgets/layouts/qtmaterialsnackbarlayout.h @@ -0,0 +1,4 @@ +#ifndef QTMATERIALSNACKBARLAYOUT_H +#define QTMATERIALSNACKBARLAYOUT_H + +#endif // QTMATERIALSNACKBARLAYOUT_H diff --git a/src/material-widgets/layouts/qtmaterialsnackbarlayout_p.h b/src/material-widgets/layouts/qtmaterialsnackbarlayout_p.h new file mode 100644 index 0000000..6c2dd5d --- /dev/null +++ b/src/material-widgets/layouts/qtmaterialsnackbarlayout_p.h @@ -0,0 +1,4 @@ +#ifndef QTMATERIALSNACKBARLAYOUT_P_H +#define QTMATERIALSNACKBARLAYOUT_P_H + +#endif // QTMATERIALSNACKBARLAYOUT_P_H diff --git a/src/material-widgets/lib/qtmaterialcheckable.cpp b/src/material-widgets/lib/qtmaterialcheckable.cpp new file mode 100644 index 0000000..ee4e0bd --- /dev/null +++ b/src/material-widgets/lib/qtmaterialcheckable.cpp @@ -0,0 +1,419 @@ +#include "lib/qtmaterialcheckable.h" +#include "lib/qtmaterialcheckable_p.h" +#include +#include +#include +#include +#include +#include +#include +#include "lib/qtmaterialrippleoverlay.h" +#include "lib/qtmaterialripple.h" +#include "lib/qtmaterialstyle.h" +#include "lib/qtmaterialcheckable_internal.h" + +/*! + * \class QtMaterialCheckablePrivate + * \internal + */ + +QtMaterialCheckablePrivate::QtMaterialCheckablePrivate(QtMaterialCheckable *q) + : q_ptr(q) +{ +} + +QtMaterialCheckablePrivate::~QtMaterialCheckablePrivate() +{ +} + +void QtMaterialCheckablePrivate::init() +{ + Q_Q(QtMaterialCheckable); + + rippleOverlay = new QtMaterialRippleOverlay; + checkedIcon = new QtMaterialCheckableIcon(QIcon(":/icons/icons/toggle/svg/production/ic_check_box_24px.svg"), q); + uncheckedIcon = new QtMaterialCheckableIcon(QIcon(":/icons/icons/toggle/svg/production/ic_check_box_outline_blank_24px.svg"), q); + stateMachine = new QStateMachine(q); + uncheckedState = new QState; + checkedState = new QState; + disabledUncheckedState = new QState; + disabledCheckedState = new QState; + uncheckedTransition = new QSignalTransition(q, SIGNAL(toggled(bool))); + checkedTransition = new QSignalTransition(q, SIGNAL(toggled(bool))); + labelPosition = QtMaterialCheckable::LabelPositionRight; + useThemeColors = true; + + rippleOverlay->setParent(q->parentWidget()); + rippleOverlay->installEventFilter(q); + + q->setCheckable(true); + q->setStyle(&QtMaterialStyle::instance()); + q->setFont(QFont("Roboto", 11, QFont::Normal)); + + stateMachine->addState(uncheckedState); + stateMachine->addState(checkedState); + stateMachine->addState(disabledUncheckedState); + stateMachine->addState(disabledCheckedState); + stateMachine->setInitialState(uncheckedState); + + // Transition to checked + + uncheckedTransition->setTargetState(checkedState); + uncheckedState->addTransition(uncheckedTransition); + + // Transition to unchecked + + checkedTransition->setTargetState(uncheckedState); + checkedState->addTransition(checkedTransition); + + QAbstractTransition *transition; + + // Transitions enabled <==> disabled + + transition = new QEventTransition(q, QEvent::EnabledChange); + transition->setTargetState(disabledUncheckedState); + uncheckedState->addTransition(transition); + + transition = new QEventTransition(q, QEvent::EnabledChange); + transition->setTargetState(uncheckedState); + disabledUncheckedState->addTransition(transition); + + transition = new QEventTransition(q, QEvent::EnabledChange); + transition->setTargetState(disabledCheckedState); + checkedState->addTransition(transition); + + transition = new QEventTransition(q, QEvent::EnabledChange); + transition->setTargetState(checkedState); + disabledCheckedState->addTransition(transition); + + transition = new QSignalTransition(q, SIGNAL(toggled(bool))); + transition->setTargetState(disabledCheckedState); + disabledUncheckedState->addTransition(transition); + + transition = new QSignalTransition(q, SIGNAL(toggled(bool))); + transition->setTargetState(disabledUncheckedState); + disabledCheckedState->addTransition(transition); + + // + + checkedState->assignProperty(checkedIcon, "opacity", 1); + checkedState->assignProperty(uncheckedIcon, "opacity", 0); + + uncheckedState->assignProperty(checkedIcon, "opacity", 0); + uncheckedState->assignProperty(uncheckedIcon, "opacity", 1); + + disabledCheckedState->assignProperty(checkedIcon, "opacity", 1); + disabledCheckedState->assignProperty(uncheckedIcon, "opacity", 0); + + disabledUncheckedState->assignProperty(checkedIcon, "opacity", 0); + disabledUncheckedState->assignProperty(uncheckedIcon, "opacity", 1); + + checkedState->assignProperty(checkedIcon, "color", q->checkedColor()); + checkedState->assignProperty(uncheckedIcon, "color", q->checkedColor()); + + uncheckedState->assignProperty(uncheckedIcon, "color", q->uncheckedColor()); + uncheckedState->assignProperty(uncheckedIcon, "color", q->uncheckedColor()); + + disabledUncheckedState->assignProperty(uncheckedIcon, "color", q->disabledColor()); + disabledCheckedState->assignProperty(checkedIcon, "color", q->disabledColor()); + + stateMachine->start(); + QCoreApplication::processEvents(); +} + +/*! + * \class QtMaterialCheckable + */ + +QtMaterialCheckable::QtMaterialCheckable(QWidget *parent) + : QAbstractButton(parent), + d_ptr(new QtMaterialCheckablePrivate(this)) +{ + d_func()->init(); +} + +QtMaterialCheckable::~QtMaterialCheckable() +{ +} + +void QtMaterialCheckable::setLabelPosition(LabelPosition placement) +{ + Q_D(QtMaterialCheckable); + + d->labelPosition = placement; + update(); +} + +QtMaterialCheckable::LabelPosition QtMaterialCheckable::labelPosition() const +{ + Q_D(const QtMaterialCheckable); + + return d->labelPosition; +} + +void QtMaterialCheckable::setUseThemeColors(bool value) +{ + Q_D(QtMaterialCheckable); + + if (d->useThemeColors == value) { + return; + } + + d->useThemeColors = value; + setupProperties(); +} + +bool QtMaterialCheckable::useThemeColors() const +{ + Q_D(const QtMaterialCheckable); + + return d->useThemeColors; +} + +void QtMaterialCheckable::setCheckedColor(const QColor &color) +{ + Q_D(QtMaterialCheckable); + + d->checkedColor = color; + + MATERIAL_DISABLE_THEME_COLORS + setupProperties(); +} + +QColor QtMaterialCheckable::checkedColor() const +{ + Q_D(const QtMaterialCheckable); + + if (d->useThemeColors || !d->checkedColor.isValid()) { + return QtMaterialStyle::instance().themeColor("primary1"); + } else { + return d->checkedColor; + } +} + +void QtMaterialCheckable::setUncheckedColor(const QColor &color) +{ + Q_D(QtMaterialCheckable); + + d->uncheckedColor = color; + + MATERIAL_DISABLE_THEME_COLORS + setupProperties(); +} + +QColor QtMaterialCheckable::uncheckedColor() const +{ + Q_D(const QtMaterialCheckable); + + if (d->useThemeColors || !d->uncheckedColor.isValid()) { + return QtMaterialStyle::instance().themeColor("text"); + } else { + return d->uncheckedColor; + } +} + +void QtMaterialCheckable::setTextColor(const QColor &color) +{ + Q_D(QtMaterialCheckable); + + d->textColor = color; + + MATERIAL_DISABLE_THEME_COLORS + setupProperties(); +} + +QColor QtMaterialCheckable::textColor() const +{ + Q_D(const QtMaterialCheckable); + + if (d->useThemeColors || !d->textColor.isValid()) { + return QtMaterialStyle::instance().themeColor("text"); + } else { + return d->textColor; + } +} + +void QtMaterialCheckable::setDisabledColor(const QColor &color) +{ + Q_D(QtMaterialCheckable); + + d->disabledColor = color; + + MATERIAL_DISABLE_THEME_COLORS + setupProperties(); +} + +QColor QtMaterialCheckable::disabledColor() const +{ + Q_D(const QtMaterialCheckable); + + if (d->useThemeColors || !d->disabledColor.isValid()) { + return QtMaterialStyle::instance().themeColor("accent3"); + } else { + return d->disabledColor; + } +} + +void QtMaterialCheckable::setCheckedIcon(const QIcon &icon) +{ + Q_D(QtMaterialCheckable); + + d->checkedIcon->setIcon(icon); + update(); +} + +QIcon QtMaterialCheckable::checkedIcon() const +{ + Q_D(const QtMaterialCheckable); + + return d->checkedIcon->icon(); +} + +void QtMaterialCheckable::setUncheckedIcon(const QIcon &icon) +{ + Q_D(QtMaterialCheckable); + + d->uncheckedIcon->setIcon(icon); + update(); +} + +QIcon QtMaterialCheckable::uncheckedIcon() const +{ + Q_D(const QtMaterialCheckable); + + return d->uncheckedIcon->icon(); +} + +/*! + * \reimp + */ +QSize QtMaterialCheckable::sizeHint() const +{ + if (text().isEmpty()) { + return QSize(40, 40); + } + return QSize(fontMetrics().size(Qt::TextShowMnemonic, text()).width()+52, 40); +} + +QtMaterialCheckable::QtMaterialCheckable(QtMaterialCheckablePrivate &d, QWidget *parent) + : QAbstractButton(parent), + d_ptr(&d) +{ + d_func()->init(); +} + +/*! + * \reimp + */ +bool QtMaterialCheckable::event(QEvent *event) +{ + Q_D(QtMaterialCheckable); + + switch (event->type()) + { + case QEvent::Resize: + case QEvent::Move: + d->checkedIcon->setGeometry(rect()); + d->uncheckedIcon->setGeometry(rect()); + d->rippleOverlay->setGeometry(geometry().adjusted(-8, -8, 8, 8)); + break; + case QEvent::ParentChange: + QWidget *widget; + if ((widget = parentWidget())) { + d->rippleOverlay->setParent(widget); + } + break; + default: + break; + } + return QAbstractButton::event(event); +} + +/*! + * \reimp + */ +bool QtMaterialCheckable::eventFilter(QObject *obj, QEvent *event) +{ + if (QEvent::Resize == event->type()) + { + Q_D(QtMaterialCheckable); + + d->rippleOverlay->setGeometry(geometry().adjusted(-8, -8, 8, 8)); + } + return QAbstractButton::eventFilter(obj, event); +} + +/*! + * \reimp + */ +void QtMaterialCheckable::mousePressEvent(QMouseEvent *event) +{ + Q_UNUSED(event) + + Q_D(QtMaterialCheckable); + + if (!isEnabled()) { + return; + } + + QtMaterialRipple *ripple; + if (QtMaterialCheckable::LabelPositionLeft == d->labelPosition) { + ripple = new QtMaterialRipple(QPoint(width()-14, 28)); + } else { + ripple = new QtMaterialRipple(QPoint(28, 28)); + } + ripple->setRadiusEndValue(22); + ripple->setColor(isChecked() ? checkedColor() : uncheckedColor()); + if (isChecked()) { + ripple->setOpacityStartValue(1); + } + d->rippleOverlay->addRipple(ripple); + + setChecked(!isChecked()); +} + +/*! + * \reimp + */ +void QtMaterialCheckable::paintEvent(QPaintEvent *event) +{ + Q_UNUSED(event) + + Q_D(QtMaterialCheckable); + + QPainter painter(this); + + QPen pen; + pen.setColor(isEnabled() ? textColor() : disabledColor()); + painter.setPen(pen); + + if (QtMaterialCheckable::LabelPositionLeft == d->labelPosition) { + painter.drawText(4, 25, text()); + } else { + painter.drawText(48, 25, text()); + } +} + +void QtMaterialCheckable::setupProperties() +{ + Q_D(QtMaterialCheckable); + + d->checkedState->assignProperty(d->checkedIcon, "color", checkedColor()); + d->checkedState->assignProperty(d->uncheckedIcon, "color", checkedColor()); + d->uncheckedState->assignProperty(d->uncheckedIcon, "color", uncheckedColor()); + d->disabledUncheckedState->assignProperty(d->uncheckedIcon, "color", disabledColor()); + d->disabledCheckedState->assignProperty(d->checkedIcon, "color", disabledColor()); + + if (isEnabled()) { + if (isChecked()) { + d->checkedIcon->setColor(checkedColor()); + } else { + d->uncheckedIcon->setColor(uncheckedColor()); + } + } else { + d->checkedIcon->setColor(disabledColor()); + d->uncheckedIcon->setColor(disabledColor()); + } + + update(); +} diff --git a/src/material-widgets/lib/qtmaterialcheckable.h b/src/material-widgets/lib/qtmaterialcheckable.h new file mode 100644 index 0000000..c4cc574 --- /dev/null +++ b/src/material-widgets/lib/qtmaterialcheckable.h @@ -0,0 +1,64 @@ +#ifndef QTMATERIALCHECKABLE_H +#define QTMATERIALCHECKABLE_H + +#include + +class QtMaterialCheckablePrivate; + +class QtMaterialCheckable : public QAbstractButton +{ + Q_OBJECT + +public: + enum LabelPosition { + LabelPositionLeft, + LabelPositionRight, + }; + + explicit QtMaterialCheckable(QWidget *parent = 0); + ~QtMaterialCheckable(); + + void setLabelPosition(LabelPosition placement); + LabelPosition labelPosition() const; + + void setUseThemeColors(bool value); + bool useThemeColors() const; + + void setCheckedColor(const QColor &color); + QColor checkedColor() const; + + void setUncheckedColor(const QColor &color); + QColor uncheckedColor() const; + + void setTextColor(const QColor &color); + QColor textColor() const; + + void setDisabledColor(const QColor &color); + QColor disabledColor() const; + + void setCheckedIcon(const QIcon &icon); + QIcon checkedIcon() const; + + void setUncheckedIcon(const QIcon &icon); + QIcon uncheckedIcon() const; + + QSize sizeHint() const Q_DECL_OVERRIDE; + +protected: + QtMaterialCheckable(QtMaterialCheckablePrivate &d, QWidget *parent = 0); + + bool event(QEvent *event) Q_DECL_OVERRIDE; + bool eventFilter(QObject *obj, QEvent *event) Q_DECL_OVERRIDE; + void mousePressEvent(QMouseEvent *event) Q_DECL_OVERRIDE; + void paintEvent(QPaintEvent *event) Q_DECL_OVERRIDE; + + virtual void setupProperties(); + + const QScopedPointer d_ptr; + +private: + Q_DISABLE_COPY(QtMaterialCheckable) + Q_DECLARE_PRIVATE(QtMaterialCheckable) +}; + +#endif // QTMATERIALCHECKABLE_H diff --git a/src/material-widgets/lib/qtmaterialcheckable_internal.cpp b/src/material-widgets/lib/qtmaterialcheckable_internal.cpp new file mode 100644 index 0000000..4a7eb9a --- /dev/null +++ b/src/material-widgets/lib/qtmaterialcheckable_internal.cpp @@ -0,0 +1,63 @@ +#include "lib/qtmaterialcheckable_internal.h" +#include +#include +#include +#include "lib/qtmaterialcheckable.h" + +/*! + * \class QtMaterialCheckableIcon + * \internal + */ + +QtMaterialCheckableIcon::QtMaterialCheckableIcon(const QIcon &icon, QtMaterialCheckable *parent) + : QWidget(parent), + m_checkable(parent), + m_color(Qt::black), + m_icon(icon), + m_iconSize(24), + m_opacity(1.0) +{ + Q_ASSERT(parent); + + setAttribute(Qt::WA_TransparentForMouseEvents); +} + +QtMaterialCheckableIcon::~QtMaterialCheckableIcon() +{ +} + +QSize QtMaterialCheckableIcon::sizeHint() const +{ + return QSize(m_iconSize, m_iconSize); +} + +void QtMaterialCheckableIcon::paintEvent(QPaintEvent *event) +{ + Q_UNUSED(event) + + QPainter painter(this); + painter.setRenderHint(QPainter::Antialiasing); + painter.setOpacity(m_opacity); + + QPixmap pixmap = icon().pixmap(24, 24); + + if (!pixmap.isNull()) + { + const qreal p = static_cast((height())-m_iconSize)/2; + const qreal z = m_iconSize/24; + + QTransform t; + if (QtMaterialCheckable::LabelPositionLeft == m_checkable->labelPosition()) { + t.translate(p+width()-42, p); + } else { + t.translate(p, p); + } + t.scale(z, z); + painter.setTransform(t); + + QPainter icon(&pixmap); + icon.setCompositionMode(QPainter::CompositionMode_SourceIn); + icon.fillRect(pixmap.rect(), color()); + painter.drawPixmap(0, 0, pixmap); + } +} diff --git a/src/material-widgets/lib/qtmaterialcheckable_internal.h b/src/material-widgets/lib/qtmaterialcheckable_internal.h new file mode 100644 index 0000000..3fb3d94 --- /dev/null +++ b/src/material-widgets/lib/qtmaterialcheckable_internal.h @@ -0,0 +1,93 @@ +#ifndef QTMATERIALCHECKABLE_INTERNAL_H +#define QTMATERIALCHECKABLE_INTERNAL_H + +#include +#include +#include + +class QtMaterialCheckable; + +class QtMaterialCheckableIcon : public QWidget +{ + Q_OBJECT + + Q_PROPERTY(QColor color READ color WRITE setColor) + Q_PROPERTY(qreal iconSize READ iconSize WRITE setIconSize) + Q_PROPERTY(qreal opacity READ opacity WRITE setOpacity) + +public: + QtMaterialCheckableIcon(const QIcon &icon, QtMaterialCheckable *parent); + ~QtMaterialCheckableIcon(); + + QSize sizeHint() const Q_DECL_OVERRIDE; + + inline void setIcon(const QIcon &icon); + inline QIcon icon() const; + + inline void setColor(const QColor &color); + inline QColor color() const; + + inline void setIconSize(qreal size); + inline qreal iconSize() const; + + inline void setOpacity(qreal opacity); + inline qreal opacity() const; + +protected: + void paintEvent(QPaintEvent *event) Q_DECL_OVERRIDE; + +private: + Q_DISABLE_COPY(QtMaterialCheckableIcon) + + QtMaterialCheckable *const m_checkable; + QColor m_color; + QIcon m_icon; + qreal m_iconSize; + qreal m_opacity; +}; + +inline void QtMaterialCheckableIcon::setIcon(const QIcon &icon) +{ + m_icon = icon; + update(); +} + +inline QIcon QtMaterialCheckableIcon::icon() const +{ + return m_icon; +} + +inline void QtMaterialCheckableIcon::setColor(const QColor &color) +{ + m_color = color; + update(); +} + +inline QColor QtMaterialCheckableIcon::color() const +{ + return m_color; +} + +inline void QtMaterialCheckableIcon::setIconSize(qreal size) +{ + m_iconSize = size; + update(); +} + +inline qreal QtMaterialCheckableIcon::iconSize() const +{ + return m_iconSize; +} + +inline void QtMaterialCheckableIcon::setOpacity(qreal opacity) +{ + m_opacity = opacity; + update(); +} + +inline qreal QtMaterialCheckableIcon::opacity() const +{ + return m_opacity; +} + +#endif // QTMATERIALCHECKABLE_INTERNAL_H diff --git a/src/material-widgets/lib/qtmaterialcheckable_p.h b/src/material-widgets/lib/qtmaterialcheckable_p.h new file mode 100644 index 0000000..e678df7 --- /dev/null +++ b/src/material-widgets/lib/qtmaterialcheckable_p.h @@ -0,0 +1,43 @@ +#ifndef QTMATERIALCHECKABLE_P_H +#define QTMATERIALCHECKABLE_P_H + +#include +#include "lib/qtmaterialcheckable.h" + +class QStateMachine; +class QState; +class QSignalTransition; +class QtMaterialRippleOverlay; +class QtMaterialCheckableIcon; + +class QtMaterialCheckablePrivate +{ + Q_DISABLE_COPY(QtMaterialCheckablePrivate) + Q_DECLARE_PUBLIC(QtMaterialCheckable) + +public: + QtMaterialCheckablePrivate(QtMaterialCheckable *q); + virtual ~QtMaterialCheckablePrivate(); + + void init(); + + QtMaterialCheckable *const q_ptr; + QtMaterialRippleOverlay *rippleOverlay; + QtMaterialCheckableIcon *checkedIcon; + QtMaterialCheckableIcon *uncheckedIcon; + QStateMachine *stateMachine; + QState *uncheckedState; + QState *checkedState; + QState *disabledUncheckedState; + QState *disabledCheckedState; + QSignalTransition *uncheckedTransition; + QSignalTransition *checkedTransition; + QtMaterialCheckable::LabelPosition labelPosition; + QColor checkedColor; + QColor uncheckedColor; + QColor textColor; + QColor disabledColor; + bool useThemeColors; +}; + +#endif // QTMATERIALCHECKABLE_P_H diff --git a/src/material-widgets/lib/qtmaterialoverlaywidget.cpp b/src/material-widgets/lib/qtmaterialoverlaywidget.cpp new file mode 100644 index 0000000..ec0e7fe --- /dev/null +++ b/src/material-widgets/lib/qtmaterialoverlaywidget.cpp @@ -0,0 +1,72 @@ +#include "lib/qtmaterialoverlaywidget.h" +#include + +/*! + * \class QtMaterialOverlayWidget + * \internal + */ + +QtMaterialOverlayWidget::QtMaterialOverlayWidget(QWidget *parent) + : QWidget(parent) +{ + if (parent) { + parent->installEventFilter(this); + } +} + +QtMaterialOverlayWidget::~QtMaterialOverlayWidget() +{ +} + +/*! + * \reimp + */ +bool QtMaterialOverlayWidget::event(QEvent *event) +{ + if (!parent()) { + return QWidget::event(event); + } + switch (event->type()) + { + case QEvent::ParentChange: + { + parent()->installEventFilter(this); + setGeometry(overlayGeometry()); + break; + } + case QEvent::ParentAboutToChange: + { + parent()->removeEventFilter(this); + break; + } + default: + break; + } + return QWidget::event(event); +} + +/*! + * \reimp + */ +bool QtMaterialOverlayWidget::eventFilter(QObject *obj, QEvent *event) +{ + switch (event->type()) + { + case QEvent::Move: + case QEvent::Resize: + setGeometry(overlayGeometry()); + break; + default: + break; + } + return QWidget::eventFilter(obj, event); +} + +QRect QtMaterialOverlayWidget::overlayGeometry() const +{ + QWidget *widget = parentWidget(); + if (!widget) { + return QRect(); + } + return widget->rect(); +} diff --git a/src/material-widgets/lib/qtmaterialoverlaywidget.h b/src/material-widgets/lib/qtmaterialoverlaywidget.h new file mode 100644 index 0000000..11acba0 --- /dev/null +++ b/src/material-widgets/lib/qtmaterialoverlaywidget.h @@ -0,0 +1,24 @@ +#ifndef QTMATERIALOVERLAYWIDGET_H +#define QTMATERIALOVERLAYWIDGET_H + +#include + +class QtMaterialOverlayWidget : public QWidget +{ + Q_OBJECT + +public: + explicit QtMaterialOverlayWidget(QWidget *parent = 0); + ~QtMaterialOverlayWidget(); + +protected: + bool event(QEvent *event) Q_DECL_OVERRIDE; + bool eventFilter(QObject *obj, QEvent *event) Q_DECL_OVERRIDE; + + virtual QRect overlayGeometry() const; + +private: + Q_DISABLE_COPY(QtMaterialOverlayWidget) +}; + +#endif // QTMATERIALOVERLAYWIDGET_H diff --git a/src/material-widgets/lib/qtmaterialripple.cpp b/src/material-widgets/lib/qtmaterialripple.cpp new file mode 100644 index 0000000..82125cb --- /dev/null +++ b/src/material-widgets/lib/qtmaterialripple.cpp @@ -0,0 +1,119 @@ +#include "qtmaterialripple.h" +#include "lib/qtmaterialrippleoverlay.h" + +/*! + * \class QtMaterialRipple + * \internal + */ + +QtMaterialRipple::QtMaterialRipple(const QPoint ¢er, QObject *parent) + : QParallelAnimationGroup(parent), + m_overlay(0), + m_radiusAnimation(animate("radius")), + m_opacityAnimation(animate("opacity")), + m_radius(0), + m_opacity(0), + m_center(center) +{ + init(); +} + +QtMaterialRipple::QtMaterialRipple(const QPoint ¢er, + QtMaterialRippleOverlay *overlay, + QObject *parent) + : QParallelAnimationGroup(parent), + m_overlay(overlay), + m_radiusAnimation(animate("radius")), + m_opacityAnimation(animate("opacity")), + m_radius(0), + m_opacity(0), + m_center(center) +{ + init(); +} + +QtMaterialRipple::~QtMaterialRipple() +{ +} + +void QtMaterialRipple::setRadius(qreal radius) +{ + Q_ASSERT(m_overlay); + + if (m_radius == radius) { + return; + } + m_radius = radius; + m_overlay->update(); +} + +void QtMaterialRipple::setOpacity(qreal opacity) +{ + Q_ASSERT(m_overlay); + + if (m_opacity == opacity) { + return; + } + m_opacity = opacity; + m_overlay->update(); +} + +void QtMaterialRipple::setColor(const QColor &color) +{ + if (m_brush.color() == color) { + return; + } + m_brush.setColor(color); + + if (m_overlay) { + m_overlay->update(); + } +} + +void QtMaterialRipple::setBrush(const QBrush &brush) +{ + m_brush = brush; + + if (m_overlay) { + m_overlay->update(); + } +} + +void QtMaterialRipple::destroy() +{ + Q_ASSERT(m_overlay); + + m_overlay->removeRipple(this); +} + +/*! + * \internal + */ +QPropertyAnimation *QtMaterialRipple::animate(const QByteArray &property, + const QEasingCurve &easing, + int duration) +{ + QPropertyAnimation *animation = new QPropertyAnimation; + animation->setTargetObject(this); + animation->setPropertyName(property); + animation->setEasingCurve(easing); + animation->setDuration(duration); + addAnimation(animation); + return animation; +} + +/*! + * \internal + */ +void QtMaterialRipple::init() +{ + setOpacityStartValue(0.5); + setOpacityEndValue(0); + setRadiusStartValue(0); + setRadiusEndValue(300); + + m_brush.setColor(Qt::black); + m_brush.setStyle(Qt::SolidPattern); + + connect(this, SIGNAL(finished()), this, SLOT(destroy())); +} diff --git a/src/material-widgets/lib/qtmaterialripple.h b/src/material-widgets/lib/qtmaterialripple.h new file mode 100644 index 0000000..d263c76 --- /dev/null +++ b/src/material-widgets/lib/qtmaterialripple.h @@ -0,0 +1,136 @@ +#ifndef QTMATERIALRIPPLE_H +#define QTMATERIALRIPPLE_H + +#include +#include +#include +#include +#include + +class QtMaterialRippleOverlay; + +class QtMaterialRipple : public QParallelAnimationGroup +{ + Q_OBJECT + + Q_PROPERTY(qreal radius WRITE setRadius READ radius) + Q_PROPERTY(qreal opacity WRITE setOpacity READ opacity) + +public: + explicit QtMaterialRipple(const QPoint ¢er, QObject *parent = 0); + QtMaterialRipple(const QPoint ¢er, QtMaterialRippleOverlay *overlay, QObject *parent = 0); + ~QtMaterialRipple(); + + inline void setOverlay(QtMaterialRippleOverlay *overlay); + + void setRadius(qreal radius); + inline qreal radius() const; + + void setOpacity(qreal opacity); + inline qreal opacity() const; + + void setColor(const QColor &color); + inline QColor color() const; + + void setBrush(const QBrush &brush); + inline QBrush brush() const; + + inline QPoint center() const; + + inline QPropertyAnimation *radiusAnimation() const; + inline QPropertyAnimation *opacityAnimation() const; + + inline void setOpacityStartValue(qreal value); + inline void setOpacityEndValue(qreal value); + inline void setRadiusStartValue(qreal value); + inline void setRadiusEndValue(qreal value); + inline void setDuration(int msecs); + +protected slots: + void destroy(); + +private: + Q_DISABLE_COPY(QtMaterialRipple) + + QPropertyAnimation *animate(const QByteArray &property, + const QEasingCurve &easing = QEasingCurve::OutQuad, + int duration = 800); + + void init(); + + QtMaterialRippleOverlay *m_overlay; + QPropertyAnimation *const m_radiusAnimation; + QPropertyAnimation *const m_opacityAnimation; + qreal m_radius; + qreal m_opacity; + QPoint m_center; + QBrush m_brush; +}; + +inline void QtMaterialRipple::setOverlay(QtMaterialRippleOverlay *overlay) +{ + m_overlay = overlay; +} + +inline qreal QtMaterialRipple::radius() const +{ + return m_radius; +} + +inline qreal QtMaterialRipple::opacity() const +{ + return m_opacity; +} + +inline QColor QtMaterialRipple::color() const +{ + return m_brush.color(); +} + +inline QBrush QtMaterialRipple::brush() const +{ + return m_brush; +} + +inline QPoint QtMaterialRipple::center() const +{ + return m_center; +} + +inline QPropertyAnimation *QtMaterialRipple::radiusAnimation() const +{ + return m_radiusAnimation; +} + +inline QPropertyAnimation *QtMaterialRipple::opacityAnimation() const +{ + return m_opacityAnimation; +} + +inline void QtMaterialRipple::setOpacityStartValue(qreal value) +{ + m_opacityAnimation->setStartValue(value); +} + +inline void QtMaterialRipple::setOpacityEndValue(qreal value) +{ + m_opacityAnimation->setEndValue(value); +} + +inline void QtMaterialRipple::setRadiusStartValue(qreal value) +{ + m_radiusAnimation->setStartValue(value); +} + +inline void QtMaterialRipple::setRadiusEndValue(qreal value) +{ + m_radiusAnimation->setEndValue(value); +} + +inline void QtMaterialRipple::setDuration(int msecs) +{ + m_radiusAnimation->setDuration(msecs); + m_opacityAnimation->setDuration(msecs); +} + +#endif // QTMATERIALRIPPLE_H diff --git a/src/material-widgets/lib/qtmaterialrippleoverlay.cpp b/src/material-widgets/lib/qtmaterialrippleoverlay.cpp new file mode 100644 index 0000000..062d215 --- /dev/null +++ b/src/material-widgets/lib/qtmaterialrippleoverlay.cpp @@ -0,0 +1,75 @@ +#include "lib/qtmaterialrippleoverlay.h" +#include +#include "lib/qtmaterialripple.h" + +/*! + * \class QtMaterialRippleOverlay + * \internal + */ + +QtMaterialRippleOverlay::QtMaterialRippleOverlay(QWidget *parent) + : QtMaterialOverlayWidget(parent), + m_useClip(false) +{ + setAttribute(Qt::WA_TransparentForMouseEvents); + setAttribute(Qt::WA_NoSystemBackground); +} + +QtMaterialRippleOverlay::~QtMaterialRippleOverlay() +{ +} + +void QtMaterialRippleOverlay::addRipple(QtMaterialRipple *ripple) +{ + ripple->setOverlay(this); + m_ripples.push_back(ripple); + ripple->start(); + + connect(this, SIGNAL(destroyed(QObject*)), ripple, SLOT(stop())); + connect(this, SIGNAL(destroyed(QObject*)), ripple, SLOT(deleteLater())); +} + +void QtMaterialRippleOverlay::addRipple(const QPoint &position, qreal radius) +{ + QtMaterialRipple *ripple = new QtMaterialRipple(position); + ripple->setRadiusEndValue(radius); + addRipple(ripple); +} + +void QtMaterialRippleOverlay::removeRipple(QtMaterialRipple *ripple) +{ + if (m_ripples.removeOne(ripple)) { + delete ripple; + update(); + } +} + +/*! + * \reimp + */ +void QtMaterialRippleOverlay::paintEvent(QPaintEvent *event) +{ + Q_UNUSED(event) + + QPainter painter(this); + painter.setRenderHint(QPainter::Antialiasing); + painter.setPen(Qt::NoPen); + + if (m_useClip) { + painter.setClipPath(m_clipPath); + } + + QList::const_iterator i; + for (i = m_ripples.begin(); i != m_ripples.end(); ++i) { + paintRipple(&painter, *i); + } +} + +void QtMaterialRippleOverlay::paintRipple(QPainter *painter, QtMaterialRipple *ripple) +{ + const qreal radius = ripple->radius(); + const QPointF center = ripple->center(); + painter->setOpacity(ripple->opacity()); + painter->setBrush(ripple->brush()); + painter->drawEllipse(center, radius, radius); +} diff --git a/src/material-widgets/lib/qtmaterialrippleoverlay.h b/src/material-widgets/lib/qtmaterialrippleoverlay.h new file mode 100644 index 0000000..436c2b9 --- /dev/null +++ b/src/material-widgets/lib/qtmaterialrippleoverlay.h @@ -0,0 +1,64 @@ +#ifndef QTMATERIALRIPPLEOVERLAY_H +#define QTMATERIALRIPPLEOVERLAY_H + +#include +#include "lib/qtmaterialoverlaywidget.h" + +class QtMaterialRipple; + +class QtMaterialRippleOverlay : public QtMaterialOverlayWidget +{ + Q_OBJECT + +public: + explicit QtMaterialRippleOverlay(QWidget *parent = 0); + ~QtMaterialRippleOverlay(); + + void addRipple(QtMaterialRipple *ripple); + void addRipple(const QPoint &position, qreal radius = 300); + + void removeRipple(QtMaterialRipple *ripple); + + inline void setClipping(bool enable); + inline bool hasClipping() const; + + inline void setClipPath(const QPainterPath &path); + +protected: + void paintEvent(QPaintEvent *event) Q_DECL_OVERRIDE; + + inline QList ripples() const; + +private: + Q_DISABLE_COPY(QtMaterialRippleOverlay) + + void paintRipple(QPainter *painter, QtMaterialRipple *ripple); + + QList m_ripples; + QPainterPath m_clipPath; + bool m_useClip; +}; + +inline void QtMaterialRippleOverlay::setClipping(bool enable) +{ + m_useClip = enable; + update(); +} + +inline bool QtMaterialRippleOverlay::hasClipping() const +{ + return m_useClip; +} + +inline void QtMaterialRippleOverlay::setClipPath(const QPainterPath &path) +{ + m_clipPath = path; + update(); +} + +inline QList QtMaterialRippleOverlay::ripples() const +{ + return m_ripples; +} + +#endif // QTMATERIALRIPPLEOVERLAY_H diff --git a/src/material-widgets/lib/qtmaterialstatetransition.cpp b/src/material-widgets/lib/qtmaterialstatetransition.cpp new file mode 100644 index 0000000..75f1faf --- /dev/null +++ b/src/material-widgets/lib/qtmaterialstatetransition.cpp @@ -0,0 +1,19 @@ +#include "lib/qtmaterialstatetransition.h" + +QtMaterialStateTransition::QtMaterialStateTransition(QtMaterialStateTransitionType type) + : m_type(type) +{ +} + +bool QtMaterialStateTransition::eventTest(QEvent *event) +{ + if (event->type() != QEvent::Type(QEvent::User + 1)) { + return false; + } + QtMaterialStateTransitionEvent *transition = static_cast(event); + return (m_type == transition->type); +} + +void QtMaterialStateTransition::onTransition(QEvent *) +{ +} diff --git a/src/material-widgets/lib/qtmaterialstatetransition.h b/src/material-widgets/lib/qtmaterialstatetransition.h new file mode 100644 index 0000000..d501302 --- /dev/null +++ b/src/material-widgets/lib/qtmaterialstatetransition.h @@ -0,0 +1,22 @@ +#ifndef QTMATERIALSTATETRANSITION_H +#define QTMATERIALSTATETRANSITION_H + +#include +#include "lib/qtmaterialstatetransitionevent.h" + +class QtMaterialStateTransition : public QAbstractTransition +{ + Q_OBJECT + +public: + QtMaterialStateTransition(QtMaterialStateTransitionType type); + +protected: + virtual bool eventTest(QEvent *event); + virtual void onTransition(QEvent *); + +private: + QtMaterialStateTransitionType m_type; +}; + +#endif // QTMATERIALSTATETRANSITION_H diff --git a/src/material-widgets/lib/qtmaterialstatetransitionevent.h b/src/material-widgets/lib/qtmaterialstatetransitionevent.h new file mode 100644 index 0000000..1c64ec6 --- /dev/null +++ b/src/material-widgets/lib/qtmaterialstatetransitionevent.h @@ -0,0 +1,42 @@ +#ifndef QTMATERIALSTATETRANSITIONEVENT_H +#define QTMATERIALSTATETRANSITIONEVENT_H + +#include + +enum QtMaterialStateTransitionType { + // Snackbar + SnackbarShowTransition = 1, + SnackbarHideTransition, + SnackbarWaitTransition, + SnackbarNextTransition, + // FlatButton + FlatButtonPressedTransition, + FlatButtonCheckedTransition, + FlatButtonUncheckedTransition, + // CollapsibleMenu + CollapsibleMenuExpand, + CollapsibleMenuCollapse, + // Slider + SliderChangedToMinimum, + SliderChangedFromMinimum, + SliderNoFocusMouseEnter, + SliderNoFocusMouseLeave, + // Dialog + DialogShowTransition, + DialogHideTransition, + // + MaxTransitionType = 65535 +}; + +struct QtMaterialStateTransitionEvent : public QEvent +{ + QtMaterialStateTransitionEvent(QtMaterialStateTransitionType type) + : QEvent(QEvent::Type(QEvent::User + 1)), + type(type) + { + } + + QtMaterialStateTransitionType type; +}; + +#endif // QTMATERIALSTATETRANSITIONEVENT_H diff --git a/src/material-widgets/lib/qtmaterialstyle.cpp b/src/material-widgets/lib/qtmaterialstyle.cpp new file mode 100644 index 0000000..83bbab8 --- /dev/null +++ b/src/material-widgets/lib/qtmaterialstyle.cpp @@ -0,0 +1,57 @@ +#include "lib/qtmaterialstyle.h" +#include +#include "lib/qtmaterialtheme.h" + +/*! + * \class QtMaterialStylePrivate + * \internal + */ + +QtMaterialStylePrivate::QtMaterialStylePrivate(QtMaterialStyle *q) + : q_ptr(q) +{ +} + +QtMaterialStylePrivate::~QtMaterialStylePrivate() +{ +} + +void QtMaterialStylePrivate::init() +{ + Q_Q(QtMaterialStyle); + + QFontDatabase::addApplicationFont(":/fonts/roboto_regular"); + QFontDatabase::addApplicationFont(":/fonts/roboto_medium"); + QFontDatabase::addApplicationFont(":/fonts/roboto_bold"); + + q->setTheme(new QtMaterialTheme); +} + +/*! + * \class QtMaterialStyle + * \internal + */ + +void QtMaterialStyle::setTheme(QtMaterialTheme *theme) +{ + Q_D(QtMaterialStyle); + + d->theme = theme; + theme->setParent(this); +} + +QColor QtMaterialStyle::themeColor(const QString &key) const +{ + Q_D(const QtMaterialStyle); + + Q_ASSERT(d->theme); + + return d->theme->getColor(key); +} + +QtMaterialStyle::QtMaterialStyle() + : QCommonStyle(), + d_ptr(new QtMaterialStylePrivate(this)) +{ + d_func()->init(); +} diff --git a/src/material-widgets/lib/qtmaterialstyle.h b/src/material-widgets/lib/qtmaterialstyle.h new file mode 100644 index 0000000..e16289b --- /dev/null +++ b/src/material-widgets/lib/qtmaterialstyle.h @@ -0,0 +1,40 @@ +#ifndef QTMATERIALSTYLE_H +#define QTMATERIALSTYLE_H + +#include +#include "lib/qtmaterialstyle_p.h" + +#define MATERIAL_DISABLE_THEME_COLORS \ + if (d->useThemeColors == true) { d->useThemeColors = false; } + +class QtMaterialTheme; + +class QtMaterialStyle : public QCommonStyle +{ + Q_OBJECT + +public: + inline static QtMaterialStyle &instance(); + + void setTheme(QtMaterialTheme *theme); + QColor themeColor(const QString &key) const; + +protected: + const QScopedPointer d_ptr; + +private: + Q_DECLARE_PRIVATE(QtMaterialStyle) + + QtMaterialStyle(); + + QtMaterialStyle(QtMaterialStyle const &); + void operator=(QtMaterialStyle const &); +}; + +inline QtMaterialStyle &QtMaterialStyle::instance() +{ + static QtMaterialStyle instance; + return instance; +} + +#endif // QTMATERIALSTYLE_H diff --git a/src/material-widgets/lib/qtmaterialstyle_p.h b/src/material-widgets/lib/qtmaterialstyle_p.h new file mode 100644 index 0000000..d59ca41 --- /dev/null +++ b/src/material-widgets/lib/qtmaterialstyle_p.h @@ -0,0 +1,24 @@ +#ifndef QTMATERIALSTYLE_P_H +#define QTMATERIALSTYLE_P_H + +#include + +class QtMaterialStyle; +class QtMaterialTheme; + +class QtMaterialStylePrivate +{ + Q_DISABLE_COPY(QtMaterialStylePrivate) + Q_DECLARE_PUBLIC(QtMaterialStyle) + +public: + QtMaterialStylePrivate(QtMaterialStyle *q); + ~QtMaterialStylePrivate(); + + void init(); + + QtMaterialStyle *const q_ptr; + QtMaterialTheme *theme; +}; + +#endif // QTMATERIALSTYLE_P_H diff --git a/src/material-widgets/lib/qtmaterialtheme.cpp b/src/material-widgets/lib/qtmaterialtheme.cpp new file mode 100644 index 0000000..725c954 --- /dev/null +++ b/src/material-widgets/lib/qtmaterialtheme.cpp @@ -0,0 +1,159 @@ +#include "lib/qtmaterialtheme.h" +#include "lib/qtmaterialtheme_p.h" +#include +#include +#include + +/*!material + * \class QtMaterialThemePrivate + * \internal + */ + +QtMaterialThemePrivate::QtMaterialThemePrivate(QtMaterialTheme *q) + : q_ptr(q) +{ +} + +QtMaterialThemePrivate::~QtMaterialThemePrivate() +{ +} + +QColor QtMaterialThemePrivate::rgba(int r, int g, int b, qreal a) const +{ + QColor color(r, g, b); + color.setAlphaF(a); + return color; +} + +/*! + * \class QtMaterialTheme + */ + +QtMaterialTheme::QtMaterialTheme(QObject *parent) + : QObject(parent), + d_ptr(new QtMaterialThemePrivate(this)) +{ + setColor("primary1", Material::cyan500); + setColor("primary2", Material::cyan700); + setColor("primary3", Material::lightBlack); + setColor("accent1", Material::pinkA200); + setColor("accent2", Material::grey100); + setColor("accent3", Material::grey500); + setColor("text", Material::darkBlack); + setColor("alternateText", Material::white); + setColor("canvas", Material::white); + setColor("border", Material::grey300); + setColor("disabled", Material::minBlack); + setColor("disabled2", Material::faintBlack); + setColor("disabled3", Material::grey300); +} + +QtMaterialTheme::~QtMaterialTheme() +{ +} + +QColor QtMaterialTheme::getColor(const QString &key) const +{ + Q_D(const QtMaterialTheme); + + if (!d->colors.contains(key)) { + qWarning() << "A theme color matching the key '" << key << "' could not be found."; + return QColor(); + } + return d->colors.value(key); +} + +void QtMaterialTheme::setColor(const QString &key, const QColor &color) +{ + Q_D(QtMaterialTheme); + + d->colors.insert(key, color); +} + +void QtMaterialTheme::setColor(const QString &key, Material::Color color) +{ + Q_D(QtMaterialTheme); + + static const QColor palette[] = { + QColor("#ffebee"), QColor("#ffcdd2"), QColor("#ef9a9a"), QColor("#e57373"), + QColor("#ef5350"), QColor("#f44336"), QColor("#e53935"), QColor("#d32f2f"), + QColor("#c62828"), QColor("#b71c1c"), QColor("#ff8a80"), QColor("#ff5252"), + QColor("#ff1744"), QColor("#d50000"), QColor("#fce4ec"), QColor("#f8bbd0"), + QColor("#f48fb1"), QColor("#f06292"), QColor("#ec407a"), QColor("#e91e63"), + QColor("#d81b60"), QColor("#c2185b"), QColor("#ad1457"), QColor("#880e4f"), + QColor("#ff80ab"), QColor("#ff4081"), QColor("#f50057"), QColor("#c51162"), + QColor("#f3e5f5"), QColor("#e1bee7"), QColor("#ce93d8"), QColor("#ba68c8"), + QColor("#ab47bc"), QColor("#9c27b0"), QColor("#8e24aa"), QColor("#7b1fa2"), + QColor("#6a1b9a"), QColor("#4a148c"), QColor("#ea80fc"), QColor("#e040fb"), + QColor("#d500f9"), QColor("#aa00ff"), QColor("#ede7f6"), QColor("#d1c4e9"), + QColor("#b39ddb"), QColor("#9575cd"), QColor("#7e57c2"), QColor("#673ab7"), + QColor("#5e35b1"), QColor("#512da8"), QColor("#4527a0"), QColor("#311b92"), + QColor("#b388ff"), QColor("#7c4dff"), QColor("#651fff"), QColor("#6200ea"), + QColor("#e8eaf6"), QColor("#c5cae9"), QColor("#9fa8da"), QColor("#7986cb"), + QColor("#5c6bc0"), QColor("#3f51b5"), QColor("#3949ab"), QColor("#303f9f"), + QColor("#283593"), QColor("#1a237e"), QColor("#8c9eff"), QColor("#536dfe"), + QColor("#3d5afe"), QColor("#304ffe"), QColor("#e3f2fd"), QColor("#bbdefb"), + QColor("#90caf9"), QColor("#64b5f6"), QColor("#42a5f5"), QColor("#2196f3"), + QColor("#1e88e5"), QColor("#1976d2"), QColor("#1565c0"), QColor("#0d47a1"), + QColor("#82b1ff"), QColor("#448aff"), QColor("#2979ff"), QColor("#2962ff"), + QColor("#e1f5fe"), QColor("#b3e5fc"), QColor("#81d4fa"), QColor("#4fc3f7"), + QColor("#29b6f6"), QColor("#03a9f4"), QColor("#039be5"), QColor("#0288d1"), + QColor("#0277bd"), QColor("#01579b"), QColor("#80d8ff"), QColor("#40c4ff"), + QColor("#00b0ff"), QColor("#0091ea"), QColor("#e0f7fa"), QColor("#b2ebf2"), + QColor("#80deea"), QColor("#4dd0e1"), QColor("#26c6da"), QColor("#00bcd4"), + QColor("#00acc1"), QColor("#0097a7"), QColor("#00838f"), QColor("#006064"), + QColor("#84ffff"), QColor("#18ffff"), QColor("#00e5ff"), QColor("#00b8d4"), + QColor("#e0f2f1"), QColor("#b2dfdb"), QColor("#80cbc4"), QColor("#4db6ac"), + QColor("#26a69a"), QColor("#009688"), QColor("#00897b"), QColor("#00796b"), + QColor("#00695c"), QColor("#004d40"), QColor("#a7ffeb"), QColor("#64ffda"), + QColor("#1de9b6"), QColor("#00bfa5"), QColor("#e8f5e9"), QColor("#c8e6c9"), + QColor("#a5d6a7"), QColor("#81c784"), QColor("#66bb6a"), QColor("#4caf50"), + QColor("#43a047"), QColor("#388e3c"), QColor("#2e7d32"), QColor("#1b5e20"), + QColor("#b9f6ca"), QColor("#69f0ae"), QColor("#00e676"), QColor("#00c853"), + QColor("#f1f8e9"), QColor("#dcedc8"), QColor("#c5e1a5"), QColor("#aed581"), + QColor("#9ccc65"), QColor("#8bc34a"), QColor("#7cb342"), QColor("#689f38"), + QColor("#558b2f"), QColor("#33691e"), QColor("#ccff90"), QColor("#b2ff59"), + QColor("#76ff03"), QColor("#64dd17"), QColor("#f9fbe7"), QColor("#f0f4c3"), + QColor("#e6ee9c"), QColor("#dce775"), QColor("#d4e157"), QColor("#cddc39"), + QColor("#c0ca33"), QColor("#afb42b"), QColor("#9e9d24"), QColor("#827717"), + QColor("#f4ff81"), QColor("#eeff41"), QColor("#c6ff00"), QColor("#aeea00"), + QColor("#fffde7"), QColor("#fff9c4"), QColor("#fff59d"), QColor("#fff176"), + QColor("#ffee58"), QColor("#ffeb3b"), QColor("#fdd835"), QColor("#fbc02d"), + QColor("#f9a825"), QColor("#f57f17"), QColor("#ffff8d"), QColor("#ffff00"), + QColor("#ffea00"), QColor("#ffd600"), QColor("#fff8e1"), QColor("#ffecb3"), + QColor("#ffe082"), QColor("#ffd54f"), QColor("#ffca28"), QColor("#ffc107"), + QColor("#ffb300"), QColor("#ffa000"), QColor("#ff8f00"), QColor("#ff6f00"), + QColor("#ffe57f"), QColor("#ffd740"), QColor("#ffc400"), QColor("#ffab00"), + QColor("#fff3e0"), QColor("#ffe0b2"), QColor("#ffcc80"), QColor("#ffb74d"), + QColor("#ffa726"), QColor("#ff9800"), QColor("#fb8c00"), QColor("#f57c00"), + QColor("#ef6c00"), QColor("#e65100"), QColor("#ffd180"), QColor("#ffab40"), + QColor("#ff9100"), QColor("#ff6d00"), QColor("#fbe9e7"), QColor("#ffccbc"), + QColor("#ffab91"), QColor("#ff8a65"), QColor("#ff7043"), QColor("#ff5722"), + QColor("#f4511e"), QColor("#e64a19"), QColor("#d84315"), QColor("#bf360c"), + QColor("#ff9e80"), QColor("#ff6e40"), QColor("#ff3d00"), QColor("#dd2c00"), + QColor("#efebe9"), QColor("#d7ccc8"), QColor("#bcaaa4"), QColor("#a1887f"), + QColor("#8d6e63"), QColor("#795548"), QColor("#6d4c41"), QColor("#5d4037"), + QColor("#4e342e"), QColor("#3e2723"), QColor("#eceff1"), QColor("#cfd8dc"), + QColor("#b0bec5"), QColor("#90a4ae"), QColor("#78909c"), QColor("#607d8b"), + QColor("#546e7a"), QColor("#455a64"), QColor("#37474f"), QColor("#263238"), + QColor("#fafafa"), QColor("#f5f5f5"), QColor("#eeeeee"), QColor("#e0e0e0"), + QColor("#bdbdbd"), QColor("#9e9e9e"), QColor("#757575"), QColor("#616161"), + QColor("#424242"), QColor("#212121"), QColor("#000000"), QColor("#ffffff"), + d->rgba(0, 0, 0, 0), + d->rgba(0, 0, 0, 1), + d->rgba(0, 0, 0, 0.87), + d->rgba(0, 0, 0, 0.54), + d->rgba(0, 0, 0, 0.26), + d->rgba(0, 0, 0, 0.12), + d->rgba(255, 255, 255, 1), + d->rgba(255, 255, 255, 0.87), + d->rgba(255, 255, 255, 0.54) + }; + + d->colors.insert(key, palette[color]); +} + +QIcon QtMaterialTheme::icon(QString category, QString icon) +{ + return QIcon(":/icons/icons/" % category % "/svg/production/ic_" % icon % "_24px.svg"); +} diff --git a/src/material-widgets/lib/qtmaterialtheme.h b/src/material-widgets/lib/qtmaterialtheme.h new file mode 100644 index 0000000..fe4a11c --- /dev/null +++ b/src/material-widgets/lib/qtmaterialtheme.h @@ -0,0 +1,344 @@ +#ifndef QTMATERIALTHEME_H +#define QTMATERIALTHEME_H + +#include +#include +#include +#include + +namespace Material +{ + enum ButtonPreset { + FlatPreset, + CheckablePreset + }; + + enum RippleStyle { + CenteredRipple, + PositionedRipple, + NoRipple + }; + + enum OverlayStyle { + NoOverlay, + TintedOverlay, + GrayOverlay + }; + + enum Role { + Default, + Primary, + Secondary + }; + + enum ButtonIconPlacement { + LeftIcon, + RightIcon + }; + + enum ProgressType { + DeterminateProgress, + IndeterminateProgress + }; + + enum AvatarType { + ImageAvatar, + IconAvatar, + LetterAvatar + }; + + enum Color { + red50, + red100, + red200, + red300, + red400, + red500, + red600, + red700, + red800, + red900, + redA100, + redA200, + redA400, + redA700, + pink50, + pink100, + pink200, + pink300, + pink400, + pink500, + pink600, + pink700, + pink800, + pink900, + pinkA100, + pinkA200, + pinkA400, + pinkA700, + purple50, + purple100, + purple200, + purple300, + purple400, + purple500, + purple600, + purple700, + purple800, + purple900, + purpleA100, + purpleA200, + purpleA400, + purpleA700, + deepPurple50, + deepPurple100, + deepPurple200, + deepPurple300, + deepPurple400, + deepPurple500, + deepPurple600, + deepPurple700, + deepPurple800, + deepPurple900, + deepPurpleA100, + deepPurpleA200, + deepPurpleA400, + deepPurpleA700, + indigo50, + indigo100, + indigo200, + indigo300, + indigo400, + indigo500, + indigo600, + indigo700, + indigo800, + indigo900, + indigoA100, + indigoA200, + indigoA400, + indigoA700, + blue50, + blue100, + blue200, + blue300, + blue400, + blue500, + blue600, + blue700, + blue800, + blue900, + blueA100, + blueA200, + blueA400, + blueA700, + lightBlue50, + lightBlue100, + lightBlue200, + lightBlue300, + lightBlue400, + lightBlue500, + lightBlue600, + lightBlue700, + lightBlue800, + lightBlue900, + lightBlueA100, + lightBlueA200, + lightBlueA400, + lightBlueA700, + cyan50, + cyan100, + cyan200, + cyan300, + cyan400, + cyan500, + cyan600, + cyan700, + cyan800, + cyan900, + cyanA100, + cyanA200, + cyanA400, + cyanA700, + teal50, + teal100, + teal200, + teal300, + teal400, + teal500, + teal600, + teal700, + teal800, + teal900, + tealA100, + tealA200, + tealA400, + tealA700, + green50, + green100, + green200, + green300, + green400, + green500, + green600, + green700, + green800, + green900, + greenA100, + greenA200, + greenA400, + greenA700, + lightGreen50, + lightGreen100, + lightGreen200, + lightGreen300, + lightGreen400, + lightGreen500, + lightGreen600, + lightGreen700, + lightGreen800, + lightGreen900, + lightGreenA100, + lightGreenA200, + lightGreenA400, + lightGreenA700, + lime50, + lime100, + lime200, + lime300, + lime400, + lime500, + lime600, + lime700, + lime800, + lime900, + limeA100, + limeA200, + limeA400, + limeA700, + yellow50, + yellow100, + yellow200, + yellow300, + yellow400, + yellow500, + yellow600, + yellow700, + yellow800, + yellow900, + yellowA100, + yellowA200, + yellowA400, + yellowA700, + amber50, + amber100, + amber200, + amber300, + amber400, + amber500, + amber600, + amber700, + amber800, + amber900, + amberA100, + amberA200, + amberA400, + amberA700, + orange50, + orange100, + orange200, + orange300, + orange400, + orange500, + orange600, + orange700, + orange800, + orange900, + orangeA100, + orangeA200, + orangeA400, + orangeA700, + deepOrange50, + deepOrange100, + deepOrange200, + deepOrange300, + deepOrange400, + deepOrange500, + deepOrange600, + deepOrange700, + deepOrange800, + deepOrange900, + deepOrangeA100, + deepOrangeA200, + deepOrangeA400, + deepOrangeA700, + brown50, + brown100, + brown200, + brown300, + brown400, + brown500, + brown600, + brown700, + brown800, + brown900, + blueGrey50, + blueGrey100, + blueGrey200, + blueGrey300, + blueGrey400, + blueGrey500, + blueGrey600, + blueGrey700, + blueGrey800, + blueGrey900, + grey50, + grey100, + grey200, + grey300, + grey400, + grey500, + grey600, + grey700, + grey800, + grey900, + black, + white, + transparent, + fullBlack, + darkBlack, + lightBlack, + minBlack, + faintBlack, + fullWhite, + darkWhite, + lightWhite + }; +} + +class QtMaterialThemePrivate; + +class QtMaterialTheme : public QObject +{ + Q_OBJECT + +public: + explicit QtMaterialTheme(QObject *parent = 0); + ~QtMaterialTheme(); + + QColor getColor(const QString &key) const; + + void setColor(const QString &key, const QColor &color); + void setColor(const QString &key, Material::Color color); + + static QIcon icon(QString category, QString icon); + +protected: + const QScopedPointer d_ptr; + +private: + Q_DISABLE_COPY(QtMaterialTheme) + Q_DECLARE_PRIVATE(QtMaterialTheme) +}; + +#endif // QTMATERIALTHEME_H diff --git a/src/material-widgets/lib/qtmaterialtheme_p.h b/src/material-widgets/lib/qtmaterialtheme_p.h new file mode 100644 index 0000000..d0ef178 --- /dev/null +++ b/src/material-widgets/lib/qtmaterialtheme_p.h @@ -0,0 +1,24 @@ +#ifndef QTMATERIALTHEME_P_H +#define QTMATERIALTHEME_P_H + +#include +#include + +class QtMaterialTheme; + +class QtMaterialThemePrivate +{ + Q_DISABLE_COPY(QtMaterialThemePrivate) + Q_DECLARE_PUBLIC(QtMaterialTheme) + +public: + QtMaterialThemePrivate(QtMaterialTheme *q); + ~QtMaterialThemePrivate(); + + QColor rgba(int r, int g, int b, qreal a) const; + + QtMaterialTheme *const q_ptr; + QHash colors; +}; + +#endif // QTMATERIALTHEME_P_H diff --git a/src/material-widgets/libcomponents.a b/src/material-widgets/libcomponents.a new file mode 100644 index 0000000..9949aa0 Binary files /dev/null and b/src/material-widgets/libcomponents.a differ diff --git a/src/material-widgets/qtmaterialappbar.cpp b/src/material-widgets/qtmaterialappbar.cpp new file mode 100644 index 0000000..2170ca4 --- /dev/null +++ b/src/material-widgets/qtmaterialappbar.cpp @@ -0,0 +1,139 @@ +#include "qtmaterialappbar.h" +#include "qtmaterialappbar_p.h" +#include +#include +#include "lib/qtmaterialstyle.h" + +/*! + * \class QtMaterialAppBarPrivate + * \internal + */ + +/*! + * \internal + */ +QtMaterialAppBarPrivate::QtMaterialAppBarPrivate(QtMaterialAppBar *q) + : q_ptr(q) +{ +} + +/*! + * \internal + */ +QtMaterialAppBarPrivate::~QtMaterialAppBarPrivate() +{ +} + +/*! + * \internal + */ +void QtMaterialAppBarPrivate::init() +{ + Q_Q(QtMaterialAppBar); + + useThemeColors = true; + + QGraphicsDropShadowEffect *effect = new QGraphicsDropShadowEffect; + effect->setBlurRadius(11); + effect->setColor(QColor(0, 0, 0, 50)); + effect->setOffset(0, 3); + + q->setGraphicsEffect(effect); + + QHBoxLayout *layout = new QHBoxLayout; + q->setLayout(layout); +} + +/*! + * \class QtMaterialAppBar + */ + +QtMaterialAppBar::QtMaterialAppBar(QWidget *parent) + : QWidget(parent), + d_ptr(new QtMaterialAppBarPrivate(this)) +{ + d_func()->init(); +} + +QtMaterialAppBar::~QtMaterialAppBar() +{ +} + +QSize QtMaterialAppBar::sizeHint() const +{ + return QSize(-1, 64); +} + +void QtMaterialAppBar::paintEvent(QPaintEvent *event) +{ + Q_UNUSED(event) + + QPainter painter(this); + + painter.fillRect(rect(), backgroundColor()); +} + +void QtMaterialAppBar::setUseThemeColors(bool value) +{ + Q_D(QtMaterialAppBar); + + if (d->useThemeColors == value) { + return; + } + + d->useThemeColors = value; + update(); +} + +bool QtMaterialAppBar::useThemeColors() const +{ + Q_D(const QtMaterialAppBar); + + return d->useThemeColors; +} + +void QtMaterialAppBar::setForegroundColor(const QColor &color) +{ + Q_D(QtMaterialAppBar); + + d->foregroundColor = color; + + if (d->useThemeColors == true) { + d->useThemeColors = false; + } + update(); +} + +QColor QtMaterialAppBar::foregroundColor() const +{ + Q_D(const QtMaterialAppBar); + + if (d->useThemeColors || !d->foregroundColor.isValid()) { + return QtMaterialStyle::instance().themeColor("primary1"); + } else { + return d->foregroundColor; + } +} + +void QtMaterialAppBar::setBackgroundColor(const QColor &color) +{ + Q_D(QtMaterialAppBar); + + d->backgroundColor = color; + + if (d->useThemeColors == true) { + d->useThemeColors = false; + } + update(); +} + +QColor QtMaterialAppBar::backgroundColor() const +{ + Q_D(const QtMaterialAppBar); + + if (d->useThemeColors || !d->backgroundColor.isValid()) { + return QtMaterialStyle::instance().themeColor("primary1"); + } else { + return d->backgroundColor; + } +} diff --git a/src/material-widgets/qtmaterialappbar.h b/src/material-widgets/qtmaterialappbar.h new file mode 100644 index 0000000..4c60564 --- /dev/null +++ b/src/material-widgets/qtmaterialappbar.h @@ -0,0 +1,48 @@ +#ifndef QTMATERIALAPPBAR_H +#define QTMATERIALAPPBAR_H + +#include +#include + +class QtMaterialAppBarPrivate; + +class QtMaterialAppBar : public QWidget +{ + Q_OBJECT + + Q_PROPERTY(QColor foregroundColor WRITE setForegroundColor READ foregroundColor) + Q_PROPERTY(QColor backgroundColor WRITE setBackgroundColor READ backgroundColor) + +public: + explicit QtMaterialAppBar(QWidget *parent = 0); + ~QtMaterialAppBar(); + + QSize sizeHint() const Q_DECL_OVERRIDE; + + void setUseThemeColors(bool value); + bool useThemeColors() const; + + void setForegroundColor(const QColor &color); + QColor foregroundColor() const; + + void setBackgroundColor(const QColor &color); + QColor backgroundColor() const; + + inline QHBoxLayout *appBarLayout() const; + +protected: + void paintEvent(QPaintEvent *event) Q_DECL_OVERRIDE; + + const QScopedPointer d_ptr; + +private: + Q_DISABLE_COPY(QtMaterialAppBar) + Q_DECLARE_PRIVATE(QtMaterialAppBar) +}; + +inline QHBoxLayout *QtMaterialAppBar::appBarLayout() const +{ + return static_cast(layout()); +} + +#endif // QTMATERIALAPPBAR_H diff --git a/src/material-widgets/qtmaterialappbar_p.h b/src/material-widgets/qtmaterialappbar_p.h new file mode 100644 index 0000000..0586556 --- /dev/null +++ b/src/material-widgets/qtmaterialappbar_p.h @@ -0,0 +1,26 @@ +#ifndef QTMATERIALAPPBAR_P_H +#define QTMATERIALAPPBAR_P_H + +#include +#include + +class QtMaterialAppBar; + +class QtMaterialAppBarPrivate +{ + Q_DISABLE_COPY(QtMaterialAppBarPrivate) + Q_DECLARE_PUBLIC(QtMaterialAppBar) + +public: + QtMaterialAppBarPrivate(QtMaterialAppBar *q); + ~QtMaterialAppBarPrivate(); + + void init(); + + QtMaterialAppBar *const q_ptr; + bool useThemeColors; + QColor foregroundColor; + QColor backgroundColor; +}; + +#endif // QTMATERIALAPPBAR_P_H diff --git a/src/material-widgets/qtmaterialautocomplete.cpp b/src/material-widgets/qtmaterialautocomplete.cpp new file mode 100644 index 0000000..df006a6 --- /dev/null +++ b/src/material-widgets/qtmaterialautocomplete.cpp @@ -0,0 +1,242 @@ +#include "qtmaterialautocomplete.h" +#include "qtmaterialautocomplete_p.h" +#include +#include +#include +#include +#include +#include +#include "qtmaterialautocomplete_internal.h" +#include "qtmaterialflatbutton.h" + +/*! + * \class QtMaterialAutoCompletePrivate + * \internal + */ + +/*! + * \internal + */ +QtMaterialAutoCompletePrivate::QtMaterialAutoCompletePrivate(QtMaterialAutoComplete *q) + : QtMaterialTextFieldPrivate(q) +{ +} + +/*! + * \internal + */ +QtMaterialAutoCompletePrivate::~QtMaterialAutoCompletePrivate() +{ +} + +/*! + * \internal + */ +void QtMaterialAutoCompletePrivate::init() +{ + Q_Q(QtMaterialAutoComplete); + + menu = new QWidget; + frame = new QWidget; + stateMachine = new QtMaterialAutoCompleteStateMachine(menu); + menuLayout = new QVBoxLayout; + maxWidth = 0; + + menu->setParent(q->parentWidget()); + frame->setParent(q->parentWidget()); + + menu->installEventFilter(q); + frame->installEventFilter(q); + + QGraphicsDropShadowEffect *effect = new QGraphicsDropShadowEffect; + effect->setBlurRadius(11); + effect->setColor(QColor(0, 0, 0, 50)); + effect->setOffset(0, 3); + + frame->setGraphicsEffect(effect); + frame->setVisible(false); + + menu->setLayout(menuLayout); + menu->setVisible(false); + + menuLayout->setContentsMargins(0, 0, 0, 0); + menuLayout->setSpacing(0); + + QObject::connect(q, SIGNAL(textEdited(QString)), q, SLOT(updateResults(QString))); + + stateMachine->start(); +} + +/*! + * \class QtMaterialAutoComplete + */ + +QtMaterialAutoComplete::QtMaterialAutoComplete(QWidget *parent) + : QtMaterialTextField(*new QtMaterialAutoCompletePrivate(this), parent) +{ + d_func()->init(); +} + +QtMaterialAutoComplete::~QtMaterialAutoComplete() +{ +} + +void QtMaterialAutoComplete::setDataSource(const QStringList &data) +{ + Q_D(QtMaterialAutoComplete); + + d->dataSource = data; + update(); +} + +void QtMaterialAutoComplete::updateResults(QString text) +{ + Q_D(QtMaterialAutoComplete); + + QStringList results; + QString trimmed(text.trimmed()); + + if (!trimmed.isEmpty()) { + QString lookup(trimmed.toLower()); + QStringList::iterator i; + for (i = d->dataSource.begin(); i != d->dataSource.end(); ++i) { + if (i->toLower().indexOf(lookup) != -1) { + results.push_back(*i); + } + } + } + + const int diff = results.length() - d->menuLayout->count(); + QFont font("Roboto", 12, QFont::Normal); + + if (diff > 0) { + for (int c = 0; c < diff; c++) { + QtMaterialFlatButton *item = new QtMaterialFlatButton; + item->setFont(font); + item->setTextAlignment(Qt::AlignLeft); + item->setCornerRadius(0); + item->setHaloVisible(false); + item->setFixedHeight(50); + item->setOverlayStyle(Material::TintedOverlay); + d->menuLayout->addWidget(item); + item->installEventFilter(this); + } + } else if (diff < 0) { + for (int c = 0; c < -diff; c++) { + QWidget *widget = d->menuLayout->itemAt(0)->widget(); + if (widget) { + d->menuLayout->removeWidget(widget); + delete widget; + } + } + } + + QFontMetrics *fm = new QFontMetrics(font); + d->maxWidth = 0; + + for (int i = 0; i < results.count(); ++i) { + QWidget *widget = d->menuLayout->itemAt(i)->widget(); + QtMaterialFlatButton *item; + if ((item = static_cast(widget))) { + QString text = results.at(i); + QRect rect = fm->boundingRect(text); + d->maxWidth = qMax(d->maxWidth, rect.width()); + item->setText(text); + } + } + + if (!results.count()) { + emit d->stateMachine->shouldClose(); + } else { + emit d->stateMachine->shouldOpen(); + } + + d->menu->setFixedHeight(results.length()*50); + d->menu->setFixedWidth(qMax(d->maxWidth + 24, width())); + d->menu->update(); +} + +bool QtMaterialAutoComplete::QtMaterialAutoComplete::event(QEvent *event) +{ + Q_D(QtMaterialAutoComplete); + + switch (event->type()) + { + case QEvent::Move: + case QEvent::Resize: { + d->menu->move(pos() + QPoint(0, height() + 6)); + break; + } + case QEvent::ParentChange: { + QWidget *widget = static_cast(parent()); + if (widget) { + d->menu->setParent(widget); + d->frame->setParent(widget); + } + break; + } + default: + break; + } + return QtMaterialTextField::event(event); +} + +bool QtMaterialAutoComplete::eventFilter(QObject *watched, QEvent *event) +{ + Q_D(QtMaterialAutoComplete); + + if (d->frame == watched) + { + switch (event->type()) + { + case QEvent::Paint: { + QPainter painter(d->frame); + painter.fillRect(d->frame->rect(), Qt::white); + break; + } + default: + break; + } + } + else if (d->menu == watched) + { + switch (event->type()) + { + case QEvent::Resize: + case QEvent::Move: { + d->frame->setGeometry(d->menu->geometry()); + break; + } + case QEvent::Show: { + d->frame->show(); + d->menu->raise(); + break; + } + case QEvent::Hide: { + d->frame->hide(); + break; + } + default: + break; + } + } + else + { + switch (event->type()) + { + case QEvent::MouseButtonPress: { + emit d->stateMachine->shouldFade(); + QtMaterialFlatButton *widget; + if ((widget = static_cast(watched))) { + QString text(widget->text()); + setText(text); + emit itemSelected(text); + } + break; + } + default: + break; + } + } + return QtMaterialTextField::eventFilter(watched, event); +} diff --git a/src/material-widgets/qtmaterialautocomplete.h b/src/material-widgets/qtmaterialautocomplete.h new file mode 100644 index 0000000..8b46861 --- /dev/null +++ b/src/material-widgets/qtmaterialautocomplete.h @@ -0,0 +1,33 @@ +#ifndef QTMATERIALAUTOCOMPLETE_H +#define QTMATERIALAUTOCOMPLETE_H + +#include "qtmaterialtextfield.h" + +class QtMaterialAutoCompletePrivate; + +class QtMaterialAutoComplete : public QtMaterialTextField +{ + Q_OBJECT + +public: + explicit QtMaterialAutoComplete(QWidget *parent = 0); + ~QtMaterialAutoComplete(); + + void setDataSource(const QStringList &data); + +signals: + void itemSelected(QString); + +protected slots: + void updateResults(QString text); + +protected: + bool event(QEvent *event) Q_DECL_OVERRIDE; + bool eventFilter(QObject *watched, QEvent *event) Q_DECL_OVERRIDE; + +private: + Q_DISABLE_COPY(QtMaterialAutoComplete) + Q_DECLARE_PRIVATE(QtMaterialAutoComplete) +}; + +#endif // QTMATERIALAUTOCOMPLETE_H diff --git a/src/material-widgets/qtmaterialautocomplete_internal.cpp b/src/material-widgets/qtmaterialautocomplete_internal.cpp new file mode 100644 index 0000000..e01848d --- /dev/null +++ b/src/material-widgets/qtmaterialautocomplete_internal.cpp @@ -0,0 +1,69 @@ +#include "qtmaterialautocomplete_internal.h" +#include +#include +#include +#include + +/*! + * \class QtMaterialAutoCompleteStateMachine + * \internal + */ + +/*! + * \internal + */ +QtMaterialAutoCompleteStateMachine::QtMaterialAutoCompleteStateMachine(QWidget *menu) + : QStateMachine(menu), + m_menu(menu), + m_closedState(new QState), + m_openState(new QState), + m_closingState(new QState) +{ + Q_ASSERT(menu); + + addState(m_closedState); + addState(m_openState); + addState(m_closingState); + setInitialState(m_closedState); + + QSignalTransition *transition; + + transition = new QSignalTransition(this, SIGNAL(shouldOpen())); + transition->setTargetState(m_openState); + m_closedState->addTransition(transition); + + transition = new QSignalTransition(this, SIGNAL(shouldClose())); + transition->setTargetState(m_closedState); + m_openState->addTransition(transition); + + transition = new QSignalTransition(this, SIGNAL(shouldFade())); + transition->setTargetState(m_closingState); + m_openState->addTransition(transition); + + m_closedState->assignProperty(menu, "visible", false); + m_openState->assignProperty(menu, "visible", true); + + QGraphicsOpacityEffect *effect = new QGraphicsOpacityEffect; + menu->setGraphicsEffect(effect); + + m_openState->assignProperty(effect, "opacity", 1); + m_closingState->assignProperty(effect, "opacity", 0); + m_closedState->assignProperty(effect, "opacity", 0); + + QPropertyAnimation *animation; + + animation = new QPropertyAnimation(effect, "opacity", this); + animation->setDuration(240); + addDefaultAnimation(animation); + + transition = new QSignalTransition(animation, SIGNAL(finished())); + transition->setTargetState(m_closedState); + m_closingState->addTransition(transition); +} + +/*! + * \internal + */ +QtMaterialAutoCompleteStateMachine::~QtMaterialAutoCompleteStateMachine() +{ +} diff --git a/src/material-widgets/qtmaterialautocomplete_internal.h b/src/material-widgets/qtmaterialautocomplete_internal.h new file mode 100644 index 0000000..7e76bd5 --- /dev/null +++ b/src/material-widgets/qtmaterialautocomplete_internal.h @@ -0,0 +1,29 @@ +#ifndef QTMATERIALAUTOCOMPLETESTATEMACHINE_H +#define QTMATERIALAUTOCOMPLETESTATEMACHINE_H + +#include +#include "qtmaterialautocomplete.h" + +class QtMaterialAutoCompleteStateMachine : public QStateMachine +{ + Q_OBJECT + +public: + explicit QtMaterialAutoCompleteStateMachine(QWidget *menu); + ~QtMaterialAutoCompleteStateMachine(); + +signals: + void shouldOpen(); + void shouldClose(); + void shouldFade(); + +private: + Q_DISABLE_COPY(QtMaterialAutoCompleteStateMachine) + + QWidget *const m_menu; + QState *const m_closedState; + QState *const m_openState; + QState *const m_closingState; +}; + +#endif // QTMATERIALAUTOCOMPLETESTATEMACHINE_H diff --git a/src/material-widgets/qtmaterialautocomplete_p.h b/src/material-widgets/qtmaterialautocomplete_p.h new file mode 100644 index 0000000..4fd405b --- /dev/null +++ b/src/material-widgets/qtmaterialautocomplete_p.h @@ -0,0 +1,30 @@ +#ifndef QTMATERIALAUTOCOMPLETE_P_H +#define QTMATERIALAUTOCOMPLETE_P_H + +#include "qtmaterialtextfield_p.h" + +class QWidget; +class QVBoxLayout; +class QtMaterialAutoCompleteOverlay; +class QtMaterialAutoCompleteStateMachine; + +class QtMaterialAutoCompletePrivate : public QtMaterialTextFieldPrivate +{ + Q_DISABLE_COPY(QtMaterialAutoCompletePrivate) + Q_DECLARE_PUBLIC(QtMaterialAutoComplete) + +public: + QtMaterialAutoCompletePrivate(QtMaterialAutoComplete *q); + virtual ~QtMaterialAutoCompletePrivate(); + + void init(); + + QWidget *menu; + QWidget *frame; + QtMaterialAutoCompleteStateMachine *stateMachine; + QVBoxLayout *menuLayout; + QStringList dataSource; + int maxWidth; +}; + +#endif // QTMATERIALAUTOCOMPLETE_P_H diff --git a/src/material-widgets/qtmaterialavatar.cpp b/src/material-widgets/qtmaterialavatar.cpp new file mode 100644 index 0000000..9d77734 --- /dev/null +++ b/src/material-widgets/qtmaterialavatar.cpp @@ -0,0 +1,293 @@ +#include "qtmaterialavatar.h" +#include "qtmaterialavatar_p.h" +#include +#include "lib/qtmaterialstyle.h" + +/*! + * \class QtMaterialAvatarPrivate + * \internal + */ + +/*! + * \internal + */ +QtMaterialAvatarPrivate::QtMaterialAvatarPrivate(QtMaterialAvatar *q) + : q_ptr(q) +{ +} + +/*! + * \internal + */ +QtMaterialAvatarPrivate::~QtMaterialAvatarPrivate() +{ +} + +/*! + * \internal + */ +void QtMaterialAvatarPrivate::init() +{ + Q_Q(QtMaterialAvatar); + + size = 40; + type = Material::LetterAvatar; + useThemeColors = true; + + QFont font(q->font()); + font.setPointSizeF(16); + q->setFont(font); + + QSizePolicy policy(QSizePolicy::MinimumExpanding, + QSizePolicy::MinimumExpanding); + q->setSizePolicy(policy); +} + +/*! + * \class QtMaterialAvatar + */ + +QtMaterialAvatar::QtMaterialAvatar(QWidget *parent) + : QWidget(parent), + d_ptr(new QtMaterialAvatarPrivate(this)) +{ + d_func()->init(); +} + +QtMaterialAvatar::QtMaterialAvatar(const QIcon &icon, QWidget *parent) + : QWidget(parent), + d_ptr(new QtMaterialAvatarPrivate(this)) +{ + d_func()->init(); + + setIcon(icon); +} + +QtMaterialAvatar::QtMaterialAvatar(const QChar &letter, QWidget *parent) + : QWidget(parent), + d_ptr(new QtMaterialAvatarPrivate(this)) +{ + d_func()->init(); + + setLetter(letter); +} + +QtMaterialAvatar::QtMaterialAvatar(const QImage &image, QWidget *parent) + : QWidget(parent), + d_ptr(new QtMaterialAvatarPrivate(this)) +{ + d_func()->init(); + + setImage(image); +} + +QtMaterialAvatar::~QtMaterialAvatar() +{ +} + +void QtMaterialAvatar::setUseThemeColors(bool value) +{ + Q_D(QtMaterialAvatar); + + if (d->useThemeColors == value) { + return; + } + + d->useThemeColors = value; + update(); +} + +bool QtMaterialAvatar::useThemeColors() const +{ + Q_D(const QtMaterialAvatar); + + return d->useThemeColors; +} + +void QtMaterialAvatar::setTextColor(const QColor &color) +{ + Q_D(QtMaterialAvatar); + + d->textColor = color; + + MATERIAL_DISABLE_THEME_COLORS + update(); +} + +QColor QtMaterialAvatar::textColor() const +{ + Q_D(const QtMaterialAvatar); + + if (d->useThemeColors || !d->textColor.isValid()) { + return QtMaterialStyle::instance().themeColor("canvas"); + } else { + return d->textColor; + } +} + +void QtMaterialAvatar::setBackgroundColor(const QColor &color) +{ + Q_D(QtMaterialAvatar); + + d->backgroundColor = color; + + MATERIAL_DISABLE_THEME_COLORS + update(); +} + +QColor QtMaterialAvatar::backgroundColor() const +{ + Q_D(const QtMaterialAvatar); + + if (d->useThemeColors || !d->backgroundColor.isValid()) { + return QtMaterialStyle::instance().themeColor("primary1"); + } else { + return d->backgroundColor; + } +} + +/*! + * \reimp + */ +QSize QtMaterialAvatar::sizeHint() const +{ + Q_D(const QtMaterialAvatar); + + return QSize(d->size+2, d->size+2); +} + +void QtMaterialAvatar::setSize(int size) +{ + Q_D(QtMaterialAvatar); + + d->size = size; + + if (!d->image.isNull()) { + d->pixmap = QPixmap::fromImage(d->image.scaled(d->size, d->size, + Qt::IgnoreAspectRatio, + Qt::SmoothTransformation)); + } + + QFont f(font()); + f.setPointSizeF(size*16/40); + setFont(f); + + update(); +} + +int QtMaterialAvatar::size() const +{ + Q_D(const QtMaterialAvatar); + + return d->size; +} + +void QtMaterialAvatar::setLetter(const QChar &letter) +{ + Q_D(QtMaterialAvatar); + + d->letter = letter; + d->type = Material::LetterAvatar; + update(); +} + +void QtMaterialAvatar::setImage(const QImage &image) +{ + Q_D(QtMaterialAvatar); + + d->image = image; + d->type = Material::ImageAvatar; + + d->pixmap = QPixmap::fromImage(image.scaled(d->size, d->size, + Qt::IgnoreAspectRatio, + Qt::SmoothTransformation)); + update(); +} + +void QtMaterialAvatar::setIcon(const QIcon &icon) +{ + Q_D(QtMaterialAvatar); + + d->icon = icon; + d->type = Material::IconAvatar; + update(); +} + +Material::AvatarType QtMaterialAvatar::type() const +{ + Q_D(const QtMaterialAvatar); + + return d->type; +} + +/*! + * \reimp + */ +void QtMaterialAvatar::paintEvent(QPaintEvent *event) +{ + Q_UNUSED(event) + + Q_D(QtMaterialAvatar); + + QPainter painter(this); + painter.setRenderHint(QPainter::Antialiasing); + + QRect r = rect(); + const qreal hs = d->size/2; + + if (!isEnabled()) + { + QBrush brush; + brush.setStyle(Qt::SolidPattern); + brush.setColor(QtMaterialStyle::instance().themeColor("disabled")); + painter.setPen(Qt::NoPen); + painter.setBrush(brush); + painter.drawEllipse(QRectF((width()-d->size)/2, (height()-d->size)/2, + d->size, d->size)); + return; + } + + if (Material::ImageAvatar != d->type) + { + QBrush brush; + brush.setStyle(Qt::SolidPattern); + brush.setColor(backgroundColor()); + painter.setPen(Qt::NoPen); + painter.setBrush(brush); + painter.drawEllipse(QRectF((width()-d->size)/2, (height()-d->size)/2, + d->size, d->size)); + } + + switch (d->type) + { + case Material::ImageAvatar: + { + QPainterPath path; + path.addEllipse(width()/2-hs, height()/2-hs, d->size, d->size); + painter.setClipPath(path); + + painter.drawPixmap(QRect(width()/2-hs, height()/2-hs, d->size, d->size), + d->pixmap); + break; + } + case Material::IconAvatar: + { + QRect iconGeometry((width()-hs)/2, (height()-hs)/2, hs, hs); + QPixmap pixmap = d->icon.pixmap(hs, hs); + QPainter icon(&pixmap); + icon.setCompositionMode(QPainter::CompositionMode_SourceIn); + icon.fillRect(pixmap.rect(), textColor()); + painter.drawPixmap(iconGeometry, pixmap); + break; + } + case Material::LetterAvatar: + { + painter.setPen(textColor()); + painter.setBrush(Qt::NoBrush); + painter.drawText(r, Qt::AlignCenter, QString(d->letter)); + break; + } + default: + break; + } +} diff --git a/src/material-widgets/qtmaterialavatar.h b/src/material-widgets/qtmaterialavatar.h new file mode 100644 index 0000000..9b99ef2 --- /dev/null +++ b/src/material-widgets/qtmaterialavatar.h @@ -0,0 +1,50 @@ +#ifndef QTMATERIALAVATAR_H +#define QTMATERIALAVATAR_H + +#include +#include "lib/qtmaterialtheme.h" + +class QtMaterialAvatarPrivate; + +class QtMaterialAvatar : public QWidget +{ + Q_OBJECT + +public: + explicit QtMaterialAvatar(QWidget *parent = 0); + explicit QtMaterialAvatar(const QIcon &icon, QWidget *parent = 0); + explicit QtMaterialAvatar(const QChar &letter, QWidget *parent = 0); + explicit QtMaterialAvatar(const QImage &image, QWidget *parent = 0); + ~QtMaterialAvatar(); + + void setUseThemeColors(bool value); + bool useThemeColors() const; + + void setTextColor(const QColor &color); + QColor textColor() const; + + void setBackgroundColor(const QColor &color); + QColor backgroundColor() const; + + QSize sizeHint() const Q_DECL_OVERRIDE; + + void setSize(int size); + int size() const; + + void setLetter(const QChar &letter); + void setImage(const QImage &image); + void setIcon(const QIcon &icon); + + Material::AvatarType type() const; + +protected: + void paintEvent(QPaintEvent *event) Q_DECL_OVERRIDE; + + const QScopedPointer d_ptr; + +private: + Q_DISABLE_COPY(QtMaterialAvatar) + Q_DECLARE_PRIVATE(QtMaterialAvatar) +}; + +#endif // QTMATERIALAVATAR_H diff --git a/src/material-widgets/qtmaterialavatar_p.h b/src/material-widgets/qtmaterialavatar_p.h new file mode 100644 index 0000000..44b378e --- /dev/null +++ b/src/material-widgets/qtmaterialavatar_p.h @@ -0,0 +1,37 @@ +#ifndef QTMATERIALAVATAR_P_H +#define QTMATERIALAVATAR_P_H + +#include +#include +#include +#include +#include +#include +#include "lib/qtmaterialtheme.h" + +class QtMaterialAvatar; + +class QtMaterialAvatarPrivate +{ + Q_DISABLE_COPY(QtMaterialAvatarPrivate) + Q_DECLARE_PUBLIC(QtMaterialAvatar) + +public: + QtMaterialAvatarPrivate(QtMaterialAvatar *q); + ~QtMaterialAvatarPrivate(); + + void init(); + + QtMaterialAvatar *const q_ptr; + int size; + Material::AvatarType type; + QChar letter; + QImage image; + QIcon icon; + QPixmap pixmap; + bool useThemeColors; + QColor textColor; + QColor backgroundColor; +}; + +#endif // QTMATERIALAVATAR_P_H diff --git a/src/material-widgets/qtmaterialbadge.cpp b/src/material-widgets/qtmaterialbadge.cpp new file mode 100644 index 0000000..b30aa95 --- /dev/null +++ b/src/material-widgets/qtmaterialbadge.cpp @@ -0,0 +1,294 @@ +#include "qtmaterialbadge.h" +#include "qtmaterialbadge_p.h" +#include +#include "lib/qtmaterialstyle.h" + +/*! + * \class QtMaterialBadgePrivate + * \internal + */ + +/*! + * \internal + */ +QtMaterialBadgePrivate::QtMaterialBadgePrivate(QtMaterialBadge *q) + : q_ptr(q) +{ +} + +/*! + * \internal + */ +QtMaterialBadgePrivate::~QtMaterialBadgePrivate() +{ +} + +/*! + * \internal + */ +void QtMaterialBadgePrivate::init() +{ + Q_Q(QtMaterialBadge); + + x = 0; + y = 0; + padding = 10; + useThemeColors = true; + + q->setAttribute(Qt::WA_TransparentForMouseEvents); + + QFont font(q->font()); + font.setPointSizeF(10); + font.setStyleName("Bold"); + q->setFont(font); + + q->setText("+1"); +} + +/*! + * \class QtMaterialBadge + */ + +QtMaterialBadge::QtMaterialBadge(QWidget *parent) + : QtMaterialOverlayWidget(parent), + d_ptr(new QtMaterialBadgePrivate(this)) +{ + d_func()->init(); +} + +QtMaterialBadge::QtMaterialBadge(const QIcon &icon, QWidget *parent) + : QtMaterialOverlayWidget(parent), + d_ptr(new QtMaterialBadgePrivate(this)) +{ + d_func()->init(); + + setIcon(icon); +} + +QtMaterialBadge::QtMaterialBadge(const QString &text, QWidget *parent) + : QtMaterialOverlayWidget(parent), + d_ptr(new QtMaterialBadgePrivate(this)) +{ + d_func()->init(); + + setText(text); +} + +QtMaterialBadge::~QtMaterialBadge() +{ +} + +void QtMaterialBadge::setUseThemeColors(bool value) +{ + Q_D(QtMaterialBadge); + + if (d->useThemeColors == value) { + return; + } + + d->useThemeColors = value; + update(); +} + +bool QtMaterialBadge::useThemeColors() const +{ + Q_D(const QtMaterialBadge); + + return d->useThemeColors; +} + +void QtMaterialBadge::setTextColor(const QColor &color) +{ + Q_D(QtMaterialBadge); + + d->textColor = color; + + MATERIAL_DISABLE_THEME_COLORS + update(); +} + +QColor QtMaterialBadge::textColor() const +{ + Q_D(const QtMaterialBadge); + + if (d->useThemeColors || !d->textColor.isValid()) { + return QtMaterialStyle::instance().themeColor("canvas"); + } else { + return d->textColor; + } +} + +void QtMaterialBadge::setBackgroundColor(const QColor &color) +{ + Q_D(QtMaterialBadge); + + d->backgroundColor = color; + + MATERIAL_DISABLE_THEME_COLORS + update(); +} + +QColor QtMaterialBadge::backgroundColor() const +{ + Q_D(const QtMaterialBadge); + + if (d->useThemeColors || !d->backgroundColor.isValid()) { + return QtMaterialStyle::instance().themeColor("accent1"); + } else { + return d->backgroundColor; + } +} + +void QtMaterialBadge::setRelativePosition(const QPointF &pos) +{ + setRelativePosition(pos.x(), pos.y()); +} + +void QtMaterialBadge::setRelativePosition(qreal x, qreal y) +{ + Q_D(QtMaterialBadge); + + d->x = x; + d->y = y; + update(); +} + +QPointF QtMaterialBadge::relativePosition() const +{ + Q_D(const QtMaterialBadge); + + return QPointF(d->x, d->y); +} + +void QtMaterialBadge::setRelativeXPosition(qreal x) +{ + Q_D(QtMaterialBadge); + + d->x = x; + update(); +} + +qreal QtMaterialBadge::relativeXPosition() const +{ + Q_D(const QtMaterialBadge); + + return d->x; +} + +void QtMaterialBadge::setRelativeYPosition(qreal y) +{ + Q_D(QtMaterialBadge); + + d->y = y; + update(); +} + +qreal QtMaterialBadge::relativeYPosition() const +{ + Q_D(const QtMaterialBadge); + + return d->y; +} + +/*! + * \reimp + */ +QSize QtMaterialBadge::sizeHint() const +{ + const int s = getDiameter(); + return QSize(s+4, s+4); +} + +void QtMaterialBadge::setIcon(const QIcon &icon) +{ + Q_D(QtMaterialBadge); + + d->icon = icon; + update(); +} + +QIcon QtMaterialBadge::icon() const +{ + Q_D(const QtMaterialBadge); + + return d->icon; +} + +void QtMaterialBadge::setText(const QString &text) +{ + Q_D(QtMaterialBadge); + + d->text = text; + + if (!d->icon.isNull()) { + d->icon = QIcon(); + } + + d->size = fontMetrics().size(Qt::TextShowMnemonic, text); + + update(); +} + +QString QtMaterialBadge::text() const +{ + Q_D(const QtMaterialBadge); + + return d->text; +} + +/*! + * \reimp + */ +void QtMaterialBadge::paintEvent(QPaintEvent *event) +{ + Q_UNUSED(event) + + Q_D(QtMaterialBadge); + + QPainter painter(this); + painter.setRenderHint(QPainter::Antialiasing); + + painter.translate(d->x, d->y); + + QBrush brush; + brush.setStyle(Qt::SolidPattern); + brush.setColor(isEnabled() ? backgroundColor() + : QtMaterialStyle::instance().themeColor("disabled")); + painter.setBrush(brush); + painter.setPen(Qt::NoPen); + + const int s = getDiameter(); + + QRectF r(0, 0, s, s); + r.translate(QPointF((width()-s), (height()-s))/2); + + if (d->icon.isNull()) + { + painter.drawEllipse(r); + painter.setPen(textColor()); + painter.setBrush(Qt::NoBrush); + painter.drawText(r.translated(0, -0.5), Qt::AlignCenter, d->text); + } + else + { + painter.drawEllipse(r); + QRectF q(0, 0, 16, 16); + q.moveCenter(r.center()); + QPixmap pixmap = icon().pixmap(16, 16); + QPainter icon(&pixmap); + icon.setCompositionMode(QPainter::CompositionMode_SourceIn); + icon.fillRect(pixmap.rect(), textColor()); + painter.drawPixmap(q.toRect(), pixmap); + } +} + +int QtMaterialBadge::getDiameter() const +{ + Q_D(const QtMaterialBadge); + + if (d->icon.isNull()) { + return qMax(d->size.width(), d->size.height()) + d->padding; + } else { + return 24; + } +} diff --git a/src/material-widgets/qtmaterialbadge.h b/src/material-widgets/qtmaterialbadge.h new file mode 100644 index 0000000..deac3ab --- /dev/null +++ b/src/material-widgets/qtmaterialbadge.h @@ -0,0 +1,61 @@ +#ifndef QTMATERIALBADGE_H +#define QTMATERIALBADGE_H + +#include "lib/qtmaterialoverlaywidget.h" + +class QtMaterialBadgePrivate; + +class QtMaterialBadge : public QtMaterialOverlayWidget +{ + Q_OBJECT + + Q_PROPERTY(QColor textColor WRITE setTextColor READ textColor) + Q_PROPERTY(QColor backgroundColor WRITE setBackgroundColor READ backgroundColor) + Q_PROPERTY(QPointF relativePosition WRITE setRelativePosition READ relativePosition) + +public: + explicit QtMaterialBadge(QWidget *parent = 0); + explicit QtMaterialBadge(const QIcon &icon, QWidget *parent = 0); + explicit QtMaterialBadge(const QString &text, QWidget *parent = 0); + ~QtMaterialBadge(); + + void setUseThemeColors(bool value); + bool useThemeColors() const; + + void setTextColor(const QColor &color); + QColor textColor() const; + + void setBackgroundColor(const QColor &color); + QColor backgroundColor() const; + + void setRelativePosition(const QPointF &pos); + void setRelativePosition(qreal x, qreal y); + QPointF relativePosition() const; + + void setRelativeXPosition(qreal x); + qreal relativeXPosition() const; + + void setRelativeYPosition(qreal y); + qreal relativeYPosition() const; + + QSize sizeHint() const Q_DECL_OVERRIDE; + + void setIcon(const QIcon &icon); + QIcon icon() const; + + void setText(const QString &text); + QString text() const; + +protected: + void paintEvent(QPaintEvent *event) Q_DECL_OVERRIDE; + + int getDiameter() const; + + const QScopedPointer d_ptr; + +private: + Q_DISABLE_COPY(QtMaterialBadge) + Q_DECLARE_PRIVATE(QtMaterialBadge) +}; + +#endif // QTMATERIALBADGE_H diff --git a/src/material-widgets/qtmaterialbadge_p.h b/src/material-widgets/qtmaterialbadge_p.h new file mode 100644 index 0000000..19757e7 --- /dev/null +++ b/src/material-widgets/qtmaterialbadge_p.h @@ -0,0 +1,34 @@ +#ifndef QTMATERIALBADGE_P_H +#define QTMATERIALBADGE_P_H + +#include +#include +#include +#include + +class QtMaterialBadge; + +class QtMaterialBadgePrivate +{ + Q_DISABLE_COPY(QtMaterialBadgePrivate) + Q_DECLARE_PUBLIC(QtMaterialBadge) + +public: + QtMaterialBadgePrivate(QtMaterialBadge *q); + ~QtMaterialBadgePrivate(); + + void init(); + + QtMaterialBadge *const q_ptr; + QString text; + QColor textColor; + QColor backgroundColor; + QSize size; + QIcon icon; + qreal x; + qreal y; + int padding; + bool useThemeColors; +}; + +#endif // QTMATERIALBADGE_P_H diff --git a/src/material-widgets/qtmaterialcheckbox.cpp b/src/material-widgets/qtmaterialcheckbox.cpp new file mode 100644 index 0000000..b693a90 --- /dev/null +++ b/src/material-widgets/qtmaterialcheckbox.cpp @@ -0,0 +1,85 @@ +#include "qtmaterialcheckbox.h" +#include "qtmaterialcheckbox_p.h" +#include +#include +#include +#include "lib/qtmaterialcheckable_internal.h" + +/*! + * \class QtMaterialCheckBoxPrivate + * \internal + */ + +/*! + * \internal + */ +QtMaterialCheckBoxPrivate::QtMaterialCheckBoxPrivate(QtMaterialCheckBox *q) + : QtMaterialCheckablePrivate(q) +{ +} + +/*! + * \internal + */ +QtMaterialCheckBoxPrivate::~QtMaterialCheckBoxPrivate() +{ +} + +/*! + * \internal + */ +void QtMaterialCheckBoxPrivate::init() +{ + Q_Q(QtMaterialCheckBox); + + checkedState->assignProperty(checkedIcon, "iconSize", 24); + uncheckedState->assignProperty(checkedIcon, "iconSize", 0); + + QPropertyAnimation *animation; + + animation = new QPropertyAnimation(checkedIcon, "iconSize", q); + animation->setDuration(300); + uncheckedTransition->addAnimation(animation); + + animation = new QPropertyAnimation(checkedIcon, "iconSize", q); + animation->setDuration(1300); + checkedTransition->addAnimation(animation); + + animation = new QPropertyAnimation(checkedIcon, "opacity", q); + animation->setDuration(440); + checkedTransition->addAnimation(animation); + + animation = new QPropertyAnimation(checkedIcon, "opacity", q); + animation->setDuration(440); + uncheckedTransition->addAnimation(animation); + + animation = new QPropertyAnimation(uncheckedIcon, "opacity", q); + animation->setDuration(440); + checkedTransition->addAnimation(animation); + + animation = new QPropertyAnimation(uncheckedIcon, "opacity", q); + animation->setDuration(440); + uncheckedTransition->addAnimation(animation); + + animation = new QPropertyAnimation(uncheckedIcon, "color", q); + animation->setDuration(440); + checkedTransition->addAnimation(animation); + + animation = new QPropertyAnimation(uncheckedIcon, "color", q); + animation->setDuration(440); + uncheckedTransition->addAnimation(animation); +} + +/*! + * \class QtMaterialCheckBox + */ + +QtMaterialCheckBox::QtMaterialCheckBox(QWidget *parent) + : QtMaterialCheckable(*new QtMaterialCheckBoxPrivate(this), parent) +{ + d_func()->init(); +} + +QtMaterialCheckBox::~QtMaterialCheckBox() +{ +} diff --git a/src/material-widgets/qtmaterialcheckbox.h b/src/material-widgets/qtmaterialcheckbox.h new file mode 100644 index 0000000..5aaa8f4 --- /dev/null +++ b/src/material-widgets/qtmaterialcheckbox.h @@ -0,0 +1,21 @@ +#ifndef QTMATERIALCHECKBOX_H +#define QTMATERIALCHECKBOX_H + +#include "lib/qtmaterialcheckable.h" + +class QtMaterialCheckBoxPrivate; + +class QtMaterialCheckBox : public QtMaterialCheckable +{ + Q_OBJECT + +public: + explicit QtMaterialCheckBox(QWidget *parent = 0); + ~QtMaterialCheckBox(); + +private: + Q_DISABLE_COPY(QtMaterialCheckBox) + Q_DECLARE_PRIVATE(QtMaterialCheckBox) +}; + +#endif // QTMATERIALCHECKBOX_H diff --git a/src/material-widgets/qtmaterialcheckbox_p.h b/src/material-widgets/qtmaterialcheckbox_p.h new file mode 100644 index 0000000..daa62d7 --- /dev/null +++ b/src/material-widgets/qtmaterialcheckbox_p.h @@ -0,0 +1,20 @@ +#ifndef QTMATERIALCHECKBOX_P_H +#define QTMATERIALCHECKBOX_P_H + +#include "lib/qtmaterialcheckable_p.h" + +class QtMaterialCheckBox; + +class QtMaterialCheckBoxPrivate : public QtMaterialCheckablePrivate +{ + Q_DISABLE_COPY(QtMaterialCheckBoxPrivate) + Q_DECLARE_PUBLIC(QtMaterialCheckBox) + +public: + QtMaterialCheckBoxPrivate(QtMaterialCheckBox *q); + ~QtMaterialCheckBoxPrivate(); + + void init(); +}; + +#endif // QTMATERIALCHECKBOX_P_H diff --git a/src/material-widgets/qtmaterialcircularprogress.cpp b/src/material-widgets/qtmaterialcircularprogress.cpp new file mode 100644 index 0000000..c783f75 --- /dev/null +++ b/src/material-widgets/qtmaterialcircularprogress.cpp @@ -0,0 +1,254 @@ +#include "qtmaterialcircularprogress.h" +#include "qtmaterialcircularprogress_p.h" +#include +#include +#include +#include "qtmaterialcircularprogress_internal.h" +#include "lib/qtmaterialstyle.h" + +/*! + * \class QtMaterialCircularProgressPrivate + * \internal + */ + +QtMaterialCircularProgressPrivate::QtMaterialCircularProgressPrivate(QtMaterialCircularProgress *q) + : q_ptr(q) +{ +} + +QtMaterialCircularProgressPrivate::~QtMaterialCircularProgressPrivate() +{ +} + +void QtMaterialCircularProgressPrivate::init() +{ + Q_Q(QtMaterialCircularProgress); + + delegate = new QtMaterialCircularProgressDelegate(q); + progressType = Material::IndeterminateProgress; + penWidth = 6.25; + size = 64; + useThemeColors = true; + + q->setSizePolicy(QSizePolicy(QSizePolicy::MinimumExpanding, + QSizePolicy::MinimumExpanding)); + + QParallelAnimationGroup *group = new QParallelAnimationGroup(q); + group->setLoopCount(-1); + + QPropertyAnimation *animation; + + animation = new QPropertyAnimation(q); + animation->setPropertyName("dashLength"); + animation->setTargetObject(delegate); + animation->setEasingCurve(QEasingCurve::InOutQuad); + animation->setStartValue(0.1); + animation->setKeyValueAt(0.15, 0.2); + animation->setKeyValueAt(0.6, 20); + animation->setKeyValueAt(0.7, 20); + animation->setEndValue(20); + animation->setDuration(2050); + + group->addAnimation(animation); + + animation = new QPropertyAnimation(q); + animation->setPropertyName("dashOffset"); + animation->setTargetObject(delegate); + animation->setEasingCurve(QEasingCurve::InOutSine); + animation->setStartValue(0); + animation->setKeyValueAt(0.15, 0); + animation->setKeyValueAt(0.6, -7); + animation->setKeyValueAt(0.7, -7); + animation->setEndValue(-25); + animation->setDuration(2050); + + group->addAnimation(animation); + + animation = new QPropertyAnimation(q); + animation->setPropertyName("angle"); + animation->setTargetObject(delegate); + animation->setStartValue(0); + animation->setEndValue(719); + animation->setDuration(2050); + + group->addAnimation(animation); + + group->start(); +} + +/*! + * \class QtMaterialCircularProgress + */ + +QtMaterialCircularProgress::QtMaterialCircularProgress(QWidget *parent) + : QProgressBar(parent), + d_ptr(new QtMaterialCircularProgressPrivate(this)) +{ + d_func()->init(); +} + +QtMaterialCircularProgress::~QtMaterialCircularProgress() +{ +} + +void QtMaterialCircularProgress::setProgressType(Material::ProgressType type) +{ + Q_D(QtMaterialCircularProgress); + + d->progressType = type; + update(); +} + +Material::ProgressType QtMaterialCircularProgress::progressType() const +{ + Q_D(const QtMaterialCircularProgress); + + return d->progressType; +} + +void QtMaterialCircularProgress::setUseThemeColors(bool value) +{ + Q_D(QtMaterialCircularProgress); + + if (d->useThemeColors == value) { + return; + } + + d->useThemeColors = value; + update(); +} + +bool QtMaterialCircularProgress::useThemeColors() const +{ + Q_D(const QtMaterialCircularProgress); + + return d->useThemeColors; +} + +void QtMaterialCircularProgress::setLineWidth(qreal width) +{ + Q_D(QtMaterialCircularProgress); + + d->penWidth = width; + update(); + updateGeometry(); +} + +qreal QtMaterialCircularProgress::lineWidth() const +{ + Q_D(const QtMaterialCircularProgress); + + return d->penWidth; +} + +void QtMaterialCircularProgress::setSize(int size) +{ + Q_D(QtMaterialCircularProgress); + + d->size = size; + update(); + updateGeometry(); +} + +int QtMaterialCircularProgress::size() const +{ + Q_D(const QtMaterialCircularProgress); + + return d->size; +} + +void QtMaterialCircularProgress::setColor(const QColor &color) +{ + Q_D(QtMaterialCircularProgress); + + d->color = color; + + MATERIAL_DISABLE_THEME_COLORS + update(); +} + +QColor QtMaterialCircularProgress::color() const +{ + Q_D(const QtMaterialCircularProgress); + + if (d->useThemeColors || !d->color.isValid()) { + return QtMaterialStyle::instance().themeColor("primary1"); + } else { + return d->color; + } +} + +/*! + * \reimp + */ +QSize QtMaterialCircularProgress::sizeHint() const +{ + Q_D(const QtMaterialCircularProgress); + + const qreal s = d->size+d->penWidth+8; + return QSize(s, s); +} + +/*! + * \reimp + */ +void QtMaterialCircularProgress::paintEvent(QPaintEvent *event) +{ + Q_UNUSED(event) + + Q_D(QtMaterialCircularProgress); + + QPainter painter(this); + painter.setRenderHint(QPainter::Antialiasing); + + if (!isEnabled()) + { + QPen pen; + pen.setCapStyle(Qt::RoundCap); + pen.setWidthF(d->penWidth); + pen.setColor(QtMaterialStyle::instance().themeColor("border")); + painter.setPen(pen); + painter.drawLine(rect().center()-QPointF(20, 20), rect().center()+QPointF(20, 20)); + painter.drawLine(rect().center()+QPointF(20, -20), rect().center()-QPointF(20, -20)); + return; + } + + if (Material::IndeterminateProgress == d->progressType) + { + painter.translate(width()/2, height()/2); + painter.rotate(d->delegate->angle()); + } + + QPen pen; + pen.setCapStyle(Qt::RoundCap); + pen.setWidthF(d->penWidth); + pen.setColor(color()); + + if (Material::IndeterminateProgress == d->progressType) + { + QVector pattern; + pattern << d->delegate->dashLength()*d->size/50 << 30*d->size/50; + + pen.setDashOffset(d->delegate->dashOffset()*d->size/50); + pen.setDashPattern(pattern); + + painter.setPen(pen); + + painter.drawEllipse(QPoint(0, 0), d->size/2, d->size/2); + } + else + { + painter.setPen(pen); + + const qreal x = (width()-d->size)/2; + const qreal y = (height()-d->size)/2; + + const qreal a = 360*(value()-minimum())/(maximum()-minimum()); + + QPainterPath path; + path.arcMoveTo(x, y, d->size, d->size, 0); + path.arcTo(x, y, d->size, d->size, 0, a); + + painter.drawPath(path); + } +} diff --git a/src/material-widgets/qtmaterialcircularprogress.h b/src/material-widgets/qtmaterialcircularprogress.h new file mode 100644 index 0000000..dfc306e --- /dev/null +++ b/src/material-widgets/qtmaterialcircularprogress.h @@ -0,0 +1,48 @@ +#ifndef QTMATERIALCIRCULARPROGRESS_H +#define QTMATERIALCIRCULARPROGRESS_H + +#include +#include "lib/qtmaterialtheme.h" + +class QtMaterialCircularProgressPrivate; + +class QtMaterialCircularProgress : public QProgressBar +{ + Q_OBJECT + + Q_PROPERTY(qreal lineWidth WRITE setLineWidth READ lineWidth) + Q_PROPERTY(qreal size WRITE setSize READ size) + Q_PROPERTY(QColor color WRITE setColor READ color) + +public: + explicit QtMaterialCircularProgress(QWidget *parent = 0); + ~QtMaterialCircularProgress(); + + void setProgressType(Material::ProgressType type); + Material::ProgressType progressType() const; + + void setUseThemeColors(bool value); + bool useThemeColors() const; + + void setLineWidth(qreal width); + qreal lineWidth() const; + + void setSize(int size); + int size() const; + + void setColor(const QColor &color); + QColor color() const; + + QSize sizeHint() const Q_DECL_OVERRIDE; + +protected: + void paintEvent(QPaintEvent *event) Q_DECL_OVERRIDE; + + const QScopedPointer d_ptr; + +private: + Q_DISABLE_COPY(QtMaterialCircularProgress) + Q_DECLARE_PRIVATE(QtMaterialCircularProgress) +}; + +#endif // QTMATERIALCIRCULARPROGRESS_H diff --git a/src/material-widgets/qtmaterialcircularprogress_internal.cpp b/src/material-widgets/qtmaterialcircularprogress_internal.cpp new file mode 100644 index 0000000..b11a25f --- /dev/null +++ b/src/material-widgets/qtmaterialcircularprogress_internal.cpp @@ -0,0 +1,20 @@ +#include "qtmaterialcircularprogress_internal.h" + +/*! + * \class QtMaterialCircularProgressDelegate + * \internal + */ + +QtMaterialCircularProgressDelegate::QtMaterialCircularProgressDelegate(QtMaterialCircularProgress *parent) + : QObject(parent), + m_progress(parent), + m_dashOffset(0), + m_dashLength(89), + m_angle(0) +{ + Q_ASSERT(parent); +} + +QtMaterialCircularProgressDelegate::~QtMaterialCircularProgressDelegate() +{ +} diff --git a/src/material-widgets/qtmaterialcircularprogress_internal.h b/src/material-widgets/qtmaterialcircularprogress_internal.h new file mode 100644 index 0000000..a05bd63 --- /dev/null +++ b/src/material-widgets/qtmaterialcircularprogress_internal.h @@ -0,0 +1,70 @@ +#ifndef QTMATERIALCIRCULARPROGRESS_INTERNAL_H +#define QTMATERIALCIRCULARPROGRESS_INTERNAL_H + +#include +#include "qtmaterialcircularprogress.h" + +class QtMaterialCircularProgressDelegate : public QObject +{ + Q_OBJECT + + Q_PROPERTY(qreal dashOffset WRITE setDashOffset READ dashOffset) + Q_PROPERTY(qreal dashLength WRITE setDashLength READ dashLength) + Q_PROPERTY(int angle WRITE setAngle READ angle) + +public: + QtMaterialCircularProgressDelegate(QtMaterialCircularProgress *parent); + ~QtMaterialCircularProgressDelegate(); + + inline void setDashOffset(qreal offset); + inline qreal dashOffset() const; + + inline void setDashLength(qreal length); + inline qreal dashLength() const; + + inline void setAngle(int angle); + inline int angle() const; + +private: + Q_DISABLE_COPY(QtMaterialCircularProgressDelegate) + + QtMaterialCircularProgress *const m_progress; + qreal m_dashOffset; + qreal m_dashLength; + int m_angle; +}; + +inline void QtMaterialCircularProgressDelegate::setDashOffset(qreal offset) +{ + m_dashOffset = offset; + m_progress->update(); +} + +inline qreal QtMaterialCircularProgressDelegate::dashOffset() const +{ + return m_dashOffset; +} + +inline void QtMaterialCircularProgressDelegate::setDashLength(qreal length) +{ + m_dashLength = length; + m_progress->update(); +} + +inline qreal QtMaterialCircularProgressDelegate::dashLength() const +{ + return m_dashLength; +} + +inline void QtMaterialCircularProgressDelegate::setAngle(int angle) +{ + m_angle = angle; + m_progress->update(); +} + +inline int QtMaterialCircularProgressDelegate::angle() const +{ + return m_angle; +} + +#endif // QTMATERIALCIRCULARPROGRESS_INTERNAL_H diff --git a/src/material-widgets/qtmaterialcircularprogress_p.h b/src/material-widgets/qtmaterialcircularprogress_p.h new file mode 100644 index 0000000..451bc9c --- /dev/null +++ b/src/material-widgets/qtmaterialcircularprogress_p.h @@ -0,0 +1,30 @@ +#ifndef QTMATERIALCIRCULARPROGRESS_P_H +#define QTMATERIALCIRCULARPROGRESS_P_H + +#include +#include "lib/qtmaterialtheme.h" + +class QtMaterialCircularProgress; +class QtMaterialCircularProgressDelegate; + +class QtMaterialCircularProgressPrivate +{ + Q_DISABLE_COPY(QtMaterialCircularProgressPrivate) + Q_DECLARE_PUBLIC(QtMaterialCircularProgress) + +public: + QtMaterialCircularProgressPrivate(QtMaterialCircularProgress *q); + ~QtMaterialCircularProgressPrivate(); + + void init(); + + QtMaterialCircularProgress *const q_ptr; + QtMaterialCircularProgressDelegate *delegate; + Material::ProgressType progressType; + QColor color; + qreal penWidth; + int size; + bool useThemeColors; +}; + +#endif // QTMATERIALCIRCULARPROGRESS_P_H diff --git a/src/material-widgets/qtmaterialdialog.cpp b/src/material-widgets/qtmaterialdialog.cpp new file mode 100644 index 0000000..82afc89 --- /dev/null +++ b/src/material-widgets/qtmaterialdialog.cpp @@ -0,0 +1,167 @@ +#include "qtmaterialdialog.h" +#include "qtmaterialdialog_p.h" +#include +#include +#include +#include +#include +#include +#include +#include "qtmaterialdialog_internal.h" +#include "lib/qtmaterialstatetransition.h" + +/*! + * \class QtMaterialDialogPrivate + * \internal + */ + +QtMaterialDialogPrivate::QtMaterialDialogPrivate(QtMaterialDialog *q) + : q_ptr(q) +{ +} + +QtMaterialDialogPrivate::~QtMaterialDialogPrivate() +{ +} + +void QtMaterialDialogPrivate::init() +{ + Q_Q(QtMaterialDialog); + + dialogWindow = new QtMaterialDialogWindow(q); + proxyStack = new QStackedLayout; + stateMachine = new QStateMachine(q); + proxy = new QtMaterialDialogProxy(dialogWindow, proxyStack, q); + + QVBoxLayout *layout = new QVBoxLayout; + q->setLayout(layout); + + QWidget *widget = new QWidget; + widget->setLayout(proxyStack); + widget->setMinimumWidth(400); + + QGraphicsDropShadowEffect *effect = new QGraphicsDropShadowEffect; + effect->setColor(QColor(0, 0, 0, 200)); + effect->setBlurRadius(64); + effect->setOffset(0, 13); + widget->setGraphicsEffect(effect); + + layout->addWidget(widget); + layout->setAlignment(widget, Qt::AlignCenter); + + proxyStack->addWidget(dialogWindow); + proxyStack->addWidget(proxy); + proxyStack->setCurrentIndex(1); + + q->setAttribute(Qt::WA_TransparentForMouseEvents); + + QState *hiddenState = new QState; + QState *visibleState = new QState; + + stateMachine->addState(hiddenState); + stateMachine->addState(visibleState); + stateMachine->setInitialState(hiddenState); + + QtMaterialStateTransition *transition; + + transition = new QtMaterialStateTransition(DialogShowTransition); + transition->setTargetState(visibleState); + hiddenState->addTransition(transition); + + transition = new QtMaterialStateTransition(DialogHideTransition); + transition->setTargetState(hiddenState); + visibleState->addTransition(transition); + + visibleState->assignProperty(proxy, "opacity", 1); + visibleState->assignProperty(effect, "color", QColor(0, 0, 0, 200)); + visibleState->assignProperty(dialogWindow, "offset", 0); + hiddenState->assignProperty(proxy, "opacity", 0); + hiddenState->assignProperty(effect, "color", QColor(0, 0, 0, 0)); + hiddenState->assignProperty(dialogWindow, "offset", 200); + + QPropertyAnimation *animation; + + animation = new QPropertyAnimation(proxy, "opacity", q); + animation->setDuration(280); + stateMachine->addDefaultAnimation(animation); + + animation = new QPropertyAnimation(effect, "color", q); + animation->setDuration(280); + stateMachine->addDefaultAnimation(animation); + + animation = new QPropertyAnimation(dialogWindow, "offset", q); + animation->setDuration(280); + animation->setEasingCurve(QEasingCurve::OutCirc); + stateMachine->addDefaultAnimation(animation); + + QObject::connect(visibleState, SIGNAL(propertiesAssigned()), + proxy, SLOT(makeOpaque())); + QObject::connect(hiddenState, SIGNAL(propertiesAssigned()), + proxy, SLOT(makeTransparent())); + + stateMachine->start(); + QCoreApplication::processEvents(); +} + +/*! + * \class QtMaterialDialog + */ + +QtMaterialDialog::QtMaterialDialog(QWidget *parent) + : QtMaterialOverlayWidget(parent), + d_ptr(new QtMaterialDialogPrivate(this)) +{ + d_func()->init(); +} + +QtMaterialDialog::~QtMaterialDialog() +{ +} + +QLayout *QtMaterialDialog::windowLayout() const +{ + Q_D(const QtMaterialDialog); + + return d->dialogWindow->layout(); +} + +void QtMaterialDialog::setWindowLayout(QLayout *layout) +{ + Q_D(QtMaterialDialog); + + d->dialogWindow->setLayout(layout); +} + +void QtMaterialDialog::showDialog() +{ + Q_D(QtMaterialDialog); + + d->stateMachine->postEvent(new QtMaterialStateTransitionEvent(DialogShowTransition)); + raise(); +} + +void QtMaterialDialog::hideDialog() +{ + Q_D(QtMaterialDialog); + + d->stateMachine->postEvent(new QtMaterialStateTransitionEvent(DialogHideTransition)); + setAttribute(Qt::WA_TransparentForMouseEvents); + d->proxyStack->setCurrentIndex(1); +} + +void QtMaterialDialog::paintEvent(QPaintEvent *event) +{ + Q_UNUSED(event) + + Q_D(QtMaterialDialog); + + QPainter painter(this); + + QBrush brush; + brush.setStyle(Qt::SolidPattern); + brush.setColor(Qt::black); + painter.setBrush(brush); + painter.setPen(Qt::NoPen); + painter.setOpacity(d->proxy->opacity()/2.4); + painter.drawRect(rect()); +} diff --git a/src/material-widgets/qtmaterialdialog.h b/src/material-widgets/qtmaterialdialog.h new file mode 100644 index 0000000..822a5d9 --- /dev/null +++ b/src/material-widgets/qtmaterialdialog.h @@ -0,0 +1,35 @@ +#ifndef QTMATERIALDIALOG_H +#define QTMATERIALDIALOG_H + +#include +#include "lib/qtmaterialoverlaywidget.h" + +class QLayout; +class QtMaterialDialogPrivate; + +class QtMaterialDialog : public QtMaterialOverlayWidget +{ + Q_OBJECT + +public: + explicit QtMaterialDialog(QWidget *parent = 0); + ~QtMaterialDialog(); + + QLayout *windowLayout() const; + void setWindowLayout(QLayout *layout); + +public slots: + void showDialog(); + void hideDialog(); + +protected: + void paintEvent(QPaintEvent *event) Q_DECL_OVERRIDE; + + const QScopedPointer d_ptr; + +private: + Q_DISABLE_COPY(QtMaterialDialog) + Q_DECLARE_PRIVATE(QtMaterialDialog) +}; + +#endif // QTMATERIALDIALOG_H diff --git a/src/material-widgets/qtmaterialdialog_internal.cpp b/src/material-widgets/qtmaterialdialog_internal.cpp new file mode 100644 index 0000000..6cac9b8 --- /dev/null +++ b/src/material-widgets/qtmaterialdialog_internal.cpp @@ -0,0 +1,127 @@ +#include "qtmaterialdialog_internal.h" +#include +#include +#include +#include +#include "qtmaterialdialog.h" + +/*! + * \class QtMaterialDialogProxy + * \internal + */ + +QtMaterialDialogProxy::QtMaterialDialogProxy( + QtMaterialDialogWindow *source, + QStackedLayout *layout, + QtMaterialDialog *dialog, + QWidget *parent) + : QWidget(parent), + m_source(source), + m_layout(layout), + m_dialog(dialog), + m_opacity(0), + m_mode(Transparent) +{ +} + +QtMaterialDialogProxy::~QtMaterialDialogProxy() +{ +} + +void QtMaterialDialogProxy::setOpacity(qreal opacity) +{ + m_opacity = opacity; + m_mode = SemiTransparent; + update(); + m_dialog->update(); +} + + +void QtMaterialDialogProxy::makeOpaque() +{ + m_dialog->setAttribute(Qt::WA_TransparentForMouseEvents, false); + m_layout->setCurrentIndex(0); + m_opacity = 1.0; + m_mode = Opaque; + update(); +} + +void QtMaterialDialogProxy::makeTransparent() +{ + m_opacity = 0.0; + m_mode = Transparent; + update(); +} + +QSize QtMaterialDialogProxy::sizeHint() const +{ + return m_source->sizeHint(); +} + +bool QtMaterialDialogProxy::event(QEvent *event) +{ + const QEvent::Type type = event->type(); + + if (QEvent::Move == type || QEvent::Resize == type) { + m_source->setGeometry(geometry()); + } + return QWidget::event(event); +} + +void QtMaterialDialogProxy::paintEvent(QPaintEvent *event) +{ + Q_UNUSED(event) + + QPainter painter(this); + + if (Transparent == m_mode) { + return; + } else if (Opaque != m_mode) { + painter.setOpacity(m_opacity); + } + QPixmap pm = m_source->grab(m_source->rect()); + painter.drawPixmap(0, 0, pm); +} + +/*! + * \class QtMaterialDialogWindow + * \internal + */ + +QtMaterialDialogWindow::QtMaterialDialogWindow( + QtMaterialDialog *dialog, + QWidget *parent) + : QWidget(parent), + m_dialog(dialog) +{ +} + +QtMaterialDialogWindow::~QtMaterialDialogWindow() +{ +} + +void QtMaterialDialogWindow::setOffset(int offset) +{ + QMargins margins = m_dialog->layout()->contentsMargins(); + margins.setBottom(offset); + m_dialog->layout()->setContentsMargins(margins); +} + +int QtMaterialDialogWindow::offset() const +{ + return m_dialog->layout()->contentsMargins().bottom(); +} + +void QtMaterialDialogWindow::paintEvent(QPaintEvent *event) +{ + Q_UNUSED(event) + + QPainter painter(this); + + QBrush brush; + brush.setStyle(Qt::SolidPattern); + brush.setColor(Qt::white); + painter.setPen(Qt::NoPen); + painter.setBrush(brush); + painter.drawRect(rect()); +} diff --git a/src/material-widgets/qtmaterialdialog_internal.h b/src/material-widgets/qtmaterialdialog_internal.h new file mode 100644 index 0000000..52f5a05 --- /dev/null +++ b/src/material-widgets/qtmaterialdialog_internal.h @@ -0,0 +1,79 @@ +#ifndef QTMATERIALDIALOG_INTERNAL_H +#define QTMATERIALDIALOG_INTERNAL_H + +#include + +class QStackedLayout; +class QtMaterialDialog; +class QtMaterialDialogWindow; + +class QtMaterialDialogProxy : public QWidget +{ + Q_OBJECT + + Q_PROPERTY(qreal opacity WRITE setOpacity READ opacity) + + enum TransparencyMode { + Transparent, + SemiTransparent, + Opaque, + }; + +public: + QtMaterialDialogProxy(QtMaterialDialogWindow *source, + QStackedLayout *layout, + QtMaterialDialog *dialog, + QWidget *parent = 0); + ~QtMaterialDialogProxy(); + + void setOpacity(qreal opacity); + inline qreal opacity() const; + +protected slots: + void makeOpaque(); + void makeTransparent(); + + QSize sizeHint() const Q_DECL_OVERRIDE; + +protected: + bool event(QEvent *event) Q_DECL_OVERRIDE; + void paintEvent(QPaintEvent *event) Q_DECL_OVERRIDE; + +private: + Q_DISABLE_COPY(QtMaterialDialogProxy) + + QtMaterialDialogWindow *const m_source; + QStackedLayout *const m_layout; + QtMaterialDialog *const m_dialog; + qreal m_opacity; + TransparencyMode m_mode; +}; + +inline qreal QtMaterialDialogProxy::opacity() const +{ + return m_opacity; +} + +class QtMaterialDialogWindow : public QWidget +{ + Q_OBJECT + + Q_PROPERTY(int offset WRITE setOffset READ offset) + +public: + explicit QtMaterialDialogWindow(QtMaterialDialog *dialog, QWidget *parent = 0); + ~QtMaterialDialogWindow(); + + void setOffset(int offset); + int offset() const; + +protected: + void paintEvent(QPaintEvent *event) Q_DECL_OVERRIDE; + +private: + Q_DISABLE_COPY(QtMaterialDialogWindow) + + QtMaterialDialog *const m_dialog; +}; + +#endif // QTMATERIALDIALOG_INTERNAL_H diff --git a/src/material-widgets/qtmaterialdialog_p.h b/src/material-widgets/qtmaterialdialog_p.h new file mode 100644 index 0000000..b10088e --- /dev/null +++ b/src/material-widgets/qtmaterialdialog_p.h @@ -0,0 +1,30 @@ +#ifndef QTMATERIALDIALOG_P_H +#define QTMATERIALDIALOG_P_H + +#include + +class QStateMachine; +class QtMaterialDialog; +class QStackedLayout; +class QtMaterialDialogWindow; +class QtMaterialDialogProxy; + +class QtMaterialDialogPrivate +{ + Q_DISABLE_COPY(QtMaterialDialogPrivate) + Q_DECLARE_PUBLIC(QtMaterialDialog) + +public: + QtMaterialDialogPrivate(QtMaterialDialog *q); + ~QtMaterialDialogPrivate(); + + void init(); + + QtMaterialDialog *const q_ptr; + QtMaterialDialogWindow *dialogWindow; + QStackedLayout *proxyStack; + QStateMachine *stateMachine; + QtMaterialDialogProxy *proxy; +}; + +#endif // QTMATERIALDIALOG_P_H diff --git a/src/material-widgets/qtmaterialdrawer.cpp b/src/material-widgets/qtmaterialdrawer.cpp new file mode 100644 index 0000000..1bddd47 --- /dev/null +++ b/src/material-widgets/qtmaterialdrawer.cpp @@ -0,0 +1,234 @@ +#include "qtmaterialdrawer.h" +#include "qtmaterialdrawer_p.h" +#include +#include +#include +#include +#include +#include +#include +#include +#include "qtmaterialdrawer_internal.h" + +/*! + * \class QtMaterialDrawerPrivate + * \internal + */ + +/*! + * \internal + */ +QtMaterialDrawerPrivate::QtMaterialDrawerPrivate(QtMaterialDrawer *q) + : q_ptr(q) +{ +} + +/*! + * \internal + */ +QtMaterialDrawerPrivate::~QtMaterialDrawerPrivate() +{ +} + +/*! + * \internal + */ +void QtMaterialDrawerPrivate::init() +{ + Q_Q(QtMaterialDrawer); + + widget = new QtMaterialDrawerWidget; + stateMachine = new QtMaterialDrawerStateMachine(widget, q); + window = new QWidget; + width = 250; + clickToClose = false; + autoRaise = true; + closed = true; + overlay = false; + + QVBoxLayout *layout = new QVBoxLayout; + layout->addWidget(window); + + widget->setLayout(layout); + widget->setFixedWidth(width+16); + + widget->setParent(q); + + stateMachine->start(); + QCoreApplication::processEvents(); +} + +/*! + * \class QtMaterialDrawer + */ + +QtMaterialDrawer::QtMaterialDrawer(QWidget *parent) + : QtMaterialOverlayWidget(parent), + d_ptr(new QtMaterialDrawerPrivate(this)) +{ + d_func()->init(); +} + +QtMaterialDrawer::~QtMaterialDrawer() +{ +} + +void QtMaterialDrawer::setDrawerWidth(int width) +{ + Q_D(QtMaterialDrawer); + + d->width = width; + d->stateMachine->updatePropertyAssignments(); + d->widget->setFixedWidth(width+16); +} + +int QtMaterialDrawer::drawerWidth() const +{ + Q_D(const QtMaterialDrawer); + + return d->width; +} + +void QtMaterialDrawer::setDrawerLayout(QLayout *layout) +{ + Q_D(QtMaterialDrawer); + + d->window->setLayout(layout); +} + +QLayout *QtMaterialDrawer::drawerLayout() const +{ + Q_D(const QtMaterialDrawer); + + return d->window->layout(); +} + +void QtMaterialDrawer::setClickOutsideToClose(bool state) +{ + Q_D(QtMaterialDrawer); + + d->clickToClose = state; +} + +bool QtMaterialDrawer::clickOutsideToClose() const +{ + Q_D(const QtMaterialDrawer); + + return d->clickToClose; +} + +void QtMaterialDrawer::setAutoRaise(bool state) +{ + Q_D(QtMaterialDrawer); + + d->autoRaise = state; +} + +bool QtMaterialDrawer::autoRaise() const +{ + Q_D(const QtMaterialDrawer); + + return d->autoRaise; +} + +void QtMaterialDrawer::setOverlayMode(bool value) +{ + Q_D(QtMaterialDrawer); + + d->overlay = value; + update(); +} + +bool QtMaterialDrawer::overlayMode() const +{ + Q_D(const QtMaterialDrawer); + + return d->overlay; +} + +void QtMaterialDrawer::openDrawer() +{ + Q_D(QtMaterialDrawer); + + emit d->stateMachine->signalOpen(); + + if (d->autoRaise) { + raise(); + } + setAttribute(Qt::WA_TransparentForMouseEvents, false); + setAttribute(Qt::WA_NoSystemBackground, false); +} + +void QtMaterialDrawer::closeDrawer() +{ + Q_D(QtMaterialDrawer); + + emit d->stateMachine->signalClose(); + + if (d->overlay) { + setAttribute(Qt::WA_TransparentForMouseEvents); + setAttribute(Qt::WA_NoSystemBackground); + } +} + +bool QtMaterialDrawer::event(QEvent *event) +{ + Q_D(QtMaterialDrawer); + + switch (event->type()) + { + case QEvent::Move: + case QEvent::Resize: + if (!d->overlay) { + setMask(QRegion(d->widget->rect())); + } + break; + default: + break; + } + return QtMaterialOverlayWidget::event(event); +} + +bool QtMaterialDrawer::eventFilter(QObject *obj, QEvent *event) +{ + Q_D(QtMaterialDrawer); + + switch (event->type()) + { + case QEvent::MouseButtonPress: { + QMouseEvent *mouseEvent; + if ((mouseEvent = static_cast(event))) { + const bool canClose = d->clickToClose || d->overlay; + if (!d->widget->geometry().contains(mouseEvent->pos()) && canClose) { + closeDrawer(); + } + } + break; + } + case QEvent::Move: + case QEvent::Resize: { + QLayout *lw = d->widget->layout(); + if (lw && 16 != lw->contentsMargins().right()) { + lw->setContentsMargins(0, 0, 16, 0); + } + break; + } + default: + break; + } + return QtMaterialOverlayWidget::eventFilter(obj, event); +} + +void QtMaterialDrawer::paintEvent(QPaintEvent *event) +{ + Q_UNUSED(event) + + Q_D(QtMaterialDrawer); + + if (!d->overlay || d->stateMachine->isInClosedState()) { + return; + } + QPainter painter(this); + painter.setOpacity(d->stateMachine->opacity()); + painter.fillRect(rect(), Qt::SolidPattern); +} diff --git a/src/material-widgets/qtmaterialdrawer.h b/src/material-widgets/qtmaterialdrawer.h new file mode 100644 index 0000000..7bf3219 --- /dev/null +++ b/src/material-widgets/qtmaterialdrawer.h @@ -0,0 +1,48 @@ +#ifndef QTMATERIALDRAWER_H +#define QTMATERIALDRAWER_H + +#include "lib/qtmaterialoverlaywidget.h" + +class QtMaterialDrawerPrivate; +class QtMaterialDrawerStateMachine; + +class QtMaterialDrawer : public QtMaterialOverlayWidget +{ + Q_OBJECT + +public: + explicit QtMaterialDrawer(QWidget *parent = 0); + ~QtMaterialDrawer(); + + void setDrawerWidth(int width); + int drawerWidth() const; + + void setDrawerLayout(QLayout *layout); + QLayout *drawerLayout() const; + + void setClickOutsideToClose(bool state); + bool clickOutsideToClose() const; + + void setAutoRaise(bool state); + bool autoRaise() const; + + void setOverlayMode(bool value); + bool overlayMode() const; + +public slots: + void openDrawer(); + void closeDrawer(); + +protected: + bool event(QEvent *event) Q_DECL_OVERRIDE; + bool eventFilter(QObject *obj, QEvent *event) Q_DECL_OVERRIDE; + void paintEvent(QPaintEvent *event) Q_DECL_OVERRIDE; + + const QScopedPointer d_ptr; + +private: + Q_DISABLE_COPY(QtMaterialDrawer) + Q_DECLARE_PRIVATE(QtMaterialDrawer) +}; + +#endif // QTMATERIALDRAWER_H diff --git a/src/material-widgets/qtmaterialdrawer_internal.cpp b/src/material-widgets/qtmaterialdrawer_internal.cpp new file mode 100644 index 0000000..7f32700 --- /dev/null +++ b/src/material-widgets/qtmaterialdrawer_internal.cpp @@ -0,0 +1,169 @@ +#include "qtmaterialdrawer_internal.h" +#include +#include +#include +#include +#include +#include "qtmaterialdrawer.h" + +/*! + * \class QtMaterialDrawerStateMachine + * \internal + */ + +QtMaterialDrawerStateMachine::QtMaterialDrawerStateMachine(QtMaterialDrawerWidget *drawer, QtMaterialDrawer *parent) + : QStateMachine(parent), + m_drawer(drawer), + m_main(parent), + m_openingState(new QState), + m_openedState(new QState), + m_closingState(new QState), + m_closedState(new QState), + m_opacity(0) +{ + addState(m_openingState); + addState(m_openedState); + addState(m_closingState); + addState(m_closedState); + + setInitialState(m_closedState); + + QSignalTransition *transition; + QPropertyAnimation *animation; + + transition = new QSignalTransition(this, SIGNAL(signalOpen())); + transition->setTargetState(m_openingState); + m_closedState->addTransition(transition); + + animation = new QPropertyAnimation(drawer, "offset", this); + animation->setDuration(220); + animation->setEasingCurve(QEasingCurve::OutCirc); + transition->addAnimation(animation); + + animation = new QPropertyAnimation(this, "opacity", this); + animation->setDuration(220); + transition->addAnimation(animation); + + transition = new QSignalTransition(animation, SIGNAL(finished())); + transition->setTargetState(m_openedState); + m_openingState->addTransition(transition); + + transition = new QSignalTransition(this, SIGNAL(signalClose())); + transition->setTargetState(m_closingState); + m_openingState->addTransition(transition); + + animation = new QPropertyAnimation(this, "opacity", this); + animation->setDuration(220); + transition->addAnimation(animation); + + animation = new QPropertyAnimation(drawer, "offset", this); + animation->setDuration(220); + animation->setEasingCurve(QEasingCurve::InCirc); + transition->addAnimation(animation); + + transition = new QSignalTransition(animation, SIGNAL(finished())); + transition->setTargetState(m_closedState); + m_closingState->addTransition(transition); + + transition = new QSignalTransition(this, SIGNAL(signalClose())); + transition->setTargetState(m_closingState); + m_openedState->addTransition(transition); + + animation = new QPropertyAnimation(drawer, "offset", this); + animation->setDuration(220); + animation->setEasingCurve(QEasingCurve::InCirc); + transition->addAnimation(animation); + + animation = new QPropertyAnimation(this, "opacity", this); + animation->setDuration(220); + transition->addAnimation(animation); + + transition = new QSignalTransition(animation, SIGNAL(finished())); + transition->setTargetState(m_closedState); + m_closingState->addTransition(transition); + + updatePropertyAssignments(); +} + +QtMaterialDrawerStateMachine::~QtMaterialDrawerStateMachine() +{ +} + +void QtMaterialDrawerStateMachine::setOpacity(qreal opacity) +{ + m_opacity = opacity; + m_main->update(); +} + +bool QtMaterialDrawerStateMachine::isInClosedState() const +{ + return m_closedState->active(); +} + +void QtMaterialDrawerStateMachine::updatePropertyAssignments() +{ + const qreal closedOffset = -(m_drawer->width()+32); + + m_closingState->assignProperty(m_drawer, "offset", closedOffset); + m_closedState->assignProperty(m_drawer, "offset", closedOffset); + + m_closingState->assignProperty(this, "opacity", 0); + m_closedState->assignProperty(this, "opacity", 0); + + m_openingState->assignProperty(m_drawer, "offset", 0); + m_openingState->assignProperty(this, "opacity", 0.4); +} + +/*! + * \class QtMaterialDrawerWidget + * \internal + */ + +QtMaterialDrawerWidget::QtMaterialDrawerWidget(QWidget *parent) + : QtMaterialOverlayWidget(parent), + m_offset(0) +{ +} + +QtMaterialDrawerWidget::~QtMaterialDrawerWidget() +{ +} + +void QtMaterialDrawerWidget::setOffset(int offset) +{ + m_offset = offset; + + QWidget *widget = parentWidget(); + if (widget) { + setGeometry(widget->rect().translated(offset, 0)); + } + update(); +} + +void QtMaterialDrawerWidget::paintEvent(QPaintEvent *event) +{ + Q_UNUSED(event) + + QPainter painter(this); + + QBrush brush; + brush.setStyle(Qt::SolidPattern); + brush.setColor(Qt::white); + painter.setBrush(brush); + painter.setPen(Qt::NoPen); + + painter.drawRect(rect().adjusted(0, 0, -16, 0)); + + QLinearGradient gradient(QPointF(width()-16, 0), QPointF(width(), 0)); + gradient.setColorAt(0, QColor(0, 0, 0, 80)); + gradient.setColorAt(0.5, QColor(0, 0, 0, 20)); + gradient.setColorAt(1, QColor(0, 0, 0, 0)); + painter.setBrush(QBrush(gradient)); + + painter.drawRect(width()-16, 0, 16, height()); +} + +QRect QtMaterialDrawerWidget::overlayGeometry() const +{ + return QtMaterialOverlayWidget::overlayGeometry().translated(m_offset, 0); +} diff --git a/src/material-widgets/qtmaterialdrawer_internal.h b/src/material-widgets/qtmaterialdrawer_internal.h new file mode 100644 index 0000000..76d219d --- /dev/null +++ b/src/material-widgets/qtmaterialdrawer_internal.h @@ -0,0 +1,76 @@ +#ifndef DRAWER_INTERNAL_H +#define DRAWER_INTERNAL_H + +#include +#include "lib/qtmaterialoverlaywidget.h" + +class QtMaterialDrawer; +class QtMaterialDrawerWidget; + +class QtMaterialDrawerStateMachine : public QStateMachine +{ + Q_OBJECT + + Q_PROPERTY(qreal opacity WRITE setOpacity READ opacity) + +public: + explicit QtMaterialDrawerStateMachine(QtMaterialDrawerWidget *drawer, + QtMaterialDrawer *parent); + ~QtMaterialDrawerStateMachine(); + + void setOpacity(qreal opacity); + inline qreal opacity() const; + + bool isInClosedState() const; + + void updatePropertyAssignments(); + +signals: + void signalOpen(); + void signalClose(); + +private: + Q_DISABLE_COPY(QtMaterialDrawerStateMachine) + + QtMaterialDrawerWidget *const m_drawer; + QtMaterialDrawer *const m_main; + QState *const m_openingState; + QState *const m_openedState; + QState *const m_closingState; + QState *const m_closedState; + qreal m_opacity; +}; + +inline qreal QtMaterialDrawerStateMachine::opacity() const +{ + return m_opacity; +} + +class QtMaterialDrawerWidget : public QtMaterialOverlayWidget +{ + Q_OBJECT + + Q_PROPERTY(int offset WRITE setOffset READ offset) + +public: + explicit QtMaterialDrawerWidget(QWidget *parent = 0); + ~QtMaterialDrawerWidget(); + + void setOffset(int offset); + inline int offset() const; + +protected: + void paintEvent(QPaintEvent *event) Q_DECL_OVERRIDE; + + QRect overlayGeometry() const Q_DECL_OVERRIDE; + +private: + int m_offset; +}; + +inline int QtMaterialDrawerWidget::offset() const +{ + return m_offset; +} + +#endif // DRAWER_INTERNAL_H diff --git a/src/material-widgets/qtmaterialdrawer_p.h b/src/material-widgets/qtmaterialdrawer_p.h new file mode 100644 index 0000000..cdd064d --- /dev/null +++ b/src/material-widgets/qtmaterialdrawer_p.h @@ -0,0 +1,33 @@ +#ifndef DRAWER_P_H +#define DRAWER_P_H + +#include + +class QtMaterialDrawer; +class QtMaterialDrawerWidget; +class QtMaterialDrawerStateMachine; + +class QtMaterialDrawerPrivate +{ + Q_DISABLE_COPY(QtMaterialDrawerPrivate) + Q_DECLARE_PUBLIC(QtMaterialDrawer) + +public: + QtMaterialDrawerPrivate(QtMaterialDrawer *q); + ~QtMaterialDrawerPrivate(); + + void init(); + void setClosed(bool value = true); + + QtMaterialDrawer *const q_ptr; + QtMaterialDrawerWidget *widget; + QtMaterialDrawerStateMachine *stateMachine; + QWidget *window; + int width; + bool clickToClose; + bool autoRaise; + bool closed; + bool overlay; +}; + +#endif // DRAWER_P_H diff --git a/src/material-widgets/qtmaterialfab.cpp b/src/material-widgets/qtmaterialfab.cpp new file mode 100644 index 0000000..3c3de8a --- /dev/null +++ b/src/material-widgets/qtmaterialfab.cpp @@ -0,0 +1,321 @@ +#include "qtmaterialfab.h" +#include "qtmaterialfab_p.h" +#include +#include +#include +#include +#include "lib/qtmaterialrippleoverlay.h" + +/*! + * \class QtMaterialFloatingActionButtonPrivate + * \internal + */ + +/*! + * \internal + */ +QtMaterialFloatingActionButtonPrivate::QtMaterialFloatingActionButtonPrivate(QtMaterialFloatingActionButton *q) + : QtMaterialRaisedButtonPrivate(q) +{ +} + +/*! + * \internal + */ +QtMaterialFloatingActionButtonPrivate::~QtMaterialFloatingActionButtonPrivate() +{ +} + +/*! + * \internal + */ +void QtMaterialFloatingActionButtonPrivate::init() +{ + Q_Q(QtMaterialFloatingActionButton); + + corner = Qt::BottomRightCorner; + mini = false; + offsX = 34; + offsY = 36; + + q->setRole(Material::Primary); + q->setFixedSize(DefaultDiameter, DefaultDiameter); + q->setGeometry(fabGeometry()); + + setupProperties(); + + if (q->parentWidget()) { + q->parentWidget()->installEventFilter(q); + } + + q->setFixedRippleRadius(50); +} + +/*! + * \internal + */ +QRect QtMaterialFloatingActionButtonPrivate::fabGeometry() const +{ + Q_Q(const QtMaterialFloatingActionButton); + + QWidget *parent = q->parentWidget(); + if (!parent) { + return QRect(); + } + + const int s = mini ? MiniDiameter : DefaultDiameter; + + switch (corner) + { + case Qt::TopLeftCorner: + return QRect(offsX, offsY, s, s); + case Qt::TopRightCorner: + return QRect(parent->width()-(offsX+s), offsY, s, s); + case Qt::BottomLeftCorner: + return QRect(offsX, parent->height()-(offsY+s), s, s); + case Qt::BottomRightCorner: + default: + break; + } + return QRect(parent->width()-(offsX+s), parent->height()-(offsY+s), s, s); +} + +/*! + * \internal + */ +void QtMaterialFloatingActionButtonPrivate::setupProperties() +{ + if (mini) { + effect->setColor(QColor(0, 0, 0, 80)); + normalState->assignProperty(effect, "offset", QPointF(0, 3)); + normalState->assignProperty(effect, "blurRadius", 13); + pressedState->assignProperty(effect, "offset", QPointF(0, 7)); + pressedState->assignProperty(effect, "blurRadius", 20); + } else { + effect->setColor(QColor(0, 0, 0, 105)); + normalState->assignProperty(effect, "offset", QPointF(0, 6)); + normalState->assignProperty(effect, "blurRadius", 16); + pressedState->assignProperty(effect, "offset", QPointF(0, 11)); + pressedState->assignProperty(effect, "blurRadius", 28); + } +} + +/*! + * \class QtMaterialFloatingActionButton + */ + +QtMaterialFloatingActionButton::QtMaterialFloatingActionButton(const QIcon &icon, QWidget *parent) + : QtMaterialRaisedButton(*new QtMaterialFloatingActionButtonPrivate(this), parent) +{ + d_func()->init(); + + setIcon(icon); +} + +QtMaterialFloatingActionButton::~QtMaterialFloatingActionButton() +{ +} + +/*! + * \reimp + */ +QSize QtMaterialFloatingActionButton::sizeHint() const +{ + Q_D(const QtMaterialFloatingActionButton); + + if (d->mini) { + return QSize(QtMaterialFloatingActionButtonPrivate::MiniDiameter, + QtMaterialFloatingActionButtonPrivate::MiniDiameter); + } else { + return QSize(QtMaterialFloatingActionButtonPrivate::DefaultDiameter, + QtMaterialFloatingActionButtonPrivate::DefaultDiameter); + } +} + +void QtMaterialFloatingActionButton::setMini(bool state) +{ + Q_D(QtMaterialFloatingActionButton); + + if (d->mini == state) { + return; + } + + d->mini = state; + + setFixedSize(d->diameter(), d->diameter()); + setFixedRippleRadius(state ? 30 : 50); + + d->setupProperties(); + updateClipPath(); + setGeometry(d->fabGeometry()); + update(); +} + +bool QtMaterialFloatingActionButton::isMini() const +{ + Q_D(const QtMaterialFloatingActionButton); + + return d->mini; +} + +void QtMaterialFloatingActionButton::setCorner(Qt::Corner corner) +{ + Q_D(QtMaterialFloatingActionButton); + + if (d->corner == corner) { + return; + } + + d->corner = corner; + setGeometry(d->fabGeometry()); + update(); +} + +Qt::Corner QtMaterialFloatingActionButton::corner() const +{ + Q_D(const QtMaterialFloatingActionButton); + + return d->corner; +} + +void QtMaterialFloatingActionButton::setOffset(int x, int y) +{ + Q_D(QtMaterialFloatingActionButton); + + d->offsX = x; + d->offsY = y; + setGeometry(d->fabGeometry()); + update(); +} + +QSize QtMaterialFloatingActionButton::offset() const +{ + Q_D(const QtMaterialFloatingActionButton); + + return QSize(d->offsX, d->offsY); +} + +void QtMaterialFloatingActionButton::setXOffset(int x) +{ + Q_D(QtMaterialFloatingActionButton); + + d->offsX = x; + setGeometry(d->fabGeometry()); + update(); +} + +int QtMaterialFloatingActionButton::xOffset() const +{ + Q_D(const QtMaterialFloatingActionButton); + + return d->offsX; +} + +void QtMaterialFloatingActionButton::setYOffset(int y) +{ + Q_D(QtMaterialFloatingActionButton); + + d->offsY = y; + setGeometry(d->fabGeometry()); + update(); +} + +int QtMaterialFloatingActionButton::yOffset() const +{ + Q_D(const QtMaterialFloatingActionButton); + + return d->offsY; +} + +/*! + * \reimp + */ +bool QtMaterialFloatingActionButton::event(QEvent *event) +{ + Q_D(QtMaterialFloatingActionButton); + + if (!parent()) { + return QtMaterialRaisedButton::event(event); + } + switch (event->type()) + { + case QEvent::ParentChange: + { + parent()->installEventFilter(this); + setGeometry(d->fabGeometry()); + break; + } + case QEvent::ParentAboutToChange: + { + parent()->removeEventFilter(this); + break; + } + default: + break; + } + return QtMaterialRaisedButton::event(event); +} + +/*! + * \reimp + */ +bool QtMaterialFloatingActionButton::eventFilter(QObject *obj, QEvent *event) +{ + const QEvent::Type type = event->type(); + + if (QEvent::Move == type || QEvent::Resize == type) + { + Q_D(QtMaterialFloatingActionButton); + setGeometry(d->fabGeometry()); + } + + return QtMaterialRaisedButton::eventFilter(obj, event); +} + +/*! + * \reimp + */ +void QtMaterialFloatingActionButton::paintEvent(QPaintEvent *event) +{ + Q_UNUSED(event) + + Q_D(QtMaterialFloatingActionButton); + + QRect square = QRect(0, 0, d->diameter(), d->diameter()); + square.moveCenter(rect().center()); + + QPainter painter(this); + painter.setRenderHints(QPainter::Antialiasing); + + QBrush brush; + brush.setStyle(Qt::SolidPattern); + + if (isEnabled()) { + brush.setColor(backgroundColor()); + } else { + brush.setColor(disabledBackgroundColor()); + } + + painter.setBrush(brush); + painter.setPen(Qt::NoPen); + painter.drawEllipse(square); + + QRect iconGeometry(0, 0, d->iconSize(), d->iconSize()); + iconGeometry.moveCenter(square.center()); + + QPixmap pixmap = icon().pixmap(QSize(d->iconSize(), d->iconSize())); + QPainter icon(&pixmap); + icon.setCompositionMode(QPainter::CompositionMode_SourceIn); + icon.fillRect(pixmap.rect(), isEnabled() ? foregroundColor() + : disabledForegroundColor()); + painter.drawPixmap(iconGeometry, pixmap); +} + +void QtMaterialFloatingActionButton::updateClipPath() +{ + Q_D(QtMaterialFloatingActionButton); + + QPainterPath path; + path.addEllipse(0, 0, d->diameter(), d->diameter()); + d->rippleOverlay->setClipPath(path); +} diff --git a/src/material-widgets/qtmaterialfab.h b/src/material-widgets/qtmaterialfab.h new file mode 100644 index 0000000..78838b1 --- /dev/null +++ b/src/material-widgets/qtmaterialfab.h @@ -0,0 +1,46 @@ +#ifndef QTMATERIALFAB_H +#define QTMATERIALFAB_H + +#include "qtmaterialraisedbutton.h" + +class QtMaterialFloatingActionButtonPrivate; + +class QtMaterialFloatingActionButton : public QtMaterialRaisedButton +{ + Q_OBJECT + +public: + explicit QtMaterialFloatingActionButton(const QIcon &icon, QWidget *parent = 0); + ~QtMaterialFloatingActionButton(); + + QSize sizeHint() const Q_DECL_OVERRIDE; + + void setMini(bool state); + bool isMini() const; + + void setCorner(Qt::Corner corner); + Qt::Corner corner() const; + + void setOffset(int x, int y); + QSize offset() const; + + void setXOffset(int x); + int xOffset() const; + + void setYOffset(int y); + int yOffset() const; + +protected: + bool event(QEvent *event) Q_DECL_OVERRIDE; + bool eventFilter(QObject *obj, QEvent *event) Q_DECL_OVERRIDE; + void paintEvent(QPaintEvent *event) Q_DECL_OVERRIDE; + + void updateClipPath() Q_DECL_OVERRIDE; + +private: + Q_DISABLE_COPY(QtMaterialFloatingActionButton) + Q_DECLARE_PRIVATE(QtMaterialFloatingActionButton) + +}; + +#endif // QTMATERIALFAB_H diff --git a/src/material-widgets/qtmaterialfab_p.h b/src/material-widgets/qtmaterialfab_p.h new file mode 100644 index 0000000..fae2d3a --- /dev/null +++ b/src/material-widgets/qtmaterialfab_p.h @@ -0,0 +1,50 @@ +#ifndef QTMATERIALFAB_P_H +#define QTMATERIALFAB_P_H + +#include "qtmaterialraisedbutton_p.h" + +class QtMaterialFloatingActionButton; + +class QtMaterialFloatingActionButtonPrivate : public QtMaterialRaisedButtonPrivate +{ + Q_DISABLE_COPY(QtMaterialFloatingActionButtonPrivate) + Q_DECLARE_PUBLIC(QtMaterialFloatingActionButton) + +public: + enum { + DefaultDiameter = 56, + MiniDiameter = 40 + }; + + enum { + DefaultIconSize = 24, + MiniIconSize = 18 + }; + + QtMaterialFloatingActionButtonPrivate(QtMaterialFloatingActionButton *q); + ~QtMaterialFloatingActionButtonPrivate(); + + void init(); + QRect fabGeometry() const; + void setupProperties(); + + inline int diameter() const; + inline int iconSize() const; + + Qt::Corner corner; + bool mini; + int offsX; + int offsY; +}; + +inline int QtMaterialFloatingActionButtonPrivate::diameter() const +{ + return mini ? MiniDiameter : DefaultDiameter; +} + +inline int QtMaterialFloatingActionButtonPrivate::iconSize() const +{ + return mini ? MiniIconSize : DefaultIconSize; +} + +#endif // QTMATERIALFAB_P_H diff --git a/src/material-widgets/qtmaterialflatbutton.cpp b/src/material-widgets/qtmaterialflatbutton.cpp new file mode 100644 index 0000000..b9d84d7 --- /dev/null +++ b/src/material-widgets/qtmaterialflatbutton.cpp @@ -0,0 +1,741 @@ +#include "qtmaterialflatbutton.h" +#include "qtmaterialflatbutton_p.h" +#include +#include +#include +#include +#include +#include +#include "lib/qtmaterialrippleoverlay.h" +#include "lib/qtmaterialripple.h" +#include "lib/qtmaterialstyle.h" +#include "qtmaterialflatbutton_internal.h" + +/*! + * \class QtMaterialFlatButtonPrivate + * \internal + */ + +/*! + * \internal + */ +QtMaterialFlatButtonPrivate::QtMaterialFlatButtonPrivate(QtMaterialFlatButton *q) + : q_ptr(q) +{ +} + +/*! + * \internal + */ +QtMaterialFlatButtonPrivate::~QtMaterialFlatButtonPrivate() +{ +} + +/*! + * \internal + */ +void QtMaterialFlatButtonPrivate::init() +{ + Q_Q(QtMaterialFlatButton); + + rippleOverlay = new QtMaterialRippleOverlay(q); + stateMachine = new QtMaterialFlatButtonStateMachine(q); + role = Material::Default; + rippleStyle = Material::PositionedRipple; + iconPlacement = Material::LeftIcon; + overlayStyle = Material::GrayOverlay; + bgMode = Qt::TransparentMode; + textAlignment = Qt::AlignHCenter; + fixedRippleRadius = 64; + cornerRadius = 3; + baseOpacity = 0.13; + fontSize = 10; // 10.5; + useThemeColors = true; + useFixedRippleRadius = false; + haloVisible = true; + + q->setStyle(&QtMaterialStyle::instance()); + q->setAttribute(Qt::WA_Hover); + q->setMouseTracking(true); + + QFont font("Roboto", fontSize, QFont::Medium); + font.setCapitalization(QFont::AllUppercase); + q->setFont(font); + + QPainterPath path; + path.addRoundedRect(q->rect(), cornerRadius, cornerRadius); + rippleOverlay->setClipPath(path); + rippleOverlay->setClipping(true); + + stateMachine->setupProperties(); + stateMachine->startAnimations(); +} + +/*! + * \class QtMaterialFlatButton + */ + +QtMaterialFlatButton::QtMaterialFlatButton(QWidget *parent, Material::ButtonPreset preset) + : QPushButton(parent), + d_ptr(new QtMaterialFlatButtonPrivate(this)) +{ + d_func()->init(); + + applyPreset(preset); +} + +QtMaterialFlatButton::QtMaterialFlatButton(const QString &text, QWidget *parent, Material::ButtonPreset preset) + : QPushButton(text, parent), + d_ptr(new QtMaterialFlatButtonPrivate(this)) +{ + d_func()->init(); + + applyPreset(preset); +} + +QtMaterialFlatButton::QtMaterialFlatButton(const QString &text, Material::Role role, QWidget *parent, Material::ButtonPreset preset) + : QPushButton(text, parent), + d_ptr(new QtMaterialFlatButtonPrivate(this)) +{ + d_func()->init(); + + applyPreset(preset); + setRole(role); +} + +QtMaterialFlatButton::~QtMaterialFlatButton() +{ +} + +void QtMaterialFlatButton::applyPreset(Material::ButtonPreset preset) +{ + switch (preset) + { + case Material::FlatPreset: + setOverlayStyle(Material::NoOverlay); + break; + case Material::CheckablePreset: + setOverlayStyle(Material::NoOverlay); + setCheckable(true); + setHaloVisible(false); + break; + default: + break; + } +} + +void QtMaterialFlatButton::setUseThemeColors(bool value) +{ + Q_D(QtMaterialFlatButton); + + if (d->useThemeColors == value) { + return; + } + + d->useThemeColors = value; + d->stateMachine->setupProperties(); +} + +bool QtMaterialFlatButton::useThemeColors() const +{ + Q_D(const QtMaterialFlatButton); + + return d->useThemeColors; +} + +void QtMaterialFlatButton::setRole(Material::Role role) +{ + Q_D(QtMaterialFlatButton); + + d->role = role; + d->stateMachine->setupProperties(); +} + +Material::Role QtMaterialFlatButton::role() const +{ + Q_D(const QtMaterialFlatButton); + + return d->role; +} + +void QtMaterialFlatButton::setForegroundColor(const QColor &color) +{ + Q_D(QtMaterialFlatButton); + + d->foregroundColor = color; + + MATERIAL_DISABLE_THEME_COLORS + update(); +} + +QColor QtMaterialFlatButton::foregroundColor() const +{ + Q_D(const QtMaterialFlatButton); + + if (d->useThemeColors || !d->foregroundColor.isValid()) + { + if (Qt::OpaqueMode == d->bgMode) { + return QtMaterialStyle::instance().themeColor("canvas"); + } + switch (d->role) + { + case Material::Primary: + return QtMaterialStyle::instance().themeColor("primary1"); + case Material::Secondary: + return QtMaterialStyle::instance().themeColor("accent1"); + case Material::Default: + default: + return QtMaterialStyle::instance().themeColor("text"); + } + } + return d->foregroundColor; +} + +void QtMaterialFlatButton::setBackgroundColor(const QColor &color) +{ + Q_D(QtMaterialFlatButton); + + d->backgroundColor = color; + + MATERIAL_DISABLE_THEME_COLORS + update(); +} + +QColor QtMaterialFlatButton::backgroundColor() const +{ + Q_D(const QtMaterialFlatButton); + + if (d->useThemeColors || !d->backgroundColor.isValid()) + { + switch (d->role) + { + case Material::Primary: + return QtMaterialStyle::instance().themeColor("primary1"); + case Material::Secondary: + return QtMaterialStyle::instance().themeColor("accent1"); + case Material::Default: + default: + return QtMaterialStyle::instance().themeColor("text"); + } + } + return d->backgroundColor; +} + +void QtMaterialFlatButton::setOverlayColor(const QColor &color) +{ + Q_D(QtMaterialFlatButton); + + d->overlayColor = color; + + MATERIAL_DISABLE_THEME_COLORS + + setOverlayStyle(Material::TintedOverlay); + update(); +} + +QColor QtMaterialFlatButton::overlayColor() const +{ + Q_D(const QtMaterialFlatButton); + + if (d->useThemeColors || !d->overlayColor.isValid()) { + return foregroundColor(); + } + return d->overlayColor; +} + +void QtMaterialFlatButton::setDisabledForegroundColor(const QColor &color) +{ + Q_D(QtMaterialFlatButton); + + d->disabledColor = color; + + MATERIAL_DISABLE_THEME_COLORS + update(); +} + +QColor QtMaterialFlatButton::disabledForegroundColor() const +{ + Q_D(const QtMaterialFlatButton); + + if (d->useThemeColors || !d->disabledColor.isValid()) { + return QtMaterialStyle::instance().themeColor("disabled"); + } else { + return d->disabledColor; + } +} + +void QtMaterialFlatButton::setDisabledBackgroundColor(const QColor &color) +{ + Q_D(QtMaterialFlatButton); + + d->disabledBackgroundColor = color; + + MATERIAL_DISABLE_THEME_COLORS + update(); +} + +QColor QtMaterialFlatButton::disabledBackgroundColor() const +{ + Q_D(const QtMaterialFlatButton); + + if (d->useThemeColors || !d->disabledBackgroundColor.isValid()) { + return QtMaterialStyle::instance().themeColor("disabled3"); + } else { + return d->disabledBackgroundColor; + } +} + +void QtMaterialFlatButton::setFontSize(qreal size) +{ + Q_D(QtMaterialFlatButton); + + d->fontSize = size; + + QFont f(font()); + f.setPointSizeF(size); + setFont(f); + + update(); +} + +qreal QtMaterialFlatButton::fontSize() const +{ + Q_D(const QtMaterialFlatButton); + + return d->fontSize; +} + +void QtMaterialFlatButton::setHaloVisible(bool visible) +{ + Q_D(QtMaterialFlatButton); + + d->haloVisible = visible; + update(); +} + +bool QtMaterialFlatButton::isHaloVisible() const +{ + Q_D(const QtMaterialFlatButton); + + return d->haloVisible; +} + +void QtMaterialFlatButton::setOverlayStyle(Material::OverlayStyle style) +{ + Q_D(QtMaterialFlatButton); + + d->overlayStyle = style; + update(); +} + +Material::OverlayStyle QtMaterialFlatButton::overlayStyle() const +{ + Q_D(const QtMaterialFlatButton); + + return d->overlayStyle; +} + +void QtMaterialFlatButton::setRippleStyle(Material::RippleStyle style) +{ + Q_D(QtMaterialFlatButton); + + d->rippleStyle = style; +} + +Material::RippleStyle QtMaterialFlatButton::rippleStyle() const +{ + Q_D(const QtMaterialFlatButton); + + return d->rippleStyle; +} + +void QtMaterialFlatButton::setIconPlacement(Material::ButtonIconPlacement placement) +{ + Q_D(QtMaterialFlatButton); + + d->iconPlacement = placement; + update(); +} + +Material::ButtonIconPlacement QtMaterialFlatButton::iconPlacement() const +{ + Q_D(const QtMaterialFlatButton); + + return d->iconPlacement; +} + +void QtMaterialFlatButton::setCornerRadius(qreal radius) +{ + Q_D(QtMaterialFlatButton); + + d->cornerRadius = radius; + updateClipPath(); + update(); +} + +qreal QtMaterialFlatButton::cornerRadius() const +{ + Q_D(const QtMaterialFlatButton); + + return d->cornerRadius; +} + +void QtMaterialFlatButton::setBackgroundMode(Qt::BGMode mode) +{ + Q_D(QtMaterialFlatButton); + + d->bgMode = mode; + d->stateMachine->setupProperties(); +} + +Qt::BGMode QtMaterialFlatButton::backgroundMode() const +{ + Q_D(const QtMaterialFlatButton); + + return d->bgMode; +} + +void QtMaterialFlatButton::setBaseOpacity(qreal opacity) +{ + Q_D(QtMaterialFlatButton); + + d->baseOpacity = opacity; + d->stateMachine->setupProperties(); +} + +qreal QtMaterialFlatButton::baseOpacity() const +{ + Q_D(const QtMaterialFlatButton); + + return d->baseOpacity; +} + +void QtMaterialFlatButton::setCheckable(bool value) +{ + Q_D(QtMaterialFlatButton); + + d->stateMachine->updateCheckedStatus(); + + QPushButton::setCheckable(value); +} + +void QtMaterialFlatButton::setHasFixedRippleRadius(bool value) +{ + Q_D(QtMaterialFlatButton); + + d->useFixedRippleRadius = value; +} + +bool QtMaterialFlatButton::hasFixedRippleRadius() const +{ + Q_D(const QtMaterialFlatButton); + + return d->useFixedRippleRadius; +} + +void QtMaterialFlatButton::setFixedRippleRadius(qreal radius) +{ + Q_D(QtMaterialFlatButton); + + d->fixedRippleRadius = radius; + setHasFixedRippleRadius(true); +} + +void QtMaterialFlatButton::setTextAlignment(Qt::Alignment alignment) +{ + Q_D(QtMaterialFlatButton); + + d->textAlignment = alignment; +} + +Qt::Alignment QtMaterialFlatButton::textAlignment() const +{ + Q_D(const QtMaterialFlatButton); + + return d->textAlignment; +} + +/*! + * \reimp + */ +QSize QtMaterialFlatButton::sizeHint() const +{ + ensurePolished(); + + QSize label(fontMetrics().size(Qt::TextSingleLine, text())); + + int w = 20 + label.width(); + int h = label.height(); + if (!icon().isNull()) { + w += iconSize().width() + QtMaterialFlatButton::IconPadding; + h = qMax(h, iconSize().height()); + } + return QSize(w, 20 + h); +} + +QtMaterialFlatButton::QtMaterialFlatButton(QtMaterialFlatButtonPrivate &d,QWidget *parent, Material::ButtonPreset preset) + : QPushButton(parent), + d_ptr(&d) +{ + d_func()->init(); + + applyPreset(preset); +} + +/*! + * \reimp + */ +void QtMaterialFlatButton::checkStateSet() +{ + Q_D(QtMaterialFlatButton); + + d->stateMachine->updateCheckedStatus(); + + QPushButton::checkStateSet(); +} + +/*! + * \reimp + */ +void QtMaterialFlatButton::mousePressEvent(QMouseEvent *event) +{ + Q_D(QtMaterialFlatButton); + + if (Material::NoRipple != d->rippleStyle) + { + QPoint pos; + qreal radiusEndValue; + + if (Material::CenteredRipple == d->rippleStyle) { + pos = rect().center(); + } else { + pos = event->pos(); + } + + if (d->useFixedRippleRadius) { + radiusEndValue = d->fixedRippleRadius; + } else { + radiusEndValue = static_cast(width())/2; + } + + QtMaterialRipple *ripple = new QtMaterialRipple(pos); + + ripple->setRadiusEndValue(radiusEndValue); + ripple->setOpacityStartValue(0.35); + ripple->setColor(foregroundColor()); + ripple->radiusAnimation()->setDuration(600); + ripple->opacityAnimation()->setDuration(1300); + + d->rippleOverlay->addRipple(ripple); + } + + QPushButton::mousePressEvent(event); +} + +/*! + * \reimp + */ +void QtMaterialFlatButton::mouseReleaseEvent(QMouseEvent *event) +{ + Q_D(QtMaterialFlatButton); + + QPushButton::mouseReleaseEvent(event); + + d->stateMachine->updateCheckedStatus(); +} + +void QtMaterialFlatButton::resizeEvent(QResizeEvent *event) +{ + QPushButton::resizeEvent(event); + + updateClipPath(); +} + +/*! + * \reimp + */ +void QtMaterialFlatButton::paintEvent(QPaintEvent *event) +{ + Q_UNUSED(event) + + Q_D(QtMaterialFlatButton); + + QPainter painter(this); + painter.setRenderHint(QPainter::Antialiasing); + + const qreal cr = d->cornerRadius; + + if (cr > 0) + { + QPainterPath path; + path.addRoundedRect(rect(), cr, cr); + + painter.setClipPath(path); + painter.setClipping(true); + } + + paintBackground(&painter); + paintHalo(&painter); + + painter.setOpacity(1); + painter.setClipping(false); + + paintForeground(&painter); +} + +/*! + * \internal + */ +void QtMaterialFlatButton::paintBackground(QPainter *painter) +{ + Q_D(QtMaterialFlatButton); + + const qreal overlayOpacity = d->stateMachine->overlayOpacity(); + const qreal checkedProgress = d->stateMachine->checkedOverlayProgress(); + + if (Qt::OpaqueMode == d->bgMode) { + QBrush brush; + brush.setStyle(Qt::SolidPattern); + if (isEnabled()) { + brush.setColor(backgroundColor()); + } else { + brush.setColor(disabledBackgroundColor()); + } + painter->setOpacity(1); + painter->setBrush(brush); + painter->setPen(Qt::NoPen); + painter->drawRect(rect()); + } + + QBrush brush; + brush.setStyle(Qt::SolidPattern); + painter->setPen(Qt::NoPen); + + if (!isEnabled()) { + return; + } + + if ((Material::NoOverlay != d->overlayStyle) && (overlayOpacity > 0)) { + if (Material::TintedOverlay == d->overlayStyle) { + brush.setColor(overlayColor()); + } else { + brush.setColor(Qt::gray); + } + painter->setOpacity(overlayOpacity); + painter->setBrush(brush); + painter->drawRect(rect()); + } + + if (isCheckable() && checkedProgress > 0) { + const qreal q = Qt::TransparentMode == d->bgMode ? 0.45 : 0.7; + brush.setColor(foregroundColor()); + painter->setOpacity(q*checkedProgress); + painter->setBrush(brush); + QRect r(rect()); + r.setHeight(static_cast(r.height())*checkedProgress); + painter->drawRect(r); + } +} + +/*! + * \internal + */ +void QtMaterialFlatButton::paintHalo(QPainter *painter) +{ + Q_D(QtMaterialFlatButton); + + if (!d->haloVisible) { + return; + } + + const qreal opacity = d->stateMachine->haloOpacity(); + const qreal s = d->stateMachine->haloScaleFactor()*d->stateMachine->haloSize(); + const qreal radius = static_cast(width())*s; + + if (isEnabled() && opacity > 0) { + QBrush brush; + brush.setStyle(Qt::SolidPattern); + brush.setColor(foregroundColor()); + painter->setOpacity(opacity); + painter->setBrush(brush); + painter->setPen(Qt::NoPen); + const QPointF center = rect().center(); + painter->drawEllipse(center, radius, radius); + } +} + +#define COLOR_INTERPOLATE(CH) (1-progress)*source.CH() + progress*dest.CH() + +/*! + * \internal + */ +void QtMaterialFlatButton::paintForeground(QPainter *painter) +{ + Q_D(QtMaterialFlatButton); + + if (isEnabled()) { + painter->setPen(foregroundColor()); + const qreal progress = d->stateMachine->checkedOverlayProgress(); + if (isCheckable() && progress > 0) { + QColor source = foregroundColor(); + QColor dest = Qt::TransparentMode == d->bgMode ? Qt::white + : backgroundColor(); + if (qFuzzyCompare(1, progress)) { + painter->setPen(dest); + } else { + painter->setPen(QColor(COLOR_INTERPOLATE(red), + COLOR_INTERPOLATE(green), + COLOR_INTERPOLATE(blue), + COLOR_INTERPOLATE(alpha))); + } + } + } else { + painter->setPen(disabledForegroundColor()); + } + + if (icon().isNull()) { + if (Qt::AlignLeft == d->textAlignment) { + painter->drawText(rect().adjusted(12, 0, 0, 0), Qt::AlignLeft | Qt::AlignVCenter, text()); + } else { + painter->drawText(rect(), Qt::AlignCenter, text()); + } + return; + } + + QSize textSize(fontMetrics().size(Qt::TextSingleLine, text())); + QSize base(size()-textSize); + + const int iw = iconSize().width() + IconPadding; + QPoint pos(Qt::AlignLeft == d->textAlignment ? 12 : (base.width()-iw)/2, 0); + + QRect textGeometry(pos + QPoint(0, base.height()/2), textSize); + QRect iconGeometry(pos + QPoint(0, (height()-iconSize().height())/2), iconSize()); + + if (Material::LeftIcon == d->iconPlacement) { + textGeometry.translate(iw, 0); + } else { + iconGeometry.translate(textSize.width() + IconPadding, 0); + } + + painter->drawText(textGeometry, Qt::AlignCenter, text()); + + QPixmap pixmap = icon().pixmap(iconSize()); + QPainter icon(&pixmap); + icon.setCompositionMode(QPainter::CompositionMode_SourceIn); + icon.fillRect(pixmap.rect(), painter->pen().color()); + painter->drawPixmap(iconGeometry, pixmap); +} + +/*! + * \internal + */ +void QtMaterialFlatButton::updateClipPath() +{ + Q_D(QtMaterialFlatButton); + + const qreal radius = d->cornerRadius; + + QPainterPath path; + path.addRoundedRect(rect(), radius, radius); + d->rippleOverlay->setClipPath(path); +} diff --git a/src/material-widgets/qtmaterialflatbutton.h b/src/material-widgets/qtmaterialflatbutton.h new file mode 100644 index 0000000..a74ab6a --- /dev/null +++ b/src/material-widgets/qtmaterialflatbutton.h @@ -0,0 +1,112 @@ +#ifndef QTMATERIALFLATBUTTON_H +#define QTMATERIALFLATBUTTON_H + +#include +#include +#include "lib/qtmaterialtheme.h" + +class QtMaterialFlatButtonPrivate; + +class QtMaterialFlatButton : public QPushButton +{ + Q_OBJECT + + Q_PROPERTY(QColor foregroundColor WRITE setForegroundColor READ foregroundColor) + Q_PROPERTY(QColor backgroundColor WRITE setBackgroundColor READ backgroundColor) + Q_PROPERTY(QColor overlayColor WRITE setOverlayColor READ overlayColor) + Q_PROPERTY(QColor disabledForegroundColor WRITE setDisabledForegroundColor READ disabledForegroundColor) + Q_PROPERTY(QColor disabledBackgroundColor WRITE setDisabledBackgroundColor READ disabledBackgroundColor) + Q_PROPERTY(qreal fontSize WRITE setFontSize READ fontSize) + +public: + explicit QtMaterialFlatButton(QWidget *parent = 0, Material::ButtonPreset preset = Material::FlatPreset); + explicit QtMaterialFlatButton(const QString &text, QWidget *parent = 0, Material::ButtonPreset preset = Material::FlatPreset); + QtMaterialFlatButton(const QString &text, Material::Role role, QWidget *parent = 0, Material::ButtonPreset preset = Material::FlatPreset); + ~QtMaterialFlatButton(); + + void applyPreset(Material::ButtonPreset preset); + + void setUseThemeColors(bool value); + bool useThemeColors() const; + + void setRole(Material::Role role); + Material::Role role() const; + + void setForegroundColor(const QColor &color); + QColor foregroundColor() const; + + void setBackgroundColor(const QColor &color); + QColor backgroundColor() const; + + void setOverlayColor(const QColor &color); + QColor overlayColor() const; + + void setDisabledForegroundColor(const QColor &color); + QColor disabledForegroundColor() const; + + void setDisabledBackgroundColor(const QColor &color); + QColor disabledBackgroundColor() const; + + void setFontSize(qreal size); + qreal fontSize() const; + + void setHaloVisible(bool visible); + bool isHaloVisible() const; + + void setOverlayStyle(Material::OverlayStyle style); + Material::OverlayStyle overlayStyle() const; + + void setRippleStyle(Material::RippleStyle style); + Material::RippleStyle rippleStyle() const; + + void setIconPlacement(Material::ButtonIconPlacement placement); + Material::ButtonIconPlacement iconPlacement() const; + + void setCornerRadius(qreal radius); + qreal cornerRadius() const; + + void setBackgroundMode(Qt::BGMode mode); + Qt::BGMode backgroundMode() const; + + void setBaseOpacity(qreal opacity); + qreal baseOpacity() const; + + void setCheckable(bool value); + + void setHasFixedRippleRadius(bool value); + bool hasFixedRippleRadius() const; + + void setFixedRippleRadius(qreal radius); + + void setTextAlignment(Qt::Alignment alignment); + Qt::Alignment textAlignment() const; + + QSize sizeHint() const Q_DECL_OVERRIDE; + +protected: + enum { + IconPadding = 12 + }; + + QtMaterialFlatButton(QtMaterialFlatButtonPrivate &d, QWidget *parent = 0, Material::ButtonPreset preset = Material::FlatPreset); + + void checkStateSet() Q_DECL_OVERRIDE; + void mousePressEvent(QMouseEvent *event) Q_DECL_OVERRIDE; + void mouseReleaseEvent(QMouseEvent *event) Q_DECL_OVERRIDE; + void resizeEvent(QResizeEvent *event) Q_DECL_OVERRIDE; + void paintEvent(QPaintEvent *event) Q_DECL_OVERRIDE; + + virtual void paintBackground(QPainter *painter); + virtual void paintHalo(QPainter *painter); + virtual void paintForeground(QPainter *painter); + + virtual void updateClipPath(); + + const QScopedPointer d_ptr; + +private: + Q_DISABLE_COPY(QtMaterialFlatButton) + Q_DECLARE_PRIVATE(QtMaterialFlatButton) +}; + +#endif // QTMATERIALFLATBUTTON_H diff --git a/src/material-widgets/qtmaterialflatbutton_internal.cpp b/src/material-widgets/qtmaterialflatbutton_internal.cpp new file mode 100644 index 0000000..0709a45 --- /dev/null +++ b/src/material-widgets/qtmaterialflatbutton_internal.cpp @@ -0,0 +1,232 @@ +#include "qtmaterialflatbutton_internal.h" +#include +#include +#include +#include +#include "qtmaterialflatbutton.h" +#include "lib/qtmaterialstatetransition.h" + +/*! + * \class QtMaterialFlatButtonStateMachine + * \internal + */ + +QtMaterialFlatButtonStateMachine::QtMaterialFlatButtonStateMachine(QtMaterialFlatButton *parent) + : QStateMachine(parent), + m_button(parent), + m_topLevelState(new QState(QState::ParallelStates)), + m_configState(new QState(m_topLevelState)), + m_checkableState(new QState(m_topLevelState)), + m_checkedState(new QState(m_checkableState)), + m_uncheckedState(new QState(m_checkableState)), + m_neutralState(new QState(m_configState)), + m_neutralFocusedState(new QState(m_configState)), + m_hoveredState(new QState(m_configState)), + m_hoveredFocusedState(new QState(m_configState)), + m_pressedState(new QState(m_configState)), + m_haloAnimation(new QSequentialAnimationGroup(this)), + m_overlayOpacity(0), + m_checkedOverlayProgress(parent->isChecked() ? 1 : 0), + m_haloOpacity(0), + m_haloSize(0.8), + m_haloScaleFactor(1), + m_wasChecked(false) +{ + Q_ASSERT(parent); + + parent->installEventFilter(this); + + m_configState->setInitialState(m_neutralState); + addState(m_topLevelState); + setInitialState(m_topLevelState); + + m_checkableState->setInitialState(parent->isChecked() ? m_checkedState + : m_uncheckedState); + QtMaterialStateTransition *transition; + QPropertyAnimation *animation; + + transition = new QtMaterialStateTransition(FlatButtonCheckedTransition); + transition->setTargetState(m_checkedState); + m_uncheckedState->addTransition(transition); + + animation = new QPropertyAnimation(this, "checkedOverlayProgress", this); + animation->setDuration(200); + transition->addAnimation(animation); + + transition = new QtMaterialStateTransition(FlatButtonUncheckedTransition); + transition->setTargetState(m_uncheckedState); + m_checkedState->addTransition(transition); + + animation = new QPropertyAnimation(this, "checkedOverlayProgress", this); + animation->setDuration(200); + transition->addAnimation(animation); + + addTransition(m_button, QEvent::FocusIn, m_neutralState, m_neutralFocusedState); + addTransition(m_button, QEvent::FocusOut, m_neutralFocusedState, m_neutralState); + addTransition(m_button, QEvent::Enter, m_neutralState, m_hoveredState); + addTransition(m_button, QEvent::Leave, m_hoveredState, m_neutralState); + addTransition(m_button, QEvent::Enter, m_neutralFocusedState, m_hoveredFocusedState); + addTransition(m_button, QEvent::Leave, m_hoveredFocusedState, m_neutralFocusedState); + addTransition(m_button, QEvent::FocusIn, m_hoveredState, m_hoveredFocusedState); + addTransition(m_button, QEvent::FocusOut, m_hoveredFocusedState, m_hoveredState); + + transition = new QtMaterialStateTransition(FlatButtonPressedTransition); + transition->setTargetState(m_pressedState); + m_hoveredState->addTransition(transition); + + addTransition(m_button, QEvent::Leave, m_pressedState, m_neutralFocusedState); + addTransition(m_button, QEvent::FocusOut, m_pressedState, m_hoveredState); + + m_neutralState->assignProperty(this, "haloSize", 0); + m_neutralFocusedState->assignProperty(this, "haloSize", 0.7); + m_hoveredState->assignProperty(this, "haloSize", 0); + m_pressedState->assignProperty(this, "haloSize", 4); + m_hoveredFocusedState->assignProperty(this, "haloSize", 0.7); + + QPropertyAnimation *grow = new QPropertyAnimation(this); + QPropertyAnimation *shrink = new QPropertyAnimation(this); + + grow->setTargetObject(this); + grow->setPropertyName("haloScaleFactor"); + grow->setStartValue(0.56); + grow->setEndValue(0.63); + grow->setEasingCurve(QEasingCurve::InOutSine); + grow->setDuration(840); + + shrink->setTargetObject(this); + shrink->setPropertyName("haloScaleFactor"); + shrink->setStartValue(0.63); + shrink->setEndValue(0.56); + shrink->setEasingCurve(QEasingCurve::InOutSine); + shrink->setDuration(840); + + m_haloAnimation->addAnimation(grow); + m_haloAnimation->addAnimation(shrink); + m_haloAnimation->setLoopCount(-1); +} + +QtMaterialFlatButtonStateMachine::~QtMaterialFlatButtonStateMachine() +{ +} + +void QtMaterialFlatButtonStateMachine::setOverlayOpacity(qreal opacity) +{ + m_overlayOpacity = opacity; + m_button->update(); +} + +void QtMaterialFlatButtonStateMachine::setCheckedOverlayProgress(qreal progress) +{ + m_checkedOverlayProgress = progress; + m_button->update(); +} + +void QtMaterialFlatButtonStateMachine::setHaloOpacity(qreal opacity) +{ + m_haloOpacity = opacity; + m_button->update(); +} + +void QtMaterialFlatButtonStateMachine::setHaloSize(qreal size) +{ + m_haloSize = size; + m_button->update(); +} + +void QtMaterialFlatButtonStateMachine::setHaloScaleFactor(qreal factor) +{ + m_haloScaleFactor = factor; + m_button->update(); +} + +void QtMaterialFlatButtonStateMachine::startAnimations() +{ + m_haloAnimation->start(); + start(); +} + +void QtMaterialFlatButtonStateMachine::setupProperties() +{ + QColor overlayColor; + + if (Qt::TransparentMode == m_button->backgroundMode()) { + overlayColor = m_button->backgroundColor(); + } else { + overlayColor = m_button->foregroundColor(); + } + + const qreal baseOpacity = m_button->baseOpacity(); + + m_neutralState->assignProperty(this, "overlayOpacity", 0); + m_neutralState->assignProperty(this, "haloOpacity", 0); + m_neutralFocusedState->assignProperty(this, "overlayOpacity", 0); + m_neutralFocusedState->assignProperty(this, "haloOpacity", baseOpacity); + m_hoveredState->assignProperty(this, "overlayOpacity", baseOpacity); + m_hoveredState->assignProperty(this, "haloOpacity", 0); + m_hoveredFocusedState->assignProperty(this, "overlayOpacity", baseOpacity); + m_hoveredFocusedState->assignProperty(this, "haloOpacity", baseOpacity); + m_pressedState->assignProperty(this, "overlayOpacity", baseOpacity); + m_pressedState->assignProperty(this, "haloOpacity", 0); + m_checkedState->assignProperty(this, "checkedOverlayProgress", 1); + m_uncheckedState->assignProperty(this, "checkedOverlayProgress", 0); + + m_button->update(); +} + +void QtMaterialFlatButtonStateMachine::updateCheckedStatus() +{ + const bool checked = m_button->isChecked(); + if (m_wasChecked != checked) { + m_wasChecked = checked; + if (checked) { + postEvent(new QtMaterialStateTransitionEvent(FlatButtonCheckedTransition)); + } else { + postEvent(new QtMaterialStateTransitionEvent(FlatButtonUncheckedTransition)); + } + } +} + +bool QtMaterialFlatButtonStateMachine::eventFilter(QObject *watched, + QEvent *event) +{ + if (QEvent::FocusIn == event->type()) { + QFocusEvent *focusEvent = static_cast(event); + if (focusEvent && Qt::MouseFocusReason == focusEvent->reason()) { + postEvent(new QtMaterialStateTransitionEvent(FlatButtonPressedTransition)); + return true; + } + } + return QStateMachine::eventFilter(watched, event); +} + +void QtMaterialFlatButtonStateMachine::addTransition(QObject *object, + QEvent::Type eventType, + QState *fromState, + QState *toState) +{ + addTransition(new QEventTransition(object, eventType), fromState, toState); +} + +void QtMaterialFlatButtonStateMachine::addTransition(QAbstractTransition *transition, + QState *fromState, + QState *toState) +{ + transition->setTargetState(toState); + + QPropertyAnimation *animation; + + animation = new QPropertyAnimation(this, "overlayOpacity", this); + animation->setDuration(150); + transition->addAnimation(animation); + + animation = new QPropertyAnimation(this, "haloOpacity", this); + animation->setDuration(170); + transition->addAnimation(animation); + + animation = new QPropertyAnimation(this, "haloSize", this); + animation->setDuration(350); + animation->setEasingCurve(QEasingCurve::OutCubic); + transition->addAnimation(animation); + + fromState->addTransition(transition); +} diff --git a/src/material-widgets/qtmaterialflatbutton_internal.h b/src/material-widgets/qtmaterialflatbutton_internal.h new file mode 100644 index 0000000..ff93972 --- /dev/null +++ b/src/material-widgets/qtmaterialflatbutton_internal.h @@ -0,0 +1,103 @@ +#ifndef QTMATERIALFLATBUTTON_INTERNAL_H +#define QTMATERIALFLATBUTTON_INTERNAL_H + +#include +#include + +class QtMaterialFlatButton; +class QSequentialAnimationGroup; + +class QtMaterialFlatButtonStateMachine : public QStateMachine +{ + Q_OBJECT + + Q_PROPERTY(qreal overlayOpacity WRITE setOverlayOpacity READ overlayOpacity) + Q_PROPERTY(qreal checkedOverlayProgress WRITE setCheckedOverlayProgress READ checkedOverlayProgress) + Q_PROPERTY(qreal haloOpacity WRITE setHaloOpacity READ haloOpacity) + Q_PROPERTY(qreal haloSize WRITE setHaloSize READ haloSize) + Q_PROPERTY(qreal haloScaleFactor WRITE setHaloScaleFactor READ haloScaleFactor) + +public: + explicit QtMaterialFlatButtonStateMachine(QtMaterialFlatButton *parent); + ~QtMaterialFlatButtonStateMachine(); + + void setOverlayOpacity(qreal opacity); + inline qreal overlayOpacity() const; + + void setCheckedOverlayProgress(qreal progress); + inline qreal checkedOverlayProgress() const; + + void setHaloOpacity(qreal opacity); + inline qreal haloOpacity() const; + + void setHaloSize(qreal size); + inline qreal haloSize() const; + + void setHaloScaleFactor(qreal factor); + inline qreal haloScaleFactor() const; + + void startAnimations(); + void setupProperties(); + void updateCheckedStatus(); + +signals: + void buttonPressed(); + void buttonChecked(); + void buttonUnchecked(); + +protected: + bool eventFilter(QObject *watched, QEvent *event) Q_DECL_OVERRIDE; + +private: + Q_DISABLE_COPY(QtMaterialFlatButtonStateMachine) + + void addTransition(QObject *object, QEvent::Type eventType, QState *fromState, QState *toState); + void addTransition(QAbstractTransition *transition, QState *fromState, QState *toState); + + QtMaterialFlatButton *const m_button; + QState *const m_topLevelState; + QState *const m_configState; + QState *const m_checkableState; + QState *const m_checkedState; + QState *const m_uncheckedState; + QState *const m_neutralState; + QState *const m_neutralFocusedState; + QState *const m_hoveredState; + QState *const m_hoveredFocusedState; + QState *const m_pressedState; + QSequentialAnimationGroup + *const m_haloAnimation; + qreal m_overlayOpacity; + qreal m_checkedOverlayProgress; + qreal m_haloOpacity; + qreal m_haloSize; + qreal m_haloScaleFactor; + bool m_wasChecked; +}; + +inline qreal QtMaterialFlatButtonStateMachine::overlayOpacity() const +{ + return m_overlayOpacity; +} + +inline qreal QtMaterialFlatButtonStateMachine::checkedOverlayProgress() const +{ + return m_checkedOverlayProgress; +} + +inline qreal QtMaterialFlatButtonStateMachine::haloOpacity() const +{ + return m_haloOpacity; +} + +inline qreal QtMaterialFlatButtonStateMachine::haloSize() const +{ + return m_haloSize; +} + +inline qreal QtMaterialFlatButtonStateMachine::haloScaleFactor() const +{ + return m_haloScaleFactor; +} + +#endif // QTMATERIALFLATBUTTON_INTERNAL_H diff --git a/src/material-widgets/qtmaterialflatbutton_p.h b/src/material-widgets/qtmaterialflatbutton_p.h new file mode 100644 index 0000000..1ab3d22 --- /dev/null +++ b/src/material-widgets/qtmaterialflatbutton_p.h @@ -0,0 +1,46 @@ +#ifndef QTMATERIALFLATBUTTON_P_H +#define QTMATERIALFLATBUTTON_P_H + +#include +#include +#include "lib/qtmaterialtheme.h" + +class QtMaterialFlatButton; +class QtMaterialRippleOverlay; +class QtMaterialFlatButtonStateMachine; + +class QtMaterialFlatButtonPrivate +{ + Q_DISABLE_COPY(QtMaterialFlatButtonPrivate) + Q_DECLARE_PUBLIC(QtMaterialFlatButton) + +public: + QtMaterialFlatButtonPrivate(QtMaterialFlatButton *q); + virtual ~QtMaterialFlatButtonPrivate(); + + void init(); + + QtMaterialFlatButton *const q_ptr; + QtMaterialRippleOverlay *rippleOverlay; + QtMaterialFlatButtonStateMachine *stateMachine; + Material::Role role; + Material::RippleStyle rippleStyle; + Material::ButtonIconPlacement iconPlacement; + Material::OverlayStyle overlayStyle; + Qt::BGMode bgMode; + Qt::Alignment textAlignment; + QColor backgroundColor; + QColor foregroundColor; + QColor overlayColor; + QColor disabledColor; + QColor disabledBackgroundColor; + qreal fixedRippleRadius; + qreal cornerRadius; + qreal baseOpacity; + qreal fontSize; + bool useThemeColors; + bool useFixedRippleRadius; + bool haloVisible; +}; + +#endif // QTMATERIALFLATBUTTON_P_H diff --git a/src/material-widgets/qtmaterialiconbutton.cpp b/src/material-widgets/qtmaterialiconbutton.cpp new file mode 100644 index 0000000..525d6b2 --- /dev/null +++ b/src/material-widgets/qtmaterialiconbutton.cpp @@ -0,0 +1,212 @@ +#include "qtmaterialiconbutton.h" +#include "qtmaterialiconbutton_p.h" +#include +#include +#include "lib/qtmaterialstyle.h" +#include "lib/qtmaterialrippleoverlay.h" + +/*! + * \class QtMaterialIconButtonPrivate + * \internal + */ + +QtMaterialIconButtonPrivate::QtMaterialIconButtonPrivate(QtMaterialIconButton *q) + : q_ptr(q) +{ +} + +QtMaterialIconButtonPrivate::~QtMaterialIconButtonPrivate() +{ +} + +void QtMaterialIconButtonPrivate::init() +{ + Q_Q(QtMaterialIconButton); + + rippleOverlay = new QtMaterialRippleOverlay(q->parentWidget()); + useThemeColors = true; + + rippleOverlay->installEventFilter(q); + + q->setStyle(&QtMaterialStyle::instance()); + + QSizePolicy policy; + policy.setWidthForHeight(true); + q->setSizePolicy(policy); +} + +void QtMaterialIconButtonPrivate::updateRipple() +{ + Q_Q(QtMaterialIconButton); + + QRect r(q->rect()); + r.setSize(QSize(q->width()*2, q->height()*2)); + r.moveCenter(q->geometry().center()); + rippleOverlay->setGeometry(r); +} + +/*! + * \class QtMaterialIconButton + */ + +QtMaterialIconButton::QtMaterialIconButton(const QIcon &icon, QWidget *parent) + : QAbstractButton(parent), + d_ptr(new QtMaterialIconButtonPrivate(this)) +{ + d_func()->init(); + + setIcon(icon); +} + +QtMaterialIconButton::~QtMaterialIconButton() +{ +} + +/*! + * \reimp + */ +QSize QtMaterialIconButton::sizeHint() const +{ + return iconSize(); +} + +void QtMaterialIconButton::setUseThemeColors(bool value) +{ + Q_D(QtMaterialIconButton); + + if (d->useThemeColors == value) { + return; + } + + d->useThemeColors = value; + update(); +} + +bool QtMaterialIconButton::useThemeColors() const +{ + Q_D(const QtMaterialIconButton); + + return d->useThemeColors; +} + +void QtMaterialIconButton::setColor(const QColor &color) +{ + Q_D(QtMaterialIconButton); + + d->color = color; + + MATERIAL_DISABLE_THEME_COLORS + update(); +} + +QColor QtMaterialIconButton::color() const +{ + Q_D(const QtMaterialIconButton); + + if (d->useThemeColors || !d->color.isValid()) { + return QtMaterialStyle::instance().themeColor("text"); + } + return d->color; +} + +void QtMaterialIconButton::setDisabledColor(const QColor &color) +{ + Q_D(QtMaterialIconButton); + + d->disabledColor = color; + + MATERIAL_DISABLE_THEME_COLORS + update(); +} + +QColor QtMaterialIconButton::disabledColor() const +{ + Q_D(const QtMaterialIconButton); + + if (d->useThemeColors || !d->disabledColor.isValid()) { + return QtMaterialStyle::instance().themeColor("disabled"); + } + return d->disabledColor; +} + +QtMaterialIconButton::QtMaterialIconButton(QtMaterialIconButtonPrivate &d, QWidget *parent) + : QAbstractButton(parent), + d_ptr(&d) +{ + d_func()->init(); +} + +/*! + * \reimp + */ +bool QtMaterialIconButton::event(QEvent *event) +{ + Q_D(QtMaterialIconButton); + + switch (event->type()) + { + case QEvent::Move: + case QEvent::Resize: + d->updateRipple(); + break; + case QEvent::ParentChange: { + QWidget *widget; + if ((widget = parentWidget())) { + d->rippleOverlay->setParent(widget); + } + break; + } + default: + break; + } + return QAbstractButton::event(event); +} + +/*! + * \reimp + */ +bool QtMaterialIconButton::eventFilter(QObject *obj, QEvent *event) +{ + if (QEvent::Resize == event->type()) + { + Q_D(QtMaterialIconButton); + + d->updateRipple(); + } + return QAbstractButton::eventFilter(obj, event); +} + +/*! + * \reimp + */ +void QtMaterialIconButton::mousePressEvent(QMouseEvent *event) +{ + Q_D(QtMaterialIconButton); + + d->rippleOverlay->addRipple(QPoint(d->rippleOverlay->width(), + d->rippleOverlay->height())/2, + iconSize().width()); + emit clicked(); + + QAbstractButton::mousePressEvent(event); +} + +/*! + * \reimp + */ +void QtMaterialIconButton::paintEvent(QPaintEvent *event) +{ + Q_UNUSED(event) + + QPainter painter(this); + + QPixmap pixmap = icon().pixmap(iconSize()); + QPainter icon(&pixmap); + icon.setCompositionMode(QPainter::CompositionMode_SourceIn); + icon.fillRect(pixmap.rect(), isEnabled() ? color() : disabledColor()); + + QRect r(rect()); + const qreal w = pixmap.width(); + const qreal h = pixmap.height(); + painter.drawPixmap(QRect((r.width()-w)/2, (r.height()-h)/2, w, h), pixmap); +} diff --git a/src/material-widgets/qtmaterialiconbutton.h b/src/material-widgets/qtmaterialiconbutton.h new file mode 100644 index 0000000..5c2afc4 --- /dev/null +++ b/src/material-widgets/qtmaterialiconbutton.h @@ -0,0 +1,42 @@ +#ifndef QTMATERIALICONBUTTON_H +#define QTMATERIALICONBUTTON_H + +#include + +class QtMaterialIconButtonPrivate; + +class QtMaterialIconButton : public QAbstractButton +{ + Q_OBJECT + +public: + explicit QtMaterialIconButton(const QIcon &icon, QWidget *parent = 0); + ~QtMaterialIconButton(); + + QSize sizeHint() const Q_DECL_OVERRIDE; + + void setUseThemeColors(bool value); + bool useThemeColors() const; + + void setColor(const QColor &color); + QColor color() const; + + void setDisabledColor(const QColor &color); + QColor disabledColor() const; + +protected: + QtMaterialIconButton(QtMaterialIconButtonPrivate &d, QWidget *parent = 0); + + bool event(QEvent *event) Q_DECL_OVERRIDE; + bool eventFilter(QObject *obj, QEvent *event) Q_DECL_OVERRIDE; + void mousePressEvent(QMouseEvent *event) Q_DECL_OVERRIDE; + void paintEvent(QPaintEvent *event) Q_DECL_OVERRIDE; + + const QScopedPointer d_ptr; + +private: + Q_DISABLE_COPY(QtMaterialIconButton) + Q_DECLARE_PRIVATE(QtMaterialIconButton) +}; + +#endif // QTMATERIALICONBUTTON_H diff --git a/src/material-widgets/qtmaterialiconbutton_p.h b/src/material-widgets/qtmaterialiconbutton_p.h new file mode 100644 index 0000000..a532abc --- /dev/null +++ b/src/material-widgets/qtmaterialiconbutton_p.h @@ -0,0 +1,29 @@ +#ifndef QTMATERIALICONBUTTON_P_H +#define QTMATERIALICONBUTTON_P_H + +#include + +class QtMaterialIconButton; +class QtMaterialRippleOverlay; +class QColor; + +class QtMaterialIconButtonPrivate +{ + Q_DISABLE_COPY(QtMaterialIconButtonPrivate) + Q_DECLARE_PUBLIC(QtMaterialIconButton) + +public: + QtMaterialIconButtonPrivate(QtMaterialIconButton *q); + virtual ~QtMaterialIconButtonPrivate(); + + void init(); + void updateRipple(); + + QtMaterialIconButton *const q_ptr; + QtMaterialRippleOverlay *rippleOverlay; + QColor color; + QColor disabledColor; + bool useThemeColors; +}; + +#endif // QTMATERIALICONBUTTON_P_H diff --git a/src/material-widgets/qtmateriallist.cpp b/src/material-widgets/qtmateriallist.cpp new file mode 100644 index 0000000..e6b1aee --- /dev/null +++ b/src/material-widgets/qtmateriallist.cpp @@ -0,0 +1,2 @@ +#include "qtmateriallist.h" +#include "qtmateriallist_p.h" diff --git a/src/material-widgets/qtmateriallist.h b/src/material-widgets/qtmateriallist.h new file mode 100644 index 0000000..7ace66a --- /dev/null +++ b/src/material-widgets/qtmateriallist.h @@ -0,0 +1,4 @@ +#ifndef QTMATERIALLIST_H +#define QTMATERIALLIST_H + +#endif // QTMATERIALLIST_H diff --git a/src/material-widgets/qtmateriallist_p.h b/src/material-widgets/qtmateriallist_p.h new file mode 100644 index 0000000..c92b2d6 --- /dev/null +++ b/src/material-widgets/qtmateriallist_p.h @@ -0,0 +1,4 @@ +#ifndef QTMATERIALLIST_P_H +#define QTMATERIALLIST_P_H + +#endif // QTMATERIALLIST_P_H diff --git a/src/material-widgets/qtmateriallistitem.cpp b/src/material-widgets/qtmateriallistitem.cpp new file mode 100644 index 0000000..67a7cd8 --- /dev/null +++ b/src/material-widgets/qtmateriallistitem.cpp @@ -0,0 +1,2 @@ +#include "qtmateriallistitem.h" +#include "qtmateriallistitem_p.h" diff --git a/src/material-widgets/qtmateriallistitem.h b/src/material-widgets/qtmateriallistitem.h new file mode 100644 index 0000000..9abc65b --- /dev/null +++ b/src/material-widgets/qtmateriallistitem.h @@ -0,0 +1,4 @@ +#ifndef QTMATERIALLISTITEM_H +#define QTMATERIALLISTITEM_H + +#endif // QTMATERIALLISTITEM_H diff --git a/src/material-widgets/qtmateriallistitem_p.h b/src/material-widgets/qtmateriallistitem_p.h new file mode 100644 index 0000000..fb7ebd4 --- /dev/null +++ b/src/material-widgets/qtmateriallistitem_p.h @@ -0,0 +1,4 @@ +#ifndef QTMATERIALLISTITEM_P_H +#define QTMATERIALLISTITEM_P_H + +#endif // QTMATERIALLISTITEM_P_H diff --git a/src/material-widgets/qtmaterialmenu.cpp b/src/material-widgets/qtmaterialmenu.cpp new file mode 100644 index 0000000..5808a99 --- /dev/null +++ b/src/material-widgets/qtmaterialmenu.cpp @@ -0,0 +1,11 @@ +#include "qtmaterialmenu.h" +#include "qtmaterialmenu_p.h" + +QtMaterialMenu::QtMaterialMenu(QWidget *parent) + : QWidget(parent) +{ +} + +QtMaterialMenu::~QtMaterialMenu() +{ +} diff --git a/src/material-widgets/qtmaterialmenu.h b/src/material-widgets/qtmaterialmenu.h new file mode 100644 index 0000000..beb01b5 --- /dev/null +++ b/src/material-widgets/qtmaterialmenu.h @@ -0,0 +1,15 @@ +#ifndef QTMATERIALMENU_H +#define QTMATERIALMENU_H + +#include + +class QtMaterialMenu : public QWidget +{ + Q_OBJECT + +public: + explicit QtMaterialMenu(QWidget *parent = 0); + ~QtMaterialMenu(); +}; + +#endif // QTMATERIALMENU_H diff --git a/src/material-widgets/qtmaterialmenu_internal.cpp b/src/material-widgets/qtmaterialmenu_internal.cpp new file mode 100644 index 0000000..e69de29 diff --git a/src/material-widgets/qtmaterialmenu_internal.h b/src/material-widgets/qtmaterialmenu_internal.h new file mode 100644 index 0000000..fb79235 --- /dev/null +++ b/src/material-widgets/qtmaterialmenu_internal.h @@ -0,0 +1,4 @@ +#ifndef QTMATERIALMENU_INTERNAL_H +#define QTMATERIALMENU_INTERNAL_H + +#endif // QTMATERIALMENU_INTERNAL_H diff --git a/src/material-widgets/qtmaterialmenu_p.h b/src/material-widgets/qtmaterialmenu_p.h new file mode 100644 index 0000000..1328bdc --- /dev/null +++ b/src/material-widgets/qtmaterialmenu_p.h @@ -0,0 +1,4 @@ +#ifndef QTMATERIALMENU_P_H +#define QTMATERIALMENU_P_H + +#endif // QTMATERIALMENU_P_H diff --git a/src/material-widgets/qtmaterialpaper.cpp b/src/material-widgets/qtmaterialpaper.cpp new file mode 100644 index 0000000..ad7dfa0 --- /dev/null +++ b/src/material-widgets/qtmaterialpaper.cpp @@ -0,0 +1,2 @@ +#include "qtmaterialpaper.h" +#include "qtmaterialpaper_p.h" diff --git a/src/material-widgets/qtmaterialpaper.h b/src/material-widgets/qtmaterialpaper.h new file mode 100644 index 0000000..f305836 --- /dev/null +++ b/src/material-widgets/qtmaterialpaper.h @@ -0,0 +1,4 @@ +#ifndef QTMATERIALPAPER_H +#define QTMATERIALPAPER_H + +#endif // QTMATERIALPAPER_H diff --git a/src/material-widgets/qtmaterialpaper_p.h b/src/material-widgets/qtmaterialpaper_p.h new file mode 100644 index 0000000..65972a6 --- /dev/null +++ b/src/material-widgets/qtmaterialpaper_p.h @@ -0,0 +1,4 @@ +#ifndef QTMATERIALPAPER_P_H +#define QTMATERIALPAPER_P_H + +#endif // QTMATERIALPAPER_P_H diff --git a/src/material-widgets/qtmaterialprogress.cpp b/src/material-widgets/qtmaterialprogress.cpp new file mode 100644 index 0000000..da8c40c --- /dev/null +++ b/src/material-widgets/qtmaterialprogress.cpp @@ -0,0 +1,172 @@ +#include "qtmaterialprogress.h" +#include "qtmaterialprogress_p.h" +#include +#include +#include "qtmaterialprogress_internal.h" +#include "lib/qtmaterialstyle.h" + +/*! + * \class QtMaterialProgressPrivate + * \internal + */ + +QtMaterialProgressPrivate::QtMaterialProgressPrivate(QtMaterialProgress *q) + : q_ptr(q) +{ +} + +QtMaterialProgressPrivate::~QtMaterialProgressPrivate() +{ +} + +void QtMaterialProgressPrivate::init() +{ + Q_Q(QtMaterialProgress); + + delegate = new QtMaterialProgressDelegate(q); + progressType = Material::IndeterminateProgress; + useThemeColors = true; + + QPropertyAnimation *animation; + + animation = new QPropertyAnimation(q); + animation->setPropertyName("offset"); + animation->setTargetObject(delegate); + animation->setStartValue(0); + animation->setEndValue(1); + animation->setDuration(1000); + + animation->setLoopCount(-1); + + animation->start(); +} + +/*! + * \class QtMaterialProgress + */ + +QtMaterialProgress::QtMaterialProgress(QWidget *parent) + : QProgressBar(parent), + d_ptr(new QtMaterialProgressPrivate(this)) +{ + d_func()->init(); +} + +QtMaterialProgress::~QtMaterialProgress() +{ +} + +void QtMaterialProgress::setProgressType(Material::ProgressType type) +{ + Q_D(QtMaterialProgress); + + d->progressType = type; + update(); +} + +Material::ProgressType QtMaterialProgress::progressType() const +{ + Q_D(const QtMaterialProgress); + + return d->progressType; +} + +void QtMaterialProgress::setUseThemeColors(bool state) +{ + Q_D(QtMaterialProgress); + + if (d->useThemeColors == state) { + return; + } + + d->useThemeColors = state; + update(); +} + +bool QtMaterialProgress::useThemeColors() const +{ + Q_D(const QtMaterialProgress); + + return d->useThemeColors; +} + +void QtMaterialProgress::setProgressColor(const QColor &color) +{ + Q_D(QtMaterialProgress); + + d->progressColor = color; + + MATERIAL_DISABLE_THEME_COLORS + update(); +} + +QColor QtMaterialProgress::progressColor() const +{ + Q_D(const QtMaterialProgress); + + if (d->useThemeColors || !d->progressColor.isValid()) { + return QtMaterialStyle::instance().themeColor("primary1"); + } else { + return d->progressColor; + } +} + +void QtMaterialProgress::setBackgroundColor(const QColor &color) +{ + Q_D(QtMaterialProgress); + + d->backgroundColor = color; + + MATERIAL_DISABLE_THEME_COLORS + update(); +} + +QColor QtMaterialProgress::backgroundColor() const +{ + Q_D(const QtMaterialProgress); + + if (d->useThemeColors || !d->backgroundColor.isValid()) { + return QtMaterialStyle::instance().themeColor("border"); + } else { + return d->backgroundColor; + } +} + +/*! + * \reimp + */ +void QtMaterialProgress::paintEvent(QPaintEvent *event) +{ + Q_UNUSED(event) + + Q_D(QtMaterialProgress); + + QPainter painter(this); + painter.setRenderHint(QPainter::Antialiasing); + + QBrush brush; + brush.setStyle(Qt::SolidPattern); + brush.setColor(isEnabled() ? backgroundColor() + : QtMaterialStyle::instance().themeColor("disabled")); + painter.setBrush(brush); + painter.setPen(Qt::NoPen); + + QPainterPath path; + path.addRoundedRect(0, height()/2-3, width(), 6, 3, 3); + painter.setClipPath(path); + + painter.drawRect(0, 0, width(), height()); + + if (isEnabled()) + { + brush.setColor(progressColor()); + painter.setBrush(brush); + + if (Material::IndeterminateProgress == d->progressType) { + painter.drawRect(d->delegate->offset()*width()*2-width(), 0, width(), height()); + } else { + qreal p = static_cast(width())*(value()-minimum())/(maximum()-minimum()); + painter.drawRect(0, 0, p, height()); + } + } +} diff --git a/src/material-widgets/qtmaterialprogress.h b/src/material-widgets/qtmaterialprogress.h new file mode 100644 index 0000000..0e69b1d --- /dev/null +++ b/src/material-widgets/qtmaterialprogress.h @@ -0,0 +1,42 @@ +#ifndef QTMATERIALPROGRESS_H +#define QTMATERIALPROGRESS_H + +#include +#include "lib/qtmaterialtheme.h" + +class QtMaterialProgressPrivate; + +class QtMaterialProgress : public QProgressBar +{ + Q_OBJECT + + Q_PROPERTY(QColor progressColor WRITE setProgressColor READ progressColor) + Q_PROPERTY(QColor backgroundColor WRITE setProgressColor READ backgroundColor) + +public: + explicit QtMaterialProgress(QWidget *parent = 0); + ~QtMaterialProgress(); + + void setProgressType(Material::ProgressType type); + Material::ProgressType progressType() const; + + void setUseThemeColors(bool state); + bool useThemeColors() const; + + void setProgressColor(const QColor &color); + QColor progressColor() const; + + void setBackgroundColor(const QColor &color); + QColor backgroundColor() const; + +protected: + void paintEvent(QPaintEvent *event) Q_DECL_OVERRIDE; + + const QScopedPointer d_ptr; + +private: + Q_DISABLE_COPY(QtMaterialProgress) + Q_DECLARE_PRIVATE(QtMaterialProgress) +}; + +#endif // QTMATERIALPROGRESS_H diff --git a/src/material-widgets/qtmaterialprogress_internal.cpp b/src/material-widgets/qtmaterialprogress_internal.cpp new file mode 100644 index 0000000..0544bae --- /dev/null +++ b/src/material-widgets/qtmaterialprogress_internal.cpp @@ -0,0 +1,18 @@ +#include "qtmaterialprogress_internal.h" + +/*! + * \class QtMaterialProgressDelegate + * \internal + */ + +QtMaterialProgressDelegate::QtMaterialProgressDelegate(QtMaterialProgress *parent) + : QObject(parent), + m_progress(parent), + m_offset(0) +{ + Q_ASSERT(parent); +} + +QtMaterialProgressDelegate::~QtMaterialProgressDelegate() +{ +} diff --git a/src/material-widgets/qtmaterialprogress_internal.h b/src/material-widgets/qtmaterialprogress_internal.h new file mode 100644 index 0000000..811e3d6 --- /dev/null +++ b/src/material-widgets/qtmaterialprogress_internal.h @@ -0,0 +1,38 @@ +#ifndef QTMATERIALPROGRESS_INTERNAL_H +#define QTMATERIALPROGRESS_INTERNAL_H + +#include +#include "qtmaterialprogress.h" + +class QtMaterialProgressDelegate : public QObject +{ + Q_OBJECT + + Q_PROPERTY(qreal offset WRITE setOffset READ offset) + +public: + QtMaterialProgressDelegate(QtMaterialProgress *parent); + ~QtMaterialProgressDelegate(); + + inline void setOffset(qreal offset); + inline qreal offset() const; + +private: + Q_DISABLE_COPY(QtMaterialProgressDelegate) + + QtMaterialProgress *const m_progress; + qreal m_offset; +}; + +inline void QtMaterialProgressDelegate::setOffset(qreal offset) +{ + m_offset = offset; + m_progress->update(); +} + +inline qreal QtMaterialProgressDelegate::offset() const +{ + return m_offset; +} + +#endif // QTMATERIALPROGRESS_INTERNAL_H diff --git a/src/material-widgets/qtmaterialprogress_p.h b/src/material-widgets/qtmaterialprogress_p.h new file mode 100644 index 0000000..b55fb02 --- /dev/null +++ b/src/material-widgets/qtmaterialprogress_p.h @@ -0,0 +1,30 @@ +#ifndef QTMATERIALPROGRESS_P_H +#define QTMATERIALPROGRESS_P_H + +#include +#include +#include "lib/qtmaterialtheme.h" + +class QtMaterialProgress; +class QtMaterialProgressDelegate; + +class QtMaterialProgressPrivate +{ + Q_DISABLE_COPY(QtMaterialProgressPrivate) + Q_DECLARE_PUBLIC(QtMaterialProgress) + +public: + QtMaterialProgressPrivate(QtMaterialProgress *q); + ~QtMaterialProgressPrivate(); + + void init(); + + QtMaterialProgress *const q_ptr; + QtMaterialProgressDelegate *delegate; + Material::ProgressType progressType; + QColor progressColor; + QColor backgroundColor; + bool useThemeColors; +}; + +#endif // QTMATERIALPROGRESS_P_H diff --git a/src/material-widgets/qtmaterialradiobutton.cpp b/src/material-widgets/qtmaterialradiobutton.cpp new file mode 100644 index 0000000..86427c7 --- /dev/null +++ b/src/material-widgets/qtmaterialradiobutton.cpp @@ -0,0 +1,100 @@ +#include "qtmaterialradiobutton.h" +#include "qtmaterialradiobutton_p.h" +#include +#include +#include +#include +#include "lib/qtmaterialcheckable_internal.h" + +/*! + * \class QtMaterialRadioButtonPrivate + * \internal + */ + +QtMaterialRadioButtonPrivate::QtMaterialRadioButtonPrivate(QtMaterialRadioButton *q) + : QtMaterialCheckablePrivate(q) +{ +} + +QtMaterialRadioButtonPrivate::~QtMaterialRadioButtonPrivate() +{ +} + +void QtMaterialRadioButtonPrivate::init() +{ + Q_Q(QtMaterialRadioButton); + + q->setAutoExclusive(true); + + q->setCheckedIcon(QIcon(":/icons/icons/toggle/svg/production/ic_radio_button_checked_24px.svg")); + q->setUncheckedIcon(QIcon(":/icons/icons/toggle/svg/production/ic_radio_button_unchecked_24px.svg")); + + uncheckedState->assignProperty(checkedIcon, "iconSize", 0); + uncheckedState->assignProperty(uncheckedIcon, "iconSize", 24); + + disabledUncheckedState->assignProperty(checkedIcon, "iconSize", 0); + disabledUncheckedState->assignProperty(uncheckedIcon, "iconSize", 24); + + checkedState->assignProperty(uncheckedIcon, "iconSize", 0); + checkedState->assignProperty(checkedIcon, "iconSize", 24); + + disabledCheckedState->assignProperty(uncheckedIcon, "iconSize", 0); + disabledCheckedState->assignProperty(checkedIcon, "iconSize", 24); + + uncheckedState->assignProperty(checkedIcon, "opacity", 0); + uncheckedState->assignProperty(uncheckedIcon, "opacity", 1); + + checkedState->assignProperty(uncheckedIcon, "opacity", 0); + checkedState->assignProperty(checkedIcon, "opacity", 1); + + checkedIcon->setIconSize(0); + + // + + checkedState->assignProperty(checkedIcon, "color", q->checkedColor()); + checkedState->assignProperty(uncheckedIcon, "color", q->uncheckedColor()); + uncheckedState->assignProperty(uncheckedIcon, "color", q->uncheckedColor()); + + QPropertyAnimation *animation; + + animation = new QPropertyAnimation(checkedIcon, "iconSize", q); + animation->setDuration(250); + stateMachine->addDefaultAnimation(animation); + + animation = new QPropertyAnimation(uncheckedIcon, "iconSize", q); + animation->setDuration(250); + stateMachine->addDefaultAnimation(animation); + + animation = new QPropertyAnimation(uncheckedIcon, "opacity", q); + animation->setDuration(250); + stateMachine->addDefaultAnimation(animation); + + animation = new QPropertyAnimation(checkedIcon, "opacity", q); + animation->setDuration(250); + stateMachine->addDefaultAnimation(animation); +} + +/*! + * \class QtMaterialRadioButton + */ + +QtMaterialRadioButton::QtMaterialRadioButton(QWidget *parent) + : QtMaterialCheckable(*new QtMaterialRadioButtonPrivate(this), parent) +{ + d_func()->init(); +} + +QtMaterialRadioButton::~QtMaterialRadioButton() +{ +} + +void QtMaterialRadioButton::setupProperties() +{ + QtMaterialCheckable::setupProperties(); + + Q_D(QtMaterialRadioButton); + + d->checkedState->assignProperty(d->checkedIcon, "color", checkedColor()); + d->checkedState->assignProperty(d->uncheckedIcon, "color", uncheckedColor()); + d->uncheckedState->assignProperty(d->uncheckedIcon, "color", uncheckedColor()); +} diff --git a/src/material-widgets/qtmaterialradiobutton.h b/src/material-widgets/qtmaterialradiobutton.h new file mode 100644 index 0000000..adc535c --- /dev/null +++ b/src/material-widgets/qtmaterialradiobutton.h @@ -0,0 +1,24 @@ +#ifndef QTMATERIALRADIOBUTTON_H +#define QTMATERIALRADIOBUTTON_H + +#include "lib/qtmaterialcheckable.h" + +class QtMaterialRadioButtonPrivate; + +class QtMaterialRadioButton : public QtMaterialCheckable +{ + Q_OBJECT + +public: + explicit QtMaterialRadioButton(QWidget *parent = 0); + ~QtMaterialRadioButton(); + +protected: + void setupProperties(); + +private: + Q_DISABLE_COPY(QtMaterialRadioButton) + Q_DECLARE_PRIVATE(QtMaterialRadioButton) +}; + +#endif // QTMATERIALRADIOBUTTON_H diff --git a/src/material-widgets/qtmaterialradiobutton_p.h b/src/material-widgets/qtmaterialradiobutton_p.h new file mode 100644 index 0000000..6bb954a --- /dev/null +++ b/src/material-widgets/qtmaterialradiobutton_p.h @@ -0,0 +1,20 @@ +#ifndef QTMATERIALRADIOBUTTON_P_H +#define QTMATERIALRADIOBUTTON_P_H + +#include "lib/qtmaterialcheckable_p.h" + +class QtMaterialRadioButton; + +class QtMaterialRadioButtonPrivate : public QtMaterialCheckablePrivate +{ + Q_DISABLE_COPY(QtMaterialRadioButtonPrivate) + Q_DECLARE_PUBLIC(QtMaterialRadioButton) + +public: + QtMaterialRadioButtonPrivate(QtMaterialRadioButton *q); + ~QtMaterialRadioButtonPrivate(); + + void init(); +}; + +#endif // QTMATERIALRADIOBUTTON_P_H diff --git a/src/material-widgets/qtmaterialraisedbutton.cpp b/src/material-widgets/qtmaterialraisedbutton.cpp new file mode 100644 index 0000000..1607c70 --- /dev/null +++ b/src/material-widgets/qtmaterialraisedbutton.cpp @@ -0,0 +1,128 @@ +#include "qtmaterialraisedbutton.h" +#include "qtmaterialraisedbutton_p.h" +#include +#include +#include +#include + +/*! + * \class QtMaterialRaisedButtonPrivate + * \internal + */ + +/*! + * \internal + */ +QtMaterialRaisedButtonPrivate::QtMaterialRaisedButtonPrivate(QtMaterialRaisedButton *q) + : QtMaterialFlatButtonPrivate(q) +{ +} + +/*! + * \internal + */ +QtMaterialRaisedButtonPrivate::~QtMaterialRaisedButtonPrivate() +{ +} + +/*! + * \internal + */ +void QtMaterialRaisedButtonPrivate::init() +{ + Q_Q(QtMaterialRaisedButton); + + shadowStateMachine = new QStateMachine(q); + normalState = new QState; + pressedState = new QState; + effect = new QGraphicsDropShadowEffect; + + effect->setBlurRadius(7); + effect->setOffset(QPointF(0, 2)); + effect->setColor(QColor(0, 0, 0, 75)); + + q->setBackgroundMode(Qt::OpaqueMode); + q->setMinimumHeight(42); + q->setGraphicsEffect(effect); + q->setBaseOpacity(0.3); + + shadowStateMachine->addState(normalState); + shadowStateMachine->addState(pressedState); + + normalState->assignProperty(effect, "offset", QPointF(0, 2)); + normalState->assignProperty(effect, "blurRadius", 7); + + pressedState->assignProperty(effect, "offset", QPointF(0, 5)); + pressedState->assignProperty(effect, "blurRadius", 29); + + QAbstractTransition *transition; + + transition = new QEventTransition(q, QEvent::MouseButtonPress); + transition->setTargetState(pressedState); + normalState->addTransition(transition); + + transition = new QEventTransition(q, QEvent::MouseButtonDblClick); + transition->setTargetState(pressedState); + normalState->addTransition(transition); + + transition = new QEventTransition(q, QEvent::MouseButtonRelease); + transition->setTargetState(normalState); + pressedState->addTransition(transition); + + QPropertyAnimation *animation; + + animation = new QPropertyAnimation(effect, "offset", q); + animation->setDuration(100); + shadowStateMachine->addDefaultAnimation(animation); + + animation = new QPropertyAnimation(effect, "blurRadius", q); + animation->setDuration(100); + shadowStateMachine->addDefaultAnimation(animation); + + shadowStateMachine->setInitialState(normalState); + shadowStateMachine->start(); +} + +/*! + * \class QtMaterialRaisedButton + */ + +QtMaterialRaisedButton::QtMaterialRaisedButton(QWidget *parent) + : QtMaterialFlatButton(*new QtMaterialRaisedButtonPrivate(this), parent) +{ + d_func()->init(); +} + +QtMaterialRaisedButton::QtMaterialRaisedButton(const QString &text, QWidget *parent) + : QtMaterialFlatButton(*new QtMaterialRaisedButtonPrivate(this), parent) +{ + d_func()->init(); + + setText(text); +} + +QtMaterialRaisedButton::~QtMaterialRaisedButton() +{ +} + +QtMaterialRaisedButton::QtMaterialRaisedButton(QtMaterialRaisedButtonPrivate &d, QWidget *parent) + : QtMaterialFlatButton(d, parent) +{ + d_func()->init(); +} + +bool QtMaterialRaisedButton::event(QEvent *event) +{ + Q_D(QtMaterialRaisedButton); + + if (QEvent::EnabledChange == event->type()) { + if (isEnabled()) { + d->shadowStateMachine->start(); + d->effect->setEnabled(true); + } else { + d->shadowStateMachine->stop(); + d->effect->setEnabled(false); + } + } + return QtMaterialFlatButton::event(event); +} diff --git a/src/material-widgets/qtmaterialraisedbutton.h b/src/material-widgets/qtmaterialraisedbutton.h new file mode 100644 index 0000000..d8b4ef9 --- /dev/null +++ b/src/material-widgets/qtmaterialraisedbutton.h @@ -0,0 +1,27 @@ +#ifndef QTMATERIALRAISEDBUTTON_H +#define QTMATERIALRAISEDBUTTON_H + +#include "qtmaterialflatbutton.h" + +class QtMaterialRaisedButtonPrivate; + +class QtMaterialRaisedButton : public QtMaterialFlatButton +{ + Q_OBJECT + +public: + explicit QtMaterialRaisedButton(QWidget *parent = 0); + explicit QtMaterialRaisedButton(const QString &text, QWidget *parent = 0); + ~QtMaterialRaisedButton(); + +protected: + QtMaterialRaisedButton(QtMaterialRaisedButtonPrivate &d, QWidget *parent = 0); + + bool event(QEvent *event) Q_DECL_OVERRIDE; + +private: + Q_DISABLE_COPY(QtMaterialRaisedButton) + Q_DECLARE_PRIVATE(QtMaterialRaisedButton) +}; + +#endif // QTMATERIALRAISEDBUTTON_H diff --git a/src/material-widgets/qtmaterialraisedbutton_p.h b/src/material-widgets/qtmaterialraisedbutton_p.h new file mode 100644 index 0000000..12df43c --- /dev/null +++ b/src/material-widgets/qtmaterialraisedbutton_p.h @@ -0,0 +1,28 @@ +#ifndef QTMATERIALRAISEDBUTTON_P_H +#define QTMATERIALRAISEDBUTTON_P_H + +#include "qtmaterialflatbutton_p.h" + +class QStateMachine; +class QState; +class QGraphicsDropShadowEffect; +class QtMaterialRaisedButton; + +class QtMaterialRaisedButtonPrivate : public QtMaterialFlatButtonPrivate +{ + Q_DISABLE_COPY(QtMaterialRaisedButtonPrivate) + Q_DECLARE_PUBLIC(QtMaterialRaisedButton) + +public: + QtMaterialRaisedButtonPrivate(QtMaterialRaisedButton *q); + ~QtMaterialRaisedButtonPrivate(); + + void init(); + + QStateMachine *shadowStateMachine; + QState *normalState; + QState *pressedState; + QGraphicsDropShadowEffect *effect; +}; + +#endif // QTMATERIALRAISEDBUTTON_P_H diff --git a/src/material-widgets/qtmaterialscrollbar.cpp b/src/material-widgets/qtmaterialscrollbar.cpp new file mode 100644 index 0000000..46386b2 --- /dev/null +++ b/src/material-widgets/qtmaterialscrollbar.cpp @@ -0,0 +1,211 @@ +#include "qtmaterialscrollbar.h" +#include "qtmaterialscrollbar_p.h" +#include +#include +#include "qtmaterialscrollbar_internal.h" +#include "lib/qtmaterialstyle.h" + +/*! + * \class QtMaterialScrollBarPrivate + * \internal + */ + +QtMaterialScrollBarPrivate::QtMaterialScrollBarPrivate(QtMaterialScrollBar *q) + : q_ptr(q) +{ +} + +QtMaterialScrollBarPrivate::~QtMaterialScrollBarPrivate() +{ +} + +void QtMaterialScrollBarPrivate::init() +{ + Q_Q(QtMaterialScrollBar); + + stateMachine = new QtMaterialScrollBarStateMachine(q); + hideOnMouseOut = true; + useThemeColors = true; + + q->setMouseTracking(true); + q->setStyle(&QtMaterialStyle::instance()); + q->setStyleSheet("QScrollBar:vertical { margin: 0; }" + "QScrollBar::add-line:vertical { height: 0; margin: 0; }" + "QScrollBar::sub-line:vertical { height: 0; margin: 0; }"); + + stateMachine->start(); +} + +/*! + * \class QtMaterialScrollBar + */ + +QtMaterialScrollBar::QtMaterialScrollBar(QWidget *parent) + : QScrollBar(parent), + d_ptr(new QtMaterialScrollBarPrivate(this)) +{ + d_func()->init(); +} + +QtMaterialScrollBar::~QtMaterialScrollBar() +{ +} + +/*! + * \reimp + */ +QSize QtMaterialScrollBar::sizeHint() const +{ + if (Qt::Horizontal == orientation()) { + return QSize(1, 10); + } else { + return QSize(10, 1); + } +} + +void QtMaterialScrollBar::setUseThemeColors(bool value) +{ + Q_D(QtMaterialScrollBar); + + if (d->useThemeColors == value) { + return; + } + + d->useThemeColors = value; + update(); +} + +bool QtMaterialScrollBar::useThemeColors() const +{ + Q_D(const QtMaterialScrollBar); + + return d->useThemeColors; +} + +void QtMaterialScrollBar::setCanvasColor(const QColor &color) +{ + Q_D(QtMaterialScrollBar); + + d->canvasColor = color; + + MATERIAL_DISABLE_THEME_COLORS + update(); +} + +QColor QtMaterialScrollBar::canvasColor() const +{ + Q_D(const QtMaterialScrollBar); + + if (d->useThemeColors || !d->canvasColor.isValid()) { + return parentWidget()->palette().color(backgroundRole()); + } else { + return d->canvasColor; + } +} + +void QtMaterialScrollBar::setBackgroundColor(const QColor &color) +{ + Q_D(QtMaterialScrollBar); + + d->backgroundColor = color; + + MATERIAL_DISABLE_THEME_COLORS + update(); +} + +QColor QtMaterialScrollBar::backgroundColor() const +{ + Q_D(const QtMaterialScrollBar); + + if (d->useThemeColors || !d->backgroundColor.isValid()) { + return QtMaterialStyle::instance().themeColor("border"); + } else { + return d->backgroundColor; + } +} + +void QtMaterialScrollBar::setSliderColor(const QColor &color) +{ + Q_D(QtMaterialScrollBar); + + d->sliderColor = color; + + MATERIAL_DISABLE_THEME_COLORS + update(); +} + +QColor QtMaterialScrollBar::sliderColor() const +{ + Q_D(const QtMaterialScrollBar); + + if (d->useThemeColors || !d->sliderColor.isValid()) { + return QtMaterialStyle::instance().themeColor("primary1"); + } else { + return d->sliderColor; + } +} + +void QtMaterialScrollBar::setHideOnMouseOut(bool value) +{ + Q_D(QtMaterialScrollBar); + + d->hideOnMouseOut = value; + update(); +} + +bool QtMaterialScrollBar::hideOnMouseOut() const +{ + Q_D(const QtMaterialScrollBar); + + return d->hideOnMouseOut; +} + +/*! + * \reimp + */ +void QtMaterialScrollBar::paintEvent(QPaintEvent *event) +{ + Q_UNUSED(event) + + Q_D(QtMaterialScrollBar); + + QPainter painter(this); + painter.setRenderHint(QPainter::Antialiasing); + + painter.fillRect(rect(), canvasColor()); + + int x, y, w, h; + rect().getRect(&x, &y, &w, &h); + + QMargins margins(2, 2, 2, 2); + + QBrush brush; + brush.setStyle(Qt::SolidPattern); + brush.setColor(backgroundColor()); + painter.setBrush(brush); + painter.setPen(Qt::NoPen); + + if (d->hideOnMouseOut) { + painter.setOpacity(d->stateMachine->opacity()); + } + + QRect trimmed(rect().marginsRemoved(margins)); + + QPainterPath path; + path.addRoundedRect(trimmed, 3, 3); + painter.setClipPath(path); + + painter.drawRect(trimmed); + + const qreal q = (Qt::Horizontal == orientation() ? w : h) / + static_cast(maximum()-minimum()+pageStep()-1); + + QRect handle = Qt::Horizontal == orientation() + ? QRect(sliderPosition()*q, y, pageStep()*q, h) + : QRect(x, sliderPosition()*q, w, pageStep()*q); + + brush.setColor(sliderColor()); + painter.setBrush(brush); + + painter.drawRoundedRect(handle, 9, 9); +} diff --git a/src/material-widgets/qtmaterialscrollbar.h b/src/material-widgets/qtmaterialscrollbar.h new file mode 100644 index 0000000..591c9f1 --- /dev/null +++ b/src/material-widgets/qtmaterialscrollbar.h @@ -0,0 +1,47 @@ +#ifndef QTMATERIALSCROLLBAR_H +#define QTMATERIALSCROLLBAR_H + +#include + +class QtMaterialScrollBarPrivate; + +class QtMaterialScrollBar : public QScrollBar +{ + Q_OBJECT + + Q_PROPERTY(QColor canvasColor WRITE setCanvasColor READ canvasColor) + Q_PROPERTY(QColor backgroundColor WRITE setBackgroundColor READ backgroundColor) + Q_PROPERTY(QColor sliderColor WRITE setSliderColor READ sliderColor) + +public: + explicit QtMaterialScrollBar(QWidget *parent = 0); + ~QtMaterialScrollBar(); + + QSize sizeHint() const Q_DECL_OVERRIDE; + + void setUseThemeColors(bool value); + bool useThemeColors() const; + + void setCanvasColor(const QColor &color); + QColor canvasColor() const; + + void setBackgroundColor(const QColor &color); + QColor backgroundColor() const; + + void setSliderColor(const QColor &color); + QColor sliderColor() const; + + void setHideOnMouseOut(bool value); + bool hideOnMouseOut() const; + +protected: + void paintEvent(QPaintEvent *event) Q_DECL_OVERRIDE; + + const QScopedPointer d_ptr; + +private: + Q_DISABLE_COPY(QtMaterialScrollBar) + Q_DECLARE_PRIVATE(QtMaterialScrollBar) +}; + +#endif // QTMATERIALSCROLLBAR_H diff --git a/src/material-widgets/qtmaterialscrollbar_internal.cpp b/src/material-widgets/qtmaterialscrollbar_internal.cpp new file mode 100644 index 0000000..248d91a --- /dev/null +++ b/src/material-widgets/qtmaterialscrollbar_internal.cpp @@ -0,0 +1,51 @@ +#include "qtmaterialscrollbar_internal.h" +#include +#include + +/*! + * \class QtMaterialScrollBarStateMachine + * \internal + */ + +/*! + * \internal + */ +QtMaterialScrollBarStateMachine::QtMaterialScrollBarStateMachine(QtMaterialScrollBar *parent) + : QStateMachine(parent), + m_scrollBar(parent), + m_focusState(new QState), + m_blurState(new QState), + m_opacity(0) +{ + Q_ASSERT(parent); + + addState(m_focusState); + addState(m_blurState); + setInitialState(m_blurState); + + QEventTransition *transition; + + transition = new QEventTransition(parent, QEvent::Enter); + transition->setTargetState(m_focusState); + m_blurState->addTransition(transition); + + transition = new QEventTransition(parent, QEvent::Leave); + transition->setTargetState(m_blurState); + m_focusState->addTransition(transition); + + m_focusState->assignProperty(this, "opacity", 1); + m_blurState->assignProperty(this, "opacity", 0); + + QPropertyAnimation *animation; + + animation = new QPropertyAnimation(this, "opacity", this); + animation->setDuration(340); + addDefaultAnimation(animation); +} + +/*! + * \internal + */ +QtMaterialScrollBarStateMachine::~QtMaterialScrollBarStateMachine() +{ +} diff --git a/src/material-widgets/qtmaterialscrollbar_internal.h b/src/material-widgets/qtmaterialscrollbar_internal.h new file mode 100644 index 0000000..7b1cc92 --- /dev/null +++ b/src/material-widgets/qtmaterialscrollbar_internal.h @@ -0,0 +1,40 @@ +#ifndef QTMATERIALSCROLLBAR_INTERNAL_H +#define QTMATERIALSCROLLBAR_INTERNAL_H + +#include +#include "qtmaterialscrollbar.h" + +class QtMaterialScrollBarStateMachine : public QStateMachine +{ + Q_OBJECT + + Q_PROPERTY(qreal opacity WRITE setOpacity READ opacity) + +public: + QtMaterialScrollBarStateMachine(QtMaterialScrollBar *parent); + ~QtMaterialScrollBarStateMachine(); + + inline void setOpacity(qreal opacity); + inline qreal opacity() const; + +private: + Q_DISABLE_COPY(QtMaterialScrollBarStateMachine) + + QtMaterialScrollBar *const m_scrollBar; + QState *const m_focusState; + QState *const m_blurState; + qreal m_opacity; +}; + +inline void QtMaterialScrollBarStateMachine::setOpacity(qreal opacity) +{ + m_opacity = opacity; + m_scrollBar->update(); +} + +inline qreal QtMaterialScrollBarStateMachine::opacity() const +{ + return m_opacity; +} + +#endif // QTMATERIALSCROLLBAR_INTERNAL_H diff --git a/src/material-widgets/qtmaterialscrollbar_p.h b/src/material-widgets/qtmaterialscrollbar_p.h new file mode 100644 index 0000000..1d22cc0 --- /dev/null +++ b/src/material-widgets/qtmaterialscrollbar_p.h @@ -0,0 +1,30 @@ +#ifndef QTMATERIALSCROLLBAR_P_H +#define QTMATERIALSCROLLBAR_P_H + +#include +#include + +class QtMaterialScrollBar; +class QtMaterialScrollBarStateMachine; + +class QtMaterialScrollBarPrivate +{ + Q_DISABLE_COPY(QtMaterialScrollBarPrivate) + Q_DECLARE_PUBLIC(QtMaterialScrollBar) + +public: + QtMaterialScrollBarPrivate(QtMaterialScrollBar *q); + ~QtMaterialScrollBarPrivate(); + + void init(); + + QtMaterialScrollBar *const q_ptr; + QtMaterialScrollBarStateMachine *stateMachine; + QColor backgroundColor; + QColor sliderColor; + QColor canvasColor; + bool hideOnMouseOut; + bool useThemeColors; +}; + +#endif // QTMATERIALSCROLLBAR_P_H diff --git a/src/material-widgets/qtmaterialslider.cpp b/src/material-widgets/qtmaterialslider.cpp new file mode 100644 index 0000000..a0d17dc --- /dev/null +++ b/src/material-widgets/qtmaterialslider.cpp @@ -0,0 +1,407 @@ +#include "qtmaterialslider.h" +#include "qtmaterialslider_p.h" +#include +#include +#include "qtmaterialslider_internal.h" +#include "lib/qtmaterialstyle.h" +#include "lib/qtmaterialstatetransitionevent.h" + +/*! + * \class QtMaterialSliderPrivate + * \internal + */ + +QtMaterialSliderPrivate::QtMaterialSliderPrivate(QtMaterialSlider *q) + : q_ptr(q) +{ +} + +QtMaterialSliderPrivate::~QtMaterialSliderPrivate() +{ +} + +void QtMaterialSliderPrivate::init() +{ + Q_Q(QtMaterialSlider); + + thumb = new QtMaterialSliderThumb(q); + track = new QtMaterialSliderTrack(thumb, q); + stateMachine = new QtMaterialSliderStateMachine(q, thumb, track); + stepTo = 0; + oldValue = q->value(); + trackWidth = 2; + hoverTrack = false; + hoverThumb = false; + hover = false; + step = false; + pageStepMode = true; + useThemeColors = true; + + q->setMouseTracking(true); + q->setFocusPolicy(Qt::StrongFocus); + q->setPageStep(1); + + QSizePolicy sp(QSizePolicy::Expanding, + QSizePolicy::Fixed); + + if (q->orientation() == Qt::Vertical) { + sp.transpose(); + } + + q->setSizePolicy(sp); + q->setAttribute(Qt::WA_WState_OwnSizePolicy, false); + + stateMachine->start(); + QCoreApplication::processEvents(); +} + +QRectF QtMaterialSliderPrivate::trackBoundingRect() const +{ + Q_Q(const QtMaterialSlider); + + qreal hw = static_cast(trackWidth)/2; + + return Qt::Horizontal == q->orientation() + ? QRectF(QT_MATERIAL_SLIDER_MARGIN, q->height()/2 - hw, + q->width() - QT_MATERIAL_SLIDER_MARGIN*2, hw*2) + : QRectF(q->width()/2 - hw, QT_MATERIAL_SLIDER_MARGIN, hw*2, + q->height() - QT_MATERIAL_SLIDER_MARGIN*2); +} + +QRectF QtMaterialSliderPrivate::thumbBoundingRect() const +{ + Q_Q(const QtMaterialSlider); + + return Qt::Horizontal == q->orientation() + ? QRectF(thumb->offset(), q->height()/2 - QT_MATERIAL_SLIDER_MARGIN, + QT_MATERIAL_SLIDER_MARGIN*2, QT_MATERIAL_SLIDER_MARGIN*2) + : QRectF(q->width()/2 - QT_MATERIAL_SLIDER_MARGIN, thumb->offset(), + QT_MATERIAL_SLIDER_MARGIN*2, QT_MATERIAL_SLIDER_MARGIN*2); +} + +int QtMaterialSliderPrivate::valueFromPosition(const QPoint &pos) const +{ + Q_Q(const QtMaterialSlider); + + const int position = Qt::Horizontal == q->orientation() ? pos.x() : pos.y(); + + const int span = Qt::Horizontal == q->orientation() + ? q->width() - QT_MATERIAL_SLIDER_MARGIN*2 + : q->height() - QT_MATERIAL_SLIDER_MARGIN*2; + + return QtMaterialStyle::sliderValueFromPosition( + q->minimum(), + q->maximum(), + position - QT_MATERIAL_SLIDER_MARGIN, + span, + q->invertedAppearance()); +} + +void QtMaterialSliderPrivate::setHovered(bool status) +{ + Q_Q(QtMaterialSlider); + + if (hover == status) { + return; + } + + hover = status; + + if (!q->hasFocus()) { + if (status) { + stateMachine->postEvent(new QtMaterialStateTransitionEvent(SliderNoFocusMouseEnter)); + } else { + stateMachine->postEvent(new QtMaterialStateTransitionEvent(SliderNoFocusMouseLeave)); + } + } + + q->update(); +} + +/*! + * \class QtMaterialSlider + */ + +QtMaterialSlider::QtMaterialSlider(QWidget *parent) + : QAbstractSlider(parent), + d_ptr(new QtMaterialSliderPrivate(this)) +{ + d_func()->init(); +} + +QtMaterialSlider::~QtMaterialSlider() +{ +} + +void QtMaterialSlider::setUseThemeColors(bool value) +{ + Q_D(QtMaterialSlider); + + if (d->useThemeColors == value) { + return; + } + + d->useThemeColors = value; + d->stateMachine->setupProperties(); +} + +bool QtMaterialSlider::useThemeColors() const +{ + Q_D(const QtMaterialSlider); + + return d->useThemeColors; +} + +void QtMaterialSlider::setThumbColor(const QColor &color) +{ + Q_D(QtMaterialSlider); + + d->thumbColor = color; + + MATERIAL_DISABLE_THEME_COLORS + d->stateMachine->setupProperties(); + update(); +} + +QColor QtMaterialSlider::thumbColor() const +{ + Q_D(const QtMaterialSlider); + + if (d->useThemeColors || !d->thumbColor.isValid()) { + return QtMaterialStyle::instance().themeColor("primary1"); + } else { + return d->thumbColor; + } +} + +void QtMaterialSlider::setTrackColor(const QColor &color) +{ + Q_D(QtMaterialSlider); + + d->trackColor = color; + + MATERIAL_DISABLE_THEME_COLORS + d->stateMachine->setupProperties(); + update(); +} + +QColor QtMaterialSlider::trackColor() const +{ + Q_D(const QtMaterialSlider); + + if (d->useThemeColors || !d->trackColor.isValid()) { + return QtMaterialStyle::instance().themeColor("accent3"); + } else { + return d->trackColor; + } +} + +void QtMaterialSlider::setDisabledColor(const QColor &color) +{ + Q_D(QtMaterialSlider); + + d->disabledColor = color; + + MATERIAL_DISABLE_THEME_COLORS + d->stateMachine->setupProperties(); + update(); +} + +QColor QtMaterialSlider::disabledColor() const +{ + Q_D(const QtMaterialSlider); + + if (d->useThemeColors || !d->disabledColor.isValid()) { + return QtMaterialStyle::instance().themeColor("disabled"); + } else { + return d->disabledColor; + } +} + +void QtMaterialSlider::setPageStepMode(bool pageStep) +{ + Q_D(QtMaterialSlider); + + d->pageStepMode = pageStep; +} + +bool QtMaterialSlider::pageStepMode() const +{ + Q_D(const QtMaterialSlider); + + return d->pageStepMode; +} + +/*! + * \remip + */ +QSize QtMaterialSlider::minimumSizeHint() const +{ + return Qt::Horizontal == orientation() + ? QSize(130, 34) + : QSize(34, 130); +} + +void QtMaterialSlider::setInvertedAppearance(bool value) +{ + QAbstractSlider::setInvertedAppearance(value); + + updateThumbOffset(); +} + +/*! + * \remip + */ +void QtMaterialSlider::sliderChange(SliderChange change) +{ + Q_D(QtMaterialSlider); + + if (SliderOrientationChange == change) + { + QSizePolicy sp(QSizePolicy::Expanding, QSizePolicy::Fixed); + if (orientation() == Qt::Vertical) { + sp.transpose(); + } + setSizePolicy(sp); + } + else if (SliderValueChange == change) + { + if (minimum() == value()) { + triggerAction(SliderToMinimum); + d->stateMachine->postEvent(new QtMaterialStateTransitionEvent(SliderChangedToMinimum)); + } else if (maximum() == value()) { + triggerAction(SliderToMaximum); + } + if (minimum() == d->oldValue) { + d->stateMachine->postEvent(new QtMaterialStateTransitionEvent(SliderChangedFromMinimum)); + } + d->oldValue = value(); + } + + updateThumbOffset(); + + QAbstractSlider::sliderChange(change); +} + +/*! + * \remip + */ +void QtMaterialSlider::mouseMoveEvent(QMouseEvent *event) +{ + Q_D(QtMaterialSlider); + + if (isSliderDown()) + { + setSliderPosition(d->valueFromPosition(event->pos())); + } + else + { + QRectF track(d->trackBoundingRect().adjusted(-2, -2, 2, 2)); + + if (track.contains(event->pos()) != d->hoverTrack) { + d->hoverTrack = !d->hoverTrack; + update(); + } + + QRectF thumb(0, 0, 16, 16); + thumb.moveCenter(d->thumbBoundingRect().center()); + + if (thumb.contains(event->pos()) != d->hoverThumb) { + d->hoverThumb = !d->hoverThumb; + update(); + } + + d->setHovered(d->hoverTrack || d->hoverThumb); + } + + QAbstractSlider::mouseMoveEvent(event); +} + +/*! + * \remip + */ +void QtMaterialSlider::mousePressEvent(QMouseEvent *event) +{ + Q_D(QtMaterialSlider); + + const QPoint pos = event->pos(); + + QRectF thumb(0, 0, 16, 16); + thumb.moveCenter(d->thumbBoundingRect().center()); + + if (thumb.contains(pos)) { + setSliderDown(true); + return; + } + + if (!d->pageStepMode) { + setSliderPosition(d->valueFromPosition(event->pos())); + d->thumb->setHaloSize(0); + setSliderDown(true); + return; + } + + d->step = true; + d->stepTo = d->valueFromPosition(pos); + + SliderAction action = d->stepTo > sliderPosition() + ? SliderPageStepAdd + : SliderPageStepSub; + + triggerAction(action); + setRepeatAction(action, 400, 8); +} + +/*! + * \remip + */ +void QtMaterialSlider::mouseReleaseEvent(QMouseEvent *event) +{ + Q_D(QtMaterialSlider); + + if (isSliderDown()) { + setSliderDown(false); + } else if (d->step) { + d->step = false; + setRepeatAction(SliderNoAction, 0); + } + + QAbstractSlider::mouseReleaseEvent(event); +} + +/*! + * \remip + */ +void QtMaterialSlider::leaveEvent(QEvent *event) +{ + Q_D(QtMaterialSlider); + + if (d->hoverTrack) { + d->hoverTrack = false; + update(); + } + if (d->hoverThumb) { + d->hoverThumb = false; + update(); + } + + d->setHovered(false); + + QAbstractSlider::leaveEvent(event); +} + +void QtMaterialSlider::updateThumbOffset() +{ + Q_D(QtMaterialSlider); + + const int offset = QtMaterialStyle::sliderPositionFromValue( + minimum(), + maximum(), + sliderPosition(), + Qt::Horizontal == orientation() + ? width() - QT_MATERIAL_SLIDER_MARGIN*2 + : height() - QT_MATERIAL_SLIDER_MARGIN*2, + invertedAppearance()); + + d->thumb->setOffset(offset); +} diff --git a/src/material-widgets/qtmaterialslider.h b/src/material-widgets/qtmaterialslider.h new file mode 100644 index 0000000..f8e642d --- /dev/null +++ b/src/material-widgets/qtmaterialslider.h @@ -0,0 +1,58 @@ +#ifndef QTMATERIALSLIDER_H +#define QTMATERIALSLIDER_H + +#include +#include + +#define QT_MATERIAL_SLIDER_MARGIN 30 + +class QtMaterialSliderPrivate; + +class QtMaterialSlider : public QAbstractSlider +{ + Q_OBJECT + + Q_PROPERTY(QColor thumbColor WRITE setThumbColor READ thumbColor) + Q_PROPERTY(QColor trackColor WRITE setTrackColor READ trackColor) + Q_PROPERTY(QColor disabledColor WRITE setDisabledColor READ disabledColor) + +public: + explicit QtMaterialSlider(QWidget *parent = 0); + ~QtMaterialSlider(); + + void setUseThemeColors(bool value); + bool useThemeColors() const; + + void setThumbColor(const QColor &color); + QColor thumbColor() const; + + void setTrackColor(const QColor &color); + QColor trackColor() const; + + void setDisabledColor(const QColor &color); + QColor disabledColor() const; + + void setPageStepMode(bool pageStep); + bool pageStepMode() const; + + QSize minimumSizeHint() const Q_DECL_OVERRIDE; + + void setInvertedAppearance(bool value); + +protected: + void sliderChange(SliderChange change) Q_DECL_OVERRIDE; + void mouseMoveEvent(QMouseEvent *event) Q_DECL_OVERRIDE; + void mousePressEvent(QMouseEvent *event) Q_DECL_OVERRIDE; + void mouseReleaseEvent(QMouseEvent *event) Q_DECL_OVERRIDE; + void leaveEvent(QEvent *event) Q_DECL_OVERRIDE; + + void updateThumbOffset(); + + const QScopedPointer d_ptr; + +private: + Q_DISABLE_COPY(QtMaterialSlider) + Q_DECLARE_PRIVATE(QtMaterialSlider) +}; + +#endif // QTMATERIALSLIDER_H diff --git a/src/material-widgets/qtmaterialslider_internal.cpp b/src/material-widgets/qtmaterialslider_internal.cpp new file mode 100644 index 0000000..fd2d50b --- /dev/null +++ b/src/material-widgets/qtmaterialslider_internal.cpp @@ -0,0 +1,408 @@ +#include "qtmaterialslider_internal.h" +#include +#include +#include +#include +#include +#include +#include "qtmaterialslider.h" +#include "lib/qtmaterialstyle.h" +#include "lib/qtmaterialstatetransition.h" + +/*! + * \class QtMaterialSliderStateMachine + * \internal + */ + +QtMaterialSliderStateMachine::QtMaterialSliderStateMachine( + QtMaterialSlider *slider, + QtMaterialSliderThumb *thumb, + QtMaterialSliderTrack *track) + : QStateMachine(slider), + m_slider(slider), + m_thumb(thumb), + m_track(track), + m_topState(new QState(QState::ParallelStates)), + m_fstState(new QState(m_topState)), + m_sndState(new QState(m_topState)), + m_inactiveState(new QState(m_fstState)), + m_focusState(new QState(m_fstState)), + m_slidingState(new QState(m_fstState)), + m_pulseOutState(new QState(m_focusState)), + m_pulseInState(new QState(m_focusState)), + m_minState(new QState(m_sndState)), + m_normalState(new QState(m_sndState)) +{ + addState(m_topState); + setInitialState(m_topState); + + m_fstState->setInitialState(m_inactiveState); + m_focusState->setInitialState(m_pulseOutState); + + m_inactiveState->assignProperty(thumb, "haloSize", 0); + m_slidingState->assignProperty(thumb, "haloSize", 0); + + m_pulseOutState->assignProperty(thumb, "haloSize", 35); + m_pulseInState->assignProperty(thumb, "haloSize", 28); + + m_inactiveState->assignProperty(thumb, "diameter", 11); + m_focusState->assignProperty(thumb, "diameter", 11); + m_slidingState->assignProperty(thumb, "diameter", 17); + + QAbstractTransition *transition; + QtMaterialStateTransition *customTransition; + QPropertyAnimation *animation; + + // Show halo on mouse enter + + customTransition = new QtMaterialStateTransition(SliderNoFocusMouseEnter); + customTransition->setTargetState(m_focusState); + + animation = new QPropertyAnimation(thumb, "haloSize", this); + animation->setEasingCurve(QEasingCurve::InOutSine); + customTransition->addAnimation(animation); + customTransition->addAnimation(new QPropertyAnimation(track, "fillColor", this)); + m_inactiveState->addTransition(customTransition); + + // Show halo on focus in + + transition = new QEventTransition(slider, QEvent::FocusIn); + transition->setTargetState(m_focusState); + + animation = new QPropertyAnimation(thumb, "haloSize", this); + animation->setEasingCurve(QEasingCurve::InOutSine); + transition->addAnimation(animation); + transition->addAnimation(new QPropertyAnimation(track, "fillColor", this)); + m_inactiveState->addTransition(transition); + + // Hide halo on focus out + + transition = new QEventTransition(slider, QEvent::FocusOut); + transition->setTargetState(m_inactiveState); + + animation = new QPropertyAnimation(thumb, "haloSize", this); + animation->setEasingCurve(QEasingCurve::InOutSine); + transition->addAnimation(animation); + transition->addAnimation(new QPropertyAnimation(track, "fillColor", this)); + m_focusState->addTransition(transition); + + // Hide halo on mouse leave, except if widget has focus + + customTransition = new QtMaterialStateTransition(SliderNoFocusMouseLeave); + customTransition->setTargetState(m_inactiveState); + + animation = new QPropertyAnimation(thumb, "haloSize", this); + animation->setEasingCurve(QEasingCurve::InOutSine); + customTransition->addAnimation(animation); + customTransition->addAnimation(new QPropertyAnimation(track, "fillColor", this)); + m_focusState->addTransition(customTransition); + + // Pulse in + + transition = new QSignalTransition(m_pulseOutState, SIGNAL(propertiesAssigned())); + transition->setTargetState(m_pulseInState); + + animation = new QPropertyAnimation(thumb, "haloSize", this); + animation->setEasingCurve(QEasingCurve::InOutSine); + animation->setDuration(1000); + transition->addAnimation(animation); + m_pulseOutState->addTransition(transition); + + // Pulse out + + transition = new QSignalTransition(m_pulseInState, SIGNAL(propertiesAssigned())); + transition->setTargetState(m_pulseOutState); + + animation = new QPropertyAnimation(thumb, "haloSize", this); + animation->setEasingCurve(QEasingCurve::InOutSine); + animation->setDuration(1000); + transition->addAnimation(animation); + m_pulseInState->addTransition(transition); + + // Slider pressed + + transition = new QSignalTransition(slider, SIGNAL(sliderPressed())); + transition->setTargetState(m_slidingState); + animation = new QPropertyAnimation(thumb, "diameter", this); + animation->setDuration(70); + transition->addAnimation(animation); + + animation = new QPropertyAnimation(thumb, "haloSize", this); + animation->setEasingCurve(QEasingCurve::InOutSine); + transition->addAnimation(animation); + m_focusState->addTransition(transition); + + // Slider released + + transition = new QSignalTransition(slider, SIGNAL(sliderReleased())); + transition->setTargetState(m_focusState); + animation = new QPropertyAnimation(thumb, "diameter", this); + animation->setDuration(70); + transition->addAnimation(animation); + + animation = new QPropertyAnimation(thumb, "haloSize", this); + animation->setEasingCurve(QEasingCurve::InOutSine); + transition->addAnimation(animation); + m_slidingState->addTransition(transition); + + // Min. value transitions + + m_minState->assignProperty(thumb, "borderWidth", 2); + m_normalState->assignProperty(thumb, "borderWidth", 0); + + m_sndState->setInitialState(m_minState); + + customTransition = new QtMaterialStateTransition(SliderChangedFromMinimum); + customTransition->setTargetState(m_normalState); + + animation = new QPropertyAnimation(thumb, "fillColor", this); + animation->setDuration(200); + customTransition->addAnimation(animation); + + animation = new QPropertyAnimation(thumb, "haloColor", this); + animation->setDuration(300); + customTransition->addAnimation(animation); + + animation = new QPropertyAnimation(thumb, "borderColor", this); + animation->setDuration(200); + customTransition->addAnimation(animation); + + animation = new QPropertyAnimation(thumb, "borderWidth", this); + animation->setDuration(200); + customTransition->addAnimation(animation); + + m_minState->addTransition(customTransition); + + customTransition = new QtMaterialStateTransition(SliderChangedToMinimum); + customTransition->setTargetState(m_minState); + + animation = new QPropertyAnimation(thumb, "fillColor", this); + animation->setDuration(200); + customTransition->addAnimation(animation); + + animation = new QPropertyAnimation(thumb, "haloColor", this); + animation->setDuration(300); + customTransition->addAnimation(animation); + + animation = new QPropertyAnimation(thumb, "borderColor", this); + animation->setDuration(200); + customTransition->addAnimation(animation); + + animation = new QPropertyAnimation(thumb, "borderWidth", this); + animation->setDuration(200); + customTransition->addAnimation(animation); + + m_normalState->addTransition(customTransition); + + setupProperties(); +} + +QtMaterialSliderStateMachine::~QtMaterialSliderStateMachine() +{ +} + +void QtMaterialSliderStateMachine::setupProperties() +{ + QColor trackColor = m_slider->trackColor(); + QColor thumbColor = m_slider->thumbColor(); + + m_inactiveState->assignProperty(m_track, "fillColor", trackColor.lighter(130)); + m_slidingState->assignProperty(m_track, "fillColor", trackColor); + m_focusState->assignProperty(m_track, "fillColor", trackColor); + + QColor holeColor = m_slider->palette().color(QPalette::Base); + + if (m_slider->parentWidget()) { + holeColor = m_slider->parentWidget()->palette().color(m_slider->backgroundRole()); + } + + m_minState->assignProperty(m_thumb, "fillColor", holeColor); + + m_minState->assignProperty(m_thumb, "haloColor", trackColor); + m_minState->assignProperty(m_thumb, "borderColor", trackColor); + + m_normalState->assignProperty(m_thumb, "fillColor", thumbColor); + m_normalState->assignProperty(m_thumb, "haloColor", thumbColor); + m_normalState->assignProperty(m_thumb, "borderColor", thumbColor); + + m_slider->update(); +} + +/*! + * \class QtMaterialSliderThumb + * \internal + */ + +QtMaterialSliderThumb::QtMaterialSliderThumb(QtMaterialSlider *slider) + : QtMaterialOverlayWidget(slider->parentWidget()), + m_slider(slider), + m_diameter(11), + m_borderWidth(2), + m_haloSize(0), + m_offset(0) +{ + slider->installEventFilter(this); + + setAttribute(Qt::WA_TransparentForMouseEvents, true); +} + +QtMaterialSliderThumb::~QtMaterialSliderThumb() +{ +} + +bool QtMaterialSliderThumb::eventFilter(QObject *obj, QEvent *event) +{ + if (QEvent::ParentChange == event->type()) { + setParent(m_slider->parentWidget()); + } + + return QtMaterialOverlayWidget::eventFilter(obj, event); +} + +void QtMaterialSliderThumb::paintEvent(QPaintEvent *event) +{ + Q_UNUSED(event) + + QPainter painter(this); + painter.setRenderHint(QPainter::Antialiasing); + + // Halo + + QBrush brush; + brush.setStyle(Qt::SolidPattern); + brush.setColor(m_haloColor); + painter.setBrush(brush); + painter.setPen(Qt::NoPen); + + QPointF disp = Qt::Horizontal == m_slider->orientation() + ? QPointF(QT_MATERIAL_SLIDER_MARGIN + m_offset, m_slider->height()/2) + : QPointF(m_slider->width()/2, QT_MATERIAL_SLIDER_MARGIN + m_offset); + + QRectF halo((m_slider->pos() - QPointF(m_haloSize, m_haloSize)/2) + disp, + QSizeF(m_haloSize, m_haloSize)); + + painter.setOpacity(0.15); + painter.drawEllipse(halo); + + // Knob + + const bool isMin = m_slider->value() == m_slider->minimum(); + + brush.setColor(m_slider->isEnabled() + ? m_fillColor + : m_slider->disabledColor()); + painter.setBrush(!m_slider->isEnabled() && isMin + ? Qt::NoBrush + : brush); + + if (m_slider->isEnabled() || isMin) { + QPen pen; + pen.setColor(m_borderColor); + pen.setWidthF((isMin && !m_slider->isEnabled()) ? 1.7 : m_borderWidth); + painter.setPen(pen); + } else { + painter.setPen(Qt::NoPen); + } + + QRectF geometry = Qt::Horizontal == m_slider->orientation() + ? QRectF(m_offset, m_slider->height()/2 - QT_MATERIAL_SLIDER_MARGIN, + QT_MATERIAL_SLIDER_MARGIN*2, QT_MATERIAL_SLIDER_MARGIN*2).translated(m_slider->pos()) + : QRectF(m_slider->width()/2 - QT_MATERIAL_SLIDER_MARGIN, m_offset, + QT_MATERIAL_SLIDER_MARGIN*2, QT_MATERIAL_SLIDER_MARGIN*2).translated(m_slider->pos()); + + qreal s = m_slider->isEnabled() ? m_diameter : 7; + + QRectF thumb(0, 0, s, s); + + thumb.moveCenter(geometry.center()); + + painter.setOpacity(1); + painter.drawEllipse(thumb); +} + +/*! + * \class QtMaterialSliderTrack + * \internal + */ + +QtMaterialSliderTrack::QtMaterialSliderTrack(QtMaterialSliderThumb *thumb, QtMaterialSlider *slider) + : QtMaterialOverlayWidget(slider->parentWidget()), + m_slider(slider), + m_thumb(thumb), + m_trackWidth(2) +{ + slider->installEventFilter(this); + + setAttribute(Qt::WA_TransparentForMouseEvents, true); + + connect(slider, SIGNAL(sliderMoved(int)), this, SLOT(update())); +} + +QtMaterialSliderTrack::~QtMaterialSliderTrack() +{ +} + +bool QtMaterialSliderTrack::eventFilter(QObject *obj, QEvent *event) +{ + if (QEvent::ParentChange == event->type()) { + setParent(m_slider->parentWidget()); + } + + return QtMaterialOverlayWidget::eventFilter(obj, event); +} + +void QtMaterialSliderTrack::paintEvent(QPaintEvent *event) +{ + Q_UNUSED(event) + + QPainter painter(this); + painter.setRenderHint(QPainter::Antialiasing); + + QBrush fg; + fg.setStyle(Qt::SolidPattern); + fg.setColor(m_slider->isEnabled() ? m_slider->thumbColor() + : m_slider->disabledColor()); + QBrush bg; + bg.setStyle(Qt::SolidPattern); + bg.setColor(m_slider->isEnabled() ? m_fillColor + : m_slider->disabledColor()); + + qreal offset = m_thumb->offset(); + + if (Qt::Horizontal == m_slider->orientation()) { + painter.translate(m_slider->x() + QT_MATERIAL_SLIDER_MARGIN, + m_slider->y() + m_slider->height()/2 + - static_cast(m_trackWidth)/2); + } else { + painter.translate(m_slider->x() + m_slider->width()/2 + - static_cast(m_trackWidth)/2, + m_slider->y() + QT_MATERIAL_SLIDER_MARGIN); + } + + QRectF geometry = Qt::Horizontal == m_slider->orientation() + ? QRectF(0, 0, m_slider->width() - QT_MATERIAL_SLIDER_MARGIN*2, m_trackWidth) + : QRectF(0, 0, m_trackWidth, m_slider->height() - QT_MATERIAL_SLIDER_MARGIN*2); + + QRectF bgRect; + QRectF fgRect; + + if (Qt::Horizontal == m_slider->orientation()) { + fgRect = QRectF(0, 0, offset, m_trackWidth); + bgRect = QRectF(offset, 0, m_slider->width(), m_trackWidth).intersected(geometry); + } else { + fgRect = QRectF(0, 0, m_trackWidth, offset); + bgRect = QRectF(0, offset, m_trackWidth, m_slider->height()).intersected(geometry); + } + + if (!m_slider->isEnabled()) { + fgRect = fgRect.width() < 9 ? QRectF() : fgRect.adjusted(0, 0, -6, 0); + bgRect = bgRect.width() < 9 ? QRectF() : bgRect.adjusted(6, 0, 0, 0); + } + + if (m_slider->invertedAppearance()) { + qSwap(bgRect, fgRect); + } + + painter.fillRect(bgRect, bg); + painter.fillRect(fgRect, fg); +} diff --git a/src/material-widgets/qtmaterialslider_internal.h b/src/material-widgets/qtmaterialslider_internal.h new file mode 100644 index 0000000..6f2649e --- /dev/null +++ b/src/material-widgets/qtmaterialslider_internal.h @@ -0,0 +1,222 @@ +#ifndef QTMATERIALSLIDER_INTERNAL_H +#define QTMATERIALSLIDER_INTERNAL_H + +#include +#include "lib/qtmaterialoverlaywidget.h" + +class QtMaterialSlider; +class QtMaterialSliderThumb; +class QtMaterialSliderTrack; + +class QtMaterialSliderStateMachine : public QStateMachine +{ + Q_OBJECT + +public: + QtMaterialSliderStateMachine(QtMaterialSlider *slider, + QtMaterialSliderThumb *thumb, + QtMaterialSliderTrack *track); + ~QtMaterialSliderStateMachine(); + + void setupProperties(); + +private: + Q_DISABLE_COPY(QtMaterialSliderStateMachine) + + QtMaterialSlider *const m_slider; + QtMaterialSliderThumb *const m_thumb; + QtMaterialSliderTrack *const m_track; + QState *const m_topState; + QState *const m_fstState; + QState *const m_sndState; + QState *const m_inactiveState; + QState *const m_focusState; + QState *const m_slidingState; + QState *const m_pulseOutState; + QState *const m_pulseInState; + QState *const m_minState; + QState *const m_normalState; +}; + +class QtMaterialSliderThumb : public QtMaterialOverlayWidget +{ + Q_OBJECT + + Q_PROPERTY(qreal diameter WRITE setDiameter READ diameter) + Q_PROPERTY(qreal borderWidth WRITE setBorderWidth READ borderWidth) + Q_PROPERTY(QColor borderColor WRITE setBorderColor READ borderColor) + Q_PROPERTY(QColor fillColor WRITE setFillColor READ fillColor) + Q_PROPERTY(qreal haloSize WRITE setHaloSize READ haloSize) + Q_PROPERTY(QColor haloColor WRITE setHaloColor READ haloColor) + +public: + explicit QtMaterialSliderThumb(QtMaterialSlider *slider); + ~QtMaterialSliderThumb(); + + inline void setDiameter(qreal diameter); + inline qreal diameter() const; + + inline void setBorderWidth(qreal width); + inline qreal borderWidth() const; + + inline void setBorderColor(const QColor &color); + inline QColor borderColor() const; + + inline void setFillColor(const QColor &color); + inline QColor fillColor() const; + + inline void setHaloSize(qreal size); + inline qreal haloSize() const; + + inline void setHaloColor(const QColor &color); + inline QColor haloColor() const; + + inline void setOffset(int offset); + inline int offset() const; + +protected: + bool eventFilter(QObject *obj, QEvent *event) Q_DECL_OVERRIDE; + void paintEvent(QPaintEvent *event) Q_DECL_OVERRIDE; + +private: + Q_DISABLE_COPY(QtMaterialSliderThumb) + + const QtMaterialSlider *const m_slider; + QColor m_borderColor; + QColor m_fillColor; + QColor m_haloColor; + qreal m_diameter; + qreal m_borderWidth; + qreal m_haloSize; + int m_offset; +}; + +inline void QtMaterialSliderThumb::setDiameter(qreal diameter) +{ + m_diameter = diameter; + update(); +} + +inline qreal QtMaterialSliderThumb::diameter() const +{ + return m_diameter; +} + +inline void QtMaterialSliderThumb::setBorderWidth(qreal width) +{ + m_borderWidth = width; + update(); +} + +inline qreal QtMaterialSliderThumb::borderWidth() const +{ + return m_borderWidth; +} + +inline void QtMaterialSliderThumb::setBorderColor(const QColor &color) +{ + m_borderColor = color; + update(); +} + +inline QColor QtMaterialSliderThumb::borderColor() const +{ + return m_borderColor; +} + +inline void QtMaterialSliderThumb::setFillColor(const QColor &color) +{ + m_fillColor = color; + update(); +} + +inline QColor QtMaterialSliderThumb::fillColor() const +{ + return m_fillColor; +} + +inline void QtMaterialSliderThumb::setHaloSize(qreal size) +{ + m_haloSize = size; + update(); +} + +inline qreal QtMaterialSliderThumb::haloSize() const +{ + return m_haloSize; +} + +inline void QtMaterialSliderThumb::setHaloColor(const QColor &color) +{ + m_haloColor = color; + update(); +} + +inline QColor QtMaterialSliderThumb::haloColor() const +{ + return m_haloColor; +} + +inline void QtMaterialSliderThumb::setOffset(int offset) +{ + m_offset = offset; + update(); +} + +inline int QtMaterialSliderThumb::offset() const +{ + return m_offset; +} + +class QtMaterialSliderTrack : public QtMaterialOverlayWidget +{ + Q_OBJECT + + Q_PROPERTY(QColor fillColor WRITE setFillColor READ fillColor) + +public: + explicit QtMaterialSliderTrack(QtMaterialSliderThumb *thumb, QtMaterialSlider *slider); + ~QtMaterialSliderTrack(); + + inline void setFillColor(const QColor &color); + inline QColor fillColor() const; + + inline void setTrackWidth(int width); + inline int trackWidth() const; + +protected: + bool eventFilter(QObject *obj, QEvent *event) Q_DECL_OVERRIDE; + void paintEvent(QPaintEvent *event) Q_DECL_OVERRIDE; + +private: + Q_DISABLE_COPY(QtMaterialSliderTrack) + + const QtMaterialSlider *const m_slider; + QtMaterialSliderThumb *const m_thumb; + QColor m_fillColor; + int m_trackWidth; +}; + +inline void QtMaterialSliderTrack::setFillColor(const QColor &color) +{ + m_fillColor = color; + update(); +} + +inline QColor QtMaterialSliderTrack::fillColor() const +{ + return m_fillColor; +} + +void QtMaterialSliderTrack::setTrackWidth(int width) +{ + m_trackWidth = width; + update(); +} + +int QtMaterialSliderTrack::trackWidth() const +{ + return m_trackWidth; +} + +#endif // QTMATERIALSLIDER_INTERNAL_H diff --git a/src/material-widgets/qtmaterialslider_p.h b/src/material-widgets/qtmaterialslider_p.h new file mode 100644 index 0000000..ff6b7ca --- /dev/null +++ b/src/material-widgets/qtmaterialslider_p.h @@ -0,0 +1,49 @@ +#ifndef QTMATERIALSLIDER_P_H +#define QTMATERIALSLIDER_P_H + +#include +#include +#include + +class QtMaterialSlider; +class QtMaterialSliderThumb; +class QtMaterialSliderTrack; +class QtMaterialSliderStateMachine; + +class QtMaterialSliderPrivate +{ + Q_DISABLE_COPY(QtMaterialSliderPrivate) + Q_DECLARE_PUBLIC(QtMaterialSlider) + +public: + QtMaterialSliderPrivate(QtMaterialSlider *q); + ~QtMaterialSliderPrivate(); + + void init(); + + QRectF trackBoundingRect() const; + QRectF thumbBoundingRect() const; + + int valueFromPosition(const QPoint &pos) const; + + void setHovered(bool status); + + QtMaterialSlider *const q_ptr; + QtMaterialSliderThumb *thumb; + QtMaterialSliderTrack *track; + QtMaterialSliderStateMachine *stateMachine; + QColor thumbColor; + QColor trackColor; + QColor disabledColor; + int stepTo; + int oldValue; + int trackWidth; + bool hoverTrack; + bool hoverThumb; + bool hover; + bool step; + bool pageStepMode; + bool useThemeColors; +}; + +#endif // QTMATERIALSLIDER_P_H diff --git a/src/material-widgets/qtmaterialsnackbar.cpp b/src/material-widgets/qtmaterialsnackbar.cpp new file mode 100644 index 0000000..323ff20 --- /dev/null +++ b/src/material-widgets/qtmaterialsnackbar.cpp @@ -0,0 +1,270 @@ +#include "qtmaterialsnackbar.h" +#include "qtmaterialsnackbar_p.h" +#include +#include +#include "qtmaterialsnackbar_internal.h" +#include "lib/qtmaterialstyle.h" +#include "lib/qtmaterialstatetransition.h" +#include + +/*! + * \class QtMaterialSnackbarPrivate + * \internal + */ + +QtMaterialSnackbarPrivate::QtMaterialSnackbarPrivate(QtMaterialSnackbar *q) + : q_ptr(q) +{ +} + +QtMaterialSnackbarPrivate::~QtMaterialSnackbarPrivate() +{ +} + +void QtMaterialSnackbarPrivate::init() +{ + Q_Q(QtMaterialSnackbar); + + stateMachine = new QtMaterialSnackbarStateMachine(q); + bgOpacity = 0.9; + duration = 3000; + boxWidth = 300; + clickDismiss = false; + useThemeColors = true; + + q->setAttribute(Qt::WA_TransparentForMouseEvents); + + QFont font("Roboto", 10, QFont::Medium); + font.setCapitalization(QFont::AllUppercase); + q->setFont(font); + + stateMachine->start(); + QCoreApplication::processEvents(); +} + +/*! + * \class QtMaterialSnackbar + */ + +QtMaterialSnackbar::QtMaterialSnackbar(QWidget *parent) + : QtMaterialOverlayWidget(parent), + d_ptr(new QtMaterialSnackbarPrivate(this)) +{ + d_func()->init(); +} + +QtMaterialSnackbar::~QtMaterialSnackbar() +{ +} + +void QtMaterialSnackbar::setAutoHideDuration(int duration) +{ + Q_D(QtMaterialSnackbar); + + d->duration = duration; +} + +int QtMaterialSnackbar::autoHideDuration() const +{ + Q_D(const QtMaterialSnackbar); + + return d->duration; +} + +void QtMaterialSnackbar::setUseThemeColors(bool value) +{ + Q_D(QtMaterialSnackbar); + + if (d->useThemeColors == value) { + return; + } + + d->useThemeColors = value; + update(); +} + +bool QtMaterialSnackbar::useThemeColors() const +{ + Q_D(const QtMaterialSnackbar); + + return d->useThemeColors; +} + +void QtMaterialSnackbar::setBackgroundColor(const QColor &color) +{ + Q_D(QtMaterialSnackbar); + + d->backgroundColor = color; + + MATERIAL_DISABLE_THEME_COLORS + update(); +} + +QColor QtMaterialSnackbar::backgroundColor() const +{ + Q_D(const QtMaterialSnackbar); + + if (d->useThemeColors || !d->backgroundColor.isValid()) { + return QtMaterialStyle::instance().themeColor("text"); + } else { + return d->backgroundColor; + } +} + +void QtMaterialSnackbar::setBackgroundOpacity(qreal opacity) +{ + Q_D(QtMaterialSnackbar); + + d->bgOpacity = opacity; + update(); +} + +qreal QtMaterialSnackbar::backgroundOpacity() const +{ + Q_D(const QtMaterialSnackbar); + + return d->bgOpacity; +} + +void QtMaterialSnackbar::setTextColor(const QColor &color) +{ + Q_D(QtMaterialSnackbar); + + d->textColor = color; + + MATERIAL_DISABLE_THEME_COLORS + update(); +} + +QColor QtMaterialSnackbar::textColor() const +{ + Q_D(const QtMaterialSnackbar); + + if (d->useThemeColors || !d->textColor.isValid()) { + return QtMaterialStyle::instance().themeColor("canvas"); + } else { + return d->textColor; + } +} + +void QtMaterialSnackbar::setFontSize(qreal size) +{ + QFont f(font()); + f.setPointSizeF(size); + setFont(f); + + update(); +} + +qreal QtMaterialSnackbar::fontSize() const +{ + return font().pointSizeF(); +} + +void QtMaterialSnackbar::setBoxWidth(int width) +{ + Q_D(QtMaterialSnackbar); + + d->boxWidth = width; + update(); +} + +int QtMaterialSnackbar::boxWidth() const +{ + Q_D(const QtMaterialSnackbar); + + return d->boxWidth; +} + +void QtMaterialSnackbar::setClickToDismissMode(bool value) +{ + Q_D(QtMaterialSnackbar); + + d->clickDismiss = value; +} + +bool QtMaterialSnackbar::clickToDismissMode() const +{ + Q_D(const QtMaterialSnackbar); + + return d->clickDismiss; +} + +void QtMaterialSnackbar::addMessage(const QString &message) +{ + Q_D(QtMaterialSnackbar); + + d->messages.push_back(message); + d->stateMachine->postEvent(new QtMaterialStateTransitionEvent(SnackbarShowTransition)); + raise(); +} + +void QtMaterialSnackbar::addInstantMessage(const QString &message) +{ + Q_D(QtMaterialSnackbar); + + if (d->messages.isEmpty()) { + d->messages.push_back(message); + } else { + d->messages.insert(1, message); + } + + d->stateMachine->progress(); +} + +void QtMaterialSnackbar::dequeue() +{ + Q_D(QtMaterialSnackbar); + + if (d->messages.isEmpty()) { + return; + } + + d->messages.removeFirst(); + + if (!d->messages.isEmpty()) { + d->stateMachine->postEvent(new QtMaterialStateTransitionEvent(SnackbarNextTransition)); + } else { + d->stateMachine->postEvent(new QtMaterialStateTransitionEvent(SnackbarWaitTransition)); + } +} + +void QtMaterialSnackbar::paintEvent(QPaintEvent *event) +{ + Q_UNUSED(event) + + Q_D(QtMaterialSnackbar); + + if (d->messages.isEmpty()) { + return; + } + + QString message = d->messages.first(); + + QPainter painter(this); + painter.setRenderHint(QPainter::Antialiasing); + + QBrush brush; + brush.setStyle(Qt::SolidPattern); + brush.setColor(backgroundColor()); + painter.setBrush(brush); + painter.setOpacity(d->bgOpacity); + + QRect r(0, 0, d->boxWidth, 40); + + painter.setPen(Qt::white); + QRect br = painter.boundingRect(r, Qt::AlignHCenter | Qt::AlignTop | Qt::TextWordWrap, message); + + painter.setPen(Qt::NoPen); + r = br.united(r).adjusted(-10, -10, 10, 20); + + const qreal s = 1-d->stateMachine->offset(); + + painter.translate((width()-(r.width()-20))/2, + height()+10-s*(r.height())); + + br.moveCenter(r.center()); + painter.drawRoundedRect(r.adjusted(0, 0, 0, 3), 3, 3); + painter.setPen(textColor()); + painter.drawText(br, Qt::AlignHCenter | Qt::AlignTop | Qt::TextWordWrap, message); +} diff --git a/src/material-widgets/qtmaterialsnackbar.h b/src/material-widgets/qtmaterialsnackbar.h new file mode 100644 index 0000000..6d94740 --- /dev/null +++ b/src/material-widgets/qtmaterialsnackbar.h @@ -0,0 +1,57 @@ +#ifndef QTMATERIALSNACKBAR_H +#define QTMATERIALSNACKBAR_H + +#include "lib/qtmaterialoverlaywidget.h" + +class QtMaterialSnackbarPrivate; + +class QtMaterialSnackbar : public QtMaterialOverlayWidget +{ + Q_OBJECT + +public: + explicit QtMaterialSnackbar(QWidget *parent = 0); + ~QtMaterialSnackbar(); + + void setAutoHideDuration(int duration); + int autoHideDuration() const; + + void setUseThemeColors(bool value); + bool useThemeColors() const; + + void setBackgroundColor(const QColor &color); + QColor backgroundColor() const; + + void setBackgroundOpacity(qreal opacity); + qreal backgroundOpacity() const; + + void setTextColor(const QColor &color); + QColor textColor() const; + + void setFontSize(qreal size); + qreal fontSize() const; + + void setBoxWidth(int width); + int boxWidth() const; + + void setClickToDismissMode(bool value); + bool clickToDismissMode() const; + +public slots: + void addMessage(const QString &message); + void addInstantMessage(const QString &message); + +protected slots: + void dequeue(); + +protected: + void paintEvent(QPaintEvent *event) Q_DECL_OVERRIDE; + + const QScopedPointer d_ptr; + +private: + Q_DISABLE_COPY(QtMaterialSnackbar) + Q_DECLARE_PRIVATE(QtMaterialSnackbar) +}; + +#endif // QTMATERIALSNACKBAR_H diff --git a/src/material-widgets/qtmaterialsnackbar_internal.cpp b/src/material-widgets/qtmaterialsnackbar_internal.cpp new file mode 100644 index 0000000..9e6167d --- /dev/null +++ b/src/material-widgets/qtmaterialsnackbar_internal.cpp @@ -0,0 +1,99 @@ +#include "qtmaterialsnackbar_internal.h" +#include +#include "qtmaterialsnackbar.h" +#include "lib/qtmaterialstatetransition.h" +#include + +QtMaterialSnackbarStateMachine::QtMaterialSnackbarStateMachine(QtMaterialSnackbar *parent) + : QStateMachine(parent), + m_snackbar(parent) +{ + m_timer.setSingleShot(true); + + QState *hiddenState = new QState; + QState *visibleState = new QState; + QState *finalState = new QState; + + addState(hiddenState); + addState(visibleState); + addState(finalState); + + setInitialState(hiddenState); + + QtMaterialStateTransition *transition; + + transition = new QtMaterialStateTransition(SnackbarShowTransition); + transition->setTargetState(visibleState); + hiddenState->addTransition(transition); + + transition = new QtMaterialStateTransition(SnackbarHideTransition); + transition->setTargetState(visibleState); + hiddenState->addTransition(transition); + + transition = new QtMaterialStateTransition(SnackbarHideTransition); + transition->setTargetState(finalState); + visibleState->addTransition(transition); + + transition = new QtMaterialStateTransition(SnackbarWaitTransition); + transition->setTargetState(hiddenState); + finalState->addTransition(transition); + + transition = new QtMaterialStateTransition(SnackbarNextTransition); + transition->setTargetState(visibleState); + finalState->addTransition(transition); + + connect(visibleState, SIGNAL(propertiesAssigned()), + this, SLOT(snackbarShown())); + connect(finalState, SIGNAL(propertiesAssigned()), + m_snackbar, SLOT(dequeue())); + + QPropertyAnimation *animation; + + animation = new QPropertyAnimation(this, "offset", this); + animation->setEasingCurve(QEasingCurve::OutCubic); + animation->setDuration(300); + addDefaultAnimation(animation); + + hiddenState->assignProperty(this, "offset", 1); + visibleState->assignProperty(this, "offset", 0); + finalState->assignProperty(this, "offset", 1); + + connect(&m_timer, SIGNAL(timeout()), this, SLOT(progress())); + + m_snackbar->installEventFilter(this); +} + +QtMaterialSnackbarStateMachine::~QtMaterialSnackbarStateMachine() +{ +} + +bool QtMaterialSnackbarStateMachine::eventFilter(QObject *watched, QEvent *event) +{ + if (QEvent::MouseButtonPress == event->type() && m_snackbar->clickToDismissMode()) { + progress(); + } + return QStateMachine::eventFilter(watched, event); +} + +void QtMaterialSnackbarStateMachine::setOffset(qreal offset) +{ + m_offset = offset; + m_snackbar->update(); +} + +void QtMaterialSnackbarStateMachine::progress() +{ + m_timer.stop(); + postEvent(new QtMaterialStateTransitionEvent(SnackbarHideTransition)); + if (m_snackbar->clickToDismissMode()) { + m_snackbar->setAttribute(Qt::WA_TransparentForMouseEvents, true); + } +} + +void QtMaterialSnackbarStateMachine::snackbarShown() +{ + m_timer.start(m_snackbar->autoHideDuration()); + if (m_snackbar->clickToDismissMode()) { + m_snackbar->setAttribute(Qt::WA_TransparentForMouseEvents, false); + } +} diff --git a/src/material-widgets/qtmaterialsnackbar_internal.h b/src/material-widgets/qtmaterialsnackbar_internal.h new file mode 100644 index 0000000..117a8e5 --- /dev/null +++ b/src/material-widgets/qtmaterialsnackbar_internal.h @@ -0,0 +1,44 @@ +#ifndef QTMATERIALSNACKBAR_INTERNAL_H +#define QTMATERIALSNACKBAR_INTERNAL_H + +#include +#include + +class QtMaterialSnackbar; + +class QtMaterialSnackbarStateMachine : public QStateMachine +{ + Q_OBJECT + + Q_PROPERTY(qreal offset WRITE setOffset READ offset) + +public: + QtMaterialSnackbarStateMachine(QtMaterialSnackbar *parent); + ~QtMaterialSnackbarStateMachine(); + + void setOffset(qreal offset); + inline qreal offset() const; + +public slots: + void progress(); + +protected slots: + void snackbarShown(); + +protected: + bool eventFilter(QObject *watched, QEvent *event) Q_DECL_OVERRIDE; + +private: + Q_DISABLE_COPY(QtMaterialSnackbarStateMachine) + + QtMaterialSnackbar *const m_snackbar; + QTimer m_timer; + qreal m_offset; +}; + +inline qreal QtMaterialSnackbarStateMachine::offset() const +{ + return m_offset; +} + +#endif // QTMATERIALSNACKBAR_INTERNAL_H diff --git a/src/material-widgets/qtmaterialsnackbar_p.h b/src/material-widgets/qtmaterialsnackbar_p.h new file mode 100644 index 0000000..39501fd --- /dev/null +++ b/src/material-widgets/qtmaterialsnackbar_p.h @@ -0,0 +1,33 @@ +#ifndef QTMATERIALSNACKBAR_P_H +#define QTMATERIALSNACKBAR_P_H + +#include +#include + +class QtMaterialSnackbar; +class QtMaterialSnackbarStateMachine; + +class QtMaterialSnackbarPrivate +{ + Q_DISABLE_COPY(QtMaterialSnackbarPrivate) + Q_DECLARE_PUBLIC(QtMaterialSnackbar) + +public: + QtMaterialSnackbarPrivate(QtMaterialSnackbar *q); + ~QtMaterialSnackbarPrivate(); + + void init(); + + QtMaterialSnackbar *const q_ptr; + QtMaterialSnackbarStateMachine *stateMachine; + QColor backgroundColor; + QColor textColor; + qreal bgOpacity; + QList messages; + int duration; + int boxWidth; + bool clickDismiss; + bool useThemeColors; +}; + +#endif // QTMATERIALSNACKBAR_P_H diff --git a/src/material-widgets/qtmaterialtable.cpp b/src/material-widgets/qtmaterialtable.cpp new file mode 100644 index 0000000..171c04a --- /dev/null +++ b/src/material-widgets/qtmaterialtable.cpp @@ -0,0 +1,2 @@ +#include "qtmaterialtable.h" +#include "qtmaterialtable_p.h" diff --git a/src/material-widgets/qtmaterialtable.h b/src/material-widgets/qtmaterialtable.h new file mode 100644 index 0000000..b8953fa --- /dev/null +++ b/src/material-widgets/qtmaterialtable.h @@ -0,0 +1,4 @@ +#ifndef QTMATERIALTABLE_H +#define QTMATERIALTABLE_H + +#endif // QTMATERIALTABLE_H diff --git a/src/material-widgets/qtmaterialtable_p.h b/src/material-widgets/qtmaterialtable_p.h new file mode 100644 index 0000000..d3232a0 --- /dev/null +++ b/src/material-widgets/qtmaterialtable_p.h @@ -0,0 +1,4 @@ +#ifndef QTMATERIALTABLE_P_H +#define QTMATERIALTABLE_P_H + +#endif // QTMATERIALTABLE_P_H diff --git a/src/material-widgets/qtmaterialtabs.cpp b/src/material-widgets/qtmaterialtabs.cpp new file mode 100644 index 0000000..dbc55bd --- /dev/null +++ b/src/material-widgets/qtmaterialtabs.cpp @@ -0,0 +1,242 @@ +#include "qtmaterialtabs.h" +#include "qtmaterialtabs_p.h" +#include +#include "qtmaterialtabs_internal.h" +#include "lib/qtmaterialstyle.h" + +/*! + * \QtMaterialTabsPrivate + * \internal + */ + +QtMaterialTabsPrivate::QtMaterialTabsPrivate(QtMaterialTabs *q) + : q_ptr(q) +{ +} + +QtMaterialTabsPrivate::~QtMaterialTabsPrivate() +{ +} + +void QtMaterialTabsPrivate::QtMaterialTabsPrivate::init() +{ + Q_Q(QtMaterialTabs); + + inkBar = new QtMaterialTabsInkBar(q); + tabLayout = new QHBoxLayout; + rippleStyle = Material::CenteredRipple; + tab = -1; + showHalo = true; + useThemeColors = true; + + q->setLayout(tabLayout); + q->setStyle(&QtMaterialStyle::instance()); + + tabLayout->setSpacing(0); + tabLayout->setMargin(0); +} + +/*! + * \QtMaterialTabs + */ + +QtMaterialTabs::QtMaterialTabs(QWidget *parent) + : QWidget(parent), + d_ptr(new QtMaterialTabsPrivate(this)) +{ + d_func()->init(); +} + +QtMaterialTabs::~QtMaterialTabs() +{ +} + +void QtMaterialTabs::setUseThemeColors(bool value) +{ + Q_D(QtMaterialTabs); + + d->useThemeColors = value; +} + +bool QtMaterialTabs::useThemeColors() const +{ + Q_D(const QtMaterialTabs); + + return d->useThemeColors; +} + +void QtMaterialTabs::setHaloVisible(bool value) +{ + Q_D(QtMaterialTabs); + + d->showHalo = value; + updateTabs(); +} + +bool QtMaterialTabs::isHaloVisible() const +{ + Q_D(const QtMaterialTabs); + + return d->showHalo; +} + +void QtMaterialTabs::setRippleStyle(Material::RippleStyle style) +{ + Q_D(QtMaterialTabs); + + d->rippleStyle = style; + updateTabs(); +} + +Material::RippleStyle QtMaterialTabs::rippleStyle() const +{ + Q_D(const QtMaterialTabs); + + return d->rippleStyle; +} + +void QtMaterialTabs::setInkColor(const QColor &color) +{ + Q_D(QtMaterialTabs); + + d->inkColor = color; + + MATERIAL_DISABLE_THEME_COLORS + d->inkBar->update(); + update(); +} + +QColor QtMaterialTabs::inkColor() const +{ + Q_D(const QtMaterialTabs); + + if (d->useThemeColors || !d->inkColor.isValid()) { + return QtMaterialStyle::instance().themeColor("accent1"); + } else { + return d->inkColor; + } +} + +void QtMaterialTabs::setBackgroundColor(const QColor &color) +{ + Q_D(QtMaterialTabs); + + d->backgroundColor = color; + + MATERIAL_DISABLE_THEME_COLORS + updateTabs(); + update(); +} + +QColor QtMaterialTabs::backgroundColor() const +{ + Q_D(const QtMaterialTabs); + + if (d->useThemeColors || !d->backgroundColor.isValid()) { + return QtMaterialStyle::instance().themeColor("primary1"); + } else { + return d->backgroundColor; + } +} + +void QtMaterialTabs::setTextColor(const QColor &color) +{ + Q_D(QtMaterialTabs); + + d->textColor = color; + + MATERIAL_DISABLE_THEME_COLORS + updateTabs(); + update(); +} + +QColor QtMaterialTabs::textColor() const +{ + Q_D(const QtMaterialTabs); + + if (d->useThemeColors || !d->textColor.isValid()) { + return QtMaterialStyle::instance().themeColor("canvas"); + } else { + return d->textColor; + } +} + +void QtMaterialTabs::setCurrentTab(QtMaterialTab *tab) +{ + Q_D(QtMaterialTabs); + + setCurrentTab(d->tabLayout->indexOf(tab)); +} + +void QtMaterialTabs::setCurrentTab(int index) +{ + Q_D(QtMaterialTabs); + + setTabActive(d->tab, false); + d->tab = index; + setTabActive(index, true); + d->inkBar->animate(); + + emit currentChanged(index); +} + +void QtMaterialTabs::addTab(const QString &text, const QIcon &icon) +{ + Q_D(QtMaterialTabs); + + QtMaterialTab *tab = new QtMaterialTab(this); + tab->setText(text); + tab->setHaloVisible(isHaloVisible()); + tab->setRippleStyle(rippleStyle()); + + if (!icon.isNull()) { + tab->setIcon(icon); + tab->setIconSize(QSize(22, 22)); + } + + d->tabLayout->addWidget(tab); + + if (-1 == d->tab) { + d->tab = 0; + d->inkBar->refreshGeometry(); + d->inkBar->raise(); + tab->setActive(true); + } +} + +int QtMaterialTabs::currentIndex() const +{ + Q_D(const QtMaterialTabs); + + return d->tab; +} + +void QtMaterialTabs::setTabActive(int index, bool active) +{ + Q_D(QtMaterialTabs); + + QtMaterialTab *tab; + + if (index > -1) { + tab = static_cast(d->tabLayout->itemAt(index)->widget()); + if (tab) { + tab->setActive(active); + } + } +} + +void QtMaterialTabs::updateTabs() +{ + Q_D(QtMaterialTabs); + + QtMaterialTab *tab; + for (int i = 0; i < d->tabLayout->count(); ++i) { + QLayoutItem *item = d->tabLayout->itemAt(i); + if ((tab = static_cast(item->widget()))) { + tab->setRippleStyle(d->rippleStyle); + tab->setHaloVisible(d->showHalo); + tab->setBackgroundColor(backgroundColor()); + tab->setForegroundColor(textColor()); + } + } +} diff --git a/src/material-widgets/qtmaterialtabs.h b/src/material-widgets/qtmaterialtabs.h new file mode 100644 index 0000000..11a122e --- /dev/null +++ b/src/material-widgets/qtmaterialtabs.h @@ -0,0 +1,58 @@ +#ifndef QTMATERIALTABS_H +#define QTMATERIALTABS_H + +#include +#include +#include "lib/qtmaterialtheme.h" + +class QtMaterialTabsPrivate; +class QtMaterialTab; + +class QtMaterialTabs : public QWidget +{ + Q_OBJECT + +public: + explicit QtMaterialTabs(QWidget *parent = 0); + ~QtMaterialTabs(); + + void setUseThemeColors(bool value); + bool useThemeColors() const; + + void setHaloVisible(bool value); + bool isHaloVisible() const; + + void setRippleStyle(Material::RippleStyle style); + Material::RippleStyle rippleStyle() const; + + void setInkColor(const QColor &color); + QColor inkColor() const; + + void setBackgroundColor(const QColor &color); + QColor backgroundColor() const; + + void setTextColor(const QColor &color); + QColor textColor() const; + + void addTab(const QString &text, const QIcon &icon = QIcon()); + + void setCurrentTab(QtMaterialTab *tab); + void setCurrentTab(int index); + + int currentIndex() const; + +signals: + void currentChanged(int); + +protected: + void setTabActive(int index, bool active = true); + void updateTabs(); + + const QScopedPointer d_ptr; + +private: + Q_DISABLE_COPY(QtMaterialTabs) + Q_DECLARE_PRIVATE(QtMaterialTabs) +}; + +#endif // QTMATERIALTABS_H diff --git a/src/material-widgets/qtmaterialtabs_internal.cpp b/src/material-widgets/qtmaterialtabs_internal.cpp new file mode 100644 index 0000000..e952c02 --- /dev/null +++ b/src/material-widgets/qtmaterialtabs_internal.cpp @@ -0,0 +1,178 @@ +#include "qtmaterialtabs_internal.h" +#include +#include +#include +#include +#include +#include "qtmaterialtabs.h" +#include + +/*! + * \class QtMaterialTabsInkBar + * \internal + */ + +QtMaterialTabsInkBar::QtMaterialTabsInkBar(QtMaterialTabs *parent) + : QtMaterialOverlayWidget(parent), + m_tabs(parent), + m_animation(new QPropertyAnimation(parent)), + m_tween(0) +{ + Q_ASSERT(parent); + + m_animation->setPropertyName("tweenValue"); + m_animation->setEasingCurve(QEasingCurve::OutCirc); + m_animation->setTargetObject(this); + m_animation->setDuration(700); + + m_tabs->installEventFilter(this); + + setAttribute(Qt::WA_TransparentForMouseEvents); + setAttribute(Qt::WA_NoSystemBackground); +} + +QtMaterialTabsInkBar::~QtMaterialTabsInkBar() +{ +} + +void QtMaterialTabsInkBar::refreshGeometry() +{ + QLayoutItem *item = m_tabs->layout()->itemAt(m_tabs->currentIndex()); + + if (item) + { + const QRect r(item->geometry()); + const qreal s = 1-m_tween; + + if (QAbstractAnimation::Running != m_animation->state()) { + m_geometry = QRect(r.left(), r.bottom()-1, r.width(), 2); + } else { + const qreal left = m_previousGeometry.left()*s + r.left()*m_tween; + const qreal width = m_previousGeometry.width()*s + r.width()*m_tween; + m_geometry = QRect(left, r.bottom()-1, width, 2); + } + m_tabs->update(); + } +} + +void QtMaterialTabsInkBar::animate() +{ + raise(); + + m_previousGeometry = m_geometry; + + m_animation->stop(); + m_animation->setStartValue(0); + m_animation->setEndValue(1); + m_animation->start(); +} + +bool QtMaterialTabsInkBar::eventFilter(QObject *obj, QEvent *event) +{ + switch (event->type()) + { + case QEvent::Move: + case QEvent::Resize: + { + refreshGeometry(); + break; + } + default: + break; + } + return QtMaterialOverlayWidget::eventFilter(obj, event); +} + +void QtMaterialTabsInkBar::paintEvent(QPaintEvent *event) +{ + Q_UNUSED(event) + + QPainter painter(this); + + painter.setOpacity(1); + painter.fillRect(m_geometry, m_tabs->inkColor()); +} + +/*! + * \class QtMaterialTab + * \internal + */ + +QtMaterialTab::QtMaterialTab(QtMaterialTabs *parent) + : QtMaterialFlatButton(parent), + m_tabs(parent), + m_active(false) +{ + Q_ASSERT(parent); + + setMinimumHeight(50); + + QFont f(font()); + f.setStyleName("Normal"); + setFont(f); + + setCornerRadius(0); + setRole(Material::Primary); + setBackgroundMode(Qt::OpaqueMode); + setBaseOpacity(0.25); + + connect(this, SIGNAL(clicked(bool)), this, SLOT(activateTab())); +} + +QtMaterialTab::~QtMaterialTab() +{ +} + +QSize QtMaterialTab::sizeHint() const +{ + if (icon().isNull()) { + return QtMaterialFlatButton::sizeHint(); + } else { + return QSize(40, iconSize().height()+46); + } +} + +void QtMaterialTab::activateTab() +{ + m_tabs->setCurrentTab(this); +} + +void QtMaterialTab::paintForeground(QPainter *painter) +{ + painter->setPen(foregroundColor()); + + if (!icon().isNull()) { + painter->translate(0, 12); + } + + QSize textSize(fontMetrics().size(Qt::TextSingleLine, text())); + QSize base(size()-textSize); + + QRect textGeometry(QPoint(base.width(), base.height())/2, textSize); + + painter->drawText(textGeometry, Qt::AlignCenter, text()); + + if (!icon().isNull()) + { + const QSize &size = iconSize(); + QRect iconRect(QPoint((width()-size.width())/2, 0), size); + + QPixmap pixmap = icon().pixmap(iconSize()); + QPainter icon(&pixmap); + icon.setCompositionMode(QPainter::CompositionMode_SourceIn); + icon.fillRect(pixmap.rect(), painter->pen().color()); + painter->drawPixmap(iconRect, pixmap); + } + + if (!m_active) + { + if (!icon().isNull()) { + painter->translate(0, -12); + } + QBrush overlay; + overlay.setStyle(Qt::SolidPattern); + overlay.setColor(backgroundColor()); + painter->setOpacity(0.36); + painter->fillRect(rect(), overlay); + } +} diff --git a/src/material-widgets/qtmaterialtabs_internal.h b/src/material-widgets/qtmaterialtabs_internal.h new file mode 100644 index 0000000..75dc034 --- /dev/null +++ b/src/material-widgets/qtmaterialtabs_internal.h @@ -0,0 +1,88 @@ +#ifndef QTMATERIALTABS_INTERNAL_H +#define QTMATERIALTABS_INTERNAL_H + +#include "lib/qtmaterialoverlaywidget.h" +#include "qtmaterialflatbutton.h" + +class QPropertyAnimation; +class QtMaterialTabs; + +class QtMaterialTabsInkBar : public QtMaterialOverlayWidget +{ + Q_OBJECT + + Q_PROPERTY(qreal tweenValue WRITE setTweenValue READ tweenValue) + +public: + QtMaterialTabsInkBar(QtMaterialTabs *parent); + ~QtMaterialTabsInkBar(); + + inline void setTweenValue(qreal value); + inline qreal tweenValue() const; + + void refreshGeometry(); + void animate(); + +protected: + bool eventFilter(QObject *obj, QEvent *event) Q_DECL_OVERRIDE; + void paintEvent(QPaintEvent *event) Q_DECL_OVERRIDE; + +private: + Q_DISABLE_COPY(QtMaterialTabsInkBar) + + QtMaterialTabs *const m_tabs; + QPropertyAnimation *const m_animation; + QRect m_geometry; + QRect m_previousGeometry; + qreal m_tween; +}; + +inline void QtMaterialTabsInkBar::setTweenValue(qreal value) +{ + m_tween = value; + refreshGeometry(); +} + +inline qreal QtMaterialTabsInkBar::tweenValue() const +{ + return m_tween; +} + +class QtMaterialTab : public QtMaterialFlatButton +{ + Q_OBJECT + +public: + explicit QtMaterialTab(QtMaterialTabs *parent); + ~QtMaterialTab(); + + inline void setActive(bool state); + inline bool isActive() const; + + QSize sizeHint() const Q_DECL_OVERRIDE; + +protected slots: + void activateTab(); + +protected: + void paintForeground(QPainter *painter) Q_DECL_OVERRIDE; + +private: + Q_DISABLE_COPY(QtMaterialTab) + + QtMaterialTabs *const m_tabs; + bool m_active; +}; + +inline void QtMaterialTab::setActive(bool state) +{ + m_active = state; + update(); +} + +inline bool QtMaterialTab::isActive() const +{ + return m_active; +} + +#endif // QTMATERIALTABS_INTERNAL_H diff --git a/src/material-widgets/qtmaterialtabs_p.h b/src/material-widgets/qtmaterialtabs_p.h new file mode 100644 index 0000000..1f32b04 --- /dev/null +++ b/src/material-widgets/qtmaterialtabs_p.h @@ -0,0 +1,34 @@ +#ifndef QTMATERIALTABS_P_H +#define QTMATERIALTABS_P_H + +#include +#include "lib/qtmaterialtheme.h" + +class QHBoxLayout; +class QtMaterialTabs; +class QtMaterialTabsInkBar; + +class QtMaterialTabsPrivate +{ + Q_DISABLE_COPY(QtMaterialTabsPrivate) + Q_DECLARE_PUBLIC(QtMaterialTabs) + +public: + QtMaterialTabsPrivate(QtMaterialTabs *q); + ~QtMaterialTabsPrivate(); + + void init(); + + QtMaterialTabs *const q_ptr; + QtMaterialTabsInkBar *inkBar; + QHBoxLayout *tabLayout; + Material::RippleStyle rippleStyle; + QColor inkColor; + QColor backgroundColor; + QColor textColor; + int tab; + bool showHalo; + bool useThemeColors; +}; + +#endif // QTMATERIALTABS_P_H diff --git a/src/material-widgets/qtmaterialtextfield.cpp b/src/material-widgets/qtmaterialtextfield.cpp new file mode 100644 index 0000000..080da82 --- /dev/null +++ b/src/material-widgets/qtmaterialtextfield.cpp @@ -0,0 +1,326 @@ +#include "qtmaterialtextfield.h" +#include "qtmaterialtextfield_p.h" +#include +#include +#include "qtmaterialtextfield_internal.h" +#include "lib/qtmaterialstyle.h" +#include + +/*! + * \class QtMaterialTextFieldPrivate + * \internal + */ + +QtMaterialTextFieldPrivate::QtMaterialTextFieldPrivate(QtMaterialTextField *q) + : q_ptr(q) +{ +} + +QtMaterialTextFieldPrivate::~QtMaterialTextFieldPrivate() +{ +} + +void QtMaterialTextFieldPrivate::init() +{ + Q_Q(QtMaterialTextField); + + stateMachine = new QtMaterialTextFieldStateMachine(q); + label = 0; + labelFontSize = 9.5; + showLabel = false; + showInputLine = true; + useThemeColors = true; + + q->setFrame(false); + q->setStyle(&QtMaterialStyle::instance()); + q->setAttribute(Qt::WA_Hover); + q->setMouseTracking(true); + q->setTextMargins(0, 2, 0, 4); + + q->setFont(QFont("Roboto", 11, QFont::Normal)); + + stateMachine->start(); + QCoreApplication::processEvents(); +} + +/*! + * \class QtMaterialTextField + */ + +QtMaterialTextField::QtMaterialTextField(QWidget *parent) + : QLineEdit(parent), + d_ptr(new QtMaterialTextFieldPrivate(this)) +{ + d_func()->init(); +} + +QtMaterialTextField::~QtMaterialTextField() +{ +} + +void QtMaterialTextField::setUseThemeColors(bool value) +{ + Q_D(QtMaterialTextField); + + if (d->useThemeColors == value) { + return; + } + + d->useThemeColors = value; + d->stateMachine->setupProperties(); +} + +bool QtMaterialTextField::useThemeColors() const +{ + Q_D(const QtMaterialTextField); + + return d->useThemeColors; +} + +void QtMaterialTextField::setShowLabel(bool value) +{ + Q_D(QtMaterialTextField); + + if (d->showLabel == value) { + return; + } + + d->showLabel = value; + + if (!d->label && value) { + d->label = new QtMaterialTextFieldLabel(this); + d->stateMachine->setLabel(d->label); + } + + if (value) { + setContentsMargins(0, 23, 0, 0); + } else { + setContentsMargins(0, 0, 0, 0); + } +} + +bool QtMaterialTextField::hasLabel() const +{ + Q_D(const QtMaterialTextField); + + return d->showLabel; +} + +void QtMaterialTextField::setLabelFontSize(qreal size) +{ + Q_D(QtMaterialTextField); + + d->labelFontSize = size; + + if (d->label) + { + QFont font(d->label->font()); + font.setPointSizeF(size); + d->label->setFont(font); + d->label->update(); + } +} + +qreal QtMaterialTextField::labelFontSize() const +{ + Q_D(const QtMaterialTextField); + + return d->labelFontSize; +} + +void QtMaterialTextField::setLabel(const QString &label) +{ + Q_D(QtMaterialTextField); + + d->labelString = label; + setShowLabel(true); + d->label->update(); +} + +QString QtMaterialTextField::label() const +{ + Q_D(const QtMaterialTextField); + + return d->labelString; +} + +void QtMaterialTextField::setTextColor(const QColor &color) +{ + Q_D(QtMaterialTextField); + + d->textColor = color; + setStyleSheet(QString("QLineEdit { color: %1; }").arg(color.name())); + + MATERIAL_DISABLE_THEME_COLORS + d->stateMachine->setupProperties(); +} + +QColor QtMaterialTextField::textColor() const +{ + Q_D(const QtMaterialTextField); + + if (d->useThemeColors || !d->textColor.isValid()) { + return QtMaterialStyle::instance().themeColor("text"); + } else { + return d->textColor; + } +} + +void QtMaterialTextField::setLabelColor(const QColor &color) +{ + Q_D(QtMaterialTextField); + + d->labelColor = color; + + MATERIAL_DISABLE_THEME_COLORS + d->stateMachine->setupProperties(); +} + +QColor QtMaterialTextField::labelColor() const +{ + Q_D(const QtMaterialTextField); + + if (d->useThemeColors || !d->labelColor.isValid()) { + return QtMaterialStyle::instance().themeColor("accent3"); + } else { + return d->labelColor; + } +} + +void QtMaterialTextField::setInkColor(const QColor &color) +{ + Q_D(QtMaterialTextField); + + d->inkColor = color; + + MATERIAL_DISABLE_THEME_COLORS + d->stateMachine->setupProperties(); +} + +QColor QtMaterialTextField::inkColor() const +{ + Q_D(const QtMaterialTextField); + + if (d->useThemeColors || !d->inkColor.isValid()) { + return QtMaterialStyle::instance().themeColor("primary1"); + } else { + return d->inkColor; + } +} + +void QtMaterialTextField::setInputLineColor(const QColor &color) +{ + Q_D(QtMaterialTextField); + + d->inputLineColor = color; + + MATERIAL_DISABLE_THEME_COLORS + d->stateMachine->setupProperties(); +} + +QColor QtMaterialTextField::inputLineColor() const +{ + Q_D(const QtMaterialTextField); + + if (d->useThemeColors || !d->inputLineColor.isValid()) { + return QtMaterialStyle::instance().themeColor("border"); + } else { + return d->inputLineColor; + } +} + +void QtMaterialTextField::setShowInputLine(bool value) +{ + Q_D(QtMaterialTextField); + + if (d->showInputLine == value) { + return; + } + + d->showInputLine = value; + update(); +} + +bool QtMaterialTextField::hasInputLine() const +{ + Q_D(const QtMaterialTextField); + + return d->showInputLine; +} + +QtMaterialTextField::QtMaterialTextField(QtMaterialTextFieldPrivate &d, QWidget *parent) + : QLineEdit(parent), + d_ptr(&d) +{ + d_func()->init(); +} + +/*! + * \reimp + */ +bool QtMaterialTextField::event(QEvent *event) +{ + Q_D(QtMaterialTextField); + + switch (event->type()) + { + case QEvent::Resize: + case QEvent::Move: { + if (d->label) { + d->label->setGeometry(rect()); + } + } + default: + break; + } + return QLineEdit::event(event); +} + +/*! + * \reimp + */ +void QtMaterialTextField::paintEvent(QPaintEvent *event) +{ + Q_D(QtMaterialTextField); + + QLineEdit::paintEvent(event); + + QPainter painter(this); + + const qreal progress = d->stateMachine->progress(); + + if (text().isEmpty() && progress < 1) + { + painter.setOpacity(1-progress); + painter.fillRect(rect(), parentWidget()->palette().color(backgroundRole())); + } + + const int y = height()-1; + const int wd = width()-5; + + if (d->showInputLine) + { + QPen pen; + pen.setWidth(1); + pen.setColor(inputLineColor()); + + if (!isEnabled()) + pen.setStyle(Qt::DashLine); + + painter.setPen(pen); + painter.setOpacity(1); + painter.drawLine(QLineF(2.5, y, wd, y)); + + QBrush brush; + brush.setStyle(Qt::SolidPattern); + brush.setColor(inkColor()); + + if (progress > 0) + { + painter.setPen(Qt::NoPen); + painter.setBrush(brush); + const int w = (1-progress)*static_cast(wd/2); + painter.drawRect(w+2.5, height()-2, wd-w*2, 2); + } + } +} diff --git a/src/material-widgets/qtmaterialtextfield.h b/src/material-widgets/qtmaterialtextfield.h new file mode 100644 index 0000000..dead5cc --- /dev/null +++ b/src/material-widgets/qtmaterialtextfield.h @@ -0,0 +1,61 @@ +#ifndef QTMATERIALTEXTFIELD_H +#define QTMATERIALTEXTFIELD_H + +#include +#include + +class QtMaterialTextFieldPrivate; + +class QtMaterialTextField : public QLineEdit +{ + Q_OBJECT + + Q_PROPERTY(QColor textColor WRITE setTextColor READ textColor) + Q_PROPERTY(QColor inkColor WRITE setInkColor READ inkColor) + Q_PROPERTY(QColor inputLineColor WRITE setInputLineColor READ inputLineColor) + +public: + explicit QtMaterialTextField(QWidget *parent = 0); + ~QtMaterialTextField(); + + void setUseThemeColors(bool value); + bool useThemeColors() const; + + void setShowLabel(bool value); + bool hasLabel() const; + + void setLabelFontSize(qreal size); + qreal labelFontSize() const; + + void setLabel(const QString &label); + QString label() const; + + void setTextColor(const QColor &color); + QColor textColor() const; + + void setLabelColor(const QColor &color); + QColor labelColor() const; + + void setInkColor(const QColor &color); + QColor inkColor() const; + + void setInputLineColor(const QColor &color); + QColor inputLineColor() const; + + void setShowInputLine(bool value); + bool hasInputLine() const; + +protected: + QtMaterialTextField(QtMaterialTextFieldPrivate &d, QWidget *parent = 0); + + bool event(QEvent *event) Q_DECL_OVERRIDE; + void paintEvent(QPaintEvent *event) Q_DECL_OVERRIDE; + + const QScopedPointer d_ptr; + +private: + Q_DISABLE_COPY(QtMaterialTextField) + Q_DECLARE_PRIVATE(QtMaterialTextField) +}; + +#endif // QTMATERIALTEXTFIELD_H diff --git a/src/material-widgets/qtmaterialtextfield_internal.cpp b/src/material-widgets/qtmaterialtextfield_internal.cpp new file mode 100644 index 0000000..b8b4ce7 --- /dev/null +++ b/src/material-widgets/qtmaterialtextfield_internal.cpp @@ -0,0 +1,164 @@ +#include "qtmaterialtextfield_internal.h" +#include +#include +#include +#include "qtmaterialtextfield.h" + +/*! + * \class QtMaterialTextFieldStateMachine + * \internal + */ + +QtMaterialTextFieldStateMachine::QtMaterialTextFieldStateMachine(QtMaterialTextField *parent) + : QStateMachine(parent), + m_textField(parent), + m_normalState(new QState), + m_focusedState(new QState), + m_label(0), + m_offsetAnimation(0), + m_colorAnimation(0), + m_progress(0.0) +{ + Q_ASSERT(parent); + + addState(m_normalState); + addState(m_focusedState); + + setInitialState(m_normalState); + + QEventTransition *transition; + QPropertyAnimation *animation; + + transition = new QEventTransition(parent, QEvent::FocusIn); + transition->setTargetState(m_focusedState); + m_normalState->addTransition(transition); + + animation = new QPropertyAnimation(this, "progress", this); + animation->setEasingCurve(QEasingCurve::InCubic); + animation->setDuration(310); + transition->addAnimation(animation); + + transition = new QEventTransition(parent, QEvent::FocusOut); + transition->setTargetState(m_normalState); + m_focusedState->addTransition(transition); + + animation = new QPropertyAnimation(this, "progress", this); + animation->setEasingCurve(QEasingCurve::OutCubic); + animation->setDuration(310); + transition->addAnimation(animation); + + m_normalState->assignProperty(this, "progress", 0); + m_focusedState->assignProperty(this, "progress", 1); + + setupProperties(); + + connect(m_textField, SIGNAL(textChanged(QString)), this, SLOT(setupProperties())); +} + +QtMaterialTextFieldStateMachine::~QtMaterialTextFieldStateMachine() +{ +} + +void QtMaterialTextFieldStateMachine::setLabel(QtMaterialTextFieldLabel *label) +{ + if (m_label) { + delete m_label; + } + + if (m_offsetAnimation) { + removeDefaultAnimation(m_offsetAnimation); + delete m_offsetAnimation; + } + + if (m_colorAnimation) { + removeDefaultAnimation(m_colorAnimation); + delete m_colorAnimation; + } + + m_label = label; + + if (m_label) + { + m_offsetAnimation = new QPropertyAnimation(m_label, "offset", this); + m_offsetAnimation->setDuration(210); + m_offsetAnimation->setEasingCurve(QEasingCurve::OutCubic); + addDefaultAnimation(m_offsetAnimation); + + m_colorAnimation = new QPropertyAnimation(m_label, "color", this); + m_colorAnimation->setDuration(210); + addDefaultAnimation(m_colorAnimation); + } + + setupProperties(); +} + +void QtMaterialTextFieldStateMachine::setupProperties() +{ + if (m_label) + { + const int m = m_textField->textMargins().top(); + + if (m_textField->text().isEmpty()) { + m_normalState->assignProperty(m_label, "offset", QPointF(0, 26)); + } else { + m_normalState->assignProperty(m_label, "offset", QPointF(0, 0-m)); + } + + m_focusedState->assignProperty(m_label, "offset", QPointF(0, 0-m)); + m_focusedState->assignProperty(m_label, "color", m_textField->inkColor()); + m_normalState->assignProperty(m_label, "color", m_textField->labelColor()); + + if (0 != m_label->offset().y() && !m_textField->text().isEmpty()) { + m_label->setOffset(QPointF(0, 0-m)); + } else if (!m_textField->hasFocus() && m_label->offset().y() <= 0 && m_textField->text().isEmpty()) { + m_label->setOffset(QPointF(0, 26)); + } + } + + m_textField->update(); +} + +/*! + * \class QtMaterialTextFieldLabel + * \internal + */ + +QtMaterialTextFieldLabel::QtMaterialTextFieldLabel(QtMaterialTextField *parent) + : QWidget(parent), + m_textField(parent), + m_scale(1), + m_posX(0), + m_posY(26), + m_color(parent->labelColor()) +{ + Q_ASSERT(parent); + + QFont font("Roboto", parent->labelFontSize(), QFont::Medium); + font.setLetterSpacing(QFont::PercentageSpacing, 102); + setFont(font); +} + +QtMaterialTextFieldLabel::~QtMaterialTextFieldLabel() +{ +} + +/*! + * \reimp + */ +void QtMaterialTextFieldLabel::paintEvent(QPaintEvent *event) +{ + Q_UNUSED(event) + + if (!m_textField->hasLabel()) { + return; + } + + QPainter painter(this); + painter.setRenderHint(QPainter::Antialiasing); + painter.scale(m_scale, m_scale); + painter.setPen(m_color); + painter.setOpacity(1); + + QPointF pos(2+m_posX, height()-36+m_posY); + painter.drawText(pos.x(), pos.y(), m_textField->label()); +} diff --git a/src/material-widgets/qtmaterialtextfield_internal.h b/src/material-widgets/qtmaterialtextfield_internal.h new file mode 100644 index 0000000..e510287 --- /dev/null +++ b/src/material-widgets/qtmaterialtextfield_internal.h @@ -0,0 +1,120 @@ +#ifndef QTMATERIALTEXTFIELD_INTERNAL_H +#define QTMATERIALTEXTFIELD_INTERNAL_H + +#include +#include +#include "qtmaterialtextfield.h" + +class QPropertyAnimation; +class QtMaterialTextFieldLabel; + +class QtMaterialTextFieldStateMachine : public QStateMachine +{ + Q_OBJECT + + Q_PROPERTY(qreal progress WRITE setProgress READ progress) + +public: + QtMaterialTextFieldStateMachine(QtMaterialTextField *parent); + ~QtMaterialTextFieldStateMachine(); + + void setLabel(QtMaterialTextFieldLabel *label); + + inline void setProgress(qreal progress); + inline qreal progress() const; + +public slots: + void setupProperties(); + +private: + Q_DISABLE_COPY(QtMaterialTextFieldStateMachine) + + QtMaterialTextField *const m_textField; + QState *const m_normalState; + QState *const m_focusedState; + QtMaterialTextFieldLabel *m_label; + QPropertyAnimation *m_offsetAnimation; + QPropertyAnimation *m_colorAnimation; + qreal m_progress; +}; + +inline void QtMaterialTextFieldStateMachine::setProgress(qreal progress) +{ + m_progress = progress; + m_textField->update(); +} + +inline qreal QtMaterialTextFieldStateMachine::progress() const +{ + return m_progress; +} + +class QtMaterialTextFieldLabel : public QWidget +{ + Q_OBJECT + + Q_PROPERTY(qreal scale WRITE setScale READ scale) + Q_PROPERTY(QPointF offset WRITE setOffset READ offset) + Q_PROPERTY(QColor color WRITE setColor READ color) + +public: + QtMaterialTextFieldLabel(QtMaterialTextField *parent); + ~QtMaterialTextFieldLabel(); + + inline void setScale(qreal scale); + inline qreal scale() const; + + inline void setOffset(const QPointF &pos); + inline QPointF offset() const; + + inline void setColor(const QColor &color); + inline QColor color() const; + +protected: + void paintEvent(QPaintEvent *event) Q_DECL_OVERRIDE; + +private: + Q_DISABLE_COPY(QtMaterialTextFieldLabel) + + QtMaterialTextField *const m_textField; + qreal m_scale; + qreal m_posX; + qreal m_posY; + QColor m_color; +}; + +inline void QtMaterialTextFieldLabel::setScale(qreal scale) +{ + m_scale = scale; + update(); +} + +inline qreal QtMaterialTextFieldLabel::scale() const +{ + return m_scale; +} + +inline void QtMaterialTextFieldLabel::setOffset(const QPointF &pos) +{ + m_posX = pos.x(); + m_posY = pos.y(); + update(); +} + +inline QPointF QtMaterialTextFieldLabel::offset() const +{ + return QPointF(m_posX, m_posY); +} + +inline void QtMaterialTextFieldLabel::setColor(const QColor &color) +{ + m_color = color; + update(); +} + +inline QColor QtMaterialTextFieldLabel::color() const +{ + return m_color; +} + +#endif // QTMATERIALTEXTFIELD_INTERNAL_H diff --git a/src/material-widgets/qtmaterialtextfield_p.h b/src/material-widgets/qtmaterialtextfield_p.h new file mode 100644 index 0000000..9e8c835 --- /dev/null +++ b/src/material-widgets/qtmaterialtextfield_p.h @@ -0,0 +1,36 @@ +#ifndef QTMATERIALTEXTFIELD_P_H +#define QTMATERIALTEXTFIELD_P_H + +#include +#include + +class QtMaterialTextField; +class QtMaterialTextFieldStateMachine; +class QtMaterialTextFieldLabel; + +class QtMaterialTextFieldPrivate +{ + Q_DISABLE_COPY(QtMaterialTextFieldPrivate) + Q_DECLARE_PUBLIC(QtMaterialTextField) + +public: + QtMaterialTextFieldPrivate(QtMaterialTextField *q); + virtual ~QtMaterialTextFieldPrivate(); + + void init(); + + QtMaterialTextField *const q_ptr; + QtMaterialTextFieldStateMachine *stateMachine; + QtMaterialTextFieldLabel *label; + QColor textColor; + QColor labelColor; + QColor inkColor; + QColor inputLineColor; + QString labelString; + qreal labelFontSize; + bool showLabel; + bool showInputLine; + bool useThemeColors; +}; + +#endif // QTMATERIALTEXTFIELD_P_H diff --git a/src/material-widgets/qtmaterialtoggle.cpp b/src/material-widgets/qtmaterialtoggle.cpp new file mode 100644 index 0000000..6d11fc9 --- /dev/null +++ b/src/material-widgets/qtmaterialtoggle.cpp @@ -0,0 +1,298 @@ +#include "qtmaterialtoggle.h" +#include "qtmaterialtoggle_p.h" +#include +#include +#include +#include +#include "qtmaterialtoggle_internal.h" +#include "lib/qtmaterialstyle.h" + +/*! + * \class QtMaterialTogglePrivate + * \internal + */ + +QtMaterialTogglePrivate::QtMaterialTogglePrivate(QtMaterialToggle *q) + : q_ptr(q) +{ +} + +QtMaterialTogglePrivate::~QtMaterialTogglePrivate() +{ +} + +void QtMaterialTogglePrivate::init() +{ + Q_Q(QtMaterialToggle); + + track = new QtMaterialToggleTrack(q); + thumb = new QtMaterialToggleThumb(q); + rippleOverlay = new QtMaterialToggleRippleOverlay(thumb, track, q); + stateMachine = new QStateMachine(q); + offState = new QState; + onState = new QState; + orientation = Qt::Horizontal; + useThemeColors = true; + + q->setCheckable(true); + q->setChecked(false); + q->setSizePolicy(QSizePolicy::Maximum, QSizePolicy::Maximum); + + stateMachine->addState(offState); + stateMachine->addState(onState); + stateMachine->setInitialState(offState); + + offState->assignProperty(thumb, "shift", 0); + onState->assignProperty(thumb, "shift", 1); + + QSignalTransition *transition; + QPropertyAnimation *animation; + + // + + transition = new QSignalTransition(q, SIGNAL(toggled(bool))); + transition->setTargetState(onState); + offState->addTransition(transition); + + animation = new QPropertyAnimation(q); + animation->setPropertyName("shift"); + animation->setTargetObject(thumb); + animation->setDuration(200); + animation->setEasingCurve(QEasingCurve::OutQuad); + transition->addAnimation(animation); + + animation = new QPropertyAnimation(q); + animation->setPropertyName("trackColor"); + animation->setTargetObject(track); + animation->setDuration(150); + transition->addAnimation(animation); + + animation = new QPropertyAnimation(q); + animation->setPropertyName("thumbColor"); + animation->setTargetObject(thumb); + animation->setDuration(150); + transition->addAnimation(animation); + + // + + transition = new QSignalTransition(q, SIGNAL(toggled(bool))); + transition->setTargetState(offState); + onState->addTransition(transition); + + animation = new QPropertyAnimation(q); + animation->setPropertyName("shift"); + animation->setTargetObject(thumb); + animation->setDuration(200); + animation->setEasingCurve(QEasingCurve::OutQuad); + transition->addAnimation(animation); + + animation = new QPropertyAnimation(q); + animation->setPropertyName("trackColor"); + animation->setTargetObject(track); + animation->setDuration(150); + transition->addAnimation(animation); + + animation = new QPropertyAnimation(q); + animation->setPropertyName("thumbColor"); + animation->setTargetObject(thumb); + animation->setDuration(150); + transition->addAnimation(animation); + + // + + setupProperties(); + + stateMachine->start(); + QCoreApplication::processEvents(); +} + +void QtMaterialTogglePrivate::setupProperties() +{ + Q_Q(QtMaterialToggle); + + if (q->isEnabled()) { + const qreal shift = thumb->shift(); + if (qFuzzyCompare(shift, 1)) { + thumb->setThumbColor(q->activeColor()); + track->setTrackColor(q->activeColor().lighter(110)); + } else if (qFuzzyCompare(1+shift, 1)) { + thumb->setThumbColor(q->inactiveColor()); + track->setTrackColor(q->trackColor()); + } + } + + offState->assignProperty(track, "trackColor", q->trackColor().lighter(110)); + onState->assignProperty(track, "trackColor", q->activeColor().lighter(110)); + + offState->assignProperty(thumb, "thumbColor", q->inactiveColor()); + onState->assignProperty(thumb, "thumbColor", q->activeColor()); + + q->update(); +} + +/*! + * \class QtMaterialToggle + */ + +QtMaterialToggle::QtMaterialToggle(QWidget *parent) + : QAbstractButton(parent), + d_ptr(new QtMaterialTogglePrivate(this)) +{ + d_func()->init(); +} + +QtMaterialToggle::~QtMaterialToggle() +{ +} + +void QtMaterialToggle::setUseThemeColors(bool value) +{ + Q_D(QtMaterialToggle); + + d->useThemeColors = value; + d->setupProperties(); +} + +bool QtMaterialToggle::useThemeColors() const +{ + Q_D(const QtMaterialToggle); + + return d->useThemeColors; +} + +void QtMaterialToggle::setDisabledColor(const QColor &color) +{ + Q_D(QtMaterialToggle); + + d->disabledColor = color; + + MATERIAL_DISABLE_THEME_COLORS + d->setupProperties(); +} + +QColor QtMaterialToggle::disabledColor() const +{ + Q_D(const QtMaterialToggle); + + if (d->useThemeColors || !d->disabledColor.isValid()) { + return QtMaterialStyle::instance().themeColor("disabled"); + } else { + return d->disabledColor; + } +} + +void QtMaterialToggle::setActiveColor(const QColor &color) +{ + Q_D(QtMaterialToggle); + + d->activeColor = color; + + MATERIAL_DISABLE_THEME_COLORS + d->setupProperties(); +} + +QColor QtMaterialToggle::activeColor() const +{ + Q_D(const QtMaterialToggle); + + if (d->useThemeColors || !d->activeColor.isValid()) { + return QtMaterialStyle::instance().themeColor("primary1"); + } else { + return d->activeColor; + } +} + +void QtMaterialToggle::setInactiveColor(const QColor &color) +{ + Q_D(QtMaterialToggle); + + d->inactiveColor = color; + + MATERIAL_DISABLE_THEME_COLORS + d->setupProperties(); +} + +QColor QtMaterialToggle::inactiveColor() const +{ + Q_D(const QtMaterialToggle); + + if (d->useThemeColors || !d->inactiveColor.isValid()) { + return QtMaterialStyle::instance().themeColor("canvas"); + } else { + return d->inactiveColor; + } +} + +void QtMaterialToggle::setTrackColor(const QColor &color) +{ + Q_D(QtMaterialToggle); + + d->trackColor = color; + + MATERIAL_DISABLE_THEME_COLORS + d->setupProperties(); +} + +QColor QtMaterialToggle::trackColor() const +{ + Q_D(const QtMaterialToggle); + + if (d->useThemeColors || !d->trackColor.isValid()) { + return QtMaterialStyle::instance().themeColor("accent3"); + } else { + return d->trackColor; + } +} + +void QtMaterialToggle::setOrientation(Qt::Orientation orientation) +{ + Q_D(QtMaterialToggle); + + if (d->orientation == orientation) { + return; + } + + d->orientation = orientation; + updateGeometry(); +} + +Qt::Orientation QtMaterialToggle::orientation() const +{ + Q_D(const QtMaterialToggle); + + return d->orientation; +} + +QSize QtMaterialToggle::sizeHint() const +{ + Q_D(const QtMaterialToggle); + + return Qt::Horizontal == d->orientation + ? QSize(64, 48) + : QSize(48, 64); +} + +bool QtMaterialToggle::event(QEvent *event) +{ + Q_D(QtMaterialToggle); + + switch (event->type()) + { + case QEvent::ParentChange: + { + QWidget *widget; + if ((widget = parentWidget())) { + d->rippleOverlay->setParent(widget); + } + break; + } + default: + break; + } + return QAbstractButton::event(event); +} + +void QtMaterialToggle::paintEvent(QPaintEvent *event) +{ + Q_UNUSED(event) +} diff --git a/src/material-widgets/qtmaterialtoggle.h b/src/material-widgets/qtmaterialtoggle.h new file mode 100644 index 0000000..5d5a557 --- /dev/null +++ b/src/material-widgets/qtmaterialtoggle.h @@ -0,0 +1,52 @@ +#ifndef QTMATERIALTOGGLE_H +#define QTMATERIALTOGGLE_H + +#include + +class QtMaterialTogglePrivate; + +class QtMaterialToggle : public QAbstractButton +{ + Q_OBJECT + + Q_PROPERTY(QColor disabledColor WRITE setDisabledColor READ disabledColor) + Q_PROPERTY(QColor activeColor WRITE setActiveColor READ activeColor) + Q_PROPERTY(QColor inactiveColor WRITE setInactiveColor READ inactiveColor) + Q_PROPERTY(QColor trackColor WRITE setTrackColor READ trackColor) + +public: + explicit QtMaterialToggle(QWidget *parent = 0); + ~QtMaterialToggle(); + + void setUseThemeColors(bool value); + bool useThemeColors() const; + + void setDisabledColor(const QColor &color); + QColor disabledColor() const; + + void setActiveColor(const QColor &color); + QColor activeColor() const; + + void setInactiveColor(const QColor &color); + QColor inactiveColor() const; + + void setTrackColor(const QColor &color); + QColor trackColor() const; + + void setOrientation(Qt::Orientation orientation); + Qt::Orientation orientation() const; + + QSize sizeHint() const Q_DECL_OVERRIDE; + +protected: + bool event(QEvent *event) Q_DECL_OVERRIDE; + void paintEvent(QPaintEvent *event) Q_DECL_OVERRIDE; + + const QScopedPointer d_ptr; + +private: + Q_DISABLE_COPY(QtMaterialToggle) + Q_DECLARE_PRIVATE(QtMaterialToggle) +}; + +#endif // QTMATERIALTOGGLE_H diff --git a/src/material-widgets/qtmaterialtoggle_internal.cpp b/src/material-widgets/qtmaterialtoggle_internal.cpp new file mode 100644 index 0000000..9bcf823 --- /dev/null +++ b/src/material-widgets/qtmaterialtoggle_internal.cpp @@ -0,0 +1,231 @@ +#include "qtmaterialtoggle_internal.h" +#include +#include +#include +#include "qtmaterialtoggle.h" +#include "lib/qtmaterialripple.h" + +/*! + * \class QtMaterialToggleRippleOverlay + * \internal + */ + +QtMaterialToggleRippleOverlay::QtMaterialToggleRippleOverlay( + QtMaterialToggleThumb *thumb, + QtMaterialToggleTrack *track, + QtMaterialToggle *parent) + : QtMaterialRippleOverlay(parent->parentWidget()), + m_toggle(parent), + m_thumb(thumb), + m_track(track) +{ + connect(parent, SIGNAL(toggled(bool)), this, SLOT(addToggleRipple())); + + thumb->installEventFilter(this); +} + +QtMaterialToggleRippleOverlay::~QtMaterialToggleRippleOverlay() +{ +} + +void QtMaterialToggleRippleOverlay::addToggleRipple() +{ + if (!m_toggle->isEnabled()) { + return; + } + + int t, w; + + if (Qt::Horizontal == m_toggle->orientation()) { + t = m_toggle->height()/2; + w = m_thumb->height()/2+10; + } else { + t = m_toggle->width()/2; + w = m_thumb->width()/2+10; + } + + QtMaterialRipple *ripple = new QtMaterialRipple(QPoint(10+t, 20+t)); + ripple->setColor(m_track->trackColor()); + ripple->setRadiusEndValue(w); + ripple->setOpacityStartValue(0.8); + + addRipple(ripple); +} + +bool QtMaterialToggleRippleOverlay::eventFilter(QObject *obj, QEvent *event) +{ + if (QEvent::Paint == event->type()) { + setGeometry(overlayGeometry()); + QList::const_iterator i; + QList items = ripples(); + QColor color = m_track->trackColor(); + for (i = items.begin(); i != items.end(); ++i) { + (*i)->setColor(color); + } + } + return QtMaterialRippleOverlay::eventFilter(obj, event); +} + +QRect QtMaterialToggleRippleOverlay::overlayGeometry() const +{ + const qreal offset = m_thumb->offset(); + if (Qt::Horizontal == m_toggle->orientation()) { + return m_toggle->geometry().adjusted(-10+offset, -20, 10+offset, 20); + } else { + return m_toggle->geometry().adjusted(-10, -20+offset, 10, 20+offset); + } +} + +/*! + * \class QtMaterialToggleThumb + * \internal + */ + +QtMaterialToggleThumb::QtMaterialToggleThumb(QtMaterialToggle *parent) + : QWidget(parent), + m_toggle(parent), + m_shift(0), + m_offset(0) +{ + Q_ASSERT(parent); + + QGraphicsDropShadowEffect *effect = new QGraphicsDropShadowEffect; + effect->setBlurRadius(6); + effect->setColor(QColor(0, 0, 0, 80)); + effect->setOffset(QPointF(0, 1)); + setGraphicsEffect(effect); + + parent->installEventFilter(this); +} + +QtMaterialToggleThumb::~QtMaterialToggleThumb() +{ +} + +void QtMaterialToggleThumb::setShift(qreal shift) +{ + if (m_shift == shift) { + return; + } + + m_shift = shift; + updateOffset(); +} + +bool QtMaterialToggleThumb::eventFilter(QObject *obj, QEvent *event) +{ + const QEvent::Type type = event->type(); + + if (QEvent::Resize == type || QEvent::Move == type) + { + setGeometry(m_toggle->rect().adjusted(8, 8, -8, -8)); + updateOffset(); + } + return QWidget::eventFilter(obj, event); +} + +void QtMaterialToggleThumb::paintEvent(QPaintEvent *event) +{ + Q_UNUSED(event) + + QPainter painter(this); + painter.setRenderHint(QPainter::Antialiasing); + + QBrush brush; + brush.setStyle(Qt::SolidPattern); + brush.setColor(m_toggle->isEnabled() ? m_thumbColor : Qt::white); + + painter.setBrush(brush); + painter.setPen(Qt::NoPen); + + int s; + QRectF r; + + if (Qt::Horizontal == m_toggle->orientation()) { + s = height()-10; + r = QRectF(5+m_offset, 5, s, s); + } else { + s = width()-10; + r = QRectF(5, 5+m_offset, s, s); + } + + painter.drawEllipse(r); + + if (!m_toggle->isEnabled()) { + brush.setColor(m_toggle->disabledColor()); + painter.setBrush(brush); + painter.drawEllipse(r); + } +} + +void QtMaterialToggleThumb::updateOffset() +{ + const QSize s(Qt::Horizontal == m_toggle->orientation() + ? size() : size().transposed()); + m_offset = m_shift*static_cast(s.width()-s.height()); + update(); +} + +/*! + * \class QtMaterialToggleTrack + * \internal + */ + +QtMaterialToggleTrack::QtMaterialToggleTrack(QtMaterialToggle *parent) + : QWidget(parent), + m_toggle(parent) +{ + Q_ASSERT(parent); + + parent->installEventFilter(this); +} + +QtMaterialToggleTrack::~QtMaterialToggleTrack() +{ +} + +void QtMaterialToggleTrack::setTrackColor(const QColor &color) +{ + m_trackColor = color; + update(); +} + +bool QtMaterialToggleTrack::eventFilter(QObject *obj, QEvent *event) +{ + const QEvent::Type type = event->type(); + + if (QEvent::Resize == type || QEvent::Move == type) { + setGeometry(m_toggle->rect()); + } + return QWidget::eventFilter(obj, event); +} + +void QtMaterialToggleTrack::paintEvent(QPaintEvent *event) +{ + Q_UNUSED(event) + + QPainter painter(this); + painter.setRenderHint(QPainter::Antialiasing); + + QBrush brush; + if (m_toggle->isEnabled()) { + brush.setColor(m_trackColor); + painter.setOpacity(0.8); + } else { + brush.setColor(m_toggle->disabledColor()); + painter.setOpacity(0.6); + } + brush.setStyle(Qt::SolidPattern); + painter.setBrush(brush); + painter.setPen(Qt::NoPen); + + if (Qt::Horizontal == m_toggle->orientation()) { + const int h = height()/2; + const QRect r(0, h/2, width(), h); + painter.drawRoundedRect(r.adjusted(14, 4, -14, -4), h/2-4, h/2-4); + } else { + const int w = width()/2; + const QRect r(w/2, 0, w, height()); + painter.drawRoundedRect(r.adjusted(4, 14, -4, -14), w/2-4, w/2-4); + } +} diff --git a/src/material-widgets/qtmaterialtoggle_internal.h b/src/material-widgets/qtmaterialtoggle_internal.h new file mode 100644 index 0000000..079e369 --- /dev/null +++ b/src/material-widgets/qtmaterialtoggle_internal.h @@ -0,0 +1,120 @@ +#ifndef QTMATERIALTOGGLE_INTERNAL_H +#define QTMATERIALTOGGLE_INTERNAL_H + +#include +#include "lib/qtmaterialrippleoverlay.h" + +class QtMaterialToggle; +class QtMaterialToggleThumb; +class QtMaterialToggleTrack; + +class QtMaterialToggleRippleOverlay : public QtMaterialRippleOverlay +{ + Q_OBJECT + +public: + QtMaterialToggleRippleOverlay(QtMaterialToggleThumb *thumb, + QtMaterialToggleTrack *track, + QtMaterialToggle *parent); + ~QtMaterialToggleRippleOverlay(); + +protected slots: + void addToggleRipple(); + +protected: + bool eventFilter(QObject *obj, QEvent *event) Q_DECL_OVERRIDE; + QRect overlayGeometry() const Q_DECL_OVERRIDE; + +private: + Q_DISABLE_COPY(QtMaterialToggleRippleOverlay) + + QtMaterialToggle *const m_toggle; + QtMaterialToggleThumb *const m_thumb; + QtMaterialToggleTrack *const m_track; +}; + +class QtMaterialToggleThumb : public QWidget +{ + Q_OBJECT + + Q_PROPERTY(qreal shift WRITE setShift READ shift) + Q_PROPERTY(QColor thumbColor WRITE setThumbColor READ thumbColor) + +public: + QtMaterialToggleThumb(QtMaterialToggle *parent); + ~QtMaterialToggleThumb(); + + void setShift(qreal shift); + inline qreal shift() const; + + inline qreal offset() const; + + inline void setThumbColor(const QColor &color); + inline QColor thumbColor() const; + +protected: + bool eventFilter(QObject *obj, QEvent *event) Q_DECL_OVERRIDE; + void paintEvent(QPaintEvent *event) Q_DECL_OVERRIDE; + +private: + Q_DISABLE_COPY(QtMaterialToggleThumb) + + void updateOffset(); + + QtMaterialToggle *const m_toggle; + QColor m_thumbColor; + qreal m_shift; + qreal m_offset; +}; + +inline qreal QtMaterialToggleThumb::shift() const +{ + return m_shift; +} + +inline qreal QtMaterialToggleThumb::offset() const +{ + return m_offset; +} + +inline void QtMaterialToggleThumb::setThumbColor(const QColor &color) +{ + m_thumbColor = color; + update(); +} + +inline QColor QtMaterialToggleThumb::thumbColor() const +{ + return m_thumbColor; +} + +class QtMaterialToggleTrack : public QWidget +{ + Q_OBJECT + + Q_PROPERTY(QColor trackColor WRITE setTrackColor READ trackColor) + +public: + QtMaterialToggleTrack(QtMaterialToggle *parent); + ~QtMaterialToggleTrack(); + + void setTrackColor(const QColor &color); + inline QColor trackColor() const; + +protected: + bool eventFilter(QObject *obj, QEvent *event) Q_DECL_OVERRIDE; + void paintEvent(QPaintEvent *event) Q_DECL_OVERRIDE; + +private: + Q_DISABLE_COPY(QtMaterialToggleTrack) + + QtMaterialToggle *const m_toggle; + QColor m_trackColor; +}; + +inline QColor QtMaterialToggleTrack::trackColor() const +{ + return m_trackColor; +} + +#endif // QTMATERIALTOGGLE_INTERNAL_H diff --git a/src/material-widgets/qtmaterialtoggle_p.h b/src/material-widgets/qtmaterialtoggle_p.h new file mode 100644 index 0000000..f50d5b3 --- /dev/null +++ b/src/material-widgets/qtmaterialtoggle_p.h @@ -0,0 +1,41 @@ +#ifndef QTMATERIALTOGGLE_P_H +#define QTMATERIALTOGGLE_P_H + +#include + +class QStateMachine; +class QState; +class QColor; +class QtMaterialToggle; +class QtMaterialToggleTrack; +class QtMaterialToggleThumb; +class QtMaterialToggleRippleOverlay; + +class QtMaterialTogglePrivate +{ + Q_DISABLE_COPY(QtMaterialTogglePrivate) + Q_DECLARE_PUBLIC(QtMaterialToggle) + +public: + QtMaterialTogglePrivate(QtMaterialToggle *q); + ~QtMaterialTogglePrivate(); + + void init(); + void setupProperties(); + + QtMaterialToggle *const q_ptr; + QtMaterialToggleTrack *track; + QtMaterialToggleThumb *thumb; + QtMaterialToggleRippleOverlay *rippleOverlay; + QStateMachine *stateMachine; + QState *offState; + QState *onState; + Qt::Orientation orientation; + QColor disabledColor; + QColor activeColor; + QColor inactiveColor; + QColor trackColor; + bool useThemeColors; +}; + +#endif // QTMATERIALTOGGLE_P_H diff --git a/src/material-widgets/resources.qrc b/src/material-widgets/resources.qrc new file mode 100644 index 0000000..eedc664 --- /dev/null +++ b/src/material-widgets/resources.qrc @@ -0,0 +1,972 @@ + + + fonts/Roboto/Roboto-Black.ttf + fonts/Roboto/Roboto-Bold.ttf + fonts/Roboto/Roboto-Medium.ttf + fonts/Roboto/Roboto-Regular.ttf + fonts/Roboto/Roboto-Light.ttf + fonts/Roboto/Roboto-Thin.ttf + + + icons/communication/svg/production/ic_message_24px.svg + icons/toggle/svg/production/ic_check_box_24px.svg + icons/toggle/svg/production/ic_check_box_outline_blank_24px.svg + icons/toggle/svg/production/ic_indeterminate_check_box_24px.svg + icons/toggle/svg/production/ic_radio_button_checked_24px.svg + icons/toggle/svg/production/ic_radio_button_unchecked_24px.svg + icons/toggle/svg/production/ic_star_24px.svg + icons/toggle/svg/production/ic_star_border_24px.svg + icons/toggle/svg/production/ic_star_half_24px.svg + icons/communication/svg/production/ic_business_24px.svg + icons/communication/svg/production/ic_call_24px.svg + icons/communication/svg/production/ic_call_end_24px.svg + icons/communication/svg/production/ic_call_made_24px.svg + icons/communication/svg/production/ic_call_merge_24px.svg + icons/communication/svg/production/ic_call_missed_24px.svg + icons/communication/svg/production/ic_call_missed_outgoing_24px.svg + icons/communication/svg/production/ic_call_received_24px.svg + icons/communication/svg/production/ic_call_split_24px.svg + icons/communication/svg/production/ic_chat_24px.svg + icons/communication/svg/production/ic_chat_bubble_24px.svg + icons/communication/svg/production/ic_chat_bubble_outline_24px.svg + icons/communication/svg/production/ic_clear_all_24px.svg + icons/communication/svg/production/ic_comment_24px.svg + icons/communication/svg/production/ic_contact_mail_24px.svg + icons/communication/svg/production/ic_contact_phone_24px.svg + icons/communication/svg/production/ic_contacts_24px.svg + icons/communication/svg/production/ic_dialer_sip_24px.svg + icons/communication/svg/production/ic_dialpad_24px.svg + icons/communication/svg/production/ic_email_24px.svg + icons/communication/svg/production/ic_forum_24px.svg + icons/communication/svg/production/ic_import_contacts_24px.svg + icons/communication/svg/production/ic_import_export_24px.svg + icons/communication/svg/production/ic_invert_colors_off_24px.svg + icons/communication/svg/production/ic_live_help_24px.svg + icons/communication/svg/production/ic_location_off_24px.svg + icons/communication/svg/production/ic_location_on_24px.svg + icons/communication/svg/production/ic_mail_outline_24px.svg + icons/communication/svg/production/ic_no_sim_24px.svg + icons/communication/svg/production/ic_phone_24px.svg + icons/communication/svg/production/ic_phonelink_erase_24px.svg + icons/communication/svg/production/ic_phonelink_lock_24px.svg + icons/communication/svg/production/ic_phonelink_ring_24px.svg + icons/communication/svg/production/ic_phonelink_setup_24px.svg + icons/communication/svg/production/ic_portable_wifi_off_24px.svg + icons/communication/svg/production/ic_present_to_all_24px.svg + icons/communication/svg/production/ic_ring_volume_24px.svg + icons/communication/svg/production/ic_rss_feed_24px.svg + icons/communication/svg/production/ic_screen_share_24px.svg + icons/communication/svg/production/ic_speaker_phone_24px.svg + icons/communication/svg/production/ic_stay_current_landscape_24px.svg + icons/communication/svg/production/ic_stay_current_portrait_24px.svg + icons/communication/svg/production/ic_stay_primary_landscape_24px.svg + icons/communication/svg/production/ic_stay_primary_portrait_24px.svg + icons/communication/svg/production/ic_stop_screen_share_24px.svg + icons/communication/svg/production/ic_swap_calls_24px.svg + icons/communication/svg/production/ic_textsms_24px.svg + icons/communication/svg/production/ic_voicemail_24px.svg + icons/communication/svg/production/ic_vpn_key_24px.svg + icons/action/svg/production/ic_3d_rotation_24px.svg + icons/action/svg/production/ic_accessibility_24px.svg + icons/action/svg/production/ic_accessible_24px.svg + icons/action/svg/production/ic_account_balance_24px.svg + icons/action/svg/production/ic_account_balance_wallet_24px.svg + icons/action/svg/production/ic_account_box_24px.svg + icons/action/svg/production/ic_account_circle_24px.svg + icons/action/svg/production/ic_add_shopping_cart_24px.svg + icons/action/svg/production/ic_alarm_24px.svg + icons/action/svg/production/ic_alarm_add_24px.svg + icons/action/svg/production/ic_alarm_off_24px.svg + icons/action/svg/production/ic_alarm_on_24px.svg + icons/action/svg/production/ic_all_out_24px.svg + icons/action/svg/production/ic_android_24px.svg + icons/action/svg/production/ic_announcement_24px.svg + icons/action/svg/production/ic_aspect_ratio_24px.svg + icons/action/svg/production/ic_assessment_24px.svg + icons/action/svg/production/ic_assignment_24px.svg + icons/action/svg/production/ic_assignment_ind_24px.svg + icons/action/svg/production/ic_assignment_late_24px.svg + icons/action/svg/production/ic_assignment_return_24px.svg + icons/action/svg/production/ic_assignment_returned_24px.svg + icons/action/svg/production/ic_assignment_turned_in_24px.svg + icons/action/svg/production/ic_autorenew_24px.svg + icons/action/svg/production/ic_backup_24px.svg + icons/action/svg/production/ic_book_24px.svg + icons/action/svg/production/ic_bookmark_24px.svg + icons/action/svg/production/ic_bookmark_border_24px.svg + icons/action/svg/production/ic_bug_report_24px.svg + icons/action/svg/production/ic_build_24px.svg + icons/action/svg/production/ic_cached_24px.svg + icons/action/svg/production/ic_camera_enhance_24px.svg + icons/action/svg/production/ic_card_giftcard_24px.svg + icons/action/svg/production/ic_card_membership_24px.svg + icons/action/svg/production/ic_card_travel_24px.svg + icons/action/svg/production/ic_change_history_24px.svg + icons/action/svg/production/ic_check_circle_24px.svg + icons/action/svg/production/ic_chrome_reader_mode_24px.svg + icons/action/svg/production/ic_class_24px.svg + icons/action/svg/production/ic_code_24px.svg + icons/action/svg/production/ic_compare_arrows_24px.svg + icons/action/svg/production/ic_copyright_24px.svg + icons/action/svg/production/ic_credit_card_24px.svg + icons/action/svg/production/ic_dashboard_24px.svg + icons/action/svg/production/ic_date_range_24px.svg + icons/action/svg/production/ic_delete_24px.svg + icons/action/svg/production/ic_delete_forever_24px.svg + icons/action/svg/production/ic_description_24px.svg + icons/action/svg/production/ic_dns_24px.svg + icons/action/svg/production/ic_done_24px.svg + icons/action/svg/production/ic_done_all_24px.svg + icons/action/svg/production/ic_donut_large_24px.svg + icons/action/svg/production/ic_donut_small_24px.svg + icons/action/svg/production/ic_eject_24px.svg + icons/action/svg/production/ic_euro_symbol_24px.svg + icons/action/svg/production/ic_event_24px.svg + icons/action/svg/production/ic_event_seat_24px.svg + icons/action/svg/production/ic_exit_to_app_24px.svg + icons/action/svg/production/ic_explore_24px.svg + icons/action/svg/production/ic_extension_24px.svg + icons/action/svg/production/ic_face_24px.svg + icons/action/svg/production/ic_favorite_24px.svg + icons/action/svg/production/ic_favorite_border_24px.svg + icons/action/svg/production/ic_feedback_24px.svg + icons/action/svg/production/ic_find_in_page_24px.svg + icons/action/svg/production/ic_find_replace_24px.svg + icons/action/svg/production/ic_fingerprint_24px.svg + icons/action/svg/production/ic_flight_land_24px.svg + icons/action/svg/production/ic_flight_takeoff_24px.svg + icons/action/svg/production/ic_flip_to_back_24px.svg + icons/action/svg/production/ic_flip_to_front_24px.svg + icons/action/svg/production/ic_g_translate_24px.svg + icons/action/svg/production/ic_gavel_24px.svg + icons/action/svg/production/ic_get_app_24px.svg + icons/action/svg/production/ic_gif_24px.svg + icons/action/svg/production/ic_grade_24px.svg + icons/action/svg/production/ic_group_work_24px.svg + icons/action/svg/production/ic_help_24px.svg + icons/action/svg/production/ic_help_outline_24px.svg + icons/action/svg/production/ic_highlight_off_24px.svg + icons/action/svg/production/ic_history_24px.svg + icons/action/svg/production/ic_home_24px.svg + icons/action/svg/production/ic_hourglass_empty_24px.svg + icons/action/svg/production/ic_hourglass_full_24px.svg + icons/action/svg/production/ic_http_24px.svg + icons/action/svg/production/ic_https_24px.svg + icons/action/svg/production/ic_important_devices_24px.svg + icons/action/svg/production/ic_info_24px.svg + icons/action/svg/production/ic_info_outline_24px.svg + icons/action/svg/production/ic_input_24px.svg + icons/action/svg/production/ic_invert_colors_24px.svg + icons/action/svg/production/ic_label_24px.svg + icons/action/svg/production/ic_label_outline_24px.svg + icons/action/svg/production/ic_language_24px.svg + icons/action/svg/production/ic_launch_24px.svg + icons/action/svg/production/ic_lightbulb_outline_24px.svg + icons/action/svg/production/ic_line_style_24px.svg + icons/action/svg/production/ic_line_weight_24px.svg + icons/action/svg/production/ic_list_24px.svg + icons/action/svg/production/ic_lock_24px.svg + icons/action/svg/production/ic_lock_open_24px.svg + icons/action/svg/production/ic_lock_outline_24px.svg + icons/action/svg/production/ic_loyalty_24px.svg + icons/action/svg/production/ic_markunread_mailbox_24px.svg + icons/action/svg/production/ic_motorcycle_24px.svg + icons/action/svg/production/ic_note_add_24px.svg + icons/action/svg/production/ic_offline_pin_24px.svg + icons/action/svg/production/ic_opacity_24px.svg + icons/action/svg/production/ic_open_in_browser_24px.svg + icons/action/svg/production/ic_open_in_new_24px.svg + icons/action/svg/production/ic_open_with_24px.svg + icons/action/svg/production/ic_pageview_24px.svg + icons/action/svg/production/ic_pan_tool_24px.svg + icons/action/svg/production/ic_payment_24px.svg + icons/action/svg/production/ic_perm_camera_mic_24px.svg + icons/action/svg/production/ic_perm_contact_calendar_24px.svg + icons/action/svg/production/ic_perm_data_setting_24px.svg + icons/action/svg/production/ic_perm_device_information_24px.svg + icons/action/svg/production/ic_perm_identity_24px.svg + icons/action/svg/production/ic_perm_media_24px.svg + icons/action/svg/production/ic_perm_phone_msg_24px.svg + icons/action/svg/production/ic_perm_scan_wifi_24px.svg + icons/action/svg/production/ic_pets_24px.svg + icons/action/svg/production/ic_picture_in_picture_24px.svg + icons/action/svg/production/ic_picture_in_picture_alt_24px.svg + icons/action/svg/production/ic_play_for_work_24px.svg + icons/action/svg/production/ic_polymer_24px.svg + icons/action/svg/production/ic_power_settings_new_24px.svg + icons/action/svg/production/ic_pregnant_woman_24px.svg + icons/action/svg/production/ic_print_24px.svg + icons/action/svg/production/ic_query_builder_24px.svg + icons/action/svg/production/ic_question_answer_24px.svg + icons/action/svg/production/ic_receipt_24px.svg + icons/action/svg/production/ic_record_voice_over_24px.svg + icons/action/svg/production/ic_redeem_24px.svg + icons/action/svg/production/ic_remove_shopping_cart_24px.svg + icons/action/svg/production/ic_reorder_24px.svg + icons/action/svg/production/ic_report_problem_24px.svg + icons/action/svg/production/ic_restore_24px.svg + icons/action/svg/production/ic_restore_page_24px.svg + icons/action/svg/production/ic_room_24px.svg + icons/action/svg/production/ic_rounded_corner_24px.svg + icons/action/svg/production/ic_rowing_24px.svg + icons/action/svg/production/ic_schedule_24px.svg + icons/action/svg/production/ic_search_24px.svg + icons/action/svg/production/ic_settings_24px.svg + icons/action/svg/production/ic_settings_applications_24px.svg + icons/action/svg/production/ic_settings_backup_restore_24px.svg + icons/action/svg/production/ic_settings_bluetooth_24px.svg + icons/action/svg/production/ic_settings_brightness_24px.svg + icons/action/svg/production/ic_settings_cell_24px.svg + icons/action/svg/production/ic_settings_ethernet_24px.svg + icons/action/svg/production/ic_settings_input_antenna_24px.svg + icons/action/svg/production/ic_settings_input_component_24px.svg + icons/action/svg/production/ic_settings_input_composite_24px.svg + icons/action/svg/production/ic_settings_input_hdmi_24px.svg + icons/action/svg/production/ic_settings_input_svideo_24px.svg + icons/action/svg/production/ic_settings_overscan_24px.svg + icons/action/svg/production/ic_settings_phone_24px.svg + icons/action/svg/production/ic_settings_power_24px.svg + icons/action/svg/production/ic_settings_remote_24px.svg + icons/action/svg/production/ic_settings_voice_24px.svg + icons/action/svg/production/ic_shop_24px.svg + icons/action/svg/production/ic_shop_two_24px.svg + icons/action/svg/production/ic_shopping_basket_24px.svg + icons/action/svg/production/ic_shopping_cart_24px.svg + icons/action/svg/production/ic_speaker_notes_24px.svg + icons/action/svg/production/ic_speaker_notes_off_24px.svg + icons/action/svg/production/ic_spellcheck_24px.svg + icons/action/svg/production/ic_stars_24px.svg + icons/action/svg/production/ic_store_24px.svg + icons/action/svg/production/ic_subject_24px.svg + icons/action/svg/production/ic_supervisor_account_24px.svg + icons/action/svg/production/ic_swap_horiz_24px.svg + icons/action/svg/production/ic_swap_vert_24px.svg + icons/action/svg/production/ic_swap_vertical_circle_24px.svg + icons/action/svg/production/ic_system_update_alt_24px.svg + icons/action/svg/production/ic_tab_24px.svg + icons/action/svg/production/ic_tab_unselected_24px.svg + icons/action/svg/production/ic_theaters_24px.svg + icons/action/svg/production/ic_thumb_down_24px.svg + icons/action/svg/production/ic_thumb_up_24px.svg + icons/action/svg/production/ic_thumbs_up_down_24px.svg + icons/action/svg/production/ic_timeline_24px.svg + icons/action/svg/production/ic_toc_24px.svg + icons/action/svg/production/ic_today_24px.svg + icons/action/svg/production/ic_toll_24px.svg + icons/action/svg/production/ic_touch_app_24px.svg + icons/action/svg/production/ic_track_changes_24px.svg + icons/action/svg/production/ic_translate_24px.svg + icons/action/svg/production/ic_trending_down_24px.svg + icons/action/svg/production/ic_trending_flat_24px.svg + icons/action/svg/production/ic_trending_up_24px.svg + icons/action/svg/production/ic_turned_in_24px.svg + icons/action/svg/production/ic_turned_in_not_24px.svg + icons/action/svg/production/ic_update_24px.svg + icons/action/svg/production/ic_verified_user_24px.svg + icons/action/svg/production/ic_view_agenda_24px.svg + icons/action/svg/production/ic_view_array_24px.svg + icons/action/svg/production/ic_view_carousel_24px.svg + icons/action/svg/production/ic_view_column_24px.svg + icons/action/svg/production/ic_view_day_24px.svg + icons/action/svg/production/ic_view_headline_24px.svg + icons/action/svg/production/ic_view_list_24px.svg + icons/action/svg/production/ic_view_module_24px.svg + icons/action/svg/production/ic_view_quilt_24px.svg + icons/action/svg/production/ic_view_stream_24px.svg + icons/action/svg/production/ic_view_week_24px.svg + icons/action/svg/production/ic_visibility_24px.svg + icons/action/svg/production/ic_visibility_off_24px.svg + icons/action/svg/production/ic_watch_later_24px.svg + icons/action/svg/production/ic_work_24px.svg + icons/action/svg/production/ic_youtube_searched_for_24px.svg + icons/action/svg/production/ic_zoom_in_24px.svg + icons/action/svg/production/ic_zoom_out_24px.svg + icons/alert/svg/production/ic_add_alert_24px.svg + icons/alert/svg/production/ic_error_24px.svg + icons/alert/svg/production/ic_error_outline_24px.svg + icons/alert/svg/production/ic_warning_24px.svg + icons/av/svg/production/ic_add_to_queue_24px.svg + icons/av/svg/production/ic_airplay_24px.svg + icons/av/svg/production/ic_album_24px.svg + icons/av/svg/production/ic_art_track_24px.svg + icons/av/svg/production/ic_av_timer_24px.svg + icons/av/svg/production/ic_branding_watermark_24px.svg + icons/av/svg/production/ic_call_to_action_24px.svg + icons/av/svg/production/ic_closed_caption_24px.svg + icons/av/svg/production/ic_equalizer_24px.svg + icons/av/svg/production/ic_explicit_24px.svg + icons/av/svg/production/ic_fast_forward_24px.svg + icons/av/svg/production/ic_fast_rewind_24px.svg + icons/av/svg/production/ic_featured_play_list_24px.svg + icons/av/svg/production/ic_featured_video_24px.svg + icons/av/svg/production/ic_fiber_dvr_24px.svg + icons/av/svg/production/ic_fiber_manual_record_24px.svg + icons/av/svg/production/ic_fiber_new_24px.svg + icons/av/svg/production/ic_fiber_pin_24px.svg + icons/av/svg/production/ic_fiber_smart_record_24px.svg + icons/av/svg/production/ic_forward_5_24px.svg + icons/av/svg/production/ic_forward_10_24px.svg + icons/av/svg/production/ic_forward_30_24px.svg + icons/av/svg/production/ic_games_24px.svg + icons/av/svg/production/ic_hd_24px.svg + icons/av/svg/production/ic_hearing_24px.svg + icons/av/svg/production/ic_high_quality_24px.svg + icons/av/svg/production/ic_library_add_24px.svg + icons/av/svg/production/ic_library_books_24px.svg + icons/av/svg/production/ic_library_music_24px.svg + icons/av/svg/production/ic_loop_24px.svg + icons/av/svg/production/ic_mic_24px.svg + icons/av/svg/production/ic_mic_none_24px.svg + icons/av/svg/production/ic_mic_off_24px.svg + icons/av/svg/production/ic_movie_24px.svg + icons/av/svg/production/ic_music_video_24px.svg + icons/av/svg/production/ic_new_releases_24px.svg + icons/av/svg/production/ic_not_interested_24px.svg + icons/av/svg/production/ic_note_24px.svg + icons/av/svg/production/ic_pause_24px.svg + icons/av/svg/production/ic_pause_circle_filled_24px.svg + icons/av/svg/production/ic_pause_circle_outline_24px.svg + icons/av/svg/production/ic_play_arrow_24px.svg + icons/av/svg/production/ic_play_circle_filled_24px.svg + icons/av/svg/production/ic_play_circle_outline_24px.svg + icons/av/svg/production/ic_playlist_add_24px.svg + icons/av/svg/production/ic_playlist_add_check_24px.svg + icons/av/svg/production/ic_playlist_play_24px.svg + icons/av/svg/production/ic_queue_24px.svg + icons/av/svg/production/ic_queue_music_24px.svg + icons/av/svg/production/ic_queue_play_next_24px.svg + icons/av/svg/production/ic_radio_24px.svg + icons/av/svg/production/ic_recent_actors_24px.svg + icons/av/svg/production/ic_remove_from_queue_24px.svg + icons/av/svg/production/ic_repeat_24px.svg + icons/av/svg/production/ic_repeat_one_24px.svg + icons/av/svg/production/ic_replay_5_24px.svg + icons/av/svg/production/ic_replay_10_24px.svg + icons/av/svg/production/ic_replay_24px.svg + icons/av/svg/production/ic_replay_30_24px.svg + icons/av/svg/production/ic_shuffle_24px.svg + icons/av/svg/production/ic_skip_next_24px.svg + icons/av/svg/production/ic_skip_previous_24px.svg + icons/av/svg/production/ic_slow_motion_video_24px.svg + icons/av/svg/production/ic_snooze_24px.svg + icons/av/svg/production/ic_sort_by_alpha_24px.svg + icons/av/svg/production/ic_stop_24px.svg + icons/av/svg/production/ic_subscriptions_24px.svg + icons/av/svg/production/ic_subtitles_24px.svg + icons/av/svg/production/ic_surround_sound_24px.svg + icons/av/svg/production/ic_video_call_24px.svg + icons/av/svg/production/ic_video_label_24px.svg + icons/av/svg/production/ic_video_library_24px.svg + icons/av/svg/production/ic_videocam_24px.svg + icons/av/svg/production/ic_videocam_off_24px.svg + icons/av/svg/production/ic_volume_down_24px.svg + icons/av/svg/production/ic_volume_mute_24px.svg + icons/av/svg/production/ic_volume_off_24px.svg + icons/av/svg/production/ic_volume_up_24px.svg + icons/av/svg/production/ic_web_24px.svg + icons/av/svg/production/ic_web_asset_24px.svg + icons/content/svg/production/ic_add_24px.svg + icons/content/svg/production/ic_add_box_24px.svg + icons/content/svg/production/ic_add_circle_24px.svg + icons/content/svg/production/ic_add_circle_outline_24px.svg + icons/content/svg/production/ic_archive_24px.svg + icons/content/svg/production/ic_backspace_24px.svg + icons/content/svg/production/ic_block_24px.svg + icons/content/svg/production/ic_clear_24px.svg + icons/content/svg/production/ic_content_copy_24px.svg + icons/content/svg/production/ic_content_cut_24px.svg + icons/content/svg/production/ic_content_paste_24px.svg + icons/content/svg/production/ic_create_24px.svg + icons/content/svg/production/ic_delete_sweep_24px.svg + icons/content/svg/production/ic_drafts_24px.svg + icons/content/svg/production/ic_filter_list_24px.svg + icons/content/svg/production/ic_flag_24px.svg + icons/content/svg/production/ic_font_download_24px.svg + icons/content/svg/production/ic_forward_24px.svg + icons/content/svg/production/ic_gesture_24px.svg + icons/content/svg/production/ic_inbox_24px.svg + icons/content/svg/production/ic_link_24px.svg + icons/content/svg/production/ic_low_priority_24px.svg + icons/content/svg/production/ic_mail_24px.svg + icons/content/svg/production/ic_markunread_24px.svg + icons/content/svg/production/ic_move_to_inbox_24px.svg + icons/content/svg/production/ic_next_week_24px.svg + icons/content/svg/production/ic_redo_24px.svg + icons/content/svg/production/ic_remove_24px.svg + icons/content/svg/production/ic_remove_circle_24px.svg + icons/content/svg/production/ic_remove_circle_outline_24px.svg + icons/content/svg/production/ic_reply_24px.svg + icons/content/svg/production/ic_reply_all_24px.svg + icons/content/svg/production/ic_report_24px.svg + icons/content/svg/production/ic_save_24px.svg + icons/content/svg/production/ic_select_all_24px.svg + icons/content/svg/production/ic_send_24px.svg + icons/content/svg/production/ic_sort_24px.svg + icons/content/svg/production/ic_text_format_24px.svg + icons/content/svg/production/ic_unarchive_24px.svg + icons/content/svg/production/ic_undo_24px.svg + icons/content/svg/production/ic_weekend_24px.svg + icons/device/svg/production/ic_access_alarm_24px.svg + icons/device/svg/production/ic_access_alarms_24px.svg + icons/device/svg/production/ic_access_time_24px.svg + icons/device/svg/production/ic_add_alarm_24px.svg + icons/device/svg/production/ic_airplanemode_active_24px.svg + icons/device/svg/production/ic_airplanemode_inactive_24px.svg + icons/device/svg/production/ic_battery_20_24px.svg + icons/device/svg/production/ic_battery_30_24px.svg + icons/device/svg/production/ic_battery_50_24px.svg + icons/device/svg/production/ic_battery_60_24px.svg + icons/device/svg/production/ic_battery_80_24px.svg + icons/device/svg/production/ic_battery_90_24px.svg + icons/device/svg/production/ic_battery_alert_24px.svg + icons/device/svg/production/ic_battery_charging_20_24px.svg + icons/device/svg/production/ic_battery_charging_30_24px.svg + icons/device/svg/production/ic_battery_charging_50_24px.svg + icons/device/svg/production/ic_battery_charging_60_24px.svg + icons/device/svg/production/ic_battery_charging_80_24px.svg + icons/device/svg/production/ic_battery_charging_90_24px.svg + icons/device/svg/production/ic_battery_charging_full_24px.svg + icons/device/svg/production/ic_battery_full_24px.svg + icons/device/svg/production/ic_battery_std_24px.svg + icons/device/svg/production/ic_battery_unknown_24px.svg + icons/device/svg/production/ic_bluetooth_24px.svg + icons/device/svg/production/ic_bluetooth_connected_24px.svg + icons/device/svg/production/ic_bluetooth_disabled_24px.svg + icons/device/svg/production/ic_bluetooth_searching_24px.svg + icons/device/svg/production/ic_brightness_auto_24px.svg + icons/device/svg/production/ic_brightness_high_24px.svg + icons/device/svg/production/ic_brightness_low_24px.svg + icons/device/svg/production/ic_brightness_medium_24px.svg + icons/device/svg/production/ic_data_usage_24px.svg + icons/device/svg/production/ic_developer_mode_24px.svg + icons/device/svg/production/ic_devices_24px.svg + icons/device/svg/production/ic_dvr_24px.svg + icons/device/svg/production/ic_gps_fixed_24px.svg + icons/device/svg/production/ic_gps_not_fixed_24px.svg + icons/device/svg/production/ic_gps_off_24px.svg + icons/device/svg/production/ic_graphic_eq_24px.svg + icons/device/svg/production/ic_location_disabled_24px.svg + icons/device/svg/production/ic_location_searching_24px.svg + icons/device/svg/production/ic_network_cell_24px.svg + icons/device/svg/production/ic_network_wifi_24px.svg + icons/device/svg/production/ic_nfc_24px.svg + icons/device/svg/production/ic_screen_lock_landscape_24px.svg + icons/device/svg/production/ic_screen_lock_portrait_24px.svg + icons/device/svg/production/ic_screen_lock_rotation_24px.svg + icons/device/svg/production/ic_screen_rotation_24px.svg + icons/device/svg/production/ic_sd_storage_24px.svg + icons/device/svg/production/ic_settings_system_daydream_24px.svg + icons/device/svg/production/ic_signal_cellular_0_bar_24px.svg + icons/device/svg/production/ic_signal_cellular_1_bar_24px.svg + icons/device/svg/production/ic_signal_cellular_2_bar_24px.svg + icons/device/svg/production/ic_signal_cellular_3_bar_24px.svg + icons/device/svg/production/ic_signal_cellular_4_bar_24px.svg + icons/device/svg/production/ic_signal_cellular_connected_no_internet_0_bar_24px.svg + icons/device/svg/production/ic_signal_cellular_connected_no_internet_1_bar_24px.svg + icons/device/svg/production/ic_signal_cellular_connected_no_internet_2_bar_24px.svg + icons/device/svg/production/ic_signal_cellular_connected_no_internet_3_bar_24px.svg + icons/device/svg/production/ic_signal_cellular_connected_no_internet_4_bar_24px.svg + icons/device/svg/production/ic_signal_cellular_no_sim_24px.svg + icons/device/svg/production/ic_signal_cellular_null_24px.svg + icons/device/svg/production/ic_signal_cellular_off_24px.svg + icons/device/svg/production/ic_signal_wifi_0_bar_24px.svg + icons/device/svg/production/ic_signal_wifi_1_bar_24px.svg + icons/device/svg/production/ic_signal_wifi_1_bar_lock_24px.svg + icons/device/svg/production/ic_signal_wifi_2_bar_24px.svg + icons/device/svg/production/ic_signal_wifi_2_bar_lock_24px.svg + icons/device/svg/production/ic_signal_wifi_3_bar_24px.svg + icons/device/svg/production/ic_signal_wifi_3_bar_lock_24px.svg + icons/device/svg/production/ic_signal_wifi_4_bar_24px.svg + icons/device/svg/production/ic_signal_wifi_4_bar_lock_24px.svg + icons/device/svg/production/ic_signal_wifi_off_24px.svg + icons/device/svg/production/ic_storage_24px.svg + icons/device/svg/production/ic_usb_24px.svg + icons/device/svg/production/ic_wallpaper_24px.svg + icons/device/svg/production/ic_widgets_24px.svg + icons/device/svg/production/ic_wifi_lock_24px.svg + icons/device/svg/production/ic_wifi_tethering_24px.svg + icons/editor/svg/production/ic_attach_file_24px.svg + icons/editor/svg/production/ic_attach_money_24px.svg + icons/editor/svg/production/ic_border_all_24px.svg + icons/editor/svg/production/ic_border_bottom_24px.svg + icons/editor/svg/production/ic_border_clear_24px.svg + icons/editor/svg/production/ic_border_color_24px.svg + icons/editor/svg/production/ic_border_horizontal_24px.svg + icons/editor/svg/production/ic_border_inner_24px.svg + icons/editor/svg/production/ic_border_left_24px.svg + icons/editor/svg/production/ic_border_outer_24px.svg + icons/editor/svg/production/ic_border_right_24px.svg + icons/editor/svg/production/ic_border_style_24px.svg + icons/editor/svg/production/ic_border_top_24px.svg + icons/editor/svg/production/ic_border_vertical_24px.svg + icons/editor/svg/production/ic_bubble_chart_24px.svg + icons/editor/svg/production/ic_drag_handle_24px.svg + icons/editor/svg/production/ic_format_align_center_24px.svg + icons/editor/svg/production/ic_format_align_justify_24px.svg + icons/editor/svg/production/ic_format_align_left_24px.svg + icons/editor/svg/production/ic_format_align_right_24px.svg + icons/editor/svg/production/ic_format_bold_24px.svg + icons/editor/svg/production/ic_format_clear_24px.svg + icons/editor/svg/production/ic_format_color_fill_24px.svg + icons/editor/svg/production/ic_format_color_reset_24px.svg + icons/editor/svg/production/ic_format_color_text_24px.svg + icons/editor/svg/production/ic_format_indent_decrease_24px.svg + icons/editor/svg/production/ic_format_indent_increase_24px.svg + icons/editor/svg/production/ic_format_italic_24px.svg + icons/editor/svg/production/ic_format_line_spacing_24px.svg + icons/editor/svg/production/ic_format_list_bulleted_24px.svg + icons/editor/svg/production/ic_format_list_numbered_24px.svg + icons/editor/svg/production/ic_format_paint_24px.svg + icons/editor/svg/production/ic_format_quote_24px.svg + icons/editor/svg/production/ic_format_shapes_24px.svg + icons/editor/svg/production/ic_format_size_24px.svg + icons/editor/svg/production/ic_format_strikethrough_24px.svg + icons/editor/svg/production/ic_format_textdirection_l_to_r_24px.svg + icons/editor/svg/production/ic_format_textdirection_r_to_l_24px.svg + icons/editor/svg/production/ic_format_underlined_24px.svg + icons/editor/svg/production/ic_functions_24px.svg + icons/editor/svg/production/ic_highlight_24px.svg + icons/editor/svg/production/ic_insert_chart_24px.svg + icons/editor/svg/production/ic_insert_comment_24px.svg + icons/editor/svg/production/ic_insert_drive_file_24px.svg + icons/editor/svg/production/ic_insert_emoticon_24px.svg + icons/editor/svg/production/ic_insert_invitation_24px.svg + icons/editor/svg/production/ic_insert_link_24px.svg + icons/editor/svg/production/ic_insert_photo_24px.svg + icons/editor/svg/production/ic_linear_scale_24px.svg + icons/editor/svg/production/ic_merge_type_24px.svg + icons/editor/svg/production/ic_mode_comment_24px.svg + icons/editor/svg/production/ic_mode_edit_24px.svg + icons/editor/svg/production/ic_monetization_on_24px.svg + icons/editor/svg/production/ic_money_off_24px.svg + icons/editor/svg/production/ic_multiline_chart_24px.svg + icons/editor/svg/production/ic_pie_chart_24px.svg + icons/editor/svg/production/ic_pie_chart_outlined_24px.svg + icons/editor/svg/production/ic_publish_24px.svg + icons/editor/svg/production/ic_short_text_24px.svg + icons/editor/svg/production/ic_show_chart_24px.svg + icons/editor/svg/production/ic_space_bar_24px.svg + icons/editor/svg/production/ic_strikethrough_s_24px.svg + icons/editor/svg/production/ic_text_fields_24px.svg + icons/editor/svg/production/ic_title_24px.svg + icons/editor/svg/production/ic_vertical_align_bottom_24px.svg + icons/editor/svg/production/ic_vertical_align_center_24px.svg + icons/editor/svg/production/ic_vertical_align_top_24px.svg + icons/editor/svg/production/ic_wrap_text_24px.svg + icons/file/svg/production/ic_attachment_24px.svg + icons/file/svg/production/ic_cloud_24px.svg + icons/file/svg/production/ic_cloud_circle_24px.svg + icons/file/svg/production/ic_cloud_done_24px.svg + icons/file/svg/production/ic_cloud_download_24px.svg + icons/file/svg/production/ic_cloud_off_24px.svg + icons/file/svg/production/ic_cloud_queue_24px.svg + icons/file/svg/production/ic_cloud_upload_24px.svg + icons/file/svg/production/ic_create_new_folder_24px.svg + icons/file/svg/production/ic_file_download_24px.svg + icons/file/svg/production/ic_file_upload_24px.svg + icons/file/svg/production/ic_folder_24px.svg + icons/file/svg/production/ic_folder_open_24px.svg + icons/file/svg/production/ic_folder_shared_24px.svg + icons/hardware/svg/production/ic_cast_24px.svg + icons/hardware/svg/production/ic_cast_connected_24px.svg + icons/hardware/svg/production/ic_computer_24px.svg + icons/hardware/svg/production/ic_desktop_mac_24px.svg + icons/hardware/svg/production/ic_desktop_windows_24px.svg + icons/hardware/svg/production/ic_developer_board_24px.svg + icons/hardware/svg/production/ic_device_hub_24px.svg + icons/hardware/svg/production/ic_devices_other_24px.svg + icons/hardware/svg/production/ic_dock_24px.svg + icons/hardware/svg/production/ic_gamepad_24px.svg + icons/hardware/svg/production/ic_headset_24px.svg + icons/hardware/svg/production/ic_headset_mic_24px.svg + icons/hardware/svg/production/ic_keyboard_24px.svg + icons/hardware/svg/production/ic_keyboard_arrow_down_24px.svg + icons/hardware/svg/production/ic_keyboard_arrow_left_24px.svg + icons/hardware/svg/production/ic_keyboard_arrow_right_24px.svg + icons/hardware/svg/production/ic_keyboard_arrow_up_24px.svg + icons/hardware/svg/production/ic_keyboard_backspace_24px.svg + icons/hardware/svg/production/ic_keyboard_capslock_24px.svg + icons/hardware/svg/production/ic_keyboard_hide_24px.svg + icons/hardware/svg/production/ic_keyboard_return_24px.svg + icons/hardware/svg/production/ic_keyboard_tab_24px.svg + icons/hardware/svg/production/ic_keyboard_voice_24px.svg + icons/hardware/svg/production/ic_laptop_24px.svg + icons/hardware/svg/production/ic_laptop_chromebook_24px.svg + icons/hardware/svg/production/ic_laptop_mac_24px.svg + icons/hardware/svg/production/ic_laptop_windows_24px.svg + icons/hardware/svg/production/ic_memory_24px.svg + icons/hardware/svg/production/ic_mouse_24px.svg + icons/hardware/svg/production/ic_phone_android_24px.svg + icons/hardware/svg/production/ic_phone_iphone_24px.svg + icons/hardware/svg/production/ic_phonelink_24px.svg + icons/hardware/svg/production/ic_phonelink_off_24px.svg + icons/hardware/svg/production/ic_power_input_24px.svg + icons/hardware/svg/production/ic_router_24px.svg + icons/hardware/svg/production/ic_scanner_24px.svg + icons/hardware/svg/production/ic_security_24px.svg + icons/hardware/svg/production/ic_sim_card_24px.svg + icons/hardware/svg/production/ic_smartphone_24px.svg + icons/hardware/svg/production/ic_speaker_24px.svg + icons/hardware/svg/production/ic_speaker_group_24px.svg + icons/hardware/svg/production/ic_tablet_24px.svg + icons/hardware/svg/production/ic_tablet_android_24px.svg + icons/hardware/svg/production/ic_tablet_mac_24px.svg + icons/hardware/svg/production/ic_toys_24px.svg + icons/hardware/svg/production/ic_tv_24px.svg + icons/hardware/svg/production/ic_videogame_asset_24px.svg + icons/hardware/svg/production/ic_watch_24px.svg + icons/image/svg/production/ic_add_a_photo_24px.svg + icons/image/svg/production/ic_add_to_photos_24px.svg + icons/image/svg/production/ic_adjust_24px.svg + icons/image/svg/production/ic_assistant_24px.svg + icons/image/svg/production/ic_assistant_photo_24px.svg + icons/image/svg/production/ic_audiotrack_24px.svg + icons/image/svg/production/ic_blur_circular_24px.svg + icons/image/svg/production/ic_blur_linear_24px.svg + icons/image/svg/production/ic_blur_off_24px.svg + icons/image/svg/production/ic_blur_on_24px.svg + icons/image/svg/production/ic_brightness_1_24px.svg + icons/image/svg/production/ic_brightness_2_24px.svg + icons/image/svg/production/ic_brightness_3_24px.svg + icons/image/svg/production/ic_brightness_4_24px.svg + icons/image/svg/production/ic_brightness_5_24px.svg + icons/image/svg/production/ic_brightness_6_24px.svg + icons/image/svg/production/ic_brightness_7_24px.svg + icons/image/svg/production/ic_broken_image_24px.svg + icons/image/svg/production/ic_brush_24px.svg + icons/image/svg/production/ic_burst_mode_24px.svg + icons/image/svg/production/ic_camera_24px.svg + icons/image/svg/production/ic_camera_alt_24px.svg + icons/image/svg/production/ic_camera_front_24px.svg + icons/image/svg/production/ic_camera_rear_24px.svg + icons/image/svg/production/ic_camera_roll_24px.svg + icons/image/svg/production/ic_center_focus_strong_24px.svg + icons/image/svg/production/ic_center_focus_weak_24px.svg + icons/image/svg/production/ic_collections_24px.svg + icons/image/svg/production/ic_collections_bookmark_24px.svg + icons/image/svg/production/ic_color_lens_24px.svg + icons/image/svg/production/ic_colorize_24px.svg + icons/image/svg/production/ic_compare_24px.svg + icons/image/svg/production/ic_control_point_24px.svg + icons/image/svg/production/ic_control_point_duplicate_24px.svg + icons/image/svg/production/ic_crop_3_2_24px.svg + icons/image/svg/production/ic_crop_5_4_24px.svg + icons/image/svg/production/ic_crop_7_5_24px.svg + icons/image/svg/production/ic_crop_16_9_24px.svg + icons/image/svg/production/ic_crop_24px.svg + icons/image/svg/production/ic_crop_din_24px.svg + icons/image/svg/production/ic_crop_free_24px.svg + icons/image/svg/production/ic_crop_landscape_24px.svg + icons/image/svg/production/ic_crop_original_24px.svg + icons/image/svg/production/ic_crop_portrait_24px.svg + icons/image/svg/production/ic_crop_rotate_24px.svg + icons/image/svg/production/ic_crop_square_24px.svg + icons/image/svg/production/ic_dehaze_24px.svg + icons/image/svg/production/ic_details_24px.svg + icons/image/svg/production/ic_edit_24px.svg + icons/image/svg/production/ic_exposure_24px.svg + icons/image/svg/production/ic_exposure_neg_1_24px.svg + icons/image/svg/production/ic_exposure_neg_2_24px.svg + icons/image/svg/production/ic_exposure_plus_1_24px.svg + icons/image/svg/production/ic_exposure_plus_2_24px.svg + icons/image/svg/production/ic_exposure_zero_24px.svg + icons/image/svg/production/ic_filter_1_24px.svg + icons/image/svg/production/ic_filter_2_24px.svg + icons/image/svg/production/ic_filter_3_24px.svg + icons/image/svg/production/ic_filter_4_24px.svg + icons/image/svg/production/ic_filter_5_24px.svg + icons/image/svg/production/ic_filter_6_24px.svg + icons/image/svg/production/ic_filter_7_24px.svg + icons/image/svg/production/ic_filter_8_24px.svg + icons/image/svg/production/ic_filter_9_24px.svg + icons/image/svg/production/ic_filter_9_plus_24px.svg + icons/image/svg/production/ic_filter_24px.svg + icons/image/svg/production/ic_filter_b_and_w_24px.svg + icons/image/svg/production/ic_filter_center_focus_24px.svg + icons/image/svg/production/ic_filter_drama_24px.svg + icons/image/svg/production/ic_filter_frames_24px.svg + icons/image/svg/production/ic_filter_hdr_24px.svg + icons/image/svg/production/ic_filter_none_24px.svg + icons/image/svg/production/ic_filter_tilt_shift_24px.svg + icons/image/svg/production/ic_filter_vintage_24px.svg + icons/image/svg/production/ic_flare_24px.svg + icons/image/svg/production/ic_flash_auto_24px.svg + icons/image/svg/production/ic_flash_off_24px.svg + icons/image/svg/production/ic_flash_on_24px.svg + icons/image/svg/production/ic_flip_24px.svg + icons/image/svg/production/ic_gradient_24px.svg + icons/image/svg/production/ic_grain_24px.svg + icons/image/svg/production/ic_grid_off_24px.svg + icons/image/svg/production/ic_grid_on_24px.svg + icons/image/svg/production/ic_hdr_off_24px.svg + icons/image/svg/production/ic_hdr_on_24px.svg + icons/image/svg/production/ic_hdr_strong_24px.svg + icons/image/svg/production/ic_hdr_weak_24px.svg + icons/image/svg/production/ic_healing_24px.svg + icons/image/svg/production/ic_image_24px.svg + icons/image/svg/production/ic_image_aspect_ratio_24px.svg + icons/image/svg/production/ic_iso_24px.svg + icons/image/svg/production/ic_landscape_24px.svg + icons/image/svg/production/ic_leak_add_24px.svg + icons/image/svg/production/ic_leak_remove_24px.svg + icons/image/svg/production/ic_lens_24px.svg + icons/image/svg/production/ic_linked_camera_24px.svg + icons/image/svg/production/ic_looks_3_24px.svg + icons/image/svg/production/ic_looks_4_24px.svg + icons/image/svg/production/ic_looks_5_24px.svg + icons/image/svg/production/ic_looks_6_24px.svg + icons/image/svg/production/ic_looks_24px.svg + icons/image/svg/production/ic_looks_one_24px.svg + icons/image/svg/production/ic_looks_two_24px.svg + icons/image/svg/production/ic_loupe_24px.svg + icons/image/svg/production/ic_monochrome_photos_24px.svg + icons/image/svg/production/ic_movie_creation_24px.svg + icons/image/svg/production/ic_movie_filter_24px.svg + icons/image/svg/production/ic_music_note_24px.svg + icons/image/svg/production/ic_nature_24px.svg + icons/image/svg/production/ic_nature_people_24px.svg + icons/image/svg/production/ic_navigate_before_24px.svg + icons/image/svg/production/ic_navigate_next_24px.svg + icons/image/svg/production/ic_palette_24px.svg + icons/image/svg/production/ic_panorama_24px.svg + icons/image/svg/production/ic_panorama_fish_eye_24px.svg + icons/image/svg/production/ic_panorama_horizontal_24px.svg + icons/image/svg/production/ic_panorama_vertical_24px.svg + icons/image/svg/production/ic_panorama_wide_angle_24px.svg + icons/image/svg/production/ic_photo_24px.svg + icons/image/svg/production/ic_photo_album_24px.svg + icons/image/svg/production/ic_photo_camera_24px.svg + icons/image/svg/production/ic_photo_filter_24px.svg + icons/image/svg/production/ic_photo_library_24px.svg + icons/image/svg/production/ic_photo_size_select_actual_24px.svg + icons/image/svg/production/ic_photo_size_select_large_24px.svg + icons/image/svg/production/ic_photo_size_select_small_24px.svg + icons/image/svg/production/ic_picture_as_pdf_24px.svg + icons/image/svg/production/ic_portrait_24px.svg + icons/image/svg/production/ic_remove_red_eye_24px.svg + icons/image/svg/production/ic_rotate_90_degrees_ccw_24px.svg + icons/image/svg/production/ic_rotate_left_24px.svg + icons/image/svg/production/ic_rotate_right_24px.svg + icons/image/svg/production/ic_slideshow_24px.svg + icons/image/svg/production/ic_straighten_24px.svg + icons/image/svg/production/ic_style_24px.svg + icons/image/svg/production/ic_switch_camera_24px.svg + icons/image/svg/production/ic_switch_video_24px.svg + icons/image/svg/production/ic_tag_faces_24px.svg + icons/image/svg/production/ic_texture_24px.svg + icons/image/svg/production/ic_timelapse_24px.svg + icons/image/svg/production/ic_timer_3_24px.svg + icons/image/svg/production/ic_timer_10_24px.svg + icons/image/svg/production/ic_timer_24px.svg + icons/image/svg/production/ic_timer_off_24px.svg + icons/image/svg/production/ic_tonality_24px.svg + icons/image/svg/production/ic_transform_24px.svg + icons/image/svg/production/ic_tune_24px.svg + icons/image/svg/production/ic_view_comfy_24px.svg + icons/image/svg/production/ic_view_compact_24px.svg + icons/image/svg/production/ic_vignette_24px.svg + icons/image/svg/production/ic_wb_auto_24px.svg + icons/image/svg/production/ic_wb_cloudy_24px.svg + icons/image/svg/production/ic_wb_incandescent_24px.svg + icons/image/svg/production/ic_wb_iridescent_24px.svg + icons/image/svg/production/ic_wb_sunny_24px.svg + icons/maps/svg/production/ic_add_location_24px.svg + icons/maps/svg/production/ic_beenhere_24px.svg + icons/maps/svg/production/ic_directions_24px.svg + icons/maps/svg/production/ic_directions_bike_24px.svg + icons/maps/svg/production/ic_directions_boat_24px.svg + icons/maps/svg/production/ic_directions_bus_24px.svg + icons/maps/svg/production/ic_directions_car_24px.svg + icons/maps/svg/production/ic_directions_railway_24px.svg + icons/maps/svg/production/ic_directions_run_24px.svg + icons/maps/svg/production/ic_directions_subway_24px.svg + icons/maps/svg/production/ic_directions_transit_24px.svg + icons/maps/svg/production/ic_directions_walk_24px.svg + icons/maps/svg/production/ic_edit_location_24px.svg + icons/maps/svg/production/ic_ev_station_24px.svg + icons/maps/svg/production/ic_flight_24px.svg + icons/maps/svg/production/ic_hotel_24px.svg + icons/maps/svg/production/ic_layers_24px.svg + icons/maps/svg/production/ic_layers_clear_24px.svg + icons/maps/svg/production/ic_local_activity_24px.svg + icons/maps/svg/production/ic_local_airport_24px.svg + icons/maps/svg/production/ic_local_atm_24px.svg + icons/maps/svg/production/ic_local_bar_24px.svg + icons/maps/svg/production/ic_local_cafe_24px.svg + icons/maps/svg/production/ic_local_car_wash_24px.svg + icons/maps/svg/production/ic_local_convenience_store_24px.svg + icons/maps/svg/production/ic_local_dining_24px.svg + icons/maps/svg/production/ic_local_drink_24px.svg + icons/maps/svg/production/ic_local_florist_24px.svg + icons/maps/svg/production/ic_local_gas_station_24px.svg + icons/maps/svg/production/ic_local_grocery_store_24px.svg + icons/maps/svg/production/ic_local_hospital_24px.svg + icons/maps/svg/production/ic_local_hotel_24px.svg + icons/maps/svg/production/ic_local_laundry_service_24px.svg + icons/maps/svg/production/ic_local_library_24px.svg + icons/maps/svg/production/ic_local_mall_24px.svg + icons/maps/svg/production/ic_local_movies_24px.svg + icons/maps/svg/production/ic_local_offer_24px.svg + icons/maps/svg/production/ic_local_parking_24px.svg + icons/maps/svg/production/ic_local_pharmacy_24px.svg + icons/maps/svg/production/ic_local_phone_24px.svg + icons/maps/svg/production/ic_local_pizza_24px.svg + icons/maps/svg/production/ic_local_play_24px.svg + icons/maps/svg/production/ic_local_post_office_24px.svg + icons/maps/svg/production/ic_local_printshop_24px.svg + icons/maps/svg/production/ic_local_see_24px.svg + icons/maps/svg/production/ic_local_shipping_24px.svg + icons/maps/svg/production/ic_local_taxi_24px.svg + icons/maps/svg/production/ic_map_24px.svg + icons/maps/svg/production/ic_my_location_24px.svg + icons/maps/svg/production/ic_navigation_24px.svg + icons/maps/svg/production/ic_near_me_24px.svg + icons/maps/svg/production/ic_person_pin_24px.svg + icons/maps/svg/production/ic_person_pin_circle_24px.svg + icons/maps/svg/production/ic_pin_drop_24px.svg + icons/maps/svg/production/ic_place_24px.svg + icons/maps/svg/production/ic_rate_review_24px.svg + icons/maps/svg/production/ic_restaurant_24px.svg + icons/maps/svg/production/ic_restaurant_menu_24px.svg + icons/maps/svg/production/ic_satellite_24px.svg + icons/maps/svg/production/ic_store_mall_directory_24px.svg + icons/maps/svg/production/ic_streetview_24px.svg + icons/maps/svg/production/ic_subway_24px.svg + icons/maps/svg/production/ic_terrain_24px.svg + icons/maps/svg/production/ic_traffic_24px.svg + icons/maps/svg/production/ic_train_24px.svg + icons/maps/svg/production/ic_tram_24px.svg + icons/maps/svg/production/ic_transfer_within_a_station_24px.svg + icons/maps/svg/production/ic_zoom_out_map_24px.svg + icons/navigation/svg/production/ic_apps_24px.svg + icons/navigation/svg/production/ic_arrow_back_24px.svg + icons/navigation/svg/production/ic_arrow_downward_24px.svg + icons/navigation/svg/production/ic_arrow_drop_down_24px.svg + icons/navigation/svg/production/ic_arrow_drop_down_circle_24px.svg + icons/navigation/svg/production/ic_arrow_drop_up_24px.svg + icons/navigation/svg/production/ic_arrow_forward_24px.svg + icons/navigation/svg/production/ic_arrow_upward_24px.svg + icons/navigation/svg/production/ic_cancel_24px.svg + icons/navigation/svg/production/ic_check_24px.svg + icons/navigation/svg/production/ic_chevron_left_24px.svg + icons/navigation/svg/production/ic_chevron_right_24px.svg + icons/navigation/svg/production/ic_close_24px.svg + icons/navigation/svg/production/ic_expand_less_24px.svg + icons/navigation/svg/production/ic_expand_more_24px.svg + icons/navigation/svg/production/ic_first_page_24px.svg + icons/navigation/svg/production/ic_fullscreen_24px.svg + icons/navigation/svg/production/ic_fullscreen_exit_24px.svg + icons/navigation/svg/production/ic_last_page_24px.svg + icons/navigation/svg/production/ic_menu_24px.svg + icons/navigation/svg/production/ic_more_horiz_24px.svg + icons/navigation/svg/production/ic_more_vert_24px.svg + icons/navigation/svg/production/ic_refresh_24px.svg + icons/navigation/svg/production/ic_subdirectory_arrow_left_24px.svg + icons/navigation/svg/production/ic_subdirectory_arrow_right_24px.svg + icons/navigation/svg/production/ic_unfold_less_24px.svg + icons/navigation/svg/production/ic_unfold_more_24px.svg + icons/notification/svg/production/ic_adb_24px.svg + icons/notification/svg/production/ic_airline_seat_flat_24px.svg + icons/notification/svg/production/ic_airline_seat_flat_angled_24px.svg + icons/notification/svg/production/ic_airline_seat_individual_suite_24px.svg + icons/notification/svg/production/ic_airline_seat_legroom_extra_24px.svg + icons/notification/svg/production/ic_airline_seat_legroom_normal_24px.svg + icons/notification/svg/production/ic_airline_seat_legroom_reduced_24px.svg + icons/notification/svg/production/ic_airline_seat_recline_extra_24px.svg + icons/notification/svg/production/ic_airline_seat_recline_normal_24px.svg + icons/notification/svg/production/ic_bluetooth_audio_24px.svg + icons/notification/svg/production/ic_confirmation_number_24px.svg + icons/notification/svg/production/ic_disc_full_24px.svg + icons/notification/svg/production/ic_do_not_disturb_24px.svg + icons/notification/svg/production/ic_do_not_disturb_alt_24px.svg + icons/notification/svg/production/ic_do_not_disturb_off_24px.svg + icons/notification/svg/production/ic_do_not_disturb_on_24px.svg + icons/notification/svg/production/ic_drive_eta_24px.svg + icons/notification/svg/production/ic_enhanced_encryption_24px.svg + icons/notification/svg/production/ic_event_available_24px.svg + icons/notification/svg/production/ic_event_busy_24px.svg + icons/notification/svg/production/ic_event_note_24px.svg + icons/notification/svg/production/ic_folder_special_24px.svg + icons/notification/svg/production/ic_live_tv_24px.svg + icons/notification/svg/production/ic_mms_24px.svg + icons/notification/svg/production/ic_more_24px.svg + icons/notification/svg/production/ic_network_check_24px.svg + icons/notification/svg/production/ic_network_locked_24px.svg + icons/notification/svg/production/ic_no_encryption_24px.svg + icons/notification/svg/production/ic_ondemand_video_24px.svg + icons/notification/svg/production/ic_personal_video_24px.svg + icons/notification/svg/production/ic_phone_bluetooth_speaker_24px.svg + icons/notification/svg/production/ic_phone_forwarded_24px.svg + icons/notification/svg/production/ic_phone_in_talk_24px.svg + icons/notification/svg/production/ic_phone_locked_24px.svg + icons/notification/svg/production/ic_phone_missed_24px.svg + icons/notification/svg/production/ic_phone_paused_24px.svg + icons/notification/svg/production/ic_power_24px.svg + icons/notification/svg/production/ic_priority_high_24px.svg + icons/notification/svg/production/ic_rv_hookup_24px.svg + icons/notification/svg/production/ic_sd_card_24px.svg + icons/notification/svg/production/ic_sim_card_alert_24px.svg + icons/notification/svg/production/ic_sms_24px.svg + icons/notification/svg/production/ic_sms_failed_24px.svg + icons/notification/svg/production/ic_sync_24px.svg + icons/notification/svg/production/ic_sync_disabled_24px.svg + icons/notification/svg/production/ic_sync_problem_24px.svg + icons/notification/svg/production/ic_system_update_24px.svg + icons/notification/svg/production/ic_tap_and_play_24px.svg + icons/notification/svg/production/ic_time_to_leave_24px.svg + icons/notification/svg/production/ic_vibration_24px.svg + icons/notification/svg/production/ic_voice_chat_24px.svg + icons/notification/svg/production/ic_vpn_lock_24px.svg + icons/notification/svg/production/ic_wc_24px.svg + icons/notification/svg/production/ic_wifi_24px.svg + icons/places/svg/production/ic_ac_unit_24px.svg + icons/places/svg/production/ic_airport_shuttle_24px.svg + icons/places/svg/production/ic_all_inclusive_24px.svg + icons/places/svg/production/ic_beach_access_24px.svg + icons/places/svg/production/ic_business_center_24px.svg + icons/places/svg/production/ic_casino_24px.svg + icons/places/svg/production/ic_child_care_24px.svg + icons/places/svg/production/ic_child_friendly_24px.svg + icons/places/svg/production/ic_fitness_center_24px.svg + icons/places/svg/production/ic_free_breakfast_24px.svg + icons/places/svg/production/ic_golf_course_24px.svg + icons/places/svg/production/ic_hot_tub_24px.svg + icons/places/svg/production/ic_kitchen_24px.svg + icons/places/svg/production/ic_pool_24px.svg + icons/places/svg/production/ic_room_service_24px.svg + icons/places/svg/production/ic_rv_hookup_24px.svg + icons/places/svg/production/ic_smoke_free_24px.svg + icons/places/svg/production/ic_smoking_rooms_24px.svg + icons/places/svg/production/ic_spa_24px.svg + icons/social/svg/production/ic_cake_24px.svg + icons/social/svg/production/ic_domain_24px.svg + icons/social/svg/production/ic_group_24px.svg + icons/social/svg/production/ic_group_add_24px.svg + icons/social/svg/production/ic_location_city_24px.svg + icons/social/svg/production/ic_mood_24px.svg + icons/social/svg/production/ic_mood_bad_24px.svg + icons/social/svg/production/ic_notifications_24px.svg + icons/social/svg/production/ic_notifications_active_24px.svg + icons/social/svg/production/ic_notifications_none_24px.svg + icons/social/svg/production/ic_notifications_off_24px.svg + icons/social/svg/production/ic_notifications_paused_24px.svg + icons/social/svg/production/ic_pages_24px.svg + icons/social/svg/production/ic_party_mode_24px.svg + icons/social/svg/production/ic_people_24px.svg + icons/social/svg/production/ic_people_outline_24px.svg + icons/social/svg/production/ic_person_24px.svg + icons/social/svg/production/ic_person_add_24px.svg + icons/social/svg/production/ic_person_outline_24px.svg + icons/social/svg/production/ic_plus_one_24px.svg + icons/social/svg/production/ic_poll_24px.svg + icons/social/svg/production/ic_public_24px.svg + icons/social/svg/production/ic_school_24px.svg + icons/social/svg/production/ic_sentiment_dissatisfied_24px.svg + icons/social/svg/production/ic_sentiment_neutral_24px.svg + icons/social/svg/production/ic_sentiment_satisfied_24px.svg + icons/social/svg/production/ic_sentiment_very_dissatisfied_24px.svg + icons/social/svg/production/ic_sentiment_very_satisfied_24px.svg + icons/social/svg/production/ic_share_24px.svg + icons/social/svg/production/ic_whatshot_24px.svg + +